【问题标题】:Playing cross-platform, mobile, MIDI in Python for Kivy - is this possible?在 Python 中为 Kivy 播放跨平台、移动、MIDI - 这可能吗?
【发布时间】:2014-11-11 19:50:56
【问题描述】:

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

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

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

顺便说一句,如果/a MIDI 库也可以从“.mid”文件中读取歌词,那就太好了

Python Midi 库

http://web.mit.edu/music21
https://github.com/cuthbertLab/music21
https://code.google.com/p/midiutil https://code.google.com/p/mingus
http://mxm.dk/products/public/pythonmidi
http://das.nasophon.de/mididings
@ 987654327@ https://gist.github.com/anonymous/202595 http://webcache.googleusercontent.com/search?q=cache%3Alarndham.net%2Fservice%2Fpys60%2Fsmidi.py
https://pypi.python.org/pypi/midi http://www.fluidsynth.org http://sourceforge.net/p/fluidsynth

【问题讨论】:

标签: android python ios midi kivy


【解决方案1】:

我正在使用 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 文件非常有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 2011-03-11
    • 2011-02-07
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多