首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开源MIDI库

开源MIDI库
EN

Stack Overflow用户
提问于 2010-03-03 01:07:46
回答 2查看 3.8K关注 0票数 3

我想知道开放源码库可以用来对MIDI文件执行一些简单的任务:

  1. 一次只读一个音符或和弦;
  2. 提取给定的仪器,分别在新文件中对其重新编码;
  3. 允许产生一个“可定制的”乐谱--我的意思是我应该能够改变使用库从midi生成乐谱的方式.我假设这将需要与Lilypond或Mu-6 this进行交互。

我没有真正喜欢的语言,只要它不是太痛苦的应用程序跨平台。其他建议是受欢迎的--最好现在就学习,而不是我已经写了很多代码的时候。到目前为止,我一直在尝试挖掘MuseScore的(C++)源代码,但是它似乎渗透到大多数文件中,虽然查找相关文件很容易,但我很难提取我所需要的东西(我现在只针对命令行应用程序,稍后再看界面)。

有什么想法吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2010-03-09 13:19:55

好吧,我才刚开始,但是 (在Python中)似乎很有希望。

票数 2
EN

Stack Overflow用户

发布于 2012-10-04 21:47:41

如果你还在做这个项目,而且语言不是问题,你可以尝试一下Python的跨平台music21,它可以将MIDI文件解析为Note、Chord、toolkit等对象,它允许您操作分数,然后R/T返回到MIDI或输出到Lilypond,等等(坦白地说,我是工具箱的作者;但我不知道有多少其他语言会使用MIDI,并将Lilypond释放出来,同时给您一个将midi元素作为对象来操作的机会。)

示例代码将所有乐器的声音都放在MIDI文件中,然后播放它并从中生成一个lilypond.pdf:

代码语言:javascript
复制
 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')

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2368144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档