WebRTC経由でシンセを鳴らしてみた

Web MIDI APIで「Webならでは」をやってみるのが夢で、その夢をやっと実現させました!!こんな感じです。

Computerを2台用意して、片側のComputerに接続されたMIDIコントローラを演奏すると、別のComputerに接続されているシンセが鳴り出すという仕組みです。ブラウザとMIDIコントローラ/シンセはWeb MIDI APIを使ってMIDIメッセージをやりとりをし、Computer間でのMIDIメッセージの通信にはWeb RTCのDataChannelを使用します。また、せっかくのWebRTCですのでお互いの映像・音声の送受信も行っています。
動画を御覧ください▼

WebRTCの実装 peer.js を使っています。驚くほど簡単にできてしまいました^^ 動画では一方通行ですが、双方向でもできるはずです。また遅延に関して、今回の2台のComputerは同一セグメントにぶら下がっていたこともあってか、体感できる遅延はありませんでした。(詳細な調査もしていませんが。。。) 「MIDIを使うのであれば、これでセッションできちゃうんじゃないのかな〜?」と感じた一瞬でした。ホント、ここまで簡単に実装できてしまう(動画編集のが時間かかってるw)とは夢にも思っていませんでしたので、自分自信が一番驚いています。

今後は peer.js の部分をNTT Commさんから先日リリースされた SkyWay にしてみようかと思います!!

Sonic Boom! (Google I/O'19)

Published on May 15, 2019

Continue reading