Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

ReaperのルーティングでMS処理 (Mid/Side processing) を実現する方法

はじめに

MS処理 (Mid/Sideプロセッシング) はステレオ信号を中央定位成分(Mid: センター)と非中央定位成分(Side: センター以外)に空間的に分けてエフェクトをかける処理です。音場を精密にデザインしたい時に強力な手段となります。

DAWでMS処理を行う場合、通常は、Mid/Sideに分割するプラグインを変えて個別にプラグインをインサートするか、もしくはMid/Side処理を内蔵したプラグインを使用するかと思います。

しかし、原理的にはプラグインを導入せずともルーティングだけでMS処理することもできます。そこで、原理の学習・説明を兼ねて、ルーティングのみでMS処理を実現する方法を考えてみました。以下では、実際にReaperを使ってMid/Sideプロセッシングを構築する手順を説明します。

MS処理 (Mid/Sideプロセッシング) の原理

原理(数学的な説明)は以下をご参照ください。

www.wizard-notes.com

ルーティングでのMid/Side分離の実現

MS処理は各サンプルごとの瞬時混合処理なので、遅延なしで実現できます。

加減算以外で必要な処理としては、Side信号の生成前後で位相反転(Φ)が必要になります。

なお、最初のゲイン補正ですが、Mid/Sideの抽出・LR復元では0.5(約-6dB)で元に戻りますが、MS処理では中間にエフェクタが入るため、その影響を加味した値をセットするとよいかと思います。*1

Reaperでの実現方法

画面全体

先ほどのルーティングに従って、トラックを並べてルーティングします。 Reaperの場合は、中間のトラックではマスタートラックに中間信号を送らないように"Master send channels from/to"のチェックを外しましょう。

L, Rの抽出

ステレオ信号があるトラックから、L, Rを分離します。 ステレオ信号の1chがL, 2chがRになります。 ※”Stereo_Original"は動作確認用トラックのため、無視して大丈夫です。

Mid, Sideの算出

分離したL, R信号を、それぞれMid, Side用の信号に流します。

ここで、Sideの方では"Φ"がOnとなっており、位相反転する必要があります。

L, Rの再構成

Mid, Side信号を抽出する数式に則り、その逆の計算をします。

今回の算出方法だと、Mid+Side=L, Mid-Side=Rとすることで戻ります。 そのため、Sideの方では"Φ"がOnとなっています。

Stereo信号再構成

再構成したL, R信号を、それぞれ1ch, 2chアサインすることで、再構成ステレオ信号を得ることができます。

MS処理の例

以下のような形で、Mid, Side信号のトラックにプラグインをインサートすればMS処理できます。

この方式を応用することで、例えばMidだけリバーブをかける、SideだけEQでカットする、など定位ごとの複雑な処理ができます。

まとめ

ルーティングだけでMS処理を実現しました。MS処理としてはトラック数が多いのでMS処理関連のプラグインを導入するほうが簡単&実用的かと思います。しかし、MS処理の原理や、定位分離のためのルーティングを学ぶのに役立つため、ぜひ一度トライしてみてください。

*1:元信号より再構成信号の方が振幅が大きくなることを防ぐために、0.5以下の値を利用するのがよいかと思います。