繁体   English   中英

为Kivy在Python中播放跨平台,移动,MIDI - 这可能吗?

[英]Playing cross-platform, mobile, MIDI in Python for Kivy - is this possible?

我想在Kivy中加载和播放'.mid'MIDI文件,但主要是在移动平台(即IOS和Android)上

我假设,我不想深入了解基于原生C / C ++的东西的复杂性(即避免必须交叉编译,我不是经验丰富的Python开发人员),所以库很可能,需要是纯Python。

我将使用我发现的一些框架开始竞标(一些需要C / C ++),我没有使用过(0,零),也许有人可以提供一些反馈(或者它们可能对更广泛的社区有用) :

顺便说一下,如果/ MIDI库也可以从'.mid'文件中读取歌词,那将会很棒

Python Midi库

http://web.mit.edu/music21
https://github.com/cuthbertLab/music21
https://code.google.com/p/midiutil < - 纯Python,没有歌词(?)
https://code.google.com/p/mingus
http://mxm.dk/products/public/pythonmidi
http://das.nasophon.de/mididings
https://github.com/vishnubob/python-midi https://gist.github.com/anonymous/202595 < - smidi.py
http://webcache.googleusercontent.com/search?q=cache%3Alarndham.net%2Fservice%2Fpys60%2Fsmidi.py
https://pypi.python.org/pypi/midi < - Al for Al(!)
http://www.fluidsynth.org < - 对于pypi midi http://sourceforge.net/p/fluidsynth < - 基于C

我正在使用Fluidsynth给我跨平台的MIDI输出。 它使用SoundFont模块播放MIDI文件,以获得高质量的音频。 如果您对LGPL许可证感到满意,可以从pyFluidSynth( https://code.google.com/p/pyfluidsynth )获取Python绑定,但使用标准Python ctypes编写自己的绑定模块非常简单模块。

通常,您需要从提供的源代码编译(并因此交叉编译)Fluidsynth,但是您可以从另一个项目中获取预编译版本,例如MuseScore。 这就是我现在正在做的事情,我将切换到编译Fluidsynth一次(如果)我正在进行的项目接近完成。

如果你想处理MIDI文件,例如提取歌词,请看看Mido( https://mido.readthedocs.org/en/latest )。 我发现它对于读/写MIDI文件非常有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM