代码之家  ›  专栏  ›  技术社区  ›  dassouki

是否有类似XML的标准来编写乐谱[关闭]

  •  4
  • dassouki  · 技术社区  · 16 年前

    是否有一种xml或某种形式的文本标准可以用来编写音乐表?例如:

    <key= "C" />
    <tempo= "90" />
    <beat= "4/4" />
    <measure id="1">
      // some form of music goes here
    </measure>
    
    3 回复  |  直到 16 年前
        1
  •  7
  •   SLaks    16 年前
        2
  •  6
  •   Michael    14 年前

    大约10年前,许多项目开始为乐谱创建XML格式。MusicXML是这些格式中唯一一种被广泛用于普通西方音乐记谱法的格式。超过150个程序支持这种格式,包括所有主要的音乐符号编辑器和音乐扫描程序。您可以在以下位置查看MusicXML软件的完整列表:

    http://www.makemusic.com/musicxml/community/software

    MusicXML格式是在一个开放的、免版税的许可证下提供的,该许可证适用于商业和开源项目。该规范的DTD和XSD版本都可用。教程、文档和开发人员邮件列表也可以通过 http://www.makemusic.com/musicxml 地点。

    中世纪的西方音乐也有其他格式,包括用于量度音乐的CMME和用于吟唱的NeumesXML。你可以在 http://www.cmme.org 和 http://www.scribeserver.com/NEUMES/

    Gerd Castan的网站对于不同的音乐符号格式的历史很有价值。如果您正在为自己的应用程序设计本机格式,就像《超越MIDI》一书一样,这非常有用。不过,对于XML交换格式,MusicXML可能是您需要的。

        3
  •  3
  •   user2165086    13 年前

    警告性的话。MusicXML是最具表现力的(处理古典管弦乐谱的每一个细微差别),但它作为传输工具的使用可能会受到一些惊人的冗余(例如GUI放置指令,在传输协议中显然没有位置)。

    MusicXML处理是一项具有挑战性的任务,到目前为止(许多相当乐观的众筹项目已经完成或正在进行中),总体而言,这导致了终端设备上音乐的低俗化。

    虽然存在许多琐碎的问题,但在通过internet传输之前,可以通过编程方式剥离冗余(读为“破坏性”)MusicXML元素,随后的GUI放置完全通过算法进行。

    您可以称之为精益音乐CXML——算法处理所需的最低限度——将是轻量级、快速和充分的。很高兴看到在不久的将来在这个方向上取得一些集体进展(工具、核心元素集)。