gpt4 book ai didi

Python RTMidi 控制 Ableton Live

转载 作者:太空宇宙 更新时间:2023-11-03 18:24:44 25 4
gpt4 key购买 nike

我正在尝试通过 rtmidi_python 库控制 Ableton。此时,我可以通过蓝牙向 Slave 发送消息,Slave 接收消息并发送给 Ableton。问题是“播放”命令无法启动另一端的 Ableton。我可以看到 Ableton 解释了该命令,但没有执行任何操作。

当我点击播放时,“停止”按钮将变灰,但轨道不会开始这将被打印

[242, 0, 0]
[250] 0.0

当我停止播放时我收到

[252]

当我改变位置时,从机也会改变轨道的位置,所以我认为播放命令不正确。当我发送 note_on 消息时,该消息将由 Slave 播放。我还尝试将命令更改为十六进制表示法,但这似乎无法解决问题。

这是大师的 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] 命令,该命令应该每个四分音符发送 24 次。但它没有显示在我的控制台中。

最佳答案

关于 [248] midi 时钟事件消息:默认情况下会忽略它们。

我使用 MidiIn.ignore_types() 方法来接收它们:

midiIn.ignore_types (sysex        = True, 
timing = False,
active_sense = True)

通常在调用open_port()之后。

关于Python RTMidi 控制 Ableton Live,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23426483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com