SSブログ

プログラミング:Bluetooth MIDI [プログラミング]

久しぶりにブログラミングを始めました。スマホからBluetooth経由でMacのLogic Proを遠隔操作するアプリを作ろうとしてます。なかなかの難易度に挑戦しようとした経緯と途中経過です。

曲作り中、特にギターなどの演奏中はミニ鍵盤のCasio GZ-5をリモート・コントローラーとして使ってます。これで事は足りてるのですが、ミニ鍵盤とは言えあっちこっちと取り回すにはちょっと大きい。Bluetoothのミニキーボードをトライしてみたけどちょっと役不足(詳細はこちらの記事)。

LogicなどのDAWアプリを外部からコントロールする機器はいろいろとありますが、かなり高価でしかも無線接続の機器は出始めでまだ少ないです。i-Phone、iPadがあればLogic専用の無料アプリがありますが、我が家にはiPadが1台しかなく自分が専有できません。Androidスマホのアプリを探しましたが、良さそうなのはのはありませんでした。

で、調べているうちにJava ScriptにBluetoothのMIDI(BLE-MIDI)規格があることが分かりました。つまりWebページから他の機器へBluetoothでMIDI信号を送受信することができます。Webのプログラミングなら職業訓練校で習ったので(多分)バッチリです。で、さっそく始めたものの、、、

BLE-MIDIはまだ新しい規格のためか解説記事は基礎的なものが多く詳細不明。サンプルコードもちゃんと動かないものばかりでした。結局、英語に苦戦しながらJava Scriptの言語定義やBLE-MIDIの規格書などを紐解く作業からになりました。

また、BLE-MIDIに限らず、Androidスマホ上のhtmlファイルをブラウザ(Chrome)で動かすにも制約があって、こちらも解説記事が見つからずに試行錯誤しました。デバッグの環境を整えるのも苦労しました。

リモートとして使っているGZ-5。
主にギターの録音時に使う8つの機能を鍵盤に割り当ててます。
CASIO GZ-5

プログラミング中のJava Script。
アロー関数やプロミスなど知らない機能満載で苦戦しました。
BLE_MIDI 1

作成中のスマホの操作画面。GUIデザインはこれから。
ちゃんとLogicを無線で遠隔操作できました。
BLE_MIDI 2

と言うことで、3日間、どっぷりやって何とか基本的な機能が完成しました。後は使い勝手を考えながらGUIのデザインしていきます。

nice!(15)  コメント(0) 
共通テーマ:音楽