当ブログは…
8pin AVR LFO完成(さらに)
RJBさんからいただいたCVでLFO波形モーフィングのアイディアを実装してみた。64レベルのモーフィングが可能となった。モーフィングといいつつその実体は、2つのテーブルの同一位相での比例配分による波形生成である*1。無邪気に掛け算を使っているので、LFO周波数の上限の244Hz近くではきちんと動かなかったり、マイコンがスタックしたりするかもしれないです(テストに使用した可変抵抗器の性能で十分なCV電圧レンジを作れなかった)。
アーカイブ等はこちらのページに置いてあります。tinyLFO.lzh が昨日版の16波形切り替え、tinyLFO12.lzh が波形モーフィング版。
昨日のように波形をキャプチャする元気がなかったので、本日は記事のみで失礼。
追記
あと改善するとしたら、
- どうでもいい時にはマイコンをスリープさせる
- もうひとつタイマを動かしてA/D変換トリガとする
あたりかと。現行では無駄にA/D変換が動いている気がするので。
RJBさんsaid
わぉ、ちょっとつぶやいたのにもう出来てるし > モーフィング
これはもう作るっきゃないって感じですね!(なぜかTiny45ころがってるし…)
良いアイディアをありがとうございます。ぜひ作ってみて気づいた点をお知らせください~
r0r0さんsaid
すんまへんWinAVRのバージョンは何でしょか?
Tiny2313でメイクできるかしらなんてやったところ名句通りませんでした。
そこでTiny45に戻してメイクしてみるもやはり通りませんでした・・・orz
僕のは20060421です。
フェイズシフタにLFO乗せるのらくだなぁなんて・・・・
WinAVR は 20060421版を使っています。しかし、AVR Studio から作ったプロジェクトの形態になっています。WinAVRのMakefileジェネレータで作ったものと、AVR Studio から gccプロジェクトを作った場合とでディレクトリ配置構成が変わることがメイクできない原因かと思います。
AVR Studio から LFO.aps を読み込む→build と云う流れを試してみていただけますか?
追試するにはまだまだ情報が不十分でご迷惑をおかけします。そのうちfuse情報とかも吸い上げて avrsp互換でも情報をまとめたいと思っています。
takedaさんsaid
うー。RJBさんの、
PWMでEG http://www.rjblog.net/archives/2005/e000141.php
PWMでEGその2 http://www.rjblog.net/archives/2005/e000142.php
も気になってる記事のひとつなんだけど、PICだったー。
出来ると思います。ATtiny45はPIC12F683に較べてプログラム容量もSRAMも倍なので、さらに楽チンできるかも。ADSRにするにはピンが足りないのですが。
Tiny45って4つ1000円だから、ノイズ用に1発(波形選択はブルダウンしちゃえばいいのかなプルアップかな?)LFOにこれを使ってさらに、EGもTiny45で動いて、さらに、「さんハイ、ペダル」がTiny45で動けば4つ買うぞ。
確かに ATtiny2313 120円というのを見ちゃうと高く感じますね。しかし便利な石ですから4個装備していてもいいのではないでしょうか。
このLFOのノイズモード(使うときはノイズテーブルが選択されるようには抵抗分圧でCVを与える)は、Excelで発生させた256ポイントを回しているだけの物なので、ノイズ音源としてはお勧めできません。以前ATtiny13(V)で製作した版のほうが良いです。ATtiny45 をノイズだけに使うと勿体無さすぎる気もする(=いろいろと仕様拡張しそう)。
EG も 「さん、ハイッ」ペダル も NG も ATtiny45 で実装可能だと考えています。8pin AVRシリーズとしてゆくゆくはラインナップしたいと思いますが、とりあえず次のターゲットは DCO かなぁ…
そうそう、アイディアだけど、周波数の設定、サンハイペダルみたいにタッピングに対応するとか。周波数の設定の電圧が、0Vになったときとそれ以外のときとで、スイッチして、タッピングでスピードが設定できるとか。
これもまた良いアイディアをありがとうございます。ただ現行のものにはもう入らない気がするので、テーブルを絞るか あるいは別の企画として打ち立てたいと思います。
しかかりのプロジェクト多すぎて、今すぐは試せないー。むっきー!
同じ同じ (^^;)
やってみて反応があると、それがまた新しいアイディアを産んでフュージョンしてます。
引き合い
なんか今日はアクセスが多いなと思ったら晒されてた。