2019年2月17日日曜日

AR Piano 生配信

もう1年近く前ですが、ピアノにARする動画を作りました。リアルタイム合成は動画よりライブの方が活かせそうだと感じていたので、今回は環境を作って生配信をしてみました。


内容はボロボロですがアーカイブはこちらに。


位置認識用のマーカーをピアノに貼り、カメラで撮影、位置認識、映像合成、配信、の流れで処理しています。配信の際にマーカーは目立つので映像合成で雑に塗りつぶしています。



今回のソフトはこれまでプロジェクションマッピング用に使っていた SoundMage2 の機能拡張版です。カメラ入力とマーカー認識、映像出力モードを追加して、演出を3D空間に合成するようにしました。設定次第でこれまでのプロジェクションマッピング用の出力にもなります。プロジェクション用に作ってきた演出を AR 用に配置して使えるので遊びやすいのがポイントです。座標系処理はまた一段とカオスに…

システムは無計画に増築を繰り返しており、今はこんな感じです。



基本システムは映像の品質を考えたら前回 AR に使った Unity が良いかなと思いつつも、何より今手軽に遊べりゃいいやというアーキテクチャに傾き、DirectX に回帰しました。慣れた軽いシステム、画像の手軽な変更、過去資産の流用、そもそも Unity を活用した高度なデザインは自分には無理、と判断理由は色々です。


作ってみると音と映像のずれが目立ちました。PCがカメラから受け取る画像が既に100[msec] 以上遅れているようだったので限界はありますが、少しでも改善するよう対策を入れています。
  • 配信ソフトの OBS でディレイ調整。配信時は結局これで何とかなるのですが、今後の応用も想定して他の改善も検討しました。
  • マーカー検出 on/off 切り替え。位置認識は処理が重いので起動時だけおこない、その後は追跡しないようにしています。カメラ固定を前提にした簡易ARです。
  • カメラ入力をトリガにして映像処理をカメラに同期するモードを追加しました。スレッド構成などを見直して、次々と重いバグが生成されて泣きました。というかまだ残っています。
  • 速い PC やカメラの使用。本当はなるべく環境を選ばないシステムが好きなのですが。

配信中の解説用にいつもの動画と同様アイコンを使いました。せっかくなので AR空間で動かしつつ、音声合成で喋らせてみました。音声合成の入力を早くするため音声認識にも対応しています。このあたりの機能やモード切替は、使いやすいように別 PC やスマホからも操作できるようにしています。


などなど、小ネタを色々盛り込んでいてなかなか実行に移さず、当初の配信予定から何か月も遅れました。そしていざ生配信してみると無残なもので、練習不足と緊張で演奏は崩壊するしトークのテンポも最悪だったりシステムトラブルもあったり。
でも視聴者とのリアルタイムなやりとりなど今までにない楽しさがあったので、懲りずにまた遊んでみようと思います。

0 件のコメント:

コメントを投稿