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 控制器