FX INTRODUCTION / 11 / 下書き
Delay:過去の音を読み出す
音が止まっても、少し前の音を返すことで繰り返しが聞こえます。
作成中の記事です。サンプルは試聴しながら調整していきます。Runで再生、Stopで停止。値を編集したらApplyします。別のiframeを試す前に、再生中のものをStopしてください。
組み込みFXで聴く
| 設定 | 意味 |
|---|---|
| time | 遅延時間(秒) |
| feedback | 遅延音を戻す割合 |
| mix | 加工音の割合 |
FX Monitorでnoneを選ぶと、組み込みFXを通った後の波形が見えます。noneは素通しなので、入力と出力は重なります。組み込みFXの加工前後を示すものではありません。
PCMをどう加工するか
リングバッファは末尾まで書いたら先頭へ戻る配列です。現在位置よりdelaySamplesだけ前を読み、入力と混ぜます。読み出した音をfeedback倍して書き戻すと繰り返しが続きます。
input[ch][i]は入力の1サンプルです。chは左右の音声チャンネルで、FMの物理CHではありません。前のブロックから持ち越す値はstateに保存します。processから外側の変数は参照できないため、設定値はcontextへ入れます。
liveFxで試す
context.sampleRateの48000は仮の値です。FX Monitorに表示される実際の出力レートに合わせてください。時間や周波数の計算に使い、ブラウザーの出力レート自体を変更する設定ではありません。
この例はresetState: trueなのでApplyすると保存した音を消してバッファを作り直します。余韻は途切れます。通常の同名liveFxはstateを維持します。
FX Monitorでdelay-labを選ぶと、この処理の入力・出力を比較できます。
- feedbackを0にして、1回だけ返る音を聞きます。
- secondsを0.125、0.25、0.5で比較します。
- feedbackを0.6にすると繰り返しが長くなります。
この例の範囲
時間変更は読み出し位置を瞬間的に移すためクリックが出る場合があります。実用版では補間やクロスフェードも必要です。キーオフ後も残響は続きますが、Stopは処理自体を停止します。
波形は時間方向の変化、Spectrumは周波数成分の強さを見る道具です。短い表示窓や表示の平滑化で見えにくい変化もあります。音を聞きながら、設定を1項目ずつ変えてください。