使用Cython实现的RTMIDI C++库的Python绑定。

python-rtmidi的Python项目详细描述


^ a1}是一组C++类,提供了简洁明了的, 实时midi的跨平台api(应用程序编程接口) Linux(Alsa&Jack)、MacOS/OS X(CoreMidi&Jack)上的输入/输出, 以及windows(多媒体系统)操作系统。

python-rtmidi是rtmidi的python绑定,使用Cython和 在RTMIDI C++接口周围提供一个薄薄的包装器。api基本上是 与C++一个相同,但具有类的命名方案、方法和 参数适应python pep-8的约定和要求 python包命名结构。python rtmidi支持python 2(已测试 使用Python2.7)和Python3(3.4、3.5、3.6和3.7)。

用法示例

下面是一个如何使用python rtmidi打开第一个 提供MIDI输出端口,并在MIDI频道1上发送中间C音符:

import time
import rtmidi

midiout = rtmidi.MidiOut()
available_ports = midiout.get_ports()

if available_ports:
    midiout.open_port(0)
else:
    midiout.open_virtual_port("My virtual output")

note_on = [0x90, 60, 112] # channel 1, middle C, velocity 112
note_off = [0x80, 60, 0]
midiout.send_message(note_on)
time.sleep(0.5)
midiout.send_message(note_off)

del midiout

更多用法示例可以在examplestests目录中找到 源存储库的。

documentation提供了安装说明、更改历史记录 每个版本和一个api引用。

有关版权和使用条款,请参见文件LICENSE.txt

有关详细信息,请访问https://chrisarndt.de/projects/python-rtmidi

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中