FX INTRODUCTION / 10 / 下書き

Compressor:大きい部分を抑える

Gateと逆に、大きい音を小さくする量を連続的に決めます。

作成中の記事です。サンプルは試聴しながら調整していきます。Runで再生、Stopで停止。値を編集したらApplyします。別のiframeを試す前に、再生中のものをStopしてください。

組み込みFXで聴く

設定意味
threshold閾値(dBFS)
ratio閾値以上の圧縮比
attack / release追従時間(秒)
makeup出力補正(dB)

FX Monitorでnoneを選ぶと、組み込みFXを通った後の波形が見えます。noneは素通しなので、入力と出力は重なります。組み込みFXの加工前後を示すものではありません。

別タブのPlaygroundで開く ↗

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に表示される実際の出力レートに合わせてください。時間や周波数の計算に使い、ブラウザーの出力レート自体を変更する設定ではありません。

別タブのPlaygroundで開く ↗

FX Monitorでcompressor-labを選ぶと、この処理の入力・出力を比較できます。

  1. makeupDbは0のまま、ratioを1から4へ変更します。
  2. 音の最初の大きい部分と減衰した部分で、入力と出力の差を比べます。
  3. attackMsを1と80で比較します。最後にmakeupDbを少し上げて音量を揃えます。

この例の範囲

学習用は単純なピーク検出とhard kneeです。組み込み版の検出・ゲイン平滑化と完全には一致しません。Lookaheadやbrickwall limiterではないので、ピークを必ず閾値以下にする機能ではありません。

波形は時間方向の変化、Spectrumは周波数成分の強さを見る道具です。短い表示窓や表示の平滑化で見えにくい変化もあります。音を聞きながら、設定を1項目ずつ変えてください。