我想知道可用于在MIDI文件上执行一些简单任务的开源库:
我没有真正的首选语言,只要使应用程序跨平台不太痛苦。欢迎其他建议 - 现在更好地学习它,而不是在我已经编写了大量代码时。到目前为止,我一直在尝试挖掘MuseScore的(C ++)源代码,但似乎GUI代码渗透到大多数文件中,虽然发现相关文件很容易,但我很难提取出我需要的东西(我是现在只针对命令行应用程序,我稍后会看到接口。)
有什么想法吗?
谢谢!
答案 0 :(得分:2)
好吧,我刚刚开始,但是this(在Python中)似乎很有希望。
答案 1 :(得分:2)
如果您仍在处理项目并且语言不是问题,您可以尝试Python的跨平台music21,它可以将midi文件解析为Note,Chord,Instrument等对象,让你操纵分数,然后R / T回到MIDI或输出到Lilypond等(完全披露,我是工具包的作者;但我不知道其他语言中的许多其他语言将使用MIDI并将Lilypond放在一边,同时让你有机会将MIDI元素视为同时操纵的对象。)。
示例代码,用于搞砸MIDI文件中的所有乐器声音,然后播放并从中制作lilypond.pdf:
import music21
mf = music21.converter.parse('pathToMidiFile.mid')
for x in mf.recurse():
if 'Instrument' in x.classes:
x.midiProgram = (x.midiProgram * 2) % 128
mf.show('midi')
mf.show('lily.pdf')
希望有所帮助。