2016年3月6日日曜日

1.1 The Simplest Panner

ごく単純なパンをFaustで実行します。。

まずは、次の2行を書いたテキストファイルをdspファイルとして保存します。


c = hslider("pan", 0.5, 0.0, 1, 0.01);
process = _ <: *(1-c), *(c) ;


processでは、モノラルで入力された音が、
1-c 、 cとスケールされて、
2つに出力( _<: )されていることがわかります。

変数 cは、Pan のコントロールとなっており、
0から1の間の値をとります。

コマンド+Gで生成されるSVGファイルは次のようになります。


変数 c が最小値に0をとるとき、
左チャンネルのみが音を出力し、
もう一方のチャンネル(右)は無音になります。

逆に、最大値の1をとるときには、先とは逆に、
右チャンネルのみから音が聞こえます。

もし、0.5をとるならば、
左チャンネルと右チャンネルは、
同じ音量の出力となり、
出力される音は、中央から聞こえる状態となります。

この状態を "Condition (1)" と呼びます。


しかし、Condition(1)となる Pan は、良い Pan とはいえません。

これには、2つの理由があります。


1. Pan の変化が、音強度に影響すること。

2. Pan の変化から、クリックノイズが発生すること。


次のセクションでは、これらの問題を解決していきましょう。





実行画面



pan とラベルのつけられた横スライダーが表示されます。


各変数などまとめ


c = hslider("pan", 0.5, 0, 1, 0.01);

"pan"というラベル
初期値は0.5
最小値は0
最大値は1
刻みは0.01


このスライダーを操作して "c" の値が決まる。


process = _ <: *(1-c), *(c) ;

_ < : 出力される信号 左, 右;


c の値が 0.5 だと、
左チャンネル、右チャンネル共に0.5となり、
左右同じバランスで出力される。

c の値が 0 の時は、
左チャンネルが 0、右チャンネルが 1となり、
右チャンネルからのみ出力される。

0 件のコメント:

コメントを投稿