2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
MIDI テストの手順
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このテストは、Android デバイスの MIDI 機能を検証するために行います。このテストで基準を満たすことは、MIDI 機能が正しく実装されていることを示すための前提条件です。
準備
ハードウェア
テストには次のハードウェアが必要です。
- USB コネクタを備えた MIDI キーボード
- Bluetooth Low Energy(BLE)対応 MIDI キーボード
- USB ケーブル
- メスの USB-A をオスのマイクロ USB または USB-C に変換する USB On-The-Go(OTG)アダプター
- Android 6.0(Marshmallow)以降を搭載する Android デバイス
- 任意: パソコン
USB と BLE-MIDI をサポートしている一部の MIDI キーボードでは、キーボード 1 台のみでテストを行うことができます。Akai LPK25 Wireless や Korg Microkey Air などのキーボードが該当します。
アプリ
このテスト手順では複数のアプリを使用します。アプリは GitHub プロジェクト android-midisuite のソースコードや、次の表にある Google Play™ のリンクから入手できます。
Google Play™ 経由でインストールせずソースコードから作成する場合は、まず、提供された Android.mk を使用してアプリをビルドします。次に、Android Debug Bridge(ADB)を使用してアプリをインストールします。たとえば、MidiScope アプリをインストールするには次の操作を行います。
- ADB がインストールされたワークステーションを使用します。
- ワークステーションの USB ケーブルを Android デバイスに接続します。
- Android デバイスで USB 接続の許可が必要な場合があります。詳しくは、USB 周辺機器モードをご覧ください。
- ワークステーションで次のように入力します。
cd THIS_FOLDER
adb install -r MidiScope.apk
仮想シンセのテスト
MIDI 入力ポートに接続できるのは 1 つのアプリのみです。そのため、別のアプリで入力ポートを使用している場合はそのポートを使用できません。入力ポートに接続できない場合は、他のアプリを閉じてください。
必要なハードウェア: テスト対象の Android デバイス
シンプルな接続
必要なアプリ: MidiKeyboard、MidiSynthExample
デバイスの列挙、仮想デバイス、ポート接続、メッセージ送信をテストします。
- Android デバイスの音量を半分ほどに調節します。
- スマートフォンを横表示にします。
- MidiKeyboard アプリを起動します。
- プルダウン メニューから [SynthExample] を選択します。
- キーボードで音階を演奏すると、その音階が SynthExample アプリから聞こえます。
- [Back] ボタンを押すとアプリが終了し、ポートが閉じます。
USB テスト: ホストモード
必要なハードウェア: USB MIDI キーボード、USB ケーブル、OTG アダプター
このテストを何度か繰り返します。デバイスの接続や取り外しを数回繰り返すと、一部のプロトタイプ デバイスで USB スタックがクラッシュするという事例が報告されています。
すでに接続されたキーボード
必要なアプリ: MidiSynthExample または MidiScope
ホストモードの USB MIDI をテストします。
- Android デバイスの音量を半分ほどに調節します。
- OTG アダプターを使用して USB キーボードを接続します。
- SynthExample アプリまたは MidiScope アプリを起動します。
- メニューから USB キーボードを選択します。ブランド名が表示されます。
- キーボードで音階を演奏します。SynthExample を実行すると、演奏した音階がスマートフォンから聞こえます。MidiScope を実行すると、画面に「NoteOn」と「NoteOff」というメッセージが表示されます。
- キーボードを外します。[Sender for Synth] メニューに [- - - - -] と表示されます。
- [Back] ボタンを押すと、アプリが終了します。
ホットプラグ USB キーボード
必要なアプリ: MidiSynthExample または MidiScope
ホストモードの USB MIDI をテストします。
- Android デバイスの音量を半分ほどに調節します。
- USB MIDI キーボードが接続されていないことを確認します。
- SynthExample アプリを起動します。
- 中央の [Sender for Synth] の横にあるメニューには、どの USB キーボードも表示されません。
- OTG アダプターを使用して USB キーボードを接続します。
- 中央の [Sender for Synth] の横に表示する USB キーボードを選択します。ブランド名が表示されます。
- キーボードで音階を演奏すると、その音階がスマートフォンから聞こえます。
- 中央の [Sender for Synth] の横にある [- - - - -] を選択します。
- キーボードで音階を演奏しても、音は聞こえません。
- 中央の [Sender for Synth] の横に表示する USB キーボードを選択します。ブランド名が表示されます。
- キーボードで音階を演奏すると、その音階がスマートフォンから聞こえます。
- シンセサイザーの接続を外します。[Sender for Synth] メニューに [- - - - -] と表示されます。
- [Back] ボタンを押すと、アプリが終了します。
USB テスト: 周辺機器モード
必要なハードウェア: USB ケーブル、OTG アダプター
Android から Android
必要なアプリ: テスト対象となる Android デバイス上の MidiKeyboard と、もう 1 台の Android デバイス上の MidiScope。
別の Android デバイスの周辺機器コントローラとして Android デバイスを使用します。このモードをテストするには、別の Android デバイスをホストモードにします。設定を変更すると、GarageBand などのデジタル オーディオ ワークステーション(DAW)ソフトウェアを実行しているデスクトップ パソコンからでもこのテストを実行できます。
- テスト対象の Android デバイス(Android デバイス A)に USB ケーブルを接続します。
- OTG アダプターを使用して、ケーブルのもう一方の端をホストモードで動作する 2 台目の Android デバイス(デバイス B)に接続します。
- Android デバイス A で次の操作を行います。
- 画面の上から下にスワイプします。
- USB for Charging アイコンを選択します。
- [MIDI] を選択します。
- MidiKeyboard アプリを起動します。
- [Receiver for Keys] メニューから [Android USB Peripheral Port] を選択します。
- Android デバイス B で次の操作を行います。
- MidiScope アプリを起動します。
- 他の Android デバイスをソースとして選択します。
- Android デバイス A で次の操作を行います。
- キーボードで音階を演奏し、Android デバイス B に「NoteOn」と「NoteOff」が表示されることを確認します。
BLE テスト
必要なハードウェア: BLE をサポートする MIDI キーボード
基本的なペアリング設定と再生
必要なアプリ: MidiBtlePairing、MidiSynthExample
BLE 経由で Android に接続したキーボードをテストします。
- Android デバイスを再起動します。
- BLE キーボードの電源を入れます。
(Miselu C.24 キーボードは、上部のボタンを押すと鍵盤がもちあがって電源が入ります。ペアリング モード時、C.24 の電源ボタンは青く点滅します)
- MIDI+BLE のアイコンをタップして MidiBtlePairing アプリを起動します。
- [Bluetooth Scan] を押します。
- テストする BLE 周辺機器を選択します。
- アプリの画面がメインページに戻り、周辺機器が一覧で表示されます。C.24 を使用している場合は、C.24 のライトが緑色に変わり、ペアリング モードになったことを確認できます。
- [Back] ボタンではなく、[Home] ボタンを押してアプリを終了します。
- SynthExample アプリを起動します。
- 送信デバイスとして、メニューから BLE キーボードを選択します。
- BLE キーボードのキーを押すと、Android からその音階が聞こえます。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# MIDI test procedure\n\nThese tests may be used to validate the MIDI feature on Android devices.\nSuccessful execution of these tests is a prerequisite to\n[claim the MIDI feature](/docs/core/audio/midi#claim-feature).\n\nPreparation\n-----------\n\n### Hardware\n\n\nThe following hardware is needed for the tests.\n\n- MIDI keyboard with USB connector\n- MIDI keyboard with Bluetooth Low Energy (BLE) support\n- USB cables\n- USB On-The-Go (OTG) adapter to convert a female USB-A to male micro-USB or USB-C\n- Android device running Android 6.0 Marshmallow or later release\n- Optional: desktop computer\n\n\nSeveral MIDI keyboards support both USB and BLE-MIDI, so you can do your testing with\njust one keyboard. Examples are the\n[Akai LPK25 Wireless](http://www.akaipro.com/product/lpk25)\nand the\n[Korg Microkey Air](https://www.korg.com/us/products/computergear/microkey2_air/).\n\n### Apps\n\n\nSeveral apps are used by this test procedure.\nThe apps are available in source code on GitHub project\n[android-midisuite](https://github.com/philburk/android-midisuite),\nand via *Google Play*™ at links in the following table.\n\n| Source code | Google Play™ | Description |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|\n| [MidiScope](https://github.com/philburk/android-midisuite/tree/master/MidiScope) or [MidiScope](https://github.com/googlesamples/android-MidiScope) | [MIDI Scope](https://play.google.com/store/apps/details?id=com.mobileer.example.midiscope) | displays MIDI messages on-screen |\n| [MidiKeyboard](https://github.com/philburk/android-midisuite/tree/master/MidiKeyboard) | [MIDI Keyboard](https://play.google.com/store/apps/details?id=com.mobileer.midikeyboard) | sends MIDI messages by pressing an on-screen music keyboard |\n| [MidiSynthExample](https://github.com/philburk/android-midisuite/tree/master/MidiSynthExample) or [MidiSynth](https://github.com/googlesamples/android-MidiSynth) | [MIDI Synth Ex](https://play.google.com/store/apps/details?id=com.mobileer.midisynthexample) | simple MIDI synthesizer that uses sawtooth oscillators |\n| [MidiBtlePairing](https://github.com/philburk/android-midisuite/tree/master/MidiBtlePairing) | [MIDI BLE Connect](https://play.google.com/store/apps/details?id=com.mobileer.example.midibtlepairing) | pairs an Android device with a BLE peripheral |\n| [MidiTools](https://github.com/philburk/android-midisuite/tree/master/MidiTools) | | library dependency of the above apps |\n\n\nIf you choose to work from source code rather than install via *Google Play* ™,\nfirst build the app using the supplied *Android.mk* .\nThen install the app using\n[Android Debug Bridge](http://developer.android.com/tools/help/adb.html) (ADB).\nFor example, to install the *MidiScope* app:\n\n1. Use a workstation with ADB installed.\n2. Connect a USB cable from the workstation to the Android device.\n3. You may need to allow the USB connection on the Android device; see [USB peripheral mode](/docs/core/audio/midi#usb-peripheral)\n4. On the workstation, enter:\n\n cd \u003cvar translate=\"no\"\u003eTHIS_FOLDER\u003c/var\u003e\n adb install -r MidiScope.apk\n\nVirtual synth tests\n-------------------\n\nNote that a MIDI input port can have only one connection. So if another app is\nalready using an input port, that port will not be available. If you cannot connect to\nan input port then try closing other apps.\n\nHardware needed: Android device under test\n\n### Simple connection\n\nApps needed: *MidiKeyboard* , *MidiSynthExample*\n\nThis tests device enumeration, virtual devices, port connections, and message\nsending.\n\n1. Adjust volume on Android device to about halfway.\n2. Orient phone in landscape mode.\n3. Launch *MidiKeyboard* app.\n4. Select **SynthExample** from the spinner menu.\n5. Play keys. You should hear notes being played in the *SynthExample* app.\n6. Exit the application by pressing the **Back** button so that the port will be closed.\n\nUSB test: host mode\n-------------------\n\nHardware needed: USB MIDI keyboard, USB cable, OTG adapter\n\nRepeat these tests several times. We have seen the USB stack crash hard on some\nprototype devices if devices were plugged in and unplugged a few times.\n\n### Keyboard already plugged in\n\nApps needed: *MidiSynthExample* or *MidiScope*\n\nThis tests USB MIDI in host mode.\n\n1. Adjust volume on Android device to about halfway.\n2. Plug in USB keyboard using the OTG adapter.\n3. Launch *SynthExample* app or the *MidiScope* app.\n4. From the menu select the USB keyboard. It will display the brand.\n5. Play notes on the keyboard. If you ran *SynthExample* then you should hear notes being played on the phone. If you ran *MidiScope* then you should see *NoteOn* and *NoteOff* messages on-screen.\n6. Unplug the keyboard. The *Sender for Synth* menu should display *- - - - -*.\n7. Exit the application by pressing the **Back** button.\n\n### Hot-plug USB keyboard\n\nApps needed: *MidiSynthExample* or *MidiScope*\n\nThis tests USB MIDI in host mode.\n\n1. Adjust volume on Android device to about halfway.\n2. Make sure there is not a USB MIDI keyboard plugged in.\n3. Launch *SynthExample* app.\n4. At middle, next to *Sender for Synth*, look in menu. You should not see the USB keyboard listed.\n5. Plug in USB keyboard using the OTG adapter.\n6. At middle, next to *Sender for Synth*, select the USB keyboard. It will display the brand.\n7. Play notes on the keyboard. You should hear notes being played on the phone.\n8. At middle, next to *Sender for Synth* , select **- - - - -**.\n9. Play notes on the keyboard. You should hear nothing.\n10. At middle, next to *Sender for Synth*, select the USB keyboard. It will display the brand.\n11. Play notes on the keyboard. You should hear notes being played on the phone.\n12. Unplug the synthesizer. The *Sender for Synth* menu should display *- - - - -*.\n13. Exit the application by pressing the **Back** button.\n\nUSB test: peripheral mode\n-------------------------\n\nHardware needed: USB cable, OTG adapter\n\n### Android-to-Android\n\nApps needed: *MidiKeyboard* on Android device under test, *MidiScope* on another\nAndroid device.\n\nUse Android devices as a peripheral controller for another Android device. To help test\nthis mode, use another Android device running in host mode. Note that\nyou could modify the test to work with a desktop computer running Digital Audio Workstation (DAW)\nsoftware such as\nGarageBand.\n\n1. Connect the USB cable to the Android device under test (Android device **A**).\n2. Use an OTG adapter to connect the other end of the cable to a second Android device **B** that operates in host mode.\n3. On Android device A:\n 1. Drag finger down from top of screen.\n 2. Select **USB for Charging** icon.\n 3. Select **MIDI**.\n 4. Launch *MidiKeyboard* app.\n 5. Select **Android USB Peripheral Port** from *Receiver for Keys* menu at top.\n4. On Android device B:\n 1. Launch *MidiScope* app.\n 2. Select the other Android device as the source.\n5. On Android device A:\n 1. Play notes on the keyboard and look for *NoteOn* and *NoteOff* on Android device B.\n\nBLE test\n--------\n\nHardware needed: MIDI keyboard supporting BLE\n\n### Basic pairing and playing\n\nApps needed: *MidiBtlePairing* , *MidiSynthExample*\n\nTest a keyboard connected to Android over BLE.\n\n1. Reboot the Android device.\n2. Power on the BLE keyboard. \n (The Miselu C.24 keyboard is powered on by pushing the button near the back so that it pops open. The power button on the C.24 pulses blue when in pairing mode.)\n3. Launch the *MidiBtlePairing* app. It has a *MIDI+BTLE* icon.\n4. Press the **Bluetooth Scan** button.\n5. Select desired BLE peripheral.\n6. The app should return to the main page, and you should see the peripheral listed. If you are using a C.24, then you will notice that the light should turn green on the C.24 to indicate paired mode.\n7. Exit the app by pressing the **Home** button, not the **Back** button.\n8. Launch the SynthExample app.\n9. Select the BLE keyboard as the sender from the menu.\n10. You should be able to press keys on the BLE keyboard and hear notes on Android."]]