クロスフィードで前方定位

イヤホンやヘッドホンで聞く音を若干前方定位させます。Equalizer APOに数行のテキストを読み込ませるだけで、大した処理はしないので音質の変化もあまりありません。

ファイルの読み込みと動作確認

Include

Equalizer APOを導入していればテキストを読み込むだけです。Include横の電源マークを押して保存すればON/OFFできます。

クロスフィードのテスト

スピーカーの設定画面

タスクバーのスピーカーアイコンを右クリック→サウンド→画面上側の再生タブ、もしくはサウンドのショートカットを右クリックから保存して実行します。使用中のデバイスを右クリックしてスピーカーの設定を選びます。

スピーカーの設定画面が表示されたら、右側のスピーカーの画像をクリックするたびにテスト音声が再生されます。

テスト時のイメージ

クロスフィードオンオフ

OFFなら真横から、ONなら若干前から聞こえるイメージをしながら、テスト音声を繰り返し再生します。クロスフィードの有無で起きる変化を体感しておくと、音楽再生時に真横から聞こえる音が若干前に定位して聞こえるようになります。

続けてWASAPI共有モード用の設定の項目を見直すとよいです。

ファイルの内容とクロスフィード

クロスフィード

スピーカーで再生した音は、鳴った方向と逆側の耳にも届きます。同じスピーカーから出た音でも左右の耳で聞こえ方に差があり、時間差や音量の大小によって音の位置を認識します。

イヤホンとヘッドホンは左右が完全に独立しているので、左右の耳を使った音の差が分かりません。そのため音は真横から聞こえます。

クロスフィードは加工した片側の音を逆側に混ぜ込んで、スピーカーの音の届き方を擬似的に再現します。実際は時間差や大小以外の変化も起きますが、その2つだけの処理でも真横から聞こえる左右の音が、若干前から聞こえるようになります。

Copy: LC=0.26*L RC=0.26*R LR=-0.122*L+-0.122*R
Channel: LC RC
Filter: ON BP Fc 650 Hz Q 0.4
Delay: 0.9 msb
Copy: L=L+RC+LR R=R+LC+LR

左右の音声をコピー

クロスフィード処理に使う音声のコピー

Copy: LC=0.26*L RC=0.26*R

「LC」「RC」という新たな項目を作成し、左右それぞれの音声の音量を下げてコピーします。

テスト音声などで1つの音を鳴らすだけなら、もう少し値を下げて混ぜる音を小さくしても効果は分かりますが、さまざまな音が重なる音楽再生だと効果が感じにくくなります。

センター成分調整に使う音声のコピー

LR=-0.122*L+-0.122*R

追加で「LR」という項目も作り、左右混ぜたものを逆相にしてLRへコピーします。数値の前にマイナスを付けると逆相になります。

センター定位

距離を開けて置いたスピーカーから、同じ音を同じ音量で出します。すると左右のスピーカーから音は全く聞こえず、真ん中の位置から音が出ているように聞こえます。音楽のボーカルが中央から聞こえるのもこの現象です。

上の式では左右の音を混ぜて中央の音を作成します。それにマイナスを付けて逆相に、続けて0.1倍して小音量にします。最後の行でそれを合成すると、中央から聞こえる音が少し小さくなり、中央の音に奥行きが出ます。

この処理を入れるとボーカルが小さくなってもの足りなく感じます。処理を有効にした状態でしばらく聞いたあとに戻すと、今度は逆にボーカルが近すぎるように感じます。

ピークゲイン

Equalizer APOの画面下に表示されるAnalysis panelのPeak gainが0dBを超えると音が割れることがあります。

クロスフィード処理をした逆チャンネルの音声を合成すると、Peak gainが0dBを超えます。そこで、センター成分の音量を下げる処理を入れて、混ぜたときに0dBになるように値を調整しています。

クロスフィード用音声の加工

チャンネルの指定

Channel: LC RC

LC/RCを指定し、以降の処理はLC/RCにだけ適用されます。LRは特に加工しないでそのまま合成します。

バンドパスフィルタ

Filter: ON BP Fc 650 Hz Q 0.4

クロスフィード処理には200~2000Hz辺りがあればそれらしく聞こえるので、バンドパスフィルタで高域と低域をカットします。逆側に混ぜる音を減らして、音質の変化を少なくします。

バンドパスフィルタ

Q値を変更するとカーブの曲がり具合が変化します。また、Q値によってCPU負荷も変わります。今回のテスト環境と設定値だと、0.4以下は0.3%、0.5で2.6%と上がり、0.6で2.1%と再び下がっていきます。

ディレイ

Delay: 0.9 msb

逆側の耳に届く音が若干遅れる現象を再現します。

値が小さすぎると時間差が認識できなくなって音が中央に寄ります。値を大きくすると音が若干外側寄りに定位しますが、やりすぎると残響になるので0.3~1.2ms程度にします。

加工した音声の合成

Copy: L=L+RC+LR R=R+LC+LR

最後に加工した音声をLとRに合成します。センター調整用の「LR」は左右それぞれに混ぜます。これでクロスフィード処理は終了です。

inserted by FC2 system