1

rtmidi_python ライブラリ経由で Ableton を制御しようとしています。この時点で、Bluetooth 経由でスレーブにメッセージを送信できます。スレーブはメッセージを受信して​​ Ableton に送信します。問題は、「再生」コマンドが反対側で Ableton を起動しないことです。Ableton はコマンドを解釈しますが、何もしません。

再生を押すと「停止」ボタンがグレー表示されますが、トラックは開始されず、これが印刷されます

[242, 0, 0]
[250] 0.0

受信したトラックを停止すると

[252]

位置を変えるとスレーブもトラックの位置を変えてしまうので、再生コマンドが間違っていると思います。note_on メッセージを送信すると、スレーブによって再生されます。また、コマンドを16進数表記に変更しようとしましたが、修正されていないようです。

マスターからの midi 部分は次のとおりです。

midi_in = rtmidi.MidiIn()
for port_name in midi_in.ports:
    print(port_name)
selected_device = int(input('Select a device '))
midi_in.open_port(selected_device)

while recording:
    message, delta_time = midi_in.get_message()
    if message:
        data = json.dumps(message)
        sock.send(data)
        print(message, delta_time)

そして、ここにスレーブがあります:

midi_out = rtmidi.MidiOut()
for port_name in midi_out.ports:
    print(port_name)
midi_device = int(input('Select a device: '))

midi_out.open_port(midi_device)
data = client_sock.recv(1024)
while data != '':
    stream = client_sock.recv(1024)
    message = json.loads(stream.decode())
    print(message)
    midi_out.send_message(message)

誰か助けてくれませんか?また、MIDI ビート クロックを取得するためのヒントがあれば、ぜひお聞かせください。

編集 [248] コマンドを探していることがわかりました。これは、4 分音符ごとに 24 回送信する必要があります。しかし、それは私のコンソールには表示されません。

4

1 に答える 1