いきなりですが、まずはデモ動画をご覧ください。
ざっくり解説しますと、JavaScriptによるWebブラウザベースのリズムアクションゲームです。使用している技術としては主に以下のものとなります。
- TensorFlow.jsを経由してPoseNetを使い単眼カメラのみでドラム操作を実現
- こちらもTensorFlow.jsを経由してGoogleMagentaのDrumsRNNによりお手本となるドラム演奏を自動生成
- ドラムシークエンスの制御にTone.jsを使用
- 描画周りはp5.jsを使用
特にDrumRNNに関しては以下の記事を参考にさせていただきました。またPoseNetについてはGPU搭載マシンで動作させないとすごくカクカクします。
ちなみにBodyDrumは伝説の音ゲーム「ウンジャマラミー」をリスペクトして制作されました。
より詳細な解説は以下の記事もぜひご覧ください。
次はもっとダンスよりのコンテンツも制作してみたいです。あと独自の機械学習済みモデルをtensorflowjs_converter経由で動かしたい。