我想要一些抽象的midi事件,以提取/合成音符的音高/持续时间/动态/开始(例如,响亮的D#四分之一音符在第四拍)。
fluidsynth和timidity可以工作,但我更喜欢纯python库。除了绑定here,我什么也找不到。
midiutil使midis和pygame播放它们,但我想要的东西,既可以合成原始音频数据,又可以量化音符(即它们将在乐谱中表示,而不是midi事件/脉冲/“音调”/等)。
编辑这些代码并不是很好(要么不是用python,要么是太低级,要么是“自己做”):
发布于 2013-01-27 05:20:14
您可能需要的是一个称为“量化”的过程,它将midi事件与最接近的音符长度进行匹配。
我用C1999写了这样一个应用:
http://www.findthatzipfile.com/search-3558240-hZIP/winrar-winzip-download-midi2tone.zip.htm
(对不起,我已经没有消息来源了)
这个过程本身并不是很复杂。我只是粗暴地强迫不同的音符长度来找到最接近的匹配。MIDI事件音调本身直接映射到音符,因此不需要进行对话。d
MIDI格式本身并不是很复杂,所以我建议你找到一个纯Python的MIDI读取库,然后在上面应用算法。
发布于 2013-02-07 09:40:03
你试过Mingus了吗?使用py FluidSynth http://code.google.com/p/mingus/wiki/tutorialFluidsynth的It
https://stackoverflow.com/questions/14539093
复制相似问题