在 python 中从 MIDI 文件预览乐谱
Posted
技术标签:
【中文标题】在 python 中从 MIDI 文件预览乐谱【英文标题】:Preview Score from MIDI file in python 【发布时间】:2020-08-05 02:10:43 【问题描述】:我希望能够从 python 程序中的 MIDI 文件中获取乐谱的 png。
另外,我知道 MuseScore 能够打开 MIDI 文件并将它们转换为乐谱,所以理论上这应该是可能的。
我目前的解决方案是只使用 lilypond 函数 !midi2ly 和 !lilypond -fpng,但由于存在的声音数量,midi2ly 与我使用的 midis 有点困难。
!midi2ly "sample from g.midi"
!lilypond -fpng "sample from g-midi.ly"
这是理想的输出(来自 MuseScore)和 lilypond 的尝试输出 https://imgur.com/a/9fqJLSA
【问题讨论】:
您能发布您当前的解决方案吗? 我已编辑问题以包含我当前的解决方案和输出 MuseScore 是否直接从 midi 文件生成该文件?得到正确的调号和拍号真是令人印象深刻! lilypond 可能有多个参数来预设音符和调号和声音的量化,以尝试更好地近似乐谱。但是你知道,从乐谱到中音是简单而准确的。从 midi 到得分包括很多猜测。 MuseScore 从同一个 MIDI 生成该文件! 【参考方案1】:试试音乐 21!
import music21
parsed = music21.converter.parse('source.mid')
parsed.show('musicxml.png')
如果您不想启动查看器,请使用 .write()
而不是 .show()
。
【讨论】:
以上是关于在 python 中从 MIDI 文件预览乐谱的主要内容,如果未能解决你的问题,请参考以下文章