本ドキュメントは一般化頭部伝達関数の詳細を述べる.一般化頭部伝達関数とは機械学習によって補正された頭部伝達関数である.補正により正面方向の信号は透過転送となるため,音質が向上する.また,多数の被験者の頭部伝達関数から学習する事により,典型的な一般化頭部伝達関数を実現できる.本ドキュメントでは最後に典型的な一般化頭部伝達関数の評価を述べ,より明確な方向感と高い音質が得られる事を明らかにする.
1. イントロダクション
頭部伝達関数 (Head-Related Transfer Function: HRTF) は立体音響のキーテクノロジーである.しかし,この技術の普及には音質と頭部伝達関数の個人化の問題を解決しなければならない.
頭部伝達関数を音楽制作に適用した場合,音質が問題となる場合がある.頭部伝達関数の周波数応答の例として,SADIE II データベース [2] の被験者 H4 における水平面および垂直面の周波数応答 Fig. 1 に示す.図から明らかな通り,この特性は音楽制作に必要なレベルの音質を満たしていない.

また,頭部伝達関数は個人差が大きいため,頭部伝達関数の個人化,即ち利用者毎に計測ないしカスタマイズした頭部伝達関数の使用が望ましいが,コストが問題となる.従って,頭部伝達関数の普及には,誰でも一定の効果が得られる典型的な頭部伝達関数が必要となる.
SoundObject バージョン 4.1 では,音楽制作レベルの品質かつ典型的な頭部伝達関数を実現した,機械学習による一般化頭部伝達関数を提案する.本ドキュメントでは,一般化頭部伝達関数の定義,機械学習による推定方法,および評価を述べる.
2. 本ドキュメントの座標系
本ドキュメントの座標系は AES69-2020 SOFA (Spatially Oriented Format for Acoustics) [1] の規定に基づく.頭部は原点に位置する.x, y, z 軸方向が各々正面,左,上方向となる.極座標系の半径 r は原点から音源の距離,仰角 θ [−90, 90] deg. は x-y 平面から計測され,方位角 φ [0, 360) deg. は x 軸から反時計回りに計測される.更に,本ドキュメントでは,垂直面における仰角を統一的に扱うため,θp を以下の通り定義する.
Note: AES69-2020 の仰角の定義は通常の定義とは異なる.
3. 一般化頭部伝達関数
3.1 頭部伝達関数
頭部伝達関数とは音源から耳までの伝達特性である.Fig. 2 に示す様に,音源の信号 x [n] の Z 変換を X (z),(θ, φ) 方向の音源に対する頭部伝達関数を H (θ, φ, z),そのインパルス応答を h [θ, φ, n],観測される信号 y [θ, φ, n] の Z 変換を Y (θ, φ, z) とすると,Y (θ, φ, z) = H (θ, φ, z) X (z) となる.尚,正面方向 (θ = 0, φ = 0) の音源から観測される信号の Z 変換は Y (0, 0, z) = H (0, 0, z) X (z) となる.頭部伝達関数のインパルス応答 h [θ, φ, n] は SOFA 形式のファイルから直接得られる.

3.2 提案する一般化頭部伝達関数
一般化頭部伝達関数 (Generalized HRTF) G (θ, φ, z) を以下の通り定義する.
Fig. 3 に示す通り,これは正面方向の頭部伝達関数に基づいて補正された頭部伝達関数であり,正面方向の信号は透過転送となる.従って,音質の向上に期待できる.尚,これは単なる音色の補正であるため,定位感には影響しない.但し,H (θ, φ, z) から G (θ, φ, z) を解析的に求める事は出来ない.

3.3 機械学習による一般化頭部伝達関数の推定
式 (2) は以下の通り変形できる.
伝達関数法において,システムのインパルス応答と信号は論理的に等価である.従って,式 (3) は伝達関数を G (θ, φ, z) とし,h [0, 0, n] を入力した際に h [θ, φ, n] を出力するシステムと見做せる.ここで,h [θ, φ, n] は H (θ, φ, z) のインパルス応答である.
システムの入出力信号による伝達関数の推定はシステム同定として知られる.最も簡単なシステム同定方法は重回帰となる.重回帰モデルを以下に示す N 次の FIR フィルタとする.ここで g [θ, φ, k] は G (θ, φ, z) のインパルス応答であり,重回帰によって推定,即ち機械学習によって学習できる.この場合,目的変数は h [θ, φ, n],説明変数は h [0, 0, n − k] となる.
3.4 一般化頭部伝達関数の推定例
以下の一般化頭部伝達関数の推定例では SADIE II データベース [2] の被験者 H4 の 48KHz サンプリングデータを使用している.水平面および垂直面のインパルス応答の推定例を各々 Fig. 4 と 5 に示す.


