電音の工場ブログ

当ブログは…

自作エフェクターシンセサイザ製作のネタや開発覚え書きなど、筆者の電音活動を記録しています。お探しの記事が見つからない方は、検索カテゴリ一覧をご利用ください。

スパマーが来訪すると、ときどきコメントをはてなユーザのみに絞ったり開放したりすることがあります。

2010-12-13

LFO for FX 進捗

| LFO for FX 進捗 - 電音の工場ブログ を含むブックマーク はてなブックマーク - LFO for FX 進捗 - 電音の工場ブログ LFO for FX 進捗 - 電音の工場ブログ のブックマークコメント

前回できなかったはんだ付け作業、プローブピンと内部状態モニタ用のLEDを付け、マイコンATtiny85を挿してICEを繋いでdebugWireで通信できる状態まで持って行った。電源は+5Vのままで。

f:id:Chuck:20101213075812j:image

週末の作業としては上記まで。なかなか没入するだけの時間を取らせてもらえない。

以下は移動時の思考のメモ…

以前に途中まで書きかけのコードがあったけれど、実体と合わないところが見えてきたので書きなおす。

パラメータも見えてきた。

システムクロック(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)持っているのでここを使ってテーブルを持っちゃおう、と。

以前、

  • 0-5V入力で0.1~10Hzぐらい
エフェクタ用8pin AVR LFO検討 - 電音の工場ブログ - E-Musicグループ

という仮仕様で考えていたが、テーブル変化が2の冪乗のほうが都合がいいので、0.125(=1/8)~8Hz に仕様を変更しようかなと考えた。

そしたら、

6オクターブよりは8オクターブのほうがいいぞ

と夢でお告げがあったので、0.125~32Hz にすることにした。

さて、まずはコントロール系のテーブルを作ろうっと。

トラックバック - http://emusic.g.hatena.ne.jp/Chuck/20101213