Moog Ladder Filter
何度見てもこの回路図は恐ろしい。最初はほとんど意味がわからなかったが、わからないながらも電圧-電流変換、ラダーフィルター本体、差動-シングルエンド変換という部分で成り立っていそうなことはなんとなくわかってきた。
ラダーフィルター本体は、「Analysis of the
Moog Transistor Ladder and Derivative Filters Timothy E. Stinchcombe
25 Oct 2008」を読んで見るとTrとRの組み合わせた回路に電流を流すことで電流で抵抗値を制御している。
真ん中3段ではなくて上4段がRCフィルタと働いて4次LPFとなっているようです。勘違いしていました。
</追記>
VCVS LPF Filter
Moog Ladder Filterはもう少し調べてみたいので、Q(Resonant)が調整できるフィルターで実作するつもりで、一番かんたそうなVCVS LPFでやってみることにした。
純粋なアナログ・シンセなら抵抗値を電圧で可変するためにアナログ素子を駆使するところだが、デジタル・ポテンショメータならマイコンで簡単に(安定的に)抵抗値を可変できる。
Qの調整は「デジタル・ポテンショメータでLPFのQをコントロールする」でやってみたので、R1、R2も可変にしてカットオフ周波数も変更する実験をしてみた。
増幅率A≒1でシミュレーション
Rq1は1f(フェムト)なのでRq1はほぼ短絡、Rq2はほぼ絶縁なので普通のA=1の2次VCVS LPFとして見る。
Cが0.01uFだとRが1kΩ~100kΩで、カットオフ周波数fc=100Hz~10kHz程度で可変できるようだ。
デジタル・ポテンショメータのAD8403をArduino(びんぼうでいいの)で制御してみた。
ブレッドボード図
OPAMPを使ったLPF本体は5V単電源の分圧だと電圧が足りないようなので、別に±5Vの電源を用意した。
Arduinoのスケッチ
/* Digital Pot Control AD8403 3つのPOTの出力電圧を読み取って Digi-Potのチャンネル1, 2, 4の抵抗値を可変 Pinの接続 A0 POT1 A1 POT2 A3 POT3 10 CS 11 MOSI 13 SCK Digi-Pot A1 - connect this to voltage W1 - this is the pot's wiper, which changes when you set it B1 - connect this to ground. */ // inslude the SPI library: #include <SPI.h> // set pin 10 as the slave select for the digital pot: const int slaveSelectPin = 10; byte cnt; byte v0, v1, v3; void setup() { // set the slaveSelectPin as an output: pinMode (slaveSelectPin, OUTPUT); // initialize SPI: SPI.begin(); delay(1); Serial.begin(9600); } void loop() { v0 = analogRead(0) / 4; v1 = analogRead(1) / 4; v3 = analogRead(3) / 4; Serial.print(v0); Serial.print("\t"); Serial.print(v1); Serial.print("\t"); Serial.print(v3); Serial.print("\n"); digitalPotWrite(0, v0); digitalPotWrite(1, v1); digitalPotWrite(3, v1); delay(1); } void digitalPotWrite(int address, int value) { // take the SS pin low to select the chip: digitalWrite(slaveSelectPin, LOW); // send in the address and value via SPI: SPI.transfer(address); SPI.transfer(value); // take the SS pin high to de-select the chip: digitalWrite(slaveSelectPin, HIGH); }
動作状況を動画に撮ってYoutubeに上げてみた。
発振すれすれが音的にはおもしろいなあ(^q^/
0 件のコメント:
コメントを投稿