左側のヒートマップは何れも SOFA 形式のファイルに記録された頭部伝達関数のインパルス応答 h [θ, φ, n] である.右側のヒートマップは h [θ, φ, n] から機械学習により推定された一般化頭部伝達関数のインパルス応答 g [θ, φ, k] である.中央のヒートマップは学習した g [θ, φ, k] と h [0, 0, n] から推論した頭部伝達関数のインパルス応答であり,再現性が高い事が判る.
次に,上記の頭部伝達関数,一般化頭部伝達関数の周波数応答を各々 Fig. 6 と 7 に示す.


左側は何れも頭部伝達関数の周波数応答,右側は推定された一般化頭部伝達関数の周波数応答を示す.水平面垂直面共に,一般化頭部伝達関数の周波数応答は分散が抑えられ,音質が向上している.
4. 典型的な一般化頭部伝達関数
4.1 機械学習による典型的な一般化頭部伝達関数の推定
一般化頭部伝達関数の学習データを,単一の被験者のデータに限定する必要は無い.多数の被験者のデータから学習すれば,典型的な一般化頭部伝達関数の推定に期待できる.
尚,被験者毎に一般化頭部伝達関数のインパルス応答 g [θ, φ, k] を推定した場合,個々のインパルス応答において,応答が最大となるサンプルは被験者及び (θ, φ) 毎に異なる.このため,複数の被験者のデータから単純に一般化頭部伝達関数を推定しても良好な結果は得られない.
この場合,先ず被験者毎に一般化頭部伝達関数のインパルス応答 g [θ, φ, k] を推定する.そして,個々のインパルス応答において,応答が最大となるサンプル m を求め,同一の (θ, φ) における被験者間の m の平均値を求め,平均からの差分を計算する.そして,複数の被験者データから一般化頭部伝達関数を推定する際に,応答が最大となるサンプルを被験者間で同一とするために,この差分に基づいて,式 (4) の n を補正する.
4.2 典型的な一般化頭部伝達関数の推定例
多数の被験者の頭部伝達関数データから学習した,典型的な一般化頭部伝達関数の推定例を以下に示す.Fig. 8 および 9 は各々 SoundObject で使用している垂直面のインパルス応答および周波数応答である.多数の被験者のデータから学習したため,前に示したインパルス応答および周波数応答と比較して更に分散が抑えられた特性を示している.


5. 評 価
SoundObject バージョン 4.1 は,上記の典型的な一般化頭部伝達関数によって上下および前後の方向感を実現している.以下のビデオの通り,音楽制作用に十分な音質が達成されている.また,上下および前後の方向感も十分実現されている.特に,以前のバージョンにおいて KU 100 および KEMAR ダミーヘッドの HRIR から切り出したインパルス応答と比較して,前後方向の方向感が改善されている.
参考文献
[1] Audio Engineering Society, "AES standard for file exchange - Spatial acoustic data file format," AES69-2020, December 2020.
[2] SADIE project, "SADIE II Database," University of York, EPSRC, June 2018. https://www.york.ac.uk/sadie-project/database.html
[3] M. Kohnen, F. Denk, J. Llorca-Bofi, B. Kollmeier, and M. Vorlander, "COAT - Cross-site Oldenburg-Aachener transfer-functions," Zenodo, November 2020. https://zenodo.org/records/4556707
[4] M. Warnecke, S. Clapp, Z. Ben-Hur, D. Lou Alon, S. V. Amengual Garí, and P. Calamia, "Sound Sphere 2: A High-resolution HRTF Database," 2024 AES 5th International Conference on Audio for Virtual and Augmented Reality, Augst 2024. https://facebookresearch.github.io/SS2_HRTF/