FX INTRODUCTION / 12 / 下書き

Flanger:短い遅延を動かす

元の音に、読み出し位置が少しずつ動く遅延音を混ぜます。

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

組み込みFXで聴く

設定意味
time / depth基準遅延と揺れ幅(秒)
rate揺れの1周期(拍)。Hzではありません
mix加工音の割合

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

別タブのPlaygroundで開く ↗

PCMをどう加工するか

遅延時間を連続的に変えると、過去の音を読む速度も変わります。整数の位置だけを読むと段差ができるため、隣り合う2サンプルを線形補間します。短い遅延と原音の干渉が、くし状の周波数特性を作ります。

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

liveFxで試す

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

この例はresetState: trueなのでApplyすると保存した音を消してバッファを作り直します。余韻は途切れます。通常の同名liveFxはstateを維持します。

別タブのPlaygroundで開く ↗

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

  1. depthMsを0にして固定遅延と比較します。
  2. lfoHzを0.2と2で比較します。
  3. mixを0、0.5、1に変え、原音と混ぜたときの違いを聞きます。

この例の範囲

学習用のlfoHzはHzです。組み込み版のrateは拍数なので、同じ数値でも周期は一致しません。学習用はフィードバックなしの単純な遅延です。baseMsはdepthMsより大きくし、合計は100 ms未満で試してください。

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