日本音響学会

音のなんでもコーナー

Q and A (055)

Q:

「前方の2チャンネル・スピーカだけを用いて任意方向に音像を合成したり,映画等のサラウンド音声を後方より聞こえるように再現する立体音場再生方式」に興味を持ち,できれば自作したいと思いました。いろいろな記事や論文を調べて,このような再生方式には頭部伝達関数(HRTF)と,各チャンネルの音声が反対側の耳へまわりこむ現象(クロストーク)をキャンセルする処理とが用いられていることを知りました。HRTFについては,耳に小型マイクロフォンを挿入して音声を録音すれば,良いと考えましたが,クロストークをキャンセルするにはどうすれば良いのでしょうか?

A:

ご質問の趣旨は「クロストークをキャンセルする簡単な方法はあるか?」ということかと思いますが,少し原理的な話から始めさせて下さい。 話を簡単にするため,Lチャンネル音声(つまり左耳だけに提示したい音声ですね)の処理だけを考えます。また,あなたはLチャンネル・スピーカとRチャンネル・スピーカを結ぶ線分を底辺とする2等辺3角形の頂点に座っており,L(又はR)チャンネル・スピーカ〜左耳(又は右耳)間の伝達関数をG1(ω)(ω:周波数),クロストーク現象を表わすR(又はL)チャンネル・スピーカ〜右耳(又は左耳)間の伝達関数をG2(ω)と仮定しましょう。 まず伝達関数G1(ω),G2(ω)を求めます。このためには,M系列信号や白色雑音等のランダム雑音N(ω)を用います。HRTFの測定と同様に,耳に小型マイクロホンを挿入してLチャンネル・スピーカから到来した雑音G1(ω)N(ω),G2(ω)N(ω)を録音します。すると,これら録音信号とスピーカへ入力した雑音N(ω)との相関演算より伝達関数G1(ω),G2(ω)を求めることができます。Lチャンネル用のクロストーク・キャンセラは,Lチャンネル音声をLチャンネル・スピーカ用に処理するフィルタH1(ω)と,Rチャンネル・スピーカ用に処理するフィルタH2(ω)とで構成されます。Lチャンネル音声をυL(ω)と表わせば,左右耳に届く音声はそれぞれ次のように表されます。 左耳:G1(ω)H1(ω)υL(ω)+G2(ω)H2(ω)υL(ω) 右耳:G1(ω)H2(ω)υL(ω)+G2(ω)H1(ω)υL(ω) 「左耳にはLチャンネルの音声υL(ω)を提示し,右耳には音を出さない」のがLチャンネル用クロストーク・キャンセル処理ですから,この条件を元に上式を連立させて解けば,フィルタH1(ω),H2(ω)は, H1(ω)=G1(ω)/G0(ω), H2(ω)=ーG2(ω)/G0(ω) ただし,G0(ω)=G1(ω)G1(ω)*ーG2(ω)G2(ω)*, *:共役複素数 と求められます。Rチャンネル用クロストーク・キャンセラも同様に求めることができます(1/G0(ω)の計算には多少の注意が必要です。詳しくは専門書をご参考下さい。)

 ご質問の中で述べられているように,HRTFデータは耳へ挿入可能な小型マイクロホンとDAT等の録音機があれば(それなりのデータを)どこででも入手することができます(耳を傷つける恐れがありますので,お勧めはできません)し,ダミーヘッド録音の音楽ソース等も販売されています。しかしクロストーク・キャンセラ設計・処理では計算機や専用ハードが必要で,まだまだ「手軽に自作する」訳にはいかないように思います。そこで最後に,簡単な原理で,ある程度のクロストーク・キャンセル処理を実現できるスピーカシステムをご紹介します。 マトリクス(MX)スピーカという名称が付けられたこのシステムは,リスナの正面に配置されるセンタ・ユニットと,主軸を外に向けて取り付けられた左右のユニットで構成されています。センタ・ユニットには(L+R),左ユニットには(LーR),右ユニットには(RーL)の音声が入力されるよう結線されています。このような結線と左右ユニットの指向性との組み合わせにより,リスナの左耳ではLチャンネル信号の,右耳ではRチャンネル信号の音圧がそれぞれ他方に比べて高くなり,近似的なクロストーク・キャンセル処理が実現される仕組です。詳しくは「長岡鉄男のスピーカ工作全図面集(音楽之友社刊)」をご覧下さい。

執筆者:三好正人(NTT研究所)