MIDI 测试程序

以下测试可用于验证 Android 设备上的 MIDI 功能。成功执行这些测试是声明 MIDI 功能的先决条件。

准备

硬件

测试需要使用以下硬件。

  • 配备 USB 连接器的 MIDI 键盘,例如 Akai LPK25
  • 配备低功耗蓝牙 (BLE) 的 MIDI 键盘,例如 Miselu C.24
  • USB 数据线
  • 可将 USB-A 母头转换为 micro-USB 或 USB-C 公头的 USB On-The-Go (OTG) 适配器
  • 运行 Android 6.0 Marshmallow 或更高版本的 Android 设备
  • 可选:桌面设备

应用

该测试程序涉及多个应用。您可以通过点击下表中的链接获取 GitHub 项目 android-midisuite 应用的源代码或通过 Google Play™ 安装应用。

源代码 Google Play™ 说明
MidiScopeMidiScope MIDI Scope 在屏幕上显示 MIDI 信息
MidiKeyboard MIDI Keyboard 在按屏幕上的音乐键盘时发送 MIDI 信息
MidiSynthExample
MidiSynth
MIDI Synth Ex 采用锯齿波振荡器的简易 MIDI 合成器
MidiBtlePairing MIDI BLE Connect 将 Android 设备与 BLE 外围设备配对使用
MidiTools 上述应用的库依赖项

如果您选择从源代码开始编译,而不是通过 Google Play™ 进行安装,请先使用附带的 Android.mk 编译应用。然后使用 Android 调试桥 (ADB) 安装该应用。例如,要安装 MidiScope 应用,请按以下步骤操作:

  1. 使用安装了 ADB 的工作站。
  2. 使用 USB 数据线将工作站连接到 Android 设备。
  3. 您可能需要在 Android 设备上允许 USB 连接;请参阅 USB 外设模式
  4. 在工作站上,输入以下内容:
cd THIS_FOLDER
adb install -r MidiScope.apk

虚拟合成器测试

请注意,MIDI 输入端口只能建立一个连接。因此,如果另一个应用已经连接到输入端口,则该端口将不可用。如果您无法连接到输入端口,请尝试关闭其他应用。

所需的硬件:受测 Android 设备

简易连接

所需的应用:MidiKeyboard、MidiSynthExample

这部分是测试设备枚举、虚拟设备、端口连接和消息发送等功能。

  1. 将 Android 设备上的音量调节至大约一半的位置。
  2. 将手机切换为横屏模式。
  3. 启动 MidiKeyboard 应用。
  4. 从下拉菜单中选择 SynthExample
  5. 弹奏琴键。您应该能听到 SynthExample 应用中播放的音符。
  6. 返回按钮退出应用后,端口将关闭。

USB 测试:主机模式

所需的硬件:USB MIDI 键盘、USB 数据线、OTG 适配器

这些测试需要重复进行几次。我们发现,如果将设备插入和拔下数次,某些原型设备上会出现 USB 协议栈严重崩溃。

键盘已插入

所需的应用:MidiSynthExample 或 MidiScope

这部分是在主机模式下测试 USB MIDI。

  1. 将 Android 设备上的音量调节至大约一半的位置。
  2. 使用 OTG 适配器连接 USB 键盘。
  3. 启动 SynthExample 应用或 MidiScope 应用。
  4. 从菜单中选择 USB 键盘。将显示键盘的品牌信息。
  5. 在键盘上弹奏音符。如果运行 SynthExample,您应该能在手机上听到播放的音符。如果运行 MidiScope,屏幕上将显示 NoteOn 和 NoteOff 消息。
  6. 拔下键盘。“合成器的发送器”菜单应该会显示“- - - - -”。
  7. 返回按钮退出应用。

热插拔 USB 键盘

所需的应用:MidiSynthExample 或 MidiScope

这部分是在主机模式下测试 USB MIDI。

  1. 将 Android 设备上的音量调节至大约一半的位置。
  2. 确保没有插入任何 USB MIDI 键盘。
  3. 启动 SynthExample 应用。
  4. 在中间位置,找到“合成器的发送器”旁边的菜单。应该不会列出 USB 键盘。
  5. 使用 OTG 适配器连接 USB 键盘。
  6. 在中间位置,选择“合成器的发送器”旁边的 USB 键盘。将显示键盘的品牌信息。
  7. 在键盘上弹奏音符。您应该能在手机上听到播放的音符。
  8. 在中间位置,选择“合成器的发送器”旁边的 - - - - -
  9. 在键盘上弹奏音符。您应该不会听到任何声音。
  10. 在中间位置,选择“合成器的发送器”旁边的 USB 键盘。将显示键盘的品牌信息。
  11. 在键盘上弹奏音符。您应该能在手机上听到播放的音符。
  12. 拔下合成器。“合成器的发送器”菜单应该会显示“- - - - -”。
  13. 返回按钮退出应用。

USB 测试:外围设备模式

所需的硬件:USB 数据线、OTG 适配器

Android 设备到 Android 设备

所需的应用:受测 Android 设备上的 MidiKeyboard,另一台 Android 设备上的 MidiScope。

将 Android 设备用作另一台 Android 设备的外围设备控制器。为了帮助测试该模式,请使用另一台在主机模式下运行的 Android 设备。请注意,您可以修改测试,以便与运行数字音频工作站 (DAW) 软件(如 workGarageBand)的台式机配合使用。

  1. 将 USB 数据线连接到受测 Android 设备(Android 设备 A)。
  2. 使用 OTG 适配器将数据线的另一端连接到另一台 Android 设备 B(在主机模式下运行)。
  3. 在 Android 设备 A 上执行以下操作:
    1. 用手指从屏幕顶部向下滑动。
    2. 选择正在通过 USB 充电图标。
    3. 选择 MIDI
    4. 启动 MidiKeyboard 应用。
    5. 从顶部的“按键接收器”菜单中选择 Android USB 外设端口
  4. 在 Android 设备 B 上执行以下操作:
    1. 启动 MidiScope 应用。
    2. 选择另一台 Android 设备作为源设备。
  5. 在 Android 设备 A 上执行以下操作:
    1. 在键盘上弹奏音符,并在 Android 设备 B 上查找 NoteOn 和 NoteOff。

BLE 测试

所需的硬件:支持 BLE 的 MIDI 键盘

基本配对和弹奏

所需的应用:MidiBtlePairing、MidiSynthExample

这部分是测试通过 BLE 连接到 Android 设备的键盘。

  1. 重新启动 Android 设备。
  2. 开启 BLE 键盘。
    (按下靠近背面的按钮,开启 Miselu C.24 键盘,从而使其弹开。在配对模式下,C.24 上的电源按钮闪烁蓝光。)
  3. 启动 MidiBtlePairing 应用。该应用具有 MIDI + BTLE 图标。
  4. 蓝牙扫描按钮。
  5. 选择所需的 BLE 外围设备。
  6. 应用应该返回到主页面,您应该会看到列出的外围设备。如果您使用的是 C.24,那么您会发现 C.24 上的指示灯变绿,表明已配对成功。
  7. 主屏幕按钮(而非返回按钮)退出应用。
  8. 启动 SynthExample 应用。
  9. 从菜单中选择 BLE 键盘作为发送器。
  10. 在 BLE 键盘上弹奏琴键后,您能够在 Android 设备上听到播放的音符。