空間オーディオ
更新日時: 2025/06/10
空間化は完全没入型のオーディオにおいて重要な要素です。これは、音源が3次元空間の特定の位置にあるかのように音声を再生する機能です。空間オーディオは、ユーザーが実際に3D環境にいるように感じるためのきっかけとなるため、没入感あふれるエクスペリエンスを実現する上で不可欠です。
空間化における2つの重要な要素は、方向と距離です。このガイドでは、この両方のトピックと、それを可能にするテクノロジーについて取り上げます。
位置特定とは、現実世界で音声の3次元位置情報を決定する脳の能力のことです。人間には耳は2つしかありませんが、周囲の音声の3次元位置を推定することができます。タイミング、位相、レベル、スペクトル変形などのオーディオの手がかりを利用して音声の位置を推定します。
このセクションでは、人間が音の位置を特定する方法と、その知識をどのように活用して没入型アプリにおける空間化問題を解決するか、またモノラル音をどのように変換して、3次元空間内の特定の点から聞こえるようにするかを説明します。
音源の方向を決定するために人間が使用する手がかりについて、見ていきます。
水平方向の音声の位置特定は、最も単純なタイプの位置特定です。音源が左に近ければ、右耳より先に左耳に聞こえ、左耳のほうが大きく聞こえます。一般的に、両耳の聞こえ方が均等に近ければ近いほど、音源は中央に寄ります。
しかし、いくつかの興味深い事実があります。まず、両耳の音の到着の遅れ(両耳間時間差(ITD)として知られる)に基づいて音の位置を認識します。人間は、両耳の音量レベルの差(ILD)と呼ばれる音量レベルの違いに基づいて音の位置を認識することもあります。利用する位置特定技法は、信号の周波数成分に大きく依存しています。
特定の周波数(音源に応じて500から800 Hzの任意の周波数)より低い音声を、レベルに基づいて区別することは困難です。しかし、この周波数範囲内の音声は、標準的な人間の頭の寸法より大きい半波長を持つため、左右の耳の間のタイミング情報(位相)を混同することなく利用できます。
反対に、おおよそ1500 Hzより高い周波数を持つ音声は、標準的な頭より小さい半波長を持ちます。したがって、位相情報を利用して音声の位置を特定することはできなくなります。これらの周波数では、人間は頭影によって生じるレベルの差、つまり、自分の頭が音源から遠いほうの耳の障害物となっているために生じる音響減衰を利用します。

頭部による音の遮蔽現象を示したイラスト。音源から最も離れた耳を頭部が遮ることで、音が減衰する現象です。
また、信号の開始時間の差も利用します。音声が再生されたときにどちらの耳に先に聞こえるかは、音声の位置を特定する上で重要な役割を果たします。約800 Hzから約1500 Hzまでの間には、レベル差と時間差の両方が音の位置特定に使用される移行帯があります。
前面と背面の位置特定は、水平方向の位置特定よりはるかに困難です。聞き手の前からの音声と後ろからの音声について、両耳間の時間および/またはレベルの差はゼロである場合があるため、人間は時間の差を利用することができません。
次の図の場合、位置Aと位置Bからの音声は、両方の耳からの距離が同じでレベル差と時間差が同じであるため、区別できないことが分かります。

前方と後方の曖昧さを示したイラスト。前方と後方から発せられる同じ音が区別できないことを示しています。
人間は、頭と体によって生じる音声のスペクトル変形を利用して、この曖昧さを解決しています。このスペクトル変形は、頭、首、肩、胴体、および特に外耳(または耳介)の形状とサイズによって生じる、音声のフィルタリングと反射です。異なる方向から発せられた音声は、体の形状に対して異なる相互作用を示すので、脳はスペクトル変形を利用して音源の方向を推測します。例えば、前からの音声では耳介の内部によって共鳴が生じますが、後ろからの音声では耳介による陰影が生じます。同様に、上からの音声は肩で反射しますが、下からの音声は胴体と肩による陰影を生じさせます。
このような反射と陰影効果の組み合わせによって、方向選択フィルターが形成されます。
単に頭を左右に動かすだけで、前面と背面の曖昧さという難しい問題を、人間がより簡単に解決できる水平位置の特定の問題に変換できます。
次の図では、AとBからの音声のレベル差または時間差は同じであるため、これらの差に基づいて音声を区別することはできません。聞き手が頭をわずかに動かすと、両耳間の時間とレベルの差が変化するため、音声の位置が明確になります。D1はD2より近いため、これは、聞き手にとって音声がより左耳の近くにある、つまり自分の後ろにあるという手がかりになります。

