電音の工場ブログ

趣味の電子工作を中心としたブログです.音モノの工作が多いです.

EG2とチャタリング

EG2とチャタリング

現在Analog2.0拡張用に検討しているEG2では、

  • マイコンを使って状態管理し、
  • Attack-Decay-Sustain-Releaseに応じて複数ポートからPWMを出力、
  • 状態に応じてキャパシタへの充電電圧をチョップして速度制御しながら貯める…

ことでADSRのEGを構成しようとしている。

もうちょっと詳しく言うと、

  1. ゲート信号がきたらAttack状態として
  2. Attack担当PWMを動かし電源電圧(+5V)をチョップしながら充電。
  3. 充電電圧をマイコンアナログコンパレータで監視して+4V を超えたらDecay状態へ移行し、
  4. Attack担当PWMを止め、Decay担当PWMを動かし、Sustain電圧へ向かって放電。
  5. ゲート信号が落ちたらRelase状態に移って、
  6. Decay担当PWMを止め、Relase担当PWMを動かし、EG OFF電圧へ向かって放電する。

と、こんな流れ。

現在は基礎実験を経て、いよいよ組み立てようかな、な段階で脳内シミュレーションを繰り返しているところ。ところでゲート信号の発生には試験用に作ったCV発生冶具を使っているのだけれど、これがその、タクトスイッチなどを使っているので見事にチャタるわけです。スイッチのONやOFFの前後のチャタリング/バウンスのみならず、押している途中でも力の具合を変化させるとサグが発生する始末。

サグでもなんでもゲート信号の変化と認識されるとリトリガということにAttack状態に遷移してしてしまうことが考えられる。

サグによる望まぬ状態変化を状態遷移の中で巧いことワイプアウトできないか考えてみたが、サグはサグとして認識されなくてはいけなくて、それをするときは前後のゲート信号状態を広く見なくてはいけなくて、それならそれって、ゲート信号が入ってきた時のフィルタリング信号処理の問題じゃね?ということになって信号のサンプリングレートとか使い勝手のフィーリングとかいったいつもの問題に回収されてしまうのであった。ありがとうございました。