趣味人のブログ

Cogito, ergo sum. 我思う故に我あり.

SoundObject

1. SoundObject の概要

SoundObject はモノラル音源とその位置情報から 3 次元の定位感のあるバイノーラルサウンドを生成する.また,ヘッドホンによる 3D サウンドだけでなく,ステレオスピーカによる 3D サウンドにも対応している.更に,ステレオススピーカーサウンドのヘッドホンモニタリングもサポートできる.


www.youtube.com


www.youtube.com by xas abra


www.youtube.com by xas abra

従来の 3 次元バイノーラルサウンドプロセッサーは,頭部による散乱を表す頭部インパルス応答 (Head-Related Impulse Response: HRIR) と音源の畳み込みによって,定位感を実現している.この畳み込みは大量の計算リソースを必要とするため,SoundObject では,頭部による散乱は剛体球による散乱と耳介 (耳たぶ) による散乱によって構成されると想定し,簡易な球散乱効果フィルタと耳介散乱効果フィルタにより定位感を実現している.

また,多くの場合,従来の畳み込みによるバイノーラルサウンドでは前方方向の距離感が殆ど得られないが,SoundObject では残響室による反射波によって,これを実現している.

更に,音源の移動によってドップラー効果は必ず生じる.一般に,周波数が 0.3% 異なる正弦波は異なる音として識別できる.これは,音速を 345m/s とすると,約 1m/s を越える速度の音源から,認識可能なドップラー効果が生じる事を意味している.1m/s は決して高速では無いため,SoundObject では音源の移動の際に必ずドップラー効果を加えている.


www.youtube.com


www.youtube.com

SoundObject はディジタルオーディオワークステーション (Digital Audio Workstations: DAW) の VST 3 plug-in として提供され,44.1KHz, 48KHz, 96KHz のサンプリングレートをサポートしている.また,OS 環境は 64 bit の Windows 10 及び macOS 10.14 となる.

SoundObject バイナリ―ディストリビューションCreative Commons Attribution 4.0 (CC BY 4.0) に基づいて無料でライセンスされる.

github.com

SoundObject ソースコードディストリビューションCreative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) に基づいて無料でライセンスされる.

github.com

2. SoundObject のブロックダイアグラム

SoundObject は以下により 3 次元の方向感,距離感,速度感を実現している.

  • 両耳間時間差,レベル差 (Interaural Time Difference: ITD,Interaural Level Difference: ILD) による左右の方向感
  • 球散乱効果フィルタによる左右の距離感
  • 耳介散乱効果フィルタによる上下及び前後の方向感
  • 反射波による上下及び前後の距離感
  • ドップラー効果による速度感

SoundObject の片チャネルのブロックダイアグラムを Fig. 1 に示す.

f:id:suzumushi0:20220108153612p:plain

Fig. 1: A single channel Block diagram of SoundObject.

図に示す通り,SoundObject の各チャネルはモノラル音源 (Acoustic source) の入力から,直接波 (Direct wave),6 方向からの反射波 (Reflected waves),及びこれらの合成波 (Combined waves) を生成する.そして,ヘッドホンによる 3D サウンド (Binaural),若しくはスピーカーによる 3D サウンド (Transaural) として出力する.

遅延ラインとリサンプラー

SoundObject では遅延ライン (Delay line) によって両耳間時間差,レベル差を,リサンプラー (Resampler) によってドップラー効果を実現している.リサンプラーはポリフェーズ分解によるアップダウンサンプリングで実装されている.例えば 48KHz サンプリングの入力信号の場合は,一旦43.2MHz−52.8MHz サンプリングの信号に変換され,48KHz サンプリングの信号として出力される.ポリフェーズ分解によるアップダウンサンプリングは既知の技術であるため,詳細な説明は省略する.

球散乱効果フィルタ

球散乱効果フィルタ (Sphere scattering effect filter) は,剛体球への入射波を入力し,球による散乱波と入射波を出力する.詳細は以下のドキュメントに記載されている.

suzumushi0.hatenablog.com

耳介散乱効果フィルタ

耳介散乱効果フィルタ (Pinna scattering effect filter) は,入力と耳介による散乱を表すインパルス応答を畳み込み出力する.SoundObject の耳介インパルス応答は,公開されている頭部伝達関数 (Head-Related Transfer Function: HRTF) データベースから派生している.詳細は以下のドキュメントに記載されている.

