问题标签 [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.

0 投票
1 回答
89 浏览

python - 有没有办法使用 music21 从 musicxml 文件中读取 Rests?

我正在尝试将带有 music21 的 musicxml 文件读入列表。我保持非常简单。 乐谱

我已经尝试了下面的代码,但即使它毫无问题地添加了注释,它也会跳过其余部分。

我的输出目前是这样的:

如何更改它以便我也可以获得有关其余部分的信息?

0 投票
0 回答
29 浏览

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

0 投票
1 回答
36 浏览

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 播放时影响给定音符的成功示例吗?

0 投票
0 回答
30 浏览

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)......?

谢谢!

用于测试的最小可重现示例:

0 投票
1 回答
301 浏览

parsing - 如何在独奏钢琴的 music21 中读取 midi / musicxml 文件,其中一个声音可以同时有多个音符?

我已经编写了一个 python 脚本来处理带有 music21 的 midi 文件并再次编写一个 midi 文件。如果独奏钢琴在某种意义上是“简单的”,即在一个声音中没有同时演奏多个音高/音符,则此方法有效。

https://github.com/githubuser1983/algorithmic_python_music/blob/main/12RootOf2.py

上面的相关部分是:

另一种选择是读取musicxml 而不是midi。我需要让算法工作的是每个声音的音符列表=(音高,持续时间,音量,isPause)。

谢谢你的帮助。

0 投票
0 回答
42 浏览

midi - 从musicxml文件中提取和弦

我需要从 musicxml 文件中读取具有各自持续时间的和弦并将它们写入数组。
我是新手,如果这是一个愚蠢的问题,我很抱歉。
谢谢

0 投票
1 回答
42 浏览

musicxml - musicXML:1 次测量中的 2 种声音

我正在尝试用 2 个声音创建一个 musicXML 文件:

对我来说似乎没问题:笔记是相同的。但是当我使用musicxml2ly然后lilypond我得到第二个声音转移到下一个测量:

在此处输入图像描述

怎么了?

0 投票
0 回答
17 浏览

midi - 你能在音乐 XML 文档中插入一个 MIDI“文本”事件吗?

我希望能够将文本插入到音乐 xml 文档中,以便在转换为 MIDI 时保留它。

有一个 MIDI“文本”事件,您可以在 MIDI 轨道的开头看到它,说明轨道的名称。

但是我不确定如何将此事件插入到文档中任意点的音乐 XML 中,以便我可以用文本标记时间点,以便以后从 MIDI 中检索。

我不需要文本事件本身,只是任何导致文本被写入 MIDI 属性的事件。例如,我尝试使用乐器更改作为标记,来自 XML 的乐器更改确实显示在 MIDI 中,但没有显示在实际文本中。

我使用 muse score 作为我的 XML 到 MIDI 转换器,但我并不反对其他工具。

0 投票
0 回答
29 浏览

midi - 转换为 MIDI 时音乐 XML 中的歌词丢失

使用 Musecore,我已将歌词插入到音乐 xml 文档中——但是,在转换为 MIDI 时,MIDI 文档不会保留歌词。

我正在使用例如https://github.com/chrisguttandin/midi-json-parser来检查 MIDI 事件。

其他 MIDI 事件按预期显示,所以我画了一个空白。如何将歌词从音乐 XML 获取到 MIDI?

0 投票
0 回答
77 浏览

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 文件必须以非常简单的方式编写,例如只有旋律音符,还是我正在做的事情有什么问题?