FX INTRODUCTION / 13 / 下書き
Chorus:揺れる音を重ねる
元の音に、読み出し位置が少しずつ動く遅延音を混ぜます。
作成中の記事です。サンプルは試聴しながら調整していきます。Runで再生、Stopで停止。値を編集したらApplyします。別のiframeを試す前に、再生中のものをStopしてください。
組み込みFXで聴く
| 設定 | 意味 |
|---|---|
| time / depth | 基準遅延と揺れ幅(秒) |
| rate | 揺れの1周期(拍)。Hzではありません |
| mix | 加工音の割合 |
FX Monitorでnoneを選ぶと、組み込みFXを通った後の波形が見えます。noneは素通しなので、入力と出力は重なります。組み込みFXの加工前後を示すものではありません。
PCMをどう加工するか
遅延時間を連続的に変えると、過去の音を読む速度も変わります。整数の位置だけを読むと段差ができるため、隣り合う2サンプルを線形補間します。Flangerより長い遅延で、微妙に音程の違う演奏を重ねるような厚みを作ります。
input[ch][i]は入力の1サンプルです。chは左右の音声チャンネルで、FMの物理CHではありません。前のブロックから持ち越す値はstateに保存します。processから外側の変数は参照できないため、設定値はcontextへ入れます。
liveFxで試す
context.sampleRateの48000は仮の値です。FX Monitorに表示される実際の出力レートに合わせてください。時間や周波数の計算に使い、ブラウザーの出力レート自体を変更する設定ではありません。
この例はresetState: trueなのでApplyすると保存した音を消してバッファを作り直します。余韻は途切れます。通常の同名liveFxはstateを維持します。
FX Monitorでchorus-labを選ぶと、この処理の入力・出力を比較できます。
- depthMsを0にして固定遅延と比較します。
- lfoHzを0.2と2で比較します。
- mixを0、0.5、1に変え、原音と混ぜたときの違いを聞きます。
この例の範囲
学習用のlfoHzはHzです。組み込み版のrateは拍数なので、同じ数値でも周期は一致しません。学習用はフィードバックなしの単純な遅延です。baseMsはdepthMsより大きくし、合計は100 ms未満で試してください。
波形は時間方向の変化、Spectrumは周波数成分の強さを見る道具です。短い表示窓や表示の平滑化で見えにくい変化もあります。音を聞きながら、設定を1項目ずつ変えてください。