Arduino MIDI 控制器库

Posted

技术标签:

【中文标题】Arduino MIDI 控制器库【英文标题】:Arduino MIDI controller library 【发布时间】:2020-03-31 21:44:13 【问题描述】:

我正在尝试制作一个带有三个按钮(播放、暂停和录制)、一个电位器和一个推子的 MIDI 控制器。我正在使用这个库:https://github.com/tttapa/MIDI_controller

我无法让按钮做我想做的事情(触发我 daw 上的播放按钮)。

另外,当我用Hairless 测试电位器时,我得到了这个错误:

Enter image description here

【问题讨论】:

【参考方案1】:

这似乎是一个通信错误。

作者推荐change to the new version。如果您想继续使用该版本,请尝试调整两侧的设定速度。

Arduino 中默认的无毛波特率为 115,200 个符号/秒。

(您可以在设置中更改它,但我建议只在 Hairless 中更改它,因为我认为这是默认设置。)

 MIDI_controller/src/Settings/Settings.h
     Line 10
  #define HAIRLESS_BAUD 115200

【讨论】:

我用 9600 和 115200 都试过了,结果是一样的。 使用标准示例进行测试或尝试新的库 我已经更新了库,并使用了自述文件中的创建者标准示例,我将发布代码here,但我得到了同样的错误。 检查串行监视器和 settings.h(Arduino 端)和 win 设备管理器中使用的 com 端口和无毛应用程序的波特率设置 波特率不同。我在串行监视器(from9600)中将速率设置为 115200,settings.h 已经设置为 115200,我在设备管理器中将 com 端口的波特率设置为 115200,并且无毛应用程序已经设置为 115200。所以现在每个频率是匹配的,但我仍然得到错误。当我打开串口监视器时,输出是一些奇怪的符号,这样可以吗? screenshot【参考方案2】:

我遇到了同样的问题。

您的设置未向 DAW 提供 MIDI 输入。 DAW 可以从 MIDI 输入设备读取数据,但不能直接从串行端口读取数据。

此设置将起作用:Arduino 通过串行端口将 MIDI 数据发送到应用程序“Hairless 串行 MIDI 桥”,然后 Hairless 将具有正确波特率的 MIDI 数据发送到 MIDI 输入设备。 DAW 可以从 MIDI 输入设备读取数据。

您可以使用http://www.tobias-erichsen.de/software/loopmidi.html 作为虚拟 MIDI 输入。

查看https://piecesofpi.co.uk/arduino-usb-midi-the-easy-way/ 了解有关此概念的详细信息。

另一个选项可能是带有内部 USB (Atmega 32U4) 的 Arduino,不需要 Hairless 和 MIDI 环回(我没有尝试过)。

【讨论】:

以上是关于Arduino MIDI 控制器库的主要内容,如果未能解决你的问题,请参考以下文章

用于虚拟 DJ 的 Arduino Usb MIDI 控制器

c_cpp Arduino Midi控制器 - 更多信息可以在Boutsman.be上找到

修改 Arduino 代码以读取串行以控制移位寄存器

无法在 Midi 控制器中添加多个电位器

Arduino IDE:在“”标记之前不允许函数定义

Midi 控制器设备名称