的文档python-rtmidi
基本上是有史以来最糟糕的。我试图弄清楚如何使用该程序获取 midi 事件数据。我想要的数据是这样的
[
我什至不确定是否python-rtmidi
可以获得这些数据,这就是他们的文档有多糟糕,他们甚至没有告诉你他们的应用程序是做什么的。但无论如何,我需要这些数据,而且我需要它在 python 程序中。网页上存在的唯一示例python-rtmidi
似乎仅显示了如何将 midi-event 输出到外部乐器。我想要相反的。我希望仪器中的数据显示在我的计算机上。我至少可以让软件感应我的外部仪器。例如,当我使用以下代码时
import logging
import sys
import time
from rtmidi.midiutil import open_midiport
from rtmidi.midiutil import open_midiinput
log = logging.getLogger('test_midiin_poll')
log = logging.getLogger('midiin_poll')
logging.basicConfig(level=logging.DEBUG)
# Prompts user for MIDI input port, unless a valid port number or name
# is given as the first argument on the command line.
# API backend defaults to ALSA on Linux.
port = sys.argv[1] if len(sys.argv) > 1 else None
try:
midiin, port_name = open_midiport(port)
midiin, port_name = open_midiinput(port)
except (EOFError, KeyboardInterrupt):
sys.exit()
它可以检测到我的外部 Alesis 键盘,但我没有看到类似于键盘上按下键的变量。我还需要指出,我需要可以实时记录事件的 python 软件。我的第一个目标是获取 midi 事件,然后编写一个程序来计算事件是否定时正确。
更新
这家伙至少在做我想做的事。他可以得到 midi 事件,但他没有说他是如何得到它们的。