DRCで機器・部屋の音響特性の補正をしてみる(1)

DRC(Digital Room Correction)については以前も少し触れたことがあるが、この週末に実際に試してみた。
結果的に結構良い効果があったし、JRiver Media Centerの他にfoobar2000など主なプレイヤーソフトでも利用できるので、紹介してみる。

実際のやり方の前に、何をやるのかを少し解説しておく。

再生したい音楽のデータは、そのままの形で耳に届くわけではない。
スピーカーなど機器の特性の影響と、部屋の壁などに反響した音の影響が、元の信号に加わった形で耳に届く。
そういった諸々の影響をひっくるめて伝達関数f、元の信号をωで表すと、耳に入ってくる信号はf(ω)となる。

できるだけfの影響を小さくし、なるべくωに近い信号を耳に届けたい。
そこで、fの影響を打ち消すような関数f^-1を求め、元の信号ωの代わりにf^-1(ω)を再生してやる。

すると、fとf^-1が打ち消しあって、結果的に耳にはωが届くことになる。

fには周波数特性(周波数ごとの減衰)と位相特性(周波数ごとの位相遅れ)が含まれる。
イコライザでfの周波数特性を打ち消し、フラットな周波数特性にする話はこのブログでも何度か書いてきた。
また、fの測定、f^-1の生成を自動でやってくれるものとして、以前「Frieve Audio M-Class」を紹介した

というわけで本題だが、JRiver Media Centerには、Frieve Audioのような自動補正の機能はないが、f^-1を登録すると、曲の再生時にそれを適用して再生してくれる機能がある。
それが「DSPスタジオ」メニューの中にある「Convolution」という項目だ。

また、foobar2000にはConvolutionを行ってくれるプラグインがあるし、それ以外でもVSTプラグインを利用可能なソフトでは、フリーの「Convolution」というVSTプラグインを利用することで、同様にf^-1を適用した信号を再生することができる。

今回はfを測定して、f^-1を算出し、これをJRiver Media Centerに登録してみる。

f^-1は具体的には「インパルス応答」の形で求める。
インパルス応答というのは、時間が無限小で高さが無限大のパルス信号を1発システムに入れたときに、それがどのように出力されるかを表すものだ。

インパルス応答 – Wikipedia

f^-1を求めるには、まずfを測定しなければならない。
fも、パルス波を再生してインパルス応答として求めることもできるが、インパルス応答は大出力のパルスを再生できない場合は精度が低い。
そこで、スイープ信号を再生して、その応答から合成してインパルス応答を求める。

こうしてできたfを元にf^-1のインパルス応答を求め、これをJRiver Media Centerに登録する。
ちなみにインパルス応答のファイル形式はWAVファイルだ。

まとめると、手順としては
(1)PCからスイープ信号を再生し、マイクで測定してインパルス応答に変換。
(2)上記の測定結果からf^-1のインパルス応答を生成。
(3)生成したインパルス応答をWAVファイル形式に変換。
(4)作成したWAVファイルをプレイヤーソフトに登録。
となる。

実際にはそれぞれ専用のツールがあるので、それほど難しくはない。
具体的な方法は次回に。

コメント

タイトルとURLをコピーしました