AmbisonicsなVR動画をあげてみた



#VR動画とAmbisonic
Ambisonic(s)で音をとるとVRの絵だけでなく音もまわる動画になるはず。
Ambisonicsマイク試してみましたという備忘録です。

###Ambisonicsって何?
Nao Tokuiさんの記事がわかりやすい
[360度動画のためのAmbisonicsマイクを開発中! 「百見は一聞に如かず」](http://naotokui.net/2015/06/ambi-mic/
)

#動画
PCやMacのブラウザで再生する場合はマウスで視点が動かせます。
同時に音の方向も一緒に変化します。

###スマホで見る時の注意
スマホの場合ブラウザ標準再生（やアプリ内埋め込みのブラウザ）だと元素材がそのまま再生されて、変な画像と音になるので
Youtubeアプリや対応プレーヤーでVR再生をしてみてください。 
スマホの場合はジャイロで視点が動かせます。
例えばiPhoneだとリンク先をコピーしてSafariで開いて、Youtubeアプリで開くといった手順でVR再生ができるようになります。

[ロボットがカメラのまわりを動く動画](https://youtu.be/Oxa_7f372yA)
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/Oxa_7f372yA/0.jpg)](http://www.youtube.com/watch?v=Oxa_7f372yA)

[２つの楽器音をカメラのまわりで動かした動画](https://youtu.be/1IsJsKvfXAU)
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/1IsJsKvfXAU/0.jpg)](http://www.youtube.com/watch?v=1IsJsKvfXAU)


#参考にしたサイト
- THETAの動画をYoutubeにする方法として
http://bamka.info/360view-movie-youtube

- ffmpegでB-formatのwavとくっつけるなど
https://francois.pitie.net/2016/05/05/360-audio-youtube-upload/

- Homebrewでffmpegインストール
http://www.yuichon.com/2016/02/ffmpeg-install/



#機材
[THETA](https://theta360.com/ja/) パノラマ動画撮影
[Brahma](http://embracecinema.com/gear/product-view.php?slug=brahma-in-zoom) ambisonicマイク
[Octa-caputre](http://www.soundhouse.co.jp/products/detail/item/157827/) キャノンで4ch取り込めるオーディオインターフェース
MacBookPro 録音や動画加工

#ソフトウェア
- [RICOH THETA](https://theta360.com/ja/support/download/)　THETAの３６０度動画をYoutubeのVR動画用に変換するアプリ
- [LogicProX](http://www.apple.com/jp/logic-pro/) 録音と切り出し、ステレオ波形バウンスに使用
- BrahmaVolver　Brahmaで録音したA-formatの4chを、B-formatの4chのwavを作に変換するアプリ
- ffmpeg　THETAの動画の音声トラックを差し替えるのに使用
- [Spatial Media Metadata Injector](https://support.google.com/youtube/answer/6178631?hl=ja)　 YoutubeVR動画投稿用のメタデータを動画に入れるツール

#全体の流れ
1. VR動画としてカメラまわりをオブジェクトが動いていると面白そう。
2. [LEGOのNXT](http://www.lego.com/ja-jp/mindstorms)があったので、とりあえずカメラの周りを動かすようにプログラム。
3. BrahmaVolverでA-formatでOcta-Capture使ってLogicで録音と加工。
4. BrahmaVolverでB-format化する。
5. ffmpegでTHETAの動画とくっつける。
6. youtubeにアップロード。


##マイク位置とカメラ位置
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/caddc38c-2816-e936-3b9f-7496e5e42402.png)

やっかいなのは、カメラと同じ位置にマイクを置きたいけど、
全天周とるカメラのどこにおけばいいかが難しい。

普通の撮影ならカメラ外に置けばいいけど、全天周の場合、撮影が苦手な領域の真上か真下に置くといいかもしれない。（が、配線や機材干渉などの関係で縦に置くにはそれなりの工夫が必要）

と、撮影できる部屋がないので今回は廊下で撮影してみた。


##配置の工夫の課題
マイクの下にあるマイクプリがでかい。(床に埋めたいくらい、もっと小型化求む）

[ロボットがカメラのまわりを動く動画](https://youtu.be/Oxa_7f372yA)だとカメラに対してマイクの位置が上すぎて、音が真下から聞こえてくる感じで、まわりから聞こえる感じにならないかも。（直接音より、壁の反射音の変化を拾ってるかもですが）

[２つの楽器音をカメラのまわりで動かした動画](https://youtu.be/1IsJsKvfXAU)ならカメラのすぐ後ろなのでズレが少ないはず。

今回はマイクがしっかり固定できずマイクの設置に苦労した。
天地反転してカメラに近づけてみたいところだが、
マイクが重く、スタンドがバランス崩して倒れてしまうなどなど、通常のマイクスタンドではダメでしっかりしたスタンドが必要と認識。

しかし、しっかりしたスタンドを配置すると360度動画にも影響するので、もっと小型で取り回しの良いambisonicsマイクが開発されるのを期待。

##マイクの向きとカメラの向きを合わせておく
L、R、Front,Backを考える時、マイクを対象に向けるというイメージで
とらえてみた。
マイクの配置とカメラの向きを合わせて動かさないと後で困ったことになるのでこれは注意深く合わせておく。

今回は固定だが、カメラが動く場合マイクも合わせて動かす必要がある。

##どの方向の信号がどのチャンネル（色）に記録されるかの把握

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/2d725483-6c15-0a59-131d-fd15c35baae9.png)

このBrahmaのケーブルの色、何もヒントがなかったので、
マイク側にテプラで色を貼ってわかるようにしてみた。

ロゴを後ろから眺める向きで右後ろから時計周りに
RGBY(赤、緑、青、黄色）

真上から見ると
BY(Front L R)
GR(Back  L R)

絵がある方が前だと思う。
自分が後ろからみたとき、映像の前（THETAロゴとBrahmaロゴが同じ面）として合わせた。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/062a70e7-b0db-1028-a127-54ff5efd9c83.png)
ケーブルの色分け　モノラルマイクと違ってどの向きがどの色かを把握する必要がある。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/d76359c2-b0f9-d8c1-9ae3-bc58af415d03.png)
BrahmaVolver用に２つステレオファイルを用意する。
１．FLU+FRD　前左、前右
２．BLD+BRU　後左、後右

Logicで4chモノラルで録音したものをパンをふって、ステレオ２つにしてバウンス。

BrahmaVolverアプリでは
B-format化した4chwavが1つできる。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/3d9e0488-a168-77de-ec3e-14716093c757.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/3fe5bc94-d587-0499-adac-c738da48dfbb.png)

この1つのwavがあれば、VR再生時に音声も向きで変化する動画になる。

##録画と録音手順
録画と録音は同時に行いたいところだが、それぞれ機材が異なるので、
後編集での切り出しポイントを作っておく必要がある。

Logicで録音開始し、THETAの録画を開始、録画停止して、録音停止の順で行う。

これで、音声が動画より長く記録されている状態。
なので、音声を切り出す。

###動画と音声の切り出しタイミング合わせ
THETAの録画開始音、停止音をたよりに波形を切り出す。適宜レベル調整。
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/89cd70f3-eb49-7e99-b655-2e0d37b1f40b.png)

###THETAの動画の変換
THETAの記録した録画データはmp4になっているが、
そのままではYoutubeのVR形式の動画にならないのでRICOH THETAのツールを使い変換する。
![image](https://qiita-image-store.s3.amazonaws.com/0/96808/5a068881-4bd7-2d46-de5b-37a2e00efdb9.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/e9471701-7f44-467a-bf49-d026db49f57e.png)
ffmpegで4chwavをaacに変換。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/49bc8375-dc8f-9d62-8fe1-5a677ea5b29e.png)
ffmpegでTHETAでとった　mp4と4chwavのmp4をくっつける。

![image](https://qiita-image-store.s3.amazonaws.com/0/96808/f05fbcdf-ff7a-f1a0-5474-6b0cdddc8ffe.png)
Spatial Media Metadata Injectorで
上のような設定で書き出す。

（おそらく。真ん中のはステレオ撮影、GoogleCardboardやハコスコなど２眼用）

で、youtubeにあげる。

あげて直後はVR化されてなくて焦ったけど、
しばらく15分くらいしないとVR動画にならないみたいだった。
（動画が上がった後で、Youtube側で何かしているのかもしれない）

#気づいた点
なるべく手間をかけずに行うレベルであれば、なんとなくできているんじゃないかなぁという感想。

そもそもこのマイク自体はフィールドレコーディング用で、
マイクとしては一点だが、付属するパーツ類が邪魔でカメラの近くに置けないという致命的な問題があり、360動画撮影と同時に使うには難儀。

かといって、別撮りだと、それはそれで位置合わせとか
後での編集作業がいろいろつらいかもしれない。

例えば、滝壺の近くとか、噴水の近くとか、焚き火の近くとか、フィールドに固定されていて且つ変化の少ない音ならよいかも。
波打ち際とか車の通過音とか変化のある音だと映像とのずれが気になり始めるかも。

音声とは別に位置合わせのための情報もすべて記録する3Dキャプチャみたいな仕掛けが必要そう。
プレビュー環境[Waves NX](http://www.waves.com/plugins/nx?gclid=Cj0KEQjw_9-9BRCqpZeZhLeOg68BEiQAOviWAsIZo6PCkcAyhDnK3jGnYK-sw1idaI-n8cfFgiSPdY8aAl548P8HAQ#introducing-nx-virtual-mix-room)みたいなものとか　DAW側の進化も必要かも。（3Dとかの把握だからゲームエンジンとかの方が向いているのかも）
3次元音像配置フォーリーとか新しい職種が生まれるかもしれない。

#その他参考にしたサイト
ffmpegインストールでHomebrewがうまく動かなかったので参考にした
http://qiita.com/takezoux2@github/items/aa2a5f0bef19cd0d8508

Unityのゲーム内空間をVR動画にするときにAmbisonicでがんばっている何か
http://neta-abc.blogspot.jp/2016/06/unityambisonic.html
実はゲーム空間の方がAmbisonics録音に向いてるかもしれない。