4

我有一个Korg NanoKey,我想用它来控制我在 Arduino 平台上设计的简单合成器。(我有一个Arduino Uno。)基本上,我不关心 MIDI,我只想阅读键盘按下的音符,但如果 MIDI 是我能做到这一点的唯一方法,那么我没关系。所以我最大的问题是,我该怎么做?我无法在互联网上找到其他已经这样做的人。

但更具体地说,我看到了两个挑战:首先,我想将 NanoKey 直接插入 Arduino 的 USB 端口,然后我想知道 Arduino 是否会为 NanoKey 提供必要的电源。其次,我不确定我会阅读什么协议。我可以按照本教程中的说明读取 MIDI 信号吗?

4

4 回答 4

2

我不想抑制你的热情,但你正在尝试的可能有点困难。USB 系统由主机控制器和一个或多个外围设备组成。控制流向设备的流量是主机,这意味着如果没有主机控制器的明确请求,设备就无法在总线上传输数据。

我对 nanoKey 或 Arduino 平台都不熟悉,但我相当确信 nanoKey 是一个 USB“设备”,通常连接到充当主机的计算机。因此,要使该系统正常工作,您需要让 Arduino 在与 nanoKey 通信时充当主机。Arduino原理图显示 Arduino Uno 使用ATmega8U2进行 USB 通信。不幸的是,ATmega8U2 是一个 USB 设备,所以你有两个外围设备,但没有主机控制器来促进它们之间的数据传输。您最好使用提供 USB 主机或 USB On-the-Go 的微型开发板。

于 2011-07-09T12:01:27.340 回答
2

昨天我打开一个 Korg Nano 控制器,惊讶地发现里面有一个 AVR mega32。这将是一项艰巨的任务,但通过一些工作,您可能会制定出原理图并使用他们的编程头突破自己重新编程。您最终可能不会获得比其他方式更多的功能,但它会很有教育意义。

于 2011-10-01T19:48:28.807 回答
1

我同意 Jono 的观点——你咬了很多东西——它甚至可能最终最容易将按键直接连接到 Arduino——拆掉电子设备并找出一种方法将按键多路复用到单个通道而不会丢失复音(电阻“梯子”可能)。我无论如何,祝你好运。有趣的是,你会制作一个模拟键盘来插入数字合成器。

Quick and Dirty Arduino MIDI Over USB演示了如何通过 USB 发送/接收 MIDI,但不幸的是,这可能对您尝试做的事情没有任何帮助,因为他找到了一种从 USB 发送和接收 MIDI 信号的方法主机,而不是自己充当 USB 主机 - 与您的问题相反。但是,如果您想从计算机控制您的设备,我认为它可能会有用。

于 2011-07-10T01:10:03.343 回答
1

如其他帖子所述,您需要使用单独的芯片来提供 USB 主机接口。这是使用Circuits@Home 的 USB Host shield与 Akai LPK25(USB Midi 键盘)接口的一个很好的指南。

http://blog.makezine.com/2010/11/30/usbhacking/

提供了 Arduino 草图,因此您应该可以尝试一下,但是如果无法开箱即用,调试 USB 主机连接可能会变得非常棘手。

于 2012-11-17T12:01:55.117 回答