在 MusicXML 中指定 MIDI 力度,midi,file-conversion,musicxml"/>

首页 > 解决方案 > 使用在 MusicXML 中指定 MIDI 力度

问题描述

tl;dr:我如何使用该<sound dynamics="YOUR_VOLUME" />元素以影响给定音符的MIDI力度?

背景:

MusicXML 有一个与 MIDI 兼容的部分(参见w3.org 规范),用于在将 MusicXML 转换为 MIDI 时指定 MIDI 值(例如速度)。

具体来说,有一个<sound>元素具有属性dynamics,应该转换为 MIDI 速度,如上面链接的规范页面底部所述。

但是,无论我将<sound>元素放在哪里,当我在可以将其转换为 MIDI 的程序中打开这样的 MusicXML 文件时,它都不会影响 MIDI 速度。

可以读取 MusicXML 并播放和导出到 MIDI 的示例程序是 musescore.org(用于表示法)和 reaper.fm(一个 DAW),这两个程序都可以免费下载,任何有兴趣测试的人都可以下载。

用于测试的示例 MusicXML 文件:https ://www.musicxml.com/music-in-musicxml/example-set/ (不使用该元素)

我试过了...

任何人都可以演示使用<sound>MusicXML 文件中的元素在作为 MIDI 播放时影响给定音符的成功示例吗?

标签: midifile-conversionmusicxml

解决方案


我不知道为什么,但这在musescore中对我有用。我将这段代码放在一个<note>块之后,随后音高的速度会相应改变。

<direction placement="below">
   <direction-type>
      <dynamics>
         <other-dynamics/>
      </dynamics>
   </direction-type>
   <staff>1</staff>
   <sound dynamics="THE_DYNAMIC_YOU_WANT"/>
</direction>

似乎为了正确解析musicXML文件,<dynamics>block和里面的一些内容是必要的。using<other-dynamics>不会在乐谱上显示标记。

这是我使用的示例 xml:https ://www.w3.org/2021/06/musicxml40/musicxml-reference/examples/tutorial-apres-un-reve/


推荐阅读