问题标签 [musicxml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 有没有办法使用 music21 从 musicxml 文件中读取 Rests?
我正在尝试将带有 music21 的 musicxml 文件读入列表。我保持非常简单。 乐谱
我已经尝试了下面的代码,但即使它毫无问题地添加了注释,它也会跳过其余部分。
我的输出目前是这样的:
如何更改它以便我也可以获得有关其余部分的信息?
musicxml - Parsing musicXML files with p5js library
Is there a way to import a musicXML file into p5js?
I got this
But it throws a
A middle point solution is to be found in this website but I do not know how to translate the code into p5js
midi - 使用在 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 dynamics="40">
在给定<note>
元素中 - 将元素嵌套
<sound>
在 a之外的<direction>
元素中<note>
- 属性的各种值,
dynamics=
例如<sound dynamics="40">
<sound dynamics="100">
任何人都可以演示使用<sound>
MusicXML 文件中的元素在作为 MIDI 播放时影响给定音符的成功示例吗?
midi - 音乐XML不影响 MIDI 或播放
编辑:在底部添加了完整的示例,用于测试(不工作,小但完整)。
在 MusicXML 文件的顶部,您可以定义具有 ID、通道和程序信息的 MIDI 乐器,如下所示(请参阅此w3.org 页面以获取完整示例)
然后,在文件的后面,在给定的<note>
元素中,您可以插入一个<instrument id="PREVIOUSLY_DEFINED_ID"/>
标签以切换到定义的 MIDI 通道和程序(再次,请参阅上面链接的示例以获取完整的复制和粘贴 MRE),如下所示:
但是,当我按照上述语法创建文件并在 MusicXML 兼容程序(例如 Musescore 或 Reaper)中打开它时,<instrument id="BLAH/>
对 MIDI 通道或程序没有影响 理论上,上面给出的示例应该从定义的“钢琴”到定义的“竖琴”。
我正在使用包含频道和节目信息的声音字体,所以我不认为是这样。此外,检查通过将 MusicXML 文件转换或导出为 MIDI 生成的 MIDI 数据显示程序或通道参数没有变化。
我不确定这是(1)我的语法错误,(2)MusicXML阅读器的解释错误(但我尝试了多个程序),还是(3)......?
谢谢!
用于测试的最小可重现示例:
parsing - 如何在独奏钢琴的 music21 中读取 midi / musicxml 文件,其中一个声音可以同时有多个音符?
我已经编写了一个 python 脚本来处理带有 music21 的 midi 文件并再次编写一个 midi 文件。如果独奏钢琴在某种意义上是“简单的”,即在一个声音中没有同时演奏多个音高/音符,则此方法有效。
https://github.com/githubuser1983/algorithmic_python_music/blob/main/12RootOf2.py
上面的相关部分是:
另一种选择是读取musicxml 而不是midi。我需要让算法工作的是每个声音的音符列表=(音高,持续时间,音量,isPause)。
谢谢你的帮助。
midi - 从musicxml文件中提取和弦
我需要从 musicxml 文件中读取具有各自持续时间的和弦并将它们写入数组。
我是新手,如果这是一个愚蠢的问题,我很抱歉。
谢谢
midi - 你能在音乐 XML 文档中插入一个 MIDI“文本”事件吗?
我希望能够将文本插入到音乐 xml 文档中,以便在转换为 MIDI 时保留它。
有一个 MIDI“文本”事件,您可以在 MIDI 轨道的开头看到它,说明轨道的名称。
但是我不确定如何将此事件插入到文档中任意点的音乐 XML 中,以便我可以用文本标记时间点,以便以后从 MIDI 中检索。
我不需要文本事件本身,只是任何导致文本被写入 MIDI 属性的事件。例如,我尝试使用乐器更改作为标记,来自 XML 的乐器更改确实显示在 MIDI 中,但没有显示在实际文本中。
我使用 muse score 作为我的 XML 到 MIDI 转换器,但我并不反对其他工具。
midi - 转换为 MIDI 时音乐 XML 中的歌词丢失
使用 Musecore,我已将歌词插入到音乐 xml 文档中——但是,在转换为 MIDI 时,MIDI 文档不会保留歌词。
我正在使用例如https://github.com/chrisguttandin/midi-json-parser来检查 MIDI 事件。
其他 MIDI 事件按预期显示,所以我画了一个空白。如何将歌词从音乐 XML 获取到 MIDI?
python - 将 LilyPond 文件导出到 MusicXML,然后将其导入 MuseScore
我正在尝试将 MuseScore 3 用作小型音乐片段的某种编辑器,例如从 MusicXML 文件打开的童谣。
然而,我尝试使用 Frescobaldi Python 库python-ly
似乎会导致使用该库生成的 MusicXML 文件出现一些非常奇怪的导入错误。
我该怎么做呢?有可能吗?
我写了一些 LilyPond 文件,例如“Old MacDonald has a farm”,包括主旋律(音符)、歌词、四弦琴标签和和弦:
它通过 LaTeX 呈现lyluatex
为 PDF 片段,如下所示:
然后在 Python 方面,我将此old-macdonald-had-a-farm.ly
文件导出到 MusicXML:
最后我打开 MuseScore 3 的 GUI,点击 File > Open,然后打开old-macdonald-had-a-farm.xml
,然后我发现弹出窗口中有很多非常严重但奇怪的错误:
乐谱对我来说似乎很好(见上面的截图)。
然后在 MuseScore 3 上看起来像:
我很难看出上述过程有什么问题。
是因为 LilyPond 文件必须以非常简单的方式编写,例如只有旋律音符,还是我正在做的事情有什么问题?