从MusicXML生成PDF和MIDI
我一直在尝试加载一个MusicXML文件,编辑它(去掉几个部分),然后用Python创建一个PDF乐谱文件和midi/mp3文件。
我首先看了看music21
,它可以正确加载我的MusicXML文件,但我发现它输出的文件不太对劲(输出文件里的细节都没了,只剩下音符和标题)。
接着我发现了abjad
,看起来很有希望。它能输出高质量的ly/pdf文件,但就是不能导入musicxml文件。
然后,我发现Lilypond自带一个musicxml2ly
脚本。我能够在Python中调用它,并通过sh
(这个库真不错!)得到结果的lilypond文件,但abjad
的lilypond
解析器却无法解析这个文件(文档上说它能解析“一个大部分”的lilypond文件,但没有更详细的说明)。
最后,我发现music21
有一个可以导出为abjad Python对象的功能,但似乎在代码库中已经不存在了,而且这个导出的源代码显然只导出了音符。
我现在有点无计可施,不知道该怎么做才能实现这些目标。
(补充一点:我仍然不知道如何将第二部分转换为midi/mp3,使用音色库,但这可能不是最难的部分。有什么建议吗?)
1 个回答
4
如果你有 MuseScore 2 及以上版本,你可以在 Python 中进行设置。
import music21
c = music21.converter.parse('path_to_musicxml.xml')
c.show('musicxml.pdf')
c.show('midi')