そら☆しゃ〜ぷ

VR/MRとか360camの話題を中心に。

Ambisonicで遊ぶ① H2nで録った空間音声の波形を可視化してみる

 

空間音声を理解する

最近は、ZoomのH2nを使って空間音声(Spatial Audio)を録っています。

Youtubeなどで使われている空間音声フォーマットは、1次のAmbisonicというそうで、ある点に入ってくる音を、無指向性成分、前後成分、左右成分、上下成分に分離して記録するそうです。

数学には強くないですが、原理不明のモノを扱うのは、精神衛生上よろしくないので、定性的な理解のために、簡単な実験をしてみました。

なお、音声の扱いについては完全に素人なので、本記事の内容は色々と間違っている可能性がありますので、ご注意ください。

球面調和関数とは?

 1次のAmbisonicで使われる、無指向性成分、前後成分、左右成分、上下成分というのは、球面調和関数の0次項と1次項に当たるものだそうです。詳細な解説はWikipedia等に載っていますが、式で書かれてもピンと来ないものです。

球面調和関数 - Wikipedia

自分のざっくりとした理解としては、1次元の関数がフーリエ級数展開できたり、光学系の波面収差をZernike係数で近似できたりするのと同じ概念で、ある点に入射する音の球面波の波形を球面調和関数で近似するものと感じました。

ゼルニケ近似多項式:光学総合サイト:サイバネット

ただ、1次関数のフーリエ級数展開や波面収差のZernike係数で近似と事情が異なる点として、例えば「前方からくるプラスの音圧と後方から来るマイナスの音圧」が識別できるのか、といった点がモヤモヤするところです。

まずは手を動かして、それから考える

難しいことは考えずに、まずは録ってみて、それから考えることにします。ZoomのH2nを使って、以下のような配置で録音をしてみました。

 

f:id:TJ16th:20171203161326p:plain

音源とマイクの距離は、約1mとしています。音源は約45deg刻みで移動させ、それぞれ同一の波形を出力させます。これをH2nで録音して、波形を比較してみました。

 

 

まずは、90deg(正面)と270deg(後方)を比較してみます。双方ともに、1次(左右)のチャンネルは、ほぼゼロとなっています。また、0次と1次(前後)は、90deg(正面)では同位相、270deg(後方)では逆位相となっているのが分かります。

 f:id:TJ16th:20171216234843p:plain

これはどういう事か。90deg(正面)の2msの瞬間の波形を、球面調和関数の水平方向断面で表現してみたのが下図です。左が各チャンネルの波形振幅の絶対値と合計、右が振幅の自乗を表しています。1次(前後)項がプラスになると、音源が実際にある前方の波形がプラスとなり、後方の波形がマイナスとなります。この時、0次成分がプラスになることで、後方のマイナス分を打ち消します。これで、前方からだけ音が来ている、という状態が表現されるわけですね。

f:id:TJ16th:20171203165009p:plain

同様に、270deg(後方)の2msの瞬間の波形を、球面調和関数の水平方向断面で表現してみたのが下図です。今度は、1次(前後)による前方成分を、0次成分が打ち消しているのが分かります。f:id:TJ16th:20171203170321p:plain

複数の方向から同時に同じ音が来るとどうなるのか?

ここまでで,単一方向から音が来た場合は分かってきました。では、複数の方向から同時に同じ音が来た場合はどうなるでしょうか?

まずは、先ほどの実験で録音した、90deg(正面)と0deg(右)の波形を重ね合わせてみました。すると、45deg(右斜め前)から音が来ているのと同じとなりました。これは、単一音源が45degにあるのか、90deg(正面)と0deg(右)に1つずつ音源があるのかは、区別できないということを示しています。高次のAmbisonicにすれば、おそらく2つの独立した音源として区別できるようになるのでしょう。

f:id:TJ16th:20171203191128p:plain

次に、前後から同じ音が来た場合です。90deg(正面)と270deg(後方)の波形を重ね合わせてみました。すると、1次(前後)成分がほぼゼロとなってしまい、ほぼ無指向性成分だけしか残りませんでした。現実には、完全に同じ音が真反対から入力されることはあまりないでしょうから、実用上は問題ないのかもしれません。f:id:TJ16th:20171203190026p:plain

まとめ

まずは、Ambisonicに関するもやもやは、だいぶ解消された気がします。

今後は、Ambisonicで録音した素材から、後方の音だけを小さくするようなフィルターを作れるといいな、と思ってます。