頭部の動きが、前方と後方から聞こえる音の位置を明確にする仕組みのイラスト。
同様に、頭を傾けると、対象物の垂直方向の位置が明確になります。次の図では、聞き手が頭を傾けると、D1との距離が短くなり、D2との距離が長くなります。これによって聞き手は、音声が自分の頭より下ではなく、上から発せられていると判別できます。

頭を横に傾けることで、音が上方からか下方からかを判断する方法を示したイラスト。
人間が聞く音声は、体(特に耳)の形状だけでなく、耳に入ってくる音声の方向からも直接影響を受けます。この2つの要素(体と音源の方向)が、音声の位置特定に使用されるフィルターである頭部伝達関数(HRTF)の基盤となります。方向選択フィルターは、HRTFとしてエンコードできます。HRTFは、最新の3D音声空間化技法の基盤です。
HRTFをキャプチャする最も正確な方法は、被験者の両耳(外耳道のすぐ外側)にマイクを着けて無響室(反響がない部屋)に入ってもらい、室内の作成する体験において重要なすべての方向から音を再生して、耳に取り付けたマイクで音声を録音することです。次に、録音された音声を元の音声と比較し、変換関数を計算します。これが頭部伝達関数です。
これを両方の耳について行います。また、有用なサンプルセットを構築するには、十分な数の異なる方向からの音声を録音する必要があります。しかし、この場合は特定の個人についてしか、HRTFを取得していません。HRTFには個人差がありますが、それほど違っているわけではないため、特にヘッドトラッキングと組み合わせた場合は、汎用的な参照セットとしてほとんどの状況に対応できます。
ほとんどのHRTFベースの空間化の実装では、以下で概要を説明するいくつかの公開データセットの1つを使用しています。これは、さまざまな人間の被験者またはKEMARなどの人工の頭部モデルのいずれかから取得したものです。
ほとんどのHRTFデータベースでは、HRTFは全方向にはありません。例えば、被験者の頭の真下1メートルの場所にスピーカーを配置することは、不可能でないにしても困難であるため、通常は被験者の頭の下に広い空白の領域が生まれます。5度または15度ごとのみのHRTFなど、一部のHRTFデータベースではまばらにしかサンプルが取得されていません。
ほとんどの実装では、取得されたHRTFのうち、最も近いものにスナップする(音声の不連続性が生じる)か、HRTFの補間方法を使用します。これは現在も研究が進められている分野ですが、デスクトップ上の没入感あふれるアプリでは、多くの場合、十分に密なデータセットを見つけて使用することが必要です。
HRTFセットで、音の出る方向がわかったら、適切なHRTFを選択し、音に適用します。一般的に、これは時間領域の畳み込みか、FFTを使用した周波数領域の畳み込みのいずれかの形で行われます。HRTFでは聞き手の頭の形状が考慮されるため、空間化を実行するときにはヘッドホンを使用することが重要です。ヘッドホンを使用しない場合、実質的に、2つのHRTF (シミュレーションされたHRTFと、聞き手の体の形状によって生じる実際のHRTF)を適用することになります。
聞き手は本能的に、頭を動かすことで空間内の音声の曖昧さを解消し調整します。これができない場合、空間内で音声の位置を特定する能力がかなり失われます。特に高度と、前面か背面かが捉えにくくなります。位置の特定を無視したとしても、頭の動きを補正できなければ、音声の再現レベルは良くても平凡なものになります。聞き手が頭を横に45度回転させた場合は、正確な音声応答を提供する必要があり、そうしないと没入感が失われます。
Meta Questなどの没入性の高いヘッドセットには、聞き手の頭の向きと位置をトラッキングする機能が備わっています。音声パッケージにこの情報を提供すると、空間内でのユーザーの移動に合わせて空間オーディオを更新し、音声が仮想世界でから聞こえているような感覚をつくり出せます。(聞き手がヘッドホンを装着していることが前提になります)。スピーカーアレイでこれを模倣することは可能ですが、信頼性が大幅に劣り、より煩雑で、実装も困難になるため、ほとんどの没入型アプリには実用的ではありません。
ILD、ITD、HRTFは、音源の方向を判断する上では役立ちますが、音源までの距離を判断する手がかりとしてはあまり役に立ちません。次の要因を組み合わせて距離を判断します。
音の大きさは最も明確な距離の手がかりですが、誤った解釈を導くこともあります。聞き手に判断の基準枠がない場合、音源から離れたときにどの程度ボリュームが減衰するかを判断できず、したがって距離も推測できません。幸いなことに、聞き手は、楽器、人間、動物、乗り物など、生活の中で聞こえるさまざまな音源についてよく知っているので、比較的正確にそれらの距離を予測することができます。人工の音源や馴染みのない音声の場合は、聞き手にはそのような基準枠がないため、音声が近づいているのか遠ざかっているのかを予測するために、ほかの手がかりや相対的なボリュームの変化を利用する必要があります。
初期時間遅延とは、直接音とその最初の反射の時間間隔です。音源が近い場合、直接音は直ちに到着し、直接音と最初の反射との間の遅延が大きくなります。音源が壁に近い場合、直接音と反射音はほぼ同時に届きます。

