FX INTRODUCTION / 10 / 下書き
Compressor:大きい部分を抑える
Gateと逆に、大きい音を小さくする量を連続的に決めます。
作成中の記事です。サンプルは試聴しながら調整していきます。Runで再生、Stopで停止。値を編集したらApplyします。別のiframeを試す前に、再生中のものをStopしてください。
組み込みFXで聴く
| 設定 | 意味 |
|---|---|
| threshold | 閾値(dBFS) |
| ratio | 閾値以上の圧縮比 |
| attack / release | 追従時間(秒) |
| makeup | 出力補正(dB) |
FX Monitorでnoneを選ぶと、組み込みFXを通った後の波形が見えます。noneは素通しなので、入力と出力は重なります。組み込みFXの加工前後を示すものではありません。
PCMをどう加工するか
閾値を超えたdBぶんをRatioで割ります。例えば閾値より12 dB大きい入力を4:1で処理すると、目標出力は閾値より3 dB上、ゲイン削減は9 dBです。Attack/Releaseがあるので、瞬間ごとに必ずこの値へ一致するわけではありません。
input[ch][i]は入力の1サンプルです。chは左右の音声チャンネルで、FMの物理CHではありません。前のブロックから持ち越す値はstateに保存します。processから外側の変数は参照できないため、設定値はcontextへ入れます。
liveFxで試す
context.sampleRateの48000は仮の値です。FX Monitorに表示される実際の出力レートに合わせてください。時間や周波数の計算に使い、ブラウザーの出力レート自体を変更する設定ではありません。
FX Monitorでcompressor-labを選ぶと、この処理の入力・出力を比較できます。
- makeupDbは0のまま、ratioを1から4へ変更します。
- 音の最初の大きい部分と減衰した部分で、入力と出力の差を比べます。
- attackMsを1と80で比較します。最後にmakeupDbを少し上げて音量を揃えます。
この例の範囲
学習用は単純なピーク検出とhard kneeです。組み込み版の検出・ゲイン平滑化と完全には一致しません。Lookaheadやbrickwall limiterではないので、ピークを必ず閾値以下にする機能ではありません。
波形は時間方向の変化、Spectrumは周波数成分の強さを見る道具です。短い表示窓や表示の平滑化で見えにくい変化もあります。音を聞きながら、設定を1項目ずつ変えてください。