用Python和Mac编写MIDI端口

用Python和Mac编写MIDI端口,python,macos,midi,Python,Macos,Midi,现在已经三天了,我还是没办法。也许有人能帮忙 我想在mac上通过python向midi设备发送控制命令。在我所看到的任何地方,使用pygame都是一个令人高兴的答案,但事实是mac上的pygame版本缺少这种功能 当我尝试运行这两行时: from pygame import midi midi.init() 我得到以下错误: Traceback (most recent call last): File "midi_send.py", line 9, in <module> mid

现在已经三天了,我还是没办法。也许有人能帮忙

我想在mac上通过python向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
回溯(最近一次呼叫最后一次):
文件“midi_send.py”,第9行,在
midi.init()
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/midi.py”,第71行,在init中
导入pygame.pypm
ImportError:没有名为pypm的模块
我看了又看,发现的都是死胡同

有没有人真的尝试过在mac上使用pygame向MIDI端口写入数据?是否有一种替代方法不包括陷入某些gcc编译错误,或者替换/etc/whater/whater中somemidi.o文件的第N行

很抱歉让您感到沮丧…

您可以尝试使用该库(或更旧的,稍有不同的库)-这两种库都提供了直接发送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
您可以尝试使用该库(或较旧且稍有不同的库)-这两种库都提供了直接发送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