Androidでポケミクに歌詞を送れるやつ作った – Web MIDI API & Chrome Beta

 Androidとポケミクでなんかするシリーズ。AndroidのChrome BetaでWeb MIDI APIを使ってポケミクをコントロールします。前回は、ノートを鳴らすまでだったのだけど、今回は歌詞の送信(というかシステムエクスクルーシブ/SysExの送信)までできましたよ。
(追記)
 ChromeのBetaじゃないやつもバージョンアップでWeb MIDI APIの使用が可能になりました。以下と同じ方法でいけます。テスト動画はこちら
(追記終わり)
(追記)
 iOSでも動くようになりました(2015年1月27日)。
 Web MIDI APIがiOSでも利用可能に! ポケミクにiPadで歌詞入力できるようになりましたよ。
(追記終わり)
Androidpoke
 というわけで、「作った」というか、ヤマハのやつをカスタマイズしたWebアプリの実際の操作はビデオにて。画面が暗いのと、画質が低くて見にくくてもうしわけないのですが、まあ、概要はわかるかと。


ポケミクにAndroidで歌詞を入力する / Android Chrome Beta & Web MIDI API
 では、説明スタート。

できること

  • AndroidのChrome Betaで歌詞入力、データ送信
  • ポケミク本体のボタンで切り替えられる15個の歌詞を送信可能
  • 送信するSysExの表示
  • eVY1シールドでも利用可能

 スロット(画面ではslot)を選択することで、ポケミクのボタン(A/I/U/E/O)に割り当てたプリセットそれぞれに歌詞をセットできます。スロットは0から15までの16個あるので、SHIFT/VIBRATOボタンとの組み合わせにも対応。詳しくは動画見てください。
 また、eVY1シールドにも歌詞が送れます。仕様の違いからスロットの選択は無効ですが、Androidで歌詞が送れるという点ではそれなりに便利かと。
 出先でPC忘れた! っていう場合にスマホでOKっていうのはいいかも。まあ、そういう時はケーブルがない!ってなるわけですが、最悪100均ショップで買えますからね。

必要なもの

  • USBホスト対応のAndroid端末
  • USBホストケーブル
  • Chrome Betaアプリ(無料) (追記 正式版でも動きます)

Androidpokeotg ポケミクとAndroid端末の接続には100円ショップのセリアで買ったUSB OTGケーブル使ってます。
 商品名は「MicroUSB変換コード」ってなってました。これが100円で買えるなんてすばらしいですね。電源はポケミク本体の電池を使うので、別途電源供給可能なUSBハブを用意する必要がないのもいい感じです。
 Android端末のバージョンがどっからOKなのか不明(ちゃんと調べてない)。とりあえず、ウチはSC-03DをカスタムROMのAndroid OS 4.4.2で動かしてます。テストされた方、OKだった環境を教えていただけるとありがたいです。

その他説明

 例によってWebアプリの元になってるのはこれ。
Yamaha-WebMusic GitHubPage へようこそ!はてなブックマーク - マニュアル
 というか、これをいろいろいじっただけです。
 鍵盤表示まわりはタッチ対応のやつに差し替えたうえで、いろいろやってます(前回の投稿も参照)。画面も手持ちのAndroid端末の小さい画面に合わせてちょこちょこいじったり。
 それから画面下にはSysExも表示。ポケミク(NSX-39)用とeVY1シールド(NSX-1)用の両方を、10進数と16進数で。16進数はSONARとかDAW用。10進数はPure DataとかMobMuPlatの開発に使うため(最近はこっちが滞ってますが)。
 ちなみに、公式アプリはここ。
 歌うキーボード ポケット・ミク | 大人の科学.net
 公式のとは違って双方向の通信はしてないので、ポケミク本体の歌詞を表示したりとかはしません。なるべく軽くしたいというのもあったので(公式アプリをAndroidで動くよう試してたんですが、受信した途端ブラウザが落ちるのですぐあきらめたのもあり)。

でもって、試せるページはここ

 いろいろカスタマイズしたこのWebアプリ。アクセスは下のリンクから。
 Text Input 改造版 (URL変わりました 2016-07-26)
 名称もURLも暫定版。確実に変更されます。上記ページにリンク張らない方向でよろしくです。するなら、今見てるこのページで。
 公式アプリと同様、Chromeのオプションを「有効」にする必要あり。
 chrome://flags/#enable-web-midi
 試した方はコメントいただけるとうれしいです。ツイッターにでもいいです。
 それではよろしくお願いしまーす。


歌うキーボード ポケット・ミク (大人の科学マガジン特別編集)歌うキーボード ポケット・ミク (大人の科学マガジン特別編集)

余談・接続でつまづくかも

(追記:以下に書いた、接続が大変だったという話は2014年5月時点の話です。その半年後くらいには楽につながるようになったんじゃないかなあ)
 と、ここまでカンタンに試せそうなことを書いてきましたが、実は毎回接続が確立するまでにけっこう苦労しています。ブラウザやポケミクを再起動したり、接続し直したりしてやっと、という感じ。一度ビデオを撮ってみたんですが、こんな感じです。


It’s hard to connect MIDI device to Android / Web MIDI API and Chrome Beta
 Chromeのバージョンが上がったらもう少しよくなるのか、それともウチの環境が悪いのか。そのへんのデータが出てくると、もっといいんですけどね。しばらくはいろいろ調べつつやっていきます。日本時間で昨日、Chrome Betaの新バージョンが出てたので、あとで試します。では。
(追記)
 現在のバージョンではここまでひどくないです(2014年6月20日時点)。もっと、簡単に認識すると思います。以下もどうぞ。
 Android版Chromeが正式にWeb MIDI APIに対応。スマホでポケミクにSysExで歌詞送ってみた
(追記その2)
 WindowsのIEでも動きます(2014年5月5日)。
 ポケミクに移植したText InputはIEでも動く
(追記その3)
 iOSでも動くようになりました(2015年1月27日)。
 無料で入手できるブラウザアプリWeb MIDI Browserを使います。
 詳細は以下で。
 Web MIDI APIがiOSでも利用可能に! ポケミクにiPadで歌詞入力できるようになりましたよ。

コメント