4

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

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

但是当涉及到控制表面脚本时,什么都没有。这是我尝试过的:

# __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 端口的配置:

在此处输入图像描述

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

4

1 回答 1

2

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

在此处输入图像描述

于 2021-01-14T11:00:52.220 回答