无聊的附加节目

xml2hum手册页


命令

    xml2hum--将MusicXML文件转换为单调文件。

简介

    xml2hum [输入] [输出]

选项

-秒 # 仅转换指定的人员。
-我 显示MusicXML信息(主要用于调试)。
-x个 尝试修复来自MIDI文件的数据的注释拼写。
-S公司 不要在输出**kern数据中打印词干信息。
-B 不要在输出**kern数据中发送信息。
-D类 不要在输出**kern数据中显示动态信息。
-N个 不要在输出**kern数据中表示信息。相当于-SB公司
-T型 不要从歌词中转换任何文本。
-M(M) 不要在MusicXML输入中自动修复度量值。

描述

    xml2hum将MusicXML文件转换为Humdrum文件。音乐XML从许多音乐应用程序输出数据。其中许多列表程序可在Recordare.com上找到:使用测试的MusicXML数据的主要输入源xml2hum已经决赛这是一个音乐排版程序,以及锐利眼这是一个音乐扫描程序。日本用户可能希望使用评分员用于将扫描的音乐转换为MusicXML数据。

    从生成MusicXML数据锐利眼

    转换音乐的扫描图像后SharpEye编辑器,您可以通过转到“文件”来保存MusicXML文件菜单,然后是“MusicXML”子菜单,如下图所示:

    SharpEye MusicXML导出

    从生成MusicXML数据决赛

    要从Finale导出MusicXML数据,您首先需要购买来自的Dolet MusicXML插件Recordare.com网站。然后从Finale编辑器中打开的文件开始,例如作为:

    终曲编辑器中的示例旋律

    接下来,转到“插件”菜单并选择“MusicXML导出…”作为如下图所示,并以MusicXML格式保存音乐:

    提取MusicXML数据

    您应该最终得到一个MusicXML文件,如以下示例所示:

    要将此文件转换为Humdrum文件,请运行以下命令:

    xml2hum melody.xml>melody.krn
    旋律.krn应包含文件内容:

示例

    转换单个音乐棒

    要从MusicXML文件中提取单个**kern音乐,请使用这个-秒#选项,其中#是从1到MusicXML文件中存在的系统stave数。

    如果您不知道MusicXML文件,然后使用-我选项:

    xml2hum-i file.xml |头MusicXml文件中有1个部分:第1部分:id=P1 name=Part_1壁=2零件数据================================工作人员1---------------------------------i=0 j=0 tick=0 tdur=6 voice=0 serial=1 name=measure(-1)i=0 j=1 tick=0 tdur=0语音=0串行=2名称=分区i=0 j=2 tick=0 tdur=0 voice=0 serial=6 name=clefi=0 j=3 tick=0 tdur=0 voice=0 serial=3 name=keyi=0 j=4 tick=0 tdur=0语音=0串行=4名称=时间i=0 j=5 tick=0 tdur=0语音=0串行=5名称=时间i=0 j=6 tick=0 tdur=6 voice=1 serial=8 name=note(d)

    对于示例文件,在MusicXML文件。

    要将这两个stave解压缩为单独的文件,可以执行以下操作命令:

    xml2hum-s1 file.xml>staff1.krnxml2hum-s2 file.xml>staff2.krn
    员工1.krn将包含系统中最高级别的员工,以及员工2.krn将包含系统中最低的员工。

    从单个零件中收集分数

    有时xml2hum程序生成错误单调的文件可能是由于输入数据中的错误,或者更可能是,它自己的Humdrum数据转换器中的错误。转换错误时MusicXML分数出现时,您应该提取单个零件分开,并将它们与集合制作后对各个部分的任何更正。

    首先回顾上一节关于提取单个冷却壁的内容来自MusicMXL文件。例如,如果MusicXML文件包含两部分,那么将每个零件提取到单独的文件中:

    xml2hum-s1 file.xml>staff1.krnxml2hum-s2 file.xml>staff2.krn

    现在您应该确定为什么xml2hum程序未能汇总最终分数。首先,您可以查看文件并制作确保内容看起来像单调的文件,而不是错误信息。完成基本检查后,您可以验证每个文件中的节拍数相同。如果拍数没有匹配,然后xml2hum被弄糊涂了,因为它无法将两者对齐部分。要检查两个文件的拍数是否相等,请使用这个记分器程序或拱颈程序:

    rcheck staff1.krn|grep=|tail-5235     0       3       ::      =79     =79238     0       3       ::      =80     =80241     0       3       ::      =81     =81244     0       3       ::      =82     =82247     0       0       ::      ==      ==
    文件员工1.krn包含247拍。对执行相同操作员工2.krn。通常两个文件的报告不同拍长,如果xml2hum未能组合它们,所以接下来您将必须编辑文件才能更正问题。如果拱颈程序甚至无法解析文件,它会抱怨特定的线,这是定位问题的良好起点。

    如果两个文件的节拍数不同,但它们由正确处理拱颈,则下一步是查看使用拱颈程序。

    rcheck staff1.krn | grep=| less
    然后看第三列中的数字。此数字统计小节中的节拍数。在有措施的地方寻找措施测量中的拍数不正确并通过以下方法解决问题编辑文件并纠正该措施中的节奏错误。

    一旦两个文件根据记分器拱颈,您可以将这两个文件与集合.要做到这一点,首先你必须确定最小节奏单位对于具有米尔希程序:

    米尔希员工1.krn员工2.krn员工1.krn:48员工2.krn:4人全部:48
     
    在本例中,这两个文件的最小时间单位均为48(第32个三元组注释)。接下来,您需要使用48个押韵单位匹配两个文件的时基:
    时基-t 48员工1.krn>x1.krn时基-t 48员工2.krn>x2.krn汇编x2.krn x1.krn | rid-d>score.krn

    上提供了xml2hum程序的更多示例用法xml2hum示例页面

在线数据

    预期为Humdrum文件的输入参数或管道数据也可以是web地址。例如,如果程序可以处理这样的文件:
    程序文件.krn
    它还可以通过网络读取数据:
    程序http://www.some-computer.com/some-directory/file.krn
    管道数据的工作方式有些类似:
    cat file.krn |程序
    相当于使用以下格式的web文件:
    回声http://www.some-computer.com/some-directory/file.krn|程序

    除了网址:http://协议,还有另一个特殊的资源指示符前缀,称为单调://它从核分数网站。例如,使用URI单调://brandenburg/bwv1046a.krn:

    程序单调://brandenburg/bwv1046a.krn
    将下载URL:
    巴赫勃兰登堡协奏曲博物馆收藏。

    这种对Humdrum数据的在线访问还可以通过使用山猫从kernscores网站下载数据。例如,尝试命令管道:

    山猫单调://brandenburg/bwv1046a.krn|人口普查-k

另请参阅

漏洞

    • MusicXML解析器已完成,并且在没有任何已知解析器的情况下工作漏洞。转换器,用于获取MusicXML数据并将其转换为由于转换模型简单,单调数据有几个局限性。特别是,只有当存在员工中只有两个或更少的声音。如果有三个或更多声音在职员中,程序可能会正确转换,但可能会生成无效的单调语法,甚至可能崩溃。要在这些情况下转换文件,您应该尝试提取单独的stave以分离文件并组合使用集合命令。
    • 有时**dynam数据在注释中间添加错误不向**kern spine添加null标记。这将生成不正确的单调的语法。此错误将阻止组合分数生成,但不会阻止提取单个员工。

下载

    已编译的xml2hum程序可以下载用于以下平台:

    这个源代码因为该计划最后一次修改是在2010年6月26日。单击此处转到完整的源代码下载页面。