我一直在尝试加载一个MusicXML文件,编辑它(删除几个部分),并创建一个PDF工作表文档+ midi/mp3,所有这些都使用Python。
我首先看了music21
,它会正确加载我的 MusicXML 文件,但据我所知,不会输出正确的文件(输出文件中的所有细节都消失了,剩下的只是音符和标题)
然后我发现了abjad
看起来很有希望的。它确实输出了高质量的ly/pdf文件,但没有导入音乐XML。
然后,我发现Lilypond带有一个musicxml2ly
脚本。我能够调用它并使用 sh
在 python 中获取结果 lilypond 文件(很棒的库!),但随后abjad
lilypond
解析器不会解析它(文档说它解析了 lilypond 的"大子集",没有更多精度)。
最后,我发现music21
有一个导出器来 abjad python 对象,但它似乎不再存在于代码库中,导出器的源代码显然只是导出了注释。
有点别无选择,我能做些什么来实现这些目标?
(补充一点:我仍然不知道我将如何做第二部分,使用声音字体进入 midi/mp3,但这可能不是最难的部分。有什么建议吗?
如果你有 MuseScore 2+,你可以在 python 中设置它
import music21
c = music21.converter.parse('path_to_musicxml.xml')
c.show('musicxml.pdf')
c.show('midi')