2013年9月8日日曜日

MIDIインタラプタ v2.1まとめ

なんか中途半端なとこから書いてますが。

◆出来ること
・MIDI信号を受信して、6和音までの固定パルス幅の信号を出力。
・ノート番号(音の高さ)によって出力ポートを振り分けられる。
・MIDIチャンネルによって       "

◆出来ないこと
・ベロシティに対応してパルス幅を可変させる。
・ピッチベンドでうにょ~~~んする。


DRSSTCの制御用として開発しましたが、パルス幅は外部のタイマICで固定されるのであまりよろしくないです。マイコンからは約9.6usのワンショット用信号を出しているだけです。
図1. よく分かる図

つまり、周波数が高くなったり和音数が増えると、デューティが大きくなりすぎて音が汚くなったり渦電流でヒューズが飛んだりするということです。

hex、説明書、回路図は下記URLからどうぞ
クロックは20MHz、8分周無しです。

MIDI_2313_ver2.1.hexのMD5:8E4682EABA5A4C898780E83A57B3A02B

バグなどあればコメントに書いていただけば修正するかもです。

【2018/03/16 追記】
パルス信号は、LMC555などのトリガとして使用しやすいようにHigh/Lowが反転した状態で出力されます。
つまり、図1に記載の”マイコンから出力される波形”は誤りです。脳内でHigh/Lowを入れ替えて下さい。近いうちに修正版をリリース予定です。

10 件のコメント:

  1. AVRのヒューズを設定はどれに設定すればいいでしょうか?

    返信削除
    返信
    1. こんな感じです→ https://db.tt/idqDVp1e
      0xFF 0xDF 0xFF

      削除
  2. どうもありがとうございます。
    DRSSTCに利用させていただきます。

    返信削除
  3. midiのどの端子がmidi sigですか?

    返信削除
  4. MIDIインタラプタの販売はしておられないのでしょうか?

    返信削除
  5. 二年以上前の記事への質問で大変恐縮です。
    当方でこちらのインタラプタを作ってみたのですが、一行に動作してくれません。はっきり言ってお手上げです。どのような理由が考えられますか?

    返信削除
  6.  突然すいません。「でんじほう先生」と名乗っているものです。
     先日、Twitterにてこの記事のものと思われるMIDIインタラプタのプログラムの一部を見ました。現在それを参考にプログラムをかいているのですが、その全体を私のブログにアップロードしてもよろしいでしょうか?まだ完成していないのでだいぶ先になりそうですが、参考にしたことは記事に含めるつもりです。

    返信削除
    返信
    1. どうぞどうぞー!
      あの時に高速化の手法も教わりましたので、ちょっとづつ進化させていきましょう。

      削除
  7. 突然すいません。科学オタクのMad Science Productionと申します。よくほかのテスラコイルを作っているサイトを参考にしていると
    「プログラムは金魚氏に聞いてください」とあるのですが、midiインタラプタのプログラムを教えていただけませんでしょうか?

    返信削除