suzumushi0.hatenablog.com

座標変換器

座標変換器 (Coordinate converter) は,音源の位置情報 (Position of acoustic source),残響室の寸法 (Dimensions of reverberation room),球の中心位置 (Position of sphere) から,直接波 (Direct wave),反射波 (Reflected waves) の遅延 (Delay),減衰 (Decay),θoθp 等の角度をリアルタイムに計算する.

SoundObject では,上記の各信号処理ユニットの効果をモニターするために,合成波 (Combined waves) に加えて,直接波 (Direct wave),反射波 (Reflected waves),球による散乱波 (Scattered waves by sphere),両耳間時間差,レベル差,ドップラー効果を伴った入射波 (Incident wave /w ITD and ILD) から出力を選択できる.また,反射波は LPF を経由して出力される.これは反射波のフィーリングを変えるために使用できる.

3. SoundObject の使用方法

座 標 系

AES69-2020 [1] に規定された SOFA (Spatially Oriented Format for Acoustics) に基づいた SoundObject の座標系を Fig. 2 に示す.

Fig. 2: Coordinate system of SoundObject.

図に示す通り,SoundObject では球の中心は原点に位置する.また,x, y, z 軸方向が各々正面,左,上方向となる.極座標系の半径 r は原点から音源の距離,仰角 (Elevation) θ [−90, 90] deg. は x-y 平面から計測され,方位角 (Azimuth) φ [0, 360) deg. はx 軸から反時計回りに計測される.残響室の奥行 (Depth),幅 (Width),高さ (Height) は各々 x, y, z 軸方向の長さとなる.また,球の中心の距離は図に示す点から計測される.

Note: AES69-2020 の仰角の定義は通常の定義とは異なる.

ユーザーインタフェース

SoundObject のユーザーインタフェースを Fig. 3 に示す.

Fig. 3: User interface of SoundObject.

音源の位置 (Position of acoustic source) は,直交座標 (Rectangular coordinates),極座標 (Polar coordinates),上面図 (Top view) を示す x-y パッド,背面図 (Rear view) を示す y-z パッドの何れからも設定できる.音源の位置は長方形で示された残響室の内部に制約される.

距離減衰 (Distance attenuation) スライダーは,距離による直接波と反射波の減衰を示す.−6 dB で音源までの距離が 2 倍となった際に半減 (即ち点音源: SoundObject ver. 2 以前と互換) を,0 dB で無減衰 (即ち面音源) を意味する.

Reflectance (反射率) スライダーは残響室の反射率を示す.通常 0 dB 以下に設定するが,広い残響室では距離減衰により反射波のレベルが下がるため 0 dB 以上に設定する場合がある.

LPF cutoff frequency (LPF のカットオフ周波数) スライダーは反射波の LPF のカットオフ周波数を示す.但し,∞KHz の場合,LPF 機能は停止する.

HRIR オプションメニューは,耳介散乱効果フィルタが使用する HRIR データベースを選択する.また,Output オプションメニューは 2 に述べたモニタリング出力を選択する.このメニューはヘッドホンによる 3D サウンド (Binaural),及びスピーカーによる 3D サウンド (Transaural) も選択する.更に,Fig. 4 に示す通り,左スピーカーへの方位角 (Azimuth to left speaker) は x 軸から計測される.

f:id:suzumushi0:20220108154433p:plain

Fig. 4: Azimuth angle to the left speaker.

Dimensions of reverberation room (残響室の寸法),Center of sphere (球の中心) は座標系で説明した通りである.これらに加えて Acoustic speed (音速),Radius of sphere (球の半径) の設定はリアルタイムには更新されず,DAW が停止している際に更新される.

ステレオススピーカーサウンドのヘッドホンモニタリング

以下を参照.

suzumushi0.hatenablog.com

参考文献

[1] Audio Engineering Society, "AES standard for file exchange - Spatial acoustic data file format," AES69-2020, December 2020.

VST is a registered trademark of Steinberg Media Technologies GmbH.

f:id:suzumushi0:20210807145222p:plain

2021/9/19 Ver. 1.2.0 対応の修正
2021/9/23 Ver. 1.2.1 対応の修正
2022/1/8 Ver. 2.0.0 対応の修正
2022/2/20 ヘッドホンモニタリング対応方法の追記
2023/12/3 Ver. 3.0.0 対応の修正