使用 Swift 实现 MusicXML 规范

Swift 音乐可扩展语言

此程序包是原始 dn-m/MusicXML 的分支。

正在开发中的 Swift 中的 musicXML 规格的实现。

此项目的目的是允许 Swift 用户在 Swift 支持的任何平台以类型丰富的方式读写 musicXML 文件。

你好,世界!

让我们构建 musicXML 文档中的“你好,世界!”示例乐谱 musicXML documentation。此乐曲包含小节,其中包含基于 4/4 节拍的中音 C 上的整音符。

图形表现

以图形方式呈现时,此乐谱示例应类似于以下内容:

SVG

XML 表示

musicXML 表示形式如下:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE score-partwise PUBLIC
        "-//Recordare//DTD MusicXML 4.0 Partwise//EN"
        "http://www.musicxml.org/dtds/partwise.dtd">
    <score-partwise version="4.0">
      <part-list>
        <score-part id="P1">
          <part-name>Music</part-name>
        </score-part>
      </part-list>
      <part id="P1">
        <measure number="1">
          <attributes>
            <divisions>1</divisions>
            <key>
              <fifths>0</fifths>
            </key>
            <time>
              <beats>4</beats>
              <beat-type>4</beat-type>
            </time>
            <clef>
              <sign>G</sign>
              <line>2</line>
            </clef>
          </attributes>
          <note>
            <pitch>
              <step>C</step>
              <octave>4</octave>
            </pitch>
            <duration>4</duration>
            <type>whole</type>
          </