初期時間遅延のイラストでは、直接音はすぐに到着しますが、もう一方の音はまず表面に反射してから到着します。
砂漠のような無響の(反響がない)環境、つまり開放環境では、感知可能な反射が生じないため、距離の推定が難しくなります。初期時間遅延では、特定のメッシュセットの初期反射の計算とそのメッシュの特性が必要になるため、音の大きさよりもはるかにモデリングが困難です。また、計算コストが高い上に、アーキテクチャの観点でも実装が煩雑です(ワールドのメッシュを下位レベルのAPIに送信する処理は、大抵複雑になります)。
残響環境では、拡散する長い「音のしっぽ」が生じます。これは、互いに干渉し、面で反射し、緩やかに減衰するすべての遅延反響で構成されます。遅れて聞こえる残響音より直接音が多く聞こえるほうが、聞き手は、より音源が近いと推測できます。
残響音に対する直接音の比率(ウェット/ドライミックス)は、反射と後期残響を正確にモデリングしようとするシステムにより発生する副産物です。残念ながら、一般的にそのようなシステムは計算コストが非常に高くなります。人工残響に基づくアドホックモデルでは、ソフトウェアでミックス設定を調整できますが、これらは完全に実験的なモデルです。
注: オーディオエンジニアは、人工残響の「ウェット/ドライミックス」を調整して楽器やボーカリストの位置を「前」または「後ろ」に移動させるために、この特性を何十年も利用してきました。
一般的に近くの音声は遠くの音声よりも大きな視差を生じさせるため、運動視差(空間内での音源の見かけの移動)によって距離が示されます。例えば、近くの虫は聞き手の頭の左側から右側にとてもすばやく移動できますが、遠くの飛行機が同じ移動をするには数秒間かかります。したがって、固定された視点に対して音源がすばやく移動する場合、人間はその音声が近くから発せられていると感じる傾向があります。頭のわずかな動きに対する方向の変化の大きさにより、人間は音声の距離を判別することができます。
高周波減衰は空気吸収によって生じる小さな効果ですが、単純なローパスフィルターを適用することで、比較的簡単にモデリングできます。現実的には、高周波減衰は他の距離の手がかりに比べてさほど重要ではありません。高周波は低周波より速く減衰するため、聞き手は長距離にわたる高周波の減衰の度合いに基づいて距離を推測することができます。音声が数百フィートから数千フィート移動しない限り、高周波が顕著に(10 kHz以上)減衰することはありません。また、これは、温度や湿度などの大気条件にも影響されます。
アプリ用オーディオの技術面に取り組む準備ができたら、次のドキュメントに目を通してください。