2019年6月18日火曜日

SoundMage2 Ver.1.200

公開版の SoundMage2 を更新しました。1年ぶりくらいかと思ったら3年ぶりでした。



少しずつ機能が増えていたのでリリースしようと思いつつ、延び延びになっていたようです。今回の新機能は大きく3つ。

カメラ映像背景
ときどきリクエストのあった機能です。もうプロジェクションマッピング用ではないですが、生配信などで使う場合はこちらの方が向いているかもしれません。というかプロジェクタを設置して使う方の方が少数派だったと思います。
AR 動画のとき作ったカメラ部分を整えて取り込んでいます。OpenCV を静的に抱え込んで作ったのでアプリのサイズが一気に膨らみましたが、導入しやすさ重視で。

メロディトリガ
初期から対応していた、特定のメロディで演出モードが切り替わる機能の簡易版です。実は自分のソフトで一番の特徴はこれではないかと思っています。設定ファイルで自由に定義できるようにするのが面倒で今までリリース版には入れていませんでしたが、簡易的に設定できるようにしてみました。
とはいえデザインの作りこみとか設定はややこしく、使いこなす人がいるのか疑問です。

楽譜モード
最も基本的なデザインだと思いますがようやく導入。



このモード自体はだいぶ前から作っていたもので、今年に入って時々生配信で使ったりしていました。
先日まらしぃさんの幕張ライブでまたプロジェクション演出をさせていただき、この楽譜モードの一部を拡張して取り込みました。そちらは非常にお気に入りです。そのライブの前に個人的にこれを公開してしまうのはためらわれ、ちょっとリリースを待機していました。

ときどき使用動画を目にしたり相談をいただくことなどあり、嬉しいです。
よかったら遊んでください。

2019年2月17日日曜日

AR Piano 生配信

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


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


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



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

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



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


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

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


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