電音の工場ブログ

当ブログは…

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

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

2011-01-19

BBDモジュール

| BBDモジュール - 電音の工場ブログ を含むブックマーク はてなブックマーク - BBDモジュール - 電音の工場ブログ BBDモジュール - 電音の工場ブログ のブックマークコメント

シンセ用にBBDモジュールをいつか作りたいと考えていて、ここのところBBDに気が向いたのであらためてデータシートを眺めている。とりあえずターゲットは MN3007(1024段BBD)。家にいくつかストックがあるので。

コーラスにするというよりは微妙に遅延させた波形を加算してフィルタ的な色付けをすることが目的で、どういう回路がいいのかいまのところ検討もつかない。というわけでよく見る回路よりもぐっとシンプルにして、まずは遅延部分+制御部だけで実験してみるのでいいのではないか。最終型でも、

  • 前後のアンチエイリアシングフィルタは無し、あるいはモジュラシンセなんだからVCFを使えばいい
  • 原音ミックスやフィードバックも外にミキサをつければいい

ぐらいに割り切りたい。

ちなみに-15V電源のBBDでも入力信号は 1.5Vrms までという仕様なのね。シンセの波形ならレベル調整しないと… その割にはVo―Vi図では-10dBm~+10dBmまで入れてて、+7.5dBm過ぎたあたりから歪んでいるご様子。なるほど、BBDで歪ませろと…(言ってない)。


それはそれとして遅延量は電圧制御したいところだ。

そうなってくるとドライバLSI MN3101 を電圧制御で使うのだろうけど、これもまぁ探せば回路はあるはず…

と、BBDの参考書についてはその昔記事を書いたことを思い出した。

  1. BBD回路リソース - 電音の工場ブログ - E-Musicグループ
  2. BBD回路リソース (続) - 電音の工場ブログ - E-Musicグループ

とくに後者は強力*1。これらの本さえあれば勝てる、じゃない書ける(回路を)。なければオークションで、オークションで負けても図書館で。

他にもこんな記事も。

MN3101 は出力の二相クロックのデューティもいい具合に調整されているらしいという話も聞くのでドライバにはMN3101一択!(MN32xx系BBDにはMN3102ね)って感じなのだけど、マイコンで出来ないものかなと。

先日おーつかセンセにお渡ししたLFO(LFO for FX 完成 - 電音の工場ブログ - E-Musicグループ 参照)もBBDドライバを揺するためのものだったわけで、LFOBBDドライバを一体化できてしまったらいいのになぁと思うわけです。

CPLDとかハードウェアの分周器を使う手もあるがここは一般部品率を高めたいので、例によってしばしば使うマイコン、ATtiny85でシステムクロック16MHzとするとして、MN3007の動作条件の10k~100kHzということであれば、800~80クロックに1回ポートをトグってやればいい計算になる。LFOの更新処理をゆっくりとやれば80クロックに一度割り込まれてもまぁなんとかなるかなぁ… 100kHzよりも倍・4倍速いクロックパルスでBBDをドライブするとなると難しくなってきそう。クロックの振幅も15Vスイングしないといけないようだし。

とりあえずBBDモジュールを作る際にはマイコンドライブも視野に入れることにするか。

*1BBD関連記事の著者は第8回アナログシンセビルダーズサミットにお見えになった初恋天使さんです

analoganalog2011/01/19 13:11LFOとdriverがマイコン化されるとflangerも相当シンプルになりますね。3207でチャレンジしてみたいです。

おーつかおーつか2011/01/19 14:18BBDクロックは1MHzていどまで充分いけます。1024段だと最短ディレイ時間は5msでしょ。もっと短くても面白い。
2相クロックは、まあ専用ドライバがいいけれど、普通の50%デューティーでも大丈夫(っていうか、問題なし)。
BBDでキモなのはバイアスだけです。合ってればとりあえず音は出ます。
後段のフィルタは、やっぱりあったほうがいいと思います。波形を見ると卒倒しそうになりますよ。
そうです! どうせマイコン使うなら、BBDの直接ドライブがいいかもしれない。と、また新しいリクエスト?

ChuckChuck2011/01/20 07:13コメントありがとうございます。いつになるかわかりませんが「LFOとドライバでマイコンひとつ」にチャレンジしてみたいと思います。
発振周波数は対数軸で直線になるように揺すればいいのでしょうか。
しかし1MHzの生成となるとグンとハードルが上がりますね。波形生成できてもLFO部が動けなさそう、15Vスイングにするにもオープンコレクタだと1MHzが大変そう…など。遅めのクロックパルスを生成してCMOSの4046でPLL逓倍したくなってしまいます。
まずは単体でどこまで行けるか取り組んでみます。

ChuckChuck2011/01/25 10:56[メモ] Timer1をPLLクロック(PCK)&CTCモードのPWMで動かして、タイマに供給するPCKの分周比 と タイマクリアのトップ値(OCR1C) と コンペア値(OCR1AまたはOCR1B)をテーブル管理して、LFOの周期でゆすりながらPWMしてやれば 10kHz~1MHz が生成できるかも。PWMの波形生成はトグルモードにしてやれば値管理も楽。
しかも OC1A/OC1A_n, OC1B/OC1B_n と二相出力が2系統で、dead timeも付けられる。

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