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 回送信する必要があります。しかし、それは私のコンソールには表示されません。