MSP Compression チュートリアル 3
コンプレッションの詳細設定

チュートリアルを開いて下さい。

omx.comp~ オブジェクトのコントロールに使用されるメッセージは、多くのコンプレッサで見られるパラメータ以上に数多く用意されています。これらのメッセージを使うと、これまでにないような方法でオブジェクトの内部の動作にアクセスすることができ、多種多様なサウンドを得るためにコンプレッサの動作を調整することができます。スレッショルド、レシオ、アタック、リリースに加え、次のようなメッセージが利用できます(C3mTweakingCompression というパッチでこれらを試してみて下さい)。

・channelCoupling:ステレオシグナルは、当然のことながら、チャンネルごとに異なったレベルを持っています。片 方のチャンネルがコンプレション処理を開始させるレベルになっていて、もう片方がそうなっていない場合、チャン ネルの相対的なレベルが変わってしまいます。これは、結果として音像の移動を引き起こします。したがって、片方 のチャンネルだけにコンプレッション処理が必要な場合でも、両方のチャンネルに対して同じコンプレッション処理 が適用されます。通常、コンプレッションの量は、その瞬間の音が強い方のチャンネルによって決定されます。 channelCoupling が 1 に設定されている場合、コンプレッション処理の動作は左チャンネルによって決定されます。 また、2 の場合には右チャンネルによって決定されます。

・SmoothGain:レベル検知器は不連続なステップで動作します。そのため、レベル計測の結果を直接ゲインコントロールに適用すると、結果として、階段状の不連続な動作になったり、「ジッパーのようなノイズ ( zipper noize )」が 生じたりします。これを防ぐためには、コントロールシグナルにエンベロープ(line~ オブジェクトの出力と同じよ うなもの)を適用します。SmoothGain はこのエンベロープの時間をコントロールします。

・Delay:このメッセージは、振幅をコントロールするための計測の適用を遅延させるものです。これは、急速なピー クを通過させるため、よりパンチの効いたサウンドにするという効果があります。速いアタックタイムと組み合わせ ると、非 常に短く、強いキックドラムの音を作ることができます。これは、ヒップホップに最適です。

・Sidechain:サイドチェインフィルタは、チュートリアル 4 のヴォーカルの所で述べられている、ヴォーカル用インバース・イコライゼーションを計測回路に適用します。これは、出力レベル上で、ヴォーカルに対する効果を減少させるもので、サウンド全体に対してコンプレッション処理を行なう際に役立ちます。これにより、オルガンのような持続音のパートのレベルが下がった場合でも、ヴォーカルはそのままに保たれます。

・NoiseGate:現実の世界から取り込んだオーディオにコンプレッサをかける際には、ほとんどの場合、ノイズゲート 処理が必要になります。例えば、ギターアンプの音を録音した場合、コンプレッサは音と音の間で聞こえるアンプの ハムノイ ズを強調してしまいます。これを防ぐ方法として、omx.comp~ にはノイズゲートが組み込まれています。 このノイズゲートが有効になっている場合、ngThreshold で指定されたスレッショルドより小さな値のシグナルす べてに対して、ダウンワード・エクスパンションを適用します。このノイズゲートにはアタックやリリースのコント ロールはありません。これは、通常ノイズゲート処理が非常に静かなシグナルに適用されるためです。

・Release:gatingLevel、freezeLevel、progressiveRelease という3つのメッセージは、入力シグナルに基づいてリリースタイムを自動的に調整するものです。フリーズレベル(freezeLevel)より小さな値のシグナルは、増幅処理をスタートさせません。この値より大きく、ゲートレベル(gatingLevel)より小さい値のシグナルはゆっくりとしたリリースタイムを持ちます。プログレッシブリリース(pregressiveRelease)は、入力が大きくなるとリリースタイムを速くします。これにより、より静かなシグナル(このようなシグナルでは、ダイナミクスの変化に対して耳が敏感に反応しません)では、大きなシグナルほどコンプレッション処理が行なわれなくなります。

・LimEnabled:このメッセージは、出力シグナルの強さの絶対的な限界(リミット)を設定します。これは、パンチ を効かせるような設定を行なっている場合に、シグナルが強くなり過ぎるのを防ぎます。

パラメータ・メッセージ

OMX オブジェクトは、パラメータが変更されると、第3アウトレットからメッセージを送信します。パラメータリストは7つの項目からできています。その項目を次に示します。

1. スコープ。0 = グローバル、1 = プリセット可能,、 2 = リストの終わり.
2. パラメータ名
3. 現在の値
4. 最大値
5. 最小値
6. 表示される値
7. ユニット - これはほとんどの項目では "arbitary" になります。

パラメータの値は、任意の値にスケールされ、ほとんどの場合 0 〜 100 が用いられます。このうちのいくつかは、わかりやすいユニットに変換することができます。dB パラメータは、そのパラメータの最小値を 0 とみなした場合の値を使って変換することができます(100 が 0dBに対応します)。スケーリング係数を得るために、100 をこの値で割ります。その後、パラメータの値に、そのパラメータの最小値の絶対値を加え、スケーリング係数の絶対値を掛けます。次はその例です。

・agcThreshold(-36 から 0の範囲)を変換するためには、expr オブジェクトに次のようなアーギュメントを指定します。:( 36 + $i1) * 2.77.
・ngThreshold( -90 から 0 の範囲)を変換するためには、expr オブジェクトに次のようなアーギュメントを指定します。:(90 + $i1) * 1.11. パラメータ・メッセージの中で出力される値を取り出し、表示するためには、おそらくこの方法の方が簡単でしょう。
・Ratio は対数値を使います。出力された値をレシオに変換するためには、expr オブジェクトに次のようなアーギュメントを指定します。: ln($f1) / ln (1.04).

プリセット

パラメータは非常に多く存在するため、設定の組み合わせを再現するためのメソッドが重要になります。コンプレッサには、いくつかのプリセット設定があらかじめ組み込まれています(これは、ChoosePreset メッセージで選ぶことができます)。しかし、根本的な解決方法は、設定をすべてcoll オブジェクトや pattr オブジェクトに保存しておくことでしょう。SaveSettings メッセージを使ってすべてのパラメータのダンプを取得することができます

メータリング

右アウトレットはゲインの計測値を出力します。これは、meters メッセージによってこの機能が有効になっている場合に行なわれます。出力はリストの形になっていて、そのまま multislider オブジェクトに接続することができるようになっています。omx.comp~ のリストは、AGCゲイン、ノイズゲート、リミッタの、左と右の値を示します。meterRate メッセージは、このリストをどのくらいの頻度で送信するかを決定するものです。あるいはまた、meterData メッセージを使ってこの値を取得することも可能です。4 バンドや 5 バンドのコンプレッサの計測値は、とても複雑なものになります。

参照

omx.comp~ OctiMax コンプレッサ