FX INTRODUCTION / 05 / 下書き

Filter:前の値と混ぜる

急な変化を少しずつ追い掛けるだけで、高い周波数を抑えるローパスの入口になります。

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

組み込みFXで聴く

設定意味
typelowpass / highpass / bandpass
cutoff周波数(Hz)
q共振の強さに関わる値

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

別タブのPlaygroundで開く ↗

PCMをどう加工するか

previous += a × (input − previous) とすると、aが小さいほど追従が遅くなります。遅い変化には追いつき、速い変化は小さくなります。式のpreviousを次のサンプルでも使い、左右の履歴は分離します。

input[ch][i]は入力の1サンプルです。chは左右の音声チャンネルで、FMの物理CHではありません。前のブロックから持ち越す値はstateに保存します。processから外側の変数は参照できないため、設定値はcontextへ入れます。

liveFxで試す

context.sampleRateの48000は仮の値です。FX Monitorに表示される実際の出力レートに合わせてください。時間や周波数の計算に使い、ブラウザーの出力レート自体を変更する設定ではありません。

別タブのPlaygroundで開く ↗

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

  1. cutoffを300、800、4000 Hzで比較します。
  2. サイン波より倍音の多い音で、明るさが変わるか聴きます。
  3. 学習用でoutputをinput − previousに変えると、高域を取り出す実験ができます。

この例の範囲

学習用は一次の平滑化フィルターです。この係数のHzは特に高域で厳密な−3 dB点とは一致しません。組み込みのbiquadと傾斜・共振特性は異なり、学習用にはQがありません。

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