在Python和Mac Lion中写入MIDI端口
现在已经过去三天了,我还是没搞定。也许有人可以帮帮我。
我想通过Python在Mac上给一个MIDI设备发送控制命令。我到处查资料,大家都推荐用pygame,但实际上,Mac上的pygame版本没有这个功能。
当我尝试运行这两行代码时:
from pygame import midi
midi.init()
我遇到了以下错误:
Traceback (most recent call last):
File "midi_send.py", line 9, in <module>
midi.init()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/pygame/midi.py", line 71, in init
import pygame.pypm
ImportError: No module named pypm
我查了很多资料,但都是死胡同。
有没有人真的尝试过在Mac上用pygame写入MIDI端口?有没有什么替代方案,不用担心遇到什么gcc编译错误,或者在/etc/whatever/whatever里替换某个midi.o文件的第N行?
抱歉让我感到沮丧...
1 个回答
1
你可以试试使用 rtmidi-python 这个库(或者是一个旧一点、稍微不同的 pyrtmidi)——这两个库都是基于 rtmidi 的,它们可以很简单地发送MIDI控制信号和音符:
import rtmidi_python as rtmidi
midi_out = rtmidi.MidiOut()
midi_out.open_port(0)
midi_out.send_message([0x90, 48, 100]) # Note on
midi_out.send_message([0x80, 48, 100]) # Note off