CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

コーラス・フランジャー

ディレイモジュールの遅延時間をダイナミックに変化させると信号のピッチや位相が揺らぎ原音と混ぜ合わせることでモジュレーション系のエフェクトを作り出せます。
ごく薄く掛けるとビブラートやコーラス効果、出力をフィードバックさせると強烈に音色が変化するフランジャー効果になります。
フローはこのような形でLFO低周波信号でディレイ時間を変調することになります。
 
イメージ 2
 
LFOもソフトウェアで実現するため、まずEXCEL
 
  y=int(100*sin(2πx/256))  0≦x≦255
 
の1周期分の正弦波の数表をつくり、配列sintbl[]としてソースに埋め込みます
サンプリング周期25kHz毎の割り込みで数回に1回の割合でこの配列のインデックスをインクリメントすると数Hzで正弦波振動する変数modが得られます。
ここではRATE=20(割込み20回に1回idxを増やす)と25kHz/20/256=4.9、約5Hzで変調されることになります。
 
イメージ 1
 
 
この変数modで読み出しポインタの位置をゆすってやると周期的に遅延時間も変化します。
 
ただしこの処理のパラメータの調整は非常に難しいところです。
プログラムに埋め込まれていてリアルタイムに調整できないということもありますが、適当にセットするとほとんどが音程破壊系の変態サウンドになってしまいます。