BBD コーラス (3)

三角波 LFO として、いわゆる「ファンクション・ジェネレータ」型の構成を使い、BBD クロック発生回路をまとめ、STM32VL Discovery ボードと組み合わせた写真と、回路図を下に示します。


信号入力部は、実用ではなく、実験用ということで、単なるゲイン 1 倍の OP アンプ回路としています。
信号出力部は DAC 出力そのままで、特にアンチエイリアス・フィルタなどは設けていません。
本物の BBD では、信号出力の AC 成分がゼロでもクロック成分が出力に漏れ出てくるので、その対策が必要ですが、マイコンによるエミュレーションなので、その必要はありません。
LFO 部の OP アンプもそうですが、3.3 V で動作可能な出力フルスイング OP アンプが必要です。
実験用なので、原音 (dry) とエフェクト音 (wet) のミキシング機能も設けてありません。
STM32VL Discovery では、コネクタ P1 の 3 番ピンの「3V3」は、外部から 3.3 V を供給する場合の端子という性格が強く、内部 3.3 V レギュレータ出力との間に接続されているショットキ・ダイオードの電圧降下により、外部に取り出せる電圧は実質 3 V 程度になることを忘れていました。
そのため、三角波 LFO の電圧は 3.3 V 電源では設計上 1.1 V 〜 2.6 V 程度になるところ、3 V 電源では1 V 〜 2.2 V 程度となりました。
コーラスのピッチシフト量が 1 半音 (100 セント) 程度になるように RATE および DEPTH を調節し、信号入力として 1760 Hz の正弦波を加え、エフェクト音出力 (Wet 100%) を録音して波形編集ソフトの FFT 機能でスペクトルを表示させたものを下に示します。

波形がにじんでいたり、トランジェント部分で上下に「尾」を引いているのは、FFT 点数や「窓」、およびそのオーバーラップの設定の関係で、このように見えています。
ピッチシフト量は、ほぼ矩形波状になっていますが、「水平部分」は完全に水平ではなく、やや右下がりの形状になっています。
BBD クロックが高域で「伸び悩み」しているせいだと思います。 電源電圧が 3 V に低下している影響かも知れません。
下のグラフは、同じくピッチシフト量を 1 半音に設定し、20 Hz の正弦波を入力に加え、出力波形を 48 kHz でサンプリングし、ゼロクロス点ごとに正弦波半周期分に相当するサンプル数をカウントし、それを周波数に換算して求めたピッチシフト量をプロットしたものです。

FFT の結果と同様に、水平部分で、やや右下がりになっています。