【问题标题】:Generating pdf & midi from musicxml从 musicxml 生成 pdf 和 midi
【发布时间】:2014-05-17 23:52:17
【问题描述】:

我一直在尝试加载一个 MusicXML 文件,对其进行编辑(删除几个部分),并创建一个 PDF 表单文档 + midi/mp3,所有这些都使用 Python。

我首先查看了music21,它可以正确加载我的 MusicXML 文件,但据我所知,不会输出正确的文件(输出文件中的所有细节都消失了,剩下的就是注释和标题)

然后我找到了看起来很有希望的abjad。它确实输出了高质量的 ly/pdf 文件,但没有导入 musicxml。

然后,我发现 Lilypond 带有一个musicxml2ly 脚本。我能够调用它并使用sh(很棒的库!)在python中获取结果lilypond文件,但是abjadlilypond解析器不会解析它(文档说它解析了lilypond的“大子集” ,没有更多的精度)。

最后,我发现music21 有一个导出器到 abjad python 对象,但它似乎不再存在于代码库中,并且导出器的源代码显然只是导出了注释。

我有点别无选择,我能做些什么来实现这些目标?

(补充一点:我仍然不知道我将如何做第二部分,使用声音字体进入 midi/mp3,但这可能不是最难的部分。有什么建议吗?)

【问题讨论】:

  • 嗨 Joachim,您是否想过在 LilyPond 的邮件列表中讨论这些问题,您可以在其中联系其他 LilyPond 用户和开发人员?通常这是解决问题或获得答案的最佳(也是最快)方法。要注册,请访问 lilypond.org/contact.html
  • music21 到 Abjad 的转换器只是 Abjad 1 的概念证明(有一天与 Abjad 的创建者一起将其破解)并被删除,因为它没有走得很远而且没有工作与 Abjad 2。你说得对,music21 对 Lilypond 的转换并不是特别强大。为什么不用music21 编辑MusicXML 文件,然后写出一个新的MusicXML 文件并将其发送到musicxml2ly?

标签: python lilypond music21 music-notation musicxml


【解决方案1】:

如果你有 MuseScore 2,你可以在 python 中设置它

import music21
c = music21.converter.parse('path_to_musicxml.xml')
c.show('musicxml.pdf')
c.show('midi')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2018-09-23
    • 1970-01-01
    • 2016-01-30
    • 2010-09-30
    相关资源
    最近更新 更多