在 Android 中从钢琴中读取 MIDI 消息

Posted

技术标签:

【中文标题】在 Android 中从钢琴中读取 MIDI 消息【英文标题】:read MIDI messages from a Piano in Android 【发布时间】:2013-01-23 20:42:14 【问题描述】:

我想读取和存储从钢琴发送的 MIDI 信息。我确实有一条 midi 到 USB 电缆,我可以将它连接到我的安卓手机,但我还没有找到关于如何阅读发送内容的答案。所有问题要么是关于 MIDI 文件,要么是没有给出太多答案。 我的 Galaxy S2 确实可以用作 MIDI 主机,所以我想知道是否有一种方法是我只是读取原始信息然后对其进行解密(使用 MIDI 规范)还是已经有了一些东西?

【问题讨论】:

【参考方案1】:

USB MIDI Logger 显示带有 USB 设备的原始 MIDI 消息。

而且,源代码也可以在 github 上找到。 https://github.com/kshoji/USB-MIDI-Driver

【讨论】:

..我想这是你的图书馆 :-) 我会看看,谢谢【参考方案2】:

我认为默认情况下 android 不知道 MIDI 协议。

所以,你的任务分为两件事

从 USB 读取/写入数据

为此阅读Android USB Host API。

实现 MIDI 协议

你可以看看here。但是,我相信您需要对此进行更多研究。

【讨论】:

第一部分我无能为力,但已经有 MIDI 的 Java 实现可用:code.google.com/p/android-midi-lib 2LeffelMania:我上次接触 MIDI 是在十年前。我相信 MIDI 协议和 MIDI 文件格式是相关但不同的东西。所以,提到的图书馆可能有帮助,也可能没有帮助。 我想我会看看 kshoji 的图书馆。

以上是关于在 Android 中从钢琴中读取 MIDI 消息的主要内容,如果未能解决你的问题,请参考以下文章

启用 android-midi-lib 频道

在使用 HTML5 构建的钢琴应用程序中嵌入 MIDI(mp3,如果不能使用 mp3)文件

如何从 MIDI 序列中获取 Note On/Off 消息?

python mido MIDI包中使用MultiPort的问题

从 Java 中的 Midi 文件中读取 Midi 消息 [重复]

在 MIDI 表示中,中音 C(钢琴)的正确八度值是多少?