LFO for FX 進捗
LFO for FX 進捗
前回できなかったはんだ付け作業、プローブピンと内部状態モニタ用のLEDを付け、マイコンATtiny85を挿してICEを繋いでdebugWireで通信できる状態まで持って行った。電源は+5Vのままで。
週末の作業としては上記まで。なかなか没入するだけの時間を取らせてもらえない。
以下は移動時の思考のメモ…
以前に途中まで書きかけのコードがあったけれど、実体と合わないところが見えてきたので書きなおす。
パラメータも見えてきた。
システムクロック(FCPU =1/clk) | 8MHz |
---|---|
LFO値更新レート(1/Fs) | 32μsec (=1/31.250kHz = 256./FCPU ) |
位相アキュームレータフォーマット | 10.22(符号なし整数部10bit、小数部22bit) |
波形テーブル長(NTABLE) | 1024 ( = 2^10 位相ACCの整数部でインデックス) |
LFO 1Hz時の位相アップデート量(kstep) | = 2^22 * NTABLE / Fs |
システムクロック8MHzとして、256clkでLFOな処理(位相ACCの更新をして位相値から波形テーブルへのインデックスポインタを算出してPWMへ波形出力)する考え。計算が間に合わなかったらまた考える。
計算を楽にするためにはCVをAD変換した値から位相アップデートの量をどのように決めるかにかかってくる。ATtiny85はプログラム領域の容量をたくさん(8Kbyte)持っているのでここを使ってテーブルを持っちゃおう、と。
以前、
はてなグループの終了日を2020年1月31日(金)に決定しました - はてなグループ日記 - 機能変更、お知らせなど
- 0-5V入力で0.1~10Hzぐらい
という仮仕様で考えていたが、テーブル変化が2の冪乗のほうが都合がいいので、0.125(=1/8)~8Hz に仕様を変更しようかなと考えた。
そしたら、
6オクターブよりは8オクターブのほうがいいぞ
と夢でお告げがあったので、0.125~32Hz にすることにした。
さて、まずはコントロール系のテーブルを作ろうっと。