Skip to content

音源距離と DRR

1 本の録音から、音源がマイクからどれだけ遠かったかを推定できます。ただしどの方向かは分かりません。そこへ至る流れは、直接音/残響音比から部屋の臨界距離を経て、メートル単位の距離へとつながります。libsonare が提供するのは最初の 1 段である DRR で、その先は Spatial Room Scanner が担います。

DRR — 直接音/残響音比

直接音/残響音比(DRR)は、音源からまっすぐマイクに届く最初の波面である直接音のレベルを、それに続く残響エネルギーに対して表したもので、単位はデシベルです。

DRR = 10·log₁₀( 直接音エネルギー / 残響エネルギー )

DRR は距離の最も強い手がかりです。マイクを近づけると直接音が大きくなる一方、部屋の残響音場はおおむね一定のままなので DRR は上がります。離れると直接音が一定の残響レベルへ近づくため DRR は下がります。

  • 高い DRR — 近く、乾いて、存在感がある。音源が「目の前」にある。
  • 低い DRR — 遠く、にじむ。部屋が音を支配する。

これはまさに、慣れた部屋であなたの耳が距離を判断するときの手がかりです。だからこそ近接マイクのボーカルは親密に、遠いボーカルは「部屋の向こう」のように聞こえます。

DRR が意味を持つのはインパルス的な入力だけです

libsonare は渡された波形そのものの上で DRR を測ります。最も大きい 1 サンプルを中心とする ±2.5 ms の窓に入るエネルギーを直接音、それ以外をすべて残響として数えます。手拍子・破裂音・スイープ由来の IR であれば、そのピークは実際に直接音です。しかし通常の音楽では、それは単に演奏中で最も大きい過渡音にすぎず、drrDb は直接音/残響音比としての意味を失います。confidence を確認し、入力が本当にインパルス応答でない限り、DRR とそこから導かれる距離は大まかな目安として扱ってください。

ROOM · IMPULSE RESPONSEIDLE
インパルス応答 — 部屋はどう減衰するか

シューボックス寸法から合成した室内インパルス応答を、dB のエネルギー減衰として表示します。部屋を広げる・吸音を下げると残響が伸び、RT60(60 dB 減衰までの時間)も伸びます。再生でその部屋の手拍子を試聴できます。

部屋の大きさ
7 m
吸音
0.16

臨界距離

臨界距離は、音源からの距離のうち、直接音と残響音場が「同じ大きさ」になる地点 — DRR が 0 dB になる距離です。

臨界距離より近ければ直接音が勝ち、音源は明瞭で定位します。遠ければ残響音場が勝ち、音は拡散して部屋に支配されます。臨界距離は部屋によって変わります。デッドな部屋(高い吸音、短い RT60)では遠くへ押し出され、かなり下がっても直接音が聞こえます。ライブな部屋では近くに引き寄せられ、数歩下がるだけで音源が残響に埋もれます。

2 本の曲線と、その交点
120-12-24+12 dB−6 dB臨界距離 — ライブな部屋臨界距離 — 処理された部屋近い: 直接音が勝ち、DRR は上がる遠い: 部屋が勝ち、DRR は下がる0.250.5124816音源からの距離(m、対数)レベル(dB)
  • 直接音 — 距離が倍になるごとに 6 dB
  • 残響音場 — ライブな部屋
  • 残響音場 — 処理された部屋
  • その距離での DRR
DRR は直接音と残響音場の縦方向の差です。部屋を音響処理すると、直接音の線はそのままに残響の線だけが下がるので、交点である臨界距離は外側へ押し出されます。つまり同じ DRR でも、部屋が違えば意味する距離は変わります。

おおまかに言えば、部屋の吸音が大きいほど残響音場は弱くなり、直接音はより遠くまで支配的なままになります。臨界距離は部屋の総吸音力(サビーンの式の A。各面の吸音の度合いで重み付けした面積)の平方根に比例して大きくなります。これが、同じ話者が処理されたスタジオでは聞き取りやすく、大聖堂では同じ距離でもこもる理由です。

音源距離

これらを合わせると、測定した DRR を部屋の臨界距離を基準に参照することで、音源をリスナー/マイクからメートル単位の推定距離に置けます。DRR が 0 dB なら音源はちょうど臨界距離に、それより高ければ近くに、低ければ遠くになります。

限界は幾何にあります。1 チャンネルが運ぶのはエネルギー対時間という 1 つの数なので、等価な距離を 1 つ解けても方向の情報は一切ありません。そのためスキャナーは推定音源を点ではなく、推定半径でリスナーを囲む完全なシェル(球)として描きます。1 本のマイクが聞いた内容に対しては、その距離のあらゆる方向が等しく整合するからです。方向を求めるには少なくとも 2 チャンネルと、その間の時間差・レベル差が必要です。

さらなる帰結として、複数の実音源 — 複数の話者やバンド全体 — は 1 つの等価距離へまとめられます。1 チャンネルではそれらを分離できないためです。

libsonare が距離をどう推定するか

ライブラリ側の処理は意図的に単純です。estimateRoom(...) は録音中で最も大きいサンプルを探し、その ±2.5 ms 以内のエネルギーを直接音、残りのエネルギー — 後ろの尾だけでなく手前の立ち上がりも含む — を残響として数え、その比を drrDb として報告します。この数値の背後で改めてインパルス応答が復元されているわけではなく、与えられた波形そのものの上で測られています。

臨界距離と音源距離は、そもそもライブラリの機能ではありません。これらを導くのは Spatial Room Scanner のほうで、推定された部屋から臨界距離を容積と RT60 で求め(rc ≈ 0.057·√(V / RT60)、無指向性音源を仮定)、そこから測定した DRR で半径を r = rc · 10−DRR/20 として求めます。モデルは単一チャンネルなので、結果は位置ではなく半径であり、可視化ではリスナーを囲む距離シェルとして描かれます。その確からしさは、直接音を尾からどれだけきれいに分離できたかに追従します。臨界距離をはるかに超えた音源は直接音が弱く本質的に位置を求めにくく、そもそもインパルス的でない録音でも同じことが起こります。

関連: 残響時間(RT60 と EDT)部屋の形状と容積逆問題による部屋推定音響解析