Microbit ラズパイ Midi音源〜フリーハンドで音源を鳴らす仕組み1〜
思いつきですが、Microbitからラズパイ経由でMidi音源を鳴らす仕組みを作ろうと思います。イチからやっていきますので、まずはどの様なものを作成するか?から考えます。
どんなものを作る?
タイトルにある様に「Microbit〜ラズパイ〜Midi音源」とデータを送信し、音源を鳴らす仕組みを作ろうと思います。下の様なイメージです。
これで一体何をするのか?
シンプルに、手に装備したマイクロビットから片手だけでMidi音源の再生と停止を行える様なものを作成しようと考えています。ちなみにマイクロビットは下の様な形で装備します。
名付けてアーマード・マイクロビット!
実際は、サポーターにマジックテープでマイクロビットをつけただけですが(笑)
このマイクロビットから直接音源を鳴らそうと試みたけどうまくいかず。。。
知り合いに話をしたら「ラズパイ経由でやれば?」とアドバイスをいただきました。
確かに、ラズパイならJavaアプリケーション(画像なしのCUI)で簡単なメッセージ(Aボタン押下など)を受けて、JavaからMidiメッセージを送信することを考えています。
そんなわけで、上の様なイメージになりました。
最終的にならすMidi音源は下のものになります。
必要なこと
まずは、どうしたらできるか?を考えます。自分は以下の様に考えました。
<Topレベル: 大まかな概要>
<Middleレベル: >
- ラズパイでBluetoothドングルでMicrobitと連携する(特定のもので良い)
- ラズパイでJavaサーバー(アプリ)を起動する
- Javaサーバー(アプリ)でMicrobitのメッセージを受ける
- 同様に、受けたメッセージからMidi音源を鳴らすMidiメッセージを作成
- MidiメッセージをMidi音源(RT-123)へ送信する
<Lowレベル: >
- ラズパイにBluetoothのネットワークインターフェース設定を行い自分のマイクロビットと接続できる様にする
- Javaサーバーアプリケーション(Socketサーバー)を作成する
- JavaサーバーAPでMidiメッセージの作成と送信を行う
- JavaサーバーAPでマイクロビットからのメッセージを受ける
- マイクロビットからのメッセージにより以下のMidiメッセージを作成
A. 12小節分のドラム・ベースの伴奏を行うMidiメッセージを生成する
B. 上と違うパターンのものを生成する
A, BのMidiメッセージをMidi音源に送信する
ちなみに、Midi音源はUSB経由でラズパイからMidiメッセージを送信されるのでそのためのインターフェース(ここではUSBケーブル)を購入しました。
|
これで、大まかなところは決まった形になります。
結構な、作業量になってしまいました。。。
しかし、千里の道のりも一歩目からです。
今回はここら辺りにします。
でわでわ。。。