MS処理をしたくって作ってみました。
まず、
L-RからMid-Sideに変換するやつ。
LR2MS.dsp
declare name "LR2MS";
import("stdfaust.lib");
process = (_ , _)<: + , - : /(2), /(2);
なるべくFaustっぽい記法で書いてみました。
独特で謎が多いですが、要するに
process(x, y) = (x + y) / 2 , (x - y) / 2 ;
と同等です。
逆にもっとつきつめるとこんな感じ?
process = (_ , _ , 2) <: (_ + _) / _ , (_ - _) / _ ;
そして
Mid-SideからL-Rに戻すやつ。
Mid-Sideをそれぞれ検聴できるようにスイッチをつけました。
MS2LR.dsp
declare name "MS2LR";
import("stdfaust.lib");
process = (_ * on_M, _ * on_S ) <: + , - ;
on_M = checkbox("/v:MS2LR/[0]Mid");
on_S = checkbox("/v:MS2LR/[1]Side");
faustLiveでvstプラグインにしてみました。
ちゃんと使えてます。
このふたつの間に、コンプ、EQなどを挟んで使うつもりです。