電音の工場ブログ

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

MIDI2CV

MIDI2CV

そろそろオリジナルのMIDI-CVコンバータを作ってみようかと、まずは仕様を練り始めた*1

で挙げたリンクを参考にする。

お試し版という位置付けで。

MICI2CV ATtiny2313版 暫定仕様

  • ATtiny2313
  • 4ch PWM で次を出力
    • Note CV (key CV, Oct/V固定)
    • (Note On) velocity CV
    • Modulation wheel CV (CC#1, 設定で他のコントロール または channel pressure)
    • Portamento time (CC#5, On/Offは Portamento (CC#65)で)
  • ゲート出力 (極性を設定可)
  • タイミングクロック出力
    • タイミングクロック(F8)に応じたパルス出力(パルス幅とパルスの分周比を設定可)
    • スタート、コンティニュー時に信号出力(極性は設定可)
  • その他のMIDI対応
    • 高音優先 mono mode (設定で低音優先も可にしようか?)
    • 発音したNOTEは抜いて残りを MIDI OUT しようか?
    • Legato (CC#68) をコンティニュアスに使う
      • Legato 0 で Off, Legato 127 で設定された retrigger timer, 1-126で1~126msec
    • All note off (MM#120)
    • Reset all controllers (MM#121)
    • ランニングステータス?
    • Active Sensing (FE)
    • System Reset (FF) ?
  • MIDI ch とかの類の設定はEEPROM記録とし、I2Cからも読み書きできるようにする
    • 誰がI2Cマスターだ、とかはこの際考えない

ありゃ、お試しのはずがけっこう膨れちゃったよ…

実装するとしたらステップ倍ステップ*2ですな。

追記

コメントへの返信をこちらで。

takedaさん

Portamento time より、アフタータッチのほうがいいかな。

LEDをドライブしてフォトカプラを動かしたらPWMの真骨頂!」とか思いまして入れるならポルタメントEGだろうという思考でした。普通のkey CVポルタメントの回路の前後にアナログスイッチを入れてもいいですね(手元に 74HC4066*3が山のようにある…)。

そっか、CVのリニアリティは、4chそれぞれ別に調整が必要になるかしら...

気を遣うのは key CV だけでいいのではないでしょうか。他のコントロールはコントロール先の回路とご相談ということで。

masa921さん

MIDI周りのソースを参考にさせていただいておりまする>masa921さん

僕のは8CVでnote,bend,velo,exp(CC11),mod(CC1)が標準で、残りは気分で書き換えて使ってます(笑

やはり 8つぐらいは常時出したくなりますね。今回の4CVモノを並列に並べればどんどん拡張できるようにしようかという気持ちがフツフツと…(どこがお試し版やねん)

気分で書き換えて rebuild というところが楽しいですね。

あとはAutoGlide(発音中に別のキー押すとポルタメントがオン)追加しようと思ってます。

なるほど、そういう手もあったか。

RJBさん

さすがにMIDI-LFOの実装まですると大規模になりすぎるかな?

takedaさんの言われるようにリアルタイムメッセージ系は別CPUに任せたほうがいいような気がしてきました。ATtiny2313では、実はそこまでは入りきらないかも…