MIDI 测试程序

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

准备工作

硬件

测试需要以下硬件。

  • 带 USB 连接器的 MIDI 键盘
  • 支持蓝牙低功耗 (BLE) 的 MIDI 键盘
  • USB 数据线
  • USB On-The-Go (OTG) 适配器,用于将 USB-A 母口转换为 micro-USB 或 USB-C 公口
  • 运行 Android 6.0 Marshmallow 或更高版本的 Android 设备
  • 可选:台式计算机

许多 MIDI 键盘同时支持 USB 和 BLE-MIDI,因此您只需使用一个键盘即可进行测试。例如,Akai LPK25 WirelessKorg Microkey Air

应用

此测试过程使用了多个应用。这些应用以源代码形式在 GitHub 项目 android-midisuite 中提供,也可以通过 Google Play™ 在下表中的链接中获取。

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

如果您选择从源代码工作而不是通过 Google Play™ 安装,请先使用提供的 Android.mk 构建应用。然后使用 Android Debug Bridge (ADB) 安装应用。例如,要安装 MidiScope 应用

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

虚拟合成器测试

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

所需硬件:正在测试的 Android 设备

简单连接

所需应用:MidiKeyboardMidiSynthExample

这项测试用于测试设备枚举、虚拟设备、端口连接和消息发送。

  1. 将 Android 设备上的音量调整到大约一半。
  2. 将手机置于横向模式。
  3. 启动 MidiKeyboard 应用。
  4. 从下拉菜单中选择SynthExample
  5. 弹奏琴键。您应该听到在 SynthExample 应用中播放的音符。
  6. 按下返回按钮退出应用程序,以便关闭端口。

USB 测试:主机模式

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

将这些测试重复多次。我们已经看到,在某些原型设备上,如果设备插拔几次,USB 堆栈会严重崩溃。

键盘已插入

所需应用:MidiSynthExampleMidiScope

这项测试用于测试主机模式下的 USB MIDI。

  1. 将 Android 设备上的音量调整到大约一半。
  2. 使用 OTG 适配器插入 USB 键盘。
  3. 启动 SynthExample 应用或 MidiScope 应用。
  4. 从菜单中选择 USB 键盘。它将显示品牌。
  5. 在键盘上弹奏音符。如果您运行的是 SynthExample,那么您应该听到手机上播放的音符。如果您运行的是 MidiScope,那么您应该在屏幕上看到 NoteOnNoteOff 消息。
  6. 拔下键盘。Synth 的发送器菜单应显示 - - - - -
  7. 按下返回按钮退出应用程序。

热插拔 USB 键盘

所需应用:MidiSynthExampleMidiScope

这项测试用于测试主机模式下的 USB MIDI。

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

USB 测试:外围设备模式

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

Android 到 Android

所需应用:正在测试的 Android 设备上的 MidiKeyboard,另一台 Android 设备上的 MidiScope

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

  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 上查找 NoteOnNoteOff

BLE 测试

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

基本配对和播放

所需应用:MidiBtlePairingMidiSynthExample

测试通过 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 上听到音符。