gpt4 book ai didi

android - 在 Python 中为 Kivy 跨平台、移动、MIDI 演奏——这可能吗?

转载 作者:可可西里 更新时间:2023-11-01 06:07:06 27 4
gpt4 key购买 nike

我想在 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 <- C 代表 Alsa (!)
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 绑定(bind),但使用标准 Python ctypes 模块编写您自己的绑定(bind)模块非常简单。

通常,您应该从提供的源代码编译(并因此交叉编译)Fluidsynth,但是您可以只从另一个项目(例如 MuseScore)中获取预编译版本。这就是我目前正在做的事情,一旦(如果)我正在从事的项目接近完成,我将转而编译 Fluidsynth。

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

关于android - 在 Python 中为 Kivy 跨平台、移动、MIDI 演奏——这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896284/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com