投稿

6月, 2019の投稿を表示しています

Android MIDI APIについて

AndroidでMIDIを扱うために、 android.media.midi を利用しています。 リンク先に書いてありますが、MIDI APIを扱う上でのポイントを記載します。 ①API レベル23以上 ②マニフェストに宣言の追加  <uses-feature android:name="android.software.midi" android:required="true"/> ③MIDI Managerの取得 MidiManager m = (MidiManager)context.getSystemService(Context.MIDI_SERVICE); ④接続したMIDIデバイスの取得 MIDI Managerから接続しているMIDIデバイスの情報をリストとして取得できます。 ※今回は、1つしか接続していないので、リストの0番目から取得しています。 MidiDeviceInfo[] infos = m.getDevices(); ⑤MIDIデバイスのオープン  m.openDevice(infos[0], new MidiManager.OnDeviceOpenedListener() {      @Override      public void onDeviceOpened(MidiDevice device) {          if (device == null) {              //MIDIデバイスのオープン失敗          } else {              //MIDIデバイスのオープン成功              //ここでInput PortとOutput Portの取得処理を記述         ...

JoyPianoについて、androidでMIDI電子ピアノの演奏データの記録•再生、ビジュアライザー、遠隔地の電子ピアノの遠隔操作でリモート演奏

イメージ
JoyPianoというアプリを作りました。このアプリでMIDI電子ピアノの演奏の記録、再生、ビジュアライザ、遠隔地にある電子ピアノを遠隔操作でリモート演奏をすることができます。 プレイストアでインストールできます。 よろしければ、使ってください。 https://play.google.com/store/apps/details?id=com.app.joypiano ■デモ動画 ■機能 ①演奏データを作成し、作成データをもとに、電子ピアノを自動演奏(演奏の再生) ②ビジュアライザ機能 ③遠隔地にある電子ピアノの演奏 ■このアプリを使用するために ・Android OS 5(Api 21) Lollipop以上 ・モバイルと電子ピアノの接続していることが必要です。 電子ピアノと端末の接続方法についてはご自身の電子ピアノと使用しているモバイルをご確認ください。 接続方法の例 ①MIDIケーブルを使用して接続 ②Bluetoothで接続 電子ピアノがBluetooth機能に対応している場合は接続ケーブルを別途用意する事は不要ですが、対応していない場合は、MIDIを転送するBluetoothアダブタ、またはMIDIケーブルを用意する必要があります。 下記道具は動作確認済みです ・MIDIを転送するBluetoothアダブタ MD-BT01 ・MIDIケーブル Roland UM-ONE ■演奏データを作成、自動演奏(演奏の再生)について 赤いまるボタンで録音を開始します。また、三角のボタンで選択されているデータを自動演奏します。また、演奏データの持ち運びができます。つまり演奏データを作成した電子ピアノとは別の電子ピアノで演奏を再生することができます。 ■ビジュアライザのイメージ ビジュアライザモード1 ダブルタップで色変更 ■電子ピアノの遠隔地演奏について  この機能を使用すると、電子ピアノと電子ピアノを接続して演奏することができます。 ・演奏のイメージ ①同じネットワーク内での接続 インターネット介さない接続 ②インターネットを介した接続 この機能を利用するためにはルータのポート開放の設定を行う必要があります。 インターネットを介した接続