MIDI to CV (2) -- のこぎり波 VCO (1)

ADuC7026 ボードと、それに接続する実験ボードの写真を下に示します。
右側が DWM 誌 2006 年 3 月号付属基板 FRK-ADuC で、左側が実験ボードです。
このボード上に、のこぎり波 VCO、スイッチト・キャパシタ・フィルタ (SCF) による VCF、OTA による VCA が載っています。

VCO および VCF のピッチ情報のインターフェースとして、4 ビットのオクターブ・コードと、トップ・オクターブ内の周波数に相当する F-Number との組み合わせを使用しています。
VCO の場合は、F-Number 相当のアナログ電圧を 12 ビット DAC から出力し、クロック用 VCO の周波数をコントロールします。
この可変クロックでドライブされるマイコンで、DDS (Direct Digital Synthesizer) 方式により、オクターブ・コードに対応したオクターブの、のこぎり波を発生します。
マイコンには ATtiny2313 (Atmel 製) を使用しており、ディジタル・オーディオ用 DAC の BU9480F (ROHM 製) をつないでいます。
これについては、2008-01-18 の記事 (http://d.hatena.ne.jp/pcm1723/20080118) でも触れています。

クロック用 VCO の周波数は 4.55 〜 9.1 MHz が必要なので、ヒステリシス・インバータの 74HC14 とバリキャップを組み合わせた VCO を使っています。
この方式では、VCO のリニアリティが良くありませんから、上の図の「Linearity improvement」に示すように、周波数に関するフィードバック・ループを構成して、リニアリティを改善しています。
VCO 部の回路図はこちら () です。
モノマルチ 74HC221 を F-V コンバータとして使っています。
この方式では、本質的に、オクターブをまたいで周波数が変化する時に問題が生じます。
たとえば、ピッチベンドやポルタメントで、ゆっくり音程が上昇している場合を考えます。
クロック用 VCO の周波数が上がっていき、F-Number を表す電圧の最大値に達したとします。
次の瞬間には次のオクターブに突入し、オクターブ・コードは 1 増加して、F-Number を表す電圧値は最小値に変化します。
つまり、F-Number を表す電圧値は、最大値から最小値まで急変することになります。
同様に、音程が下降している場合には、F-Number を表す電圧値は、最小値から最大値まで急変します。
クロック用 VCO は、周波数のフィードバック・ループを構成していますから、そのループの応答時間より速くは変化できません。
実際の回路では、この過渡応答の時間は 1 〜 2 ms 程度で、この時間の間は正しくない周波数出力になります。
その影響は、実際には、のこぎり波の波形の乱れとして現れます。
応答時間が長い場合は、音程がよれる感じになりますが、ms オーダーの応答時間なので、音程感には影響せず、聴感上は「プチッ」というノイズが聞こえることになります。