AndroidとWeb MIDI APIでポケミクをなんかするシリーズその2。「AndroidのChromeでWeb MIDI APIをテスト ポケミク」の続きです。使っているのはここにあるtext-input。
Yamaha-WebMusic GitHubPage へようこそ!
上記ページのtitleが「マニュアル」ってなってるのは修正したほうがいいと思う。まあ、それはいいとして。
先日、Chrome Betaのバージョンアップがあり、#35になっているのを発見。USB MIDIの認識とかが改善してないかと期待しつつテスト。デバイスの認識まわりは変化が感じられず。デバイス名も表示されないままだし、再起動とか何度も試してやっと認識するという具合。むー。
一方、タッチへの対応にちょっと変化が。コードを見ると、mousedownイベントを拾っているんだけど、前回試したときには一瞬だけ音が出るという状態。押しっぱなしにしても音が続かないのだった。今回テストすると前よりは音が続くようになってる。MIDI周りじゃなくてタッチイベントに対する動作が変わったような雰囲気。わかんないけど。
どっちにしろ、タッチ対応にコードを書かないとまともに鳴らないんだなあ、ということで、コード修正にトライ。うまくいかねーなあー、とかやってると、上記リンクのWebアプリの開発をやっている方が、キーボード周りのライブラリをアップデートしたとツイート。自分でやってたのを放り出して、そっちを試すことに。その結果が以下の動画。
ポケミクをAndroid / Web MIDI APIでテスト その2 – POCKET MIKU / NSX-39 / Web MIDI API / Android / Chrome beta 35
タッチでちゃんと音が鳴ってる! すばらしい。さすが。SysExがまだ送れてない様子。歌詞をSendしても出る音は変わらず。まあ、ほかのプログラムでは試してないので、確実なことはわかんないんですが。
flatKeyboard.jsを差し替えただけなので、画面が右に寄ってしまってたりしますが。あと、Androidケータイの小さい(低解像度)の画面だと、ピンチ操作で拡大した際に上の文字のdivが変な配置になるので、CSSも変えないとなあ、とか思いつつ。まあ、そのへんはだめだめな私でもすぐ対処できるんですが。
あと、鍵盤のキーも増えてた。前は1オクターブ分だったけど、新しいやつでは2オクターブになってる。これで曲を弾くのも楽になる感じ。
これがYamaha-WebMusic GitHubPageで公開されてるやつ。
でもって、差し替えた結果がこれ。
GitHubからソースを拾ってきて、flatKeyboard.jsを差し替えたもの。もっと画面がでかいタブレットならいい感じで弾けそう。
あとは、Chrome BetaのUSB-MIDI周りがもっとちゃんとしてくれたらなあ、という感じです。iOSのChromeがWeb MIDI APIに対応してくれればなあ。ドライバ周りはiOSのほうが充実してて、アプリ側がなんかしなきゃいけないところは少ないと思うんですが。Google的にはAndroidを先になんとかしたいんだろうなあ、とも思いつつ。さらに「ヤマハ、すごいなあ」と思ったりしつつ。
以上、記録でした。
コメント