如何从 Ableton Live 控制界面脚本将 MIDI 数据发送到我的 Arduino 板

How do I send MIDI data to my Arduino board from Ableton Live control surface script

我正在尝试将 MIDI 数据从 Ableton Live 的控制界面脚本发送到我的 Arduino 开发板。

目前 Arduino 设置为记录在每个通道上收到的每个 MIDI / SysEx 消息,这就是它目前所做的一切。我可以通过使用 Live 的外部乐器确认它是否正常工作:我设置外部乐器以将 MIDI 发送到 Arduino 板并记录传入事件(使用 NoteOn、NoteOff、PitchBend 测试)。

但是当涉及到 Control Surface Script 时,没有任何效果。这是我尝试过的:

# __init__.py

from .test import SendMidiTest

def create_instance(c_instance):
    return SendMidiTest(c_instance)
# SendMidiTest.py
# I'm trying to send NoteOn MIDI message every time I change track in Live

import Live
from _Framework.ControlSurface import ControlSurface

g_logger = None

def log(msg):
    global g_logger
   
    if g_logger is not None:
        g_logger(msg)

class SendMidiTest(ControlSurface):
    def __init__(self, *a, **k):
        super(SendMidiTest, self).__init__(*a, **k)
        self.song().view.add_selected_track_listener(self.handle_track_change)

    def handle_track_change(self):
        log('track changed')
        self._send_midi((144, 65, 112,))
        log('message should be sent')

我在 Live 的日志中看到了这两条消息,但我的板上没有任何传入的 MIDI(Arduino RX LED 也没有闪烁)。

MIDI端口配置如下:

我做错了什么?任何帮助表示赞赏。

长话短说:问题是没有在 MIDI 设置中将板设置为输出