我想要一些东西抽取midi事件,提取/合成音符的音高/持续时间/动态/开始(例如第四拍的大声D#四分音符)。
fluidynth和timidity工作,但我更喜欢纯粹的python库。除了绑定here之外,我找不到任何东西。
midiutil让midis和pygame播放它们,但是我想要能够合成原始音频数据并量化音符的东西(即它们将在乐谱中表示,而不是作为midi事件/脉冲/“音调”/等)编辑这些并不是很好(不是在python中,或者是在低级别,或者“自己动手”):
Get note data from MIDI file
Python: midi to audio stream
答案 0 :(得分:2)
你可能想要的是一个称为“量化”的过程,它将midi事件与最接近的音符长度相匹配。
我在C 1999中写了这样一个应用程序:
http://www.findthatzipfile.com/search-3558240-hZIP/winrar-winzip-download-midi2tone.zip.htm
(我没有任何来源,抱歉)
这个过程本身并不复杂。我只是粗暴地强迫不同的音符长度找到最接近的匹配。 MIDI事件投注本身直接映射到音符,所以对话不是neede.d
MIDI格式本身并不是很复杂,所以我建议你找一个纯Python的MIDI读取库,然后将算法应用到最上面。
答案 1 :(得分:1)