SSブログ

MIDI Trigger Converter PICでMIDI [楽器]

ドラム生演奏も楽しいのですが、ファイルを再生するのはどうかなっということで、
以前、Trigger MIDI Converterをご紹介いたしましたが、今回は逆に、MIDI Trigger Converterを作ってみました。

P1260165_s.jpg
こんな感じに、シンバル改良基板に接続し、送られてくるMIDI信号を電圧の変化に変換するという単純な回路です。
6.3mmコネクタが3つしかなかったので、ハイハットは接続していません。


MIDI信号は3バイトのフォーマットが31250bps(一秒間に31250Bitということ)と単純なので、
PICで直接読めるのではと思い、実際に測定してみると、
MIDI信号波形.png
LSB(桁の低い方)から送られて、MSBへと続きます。
下の図は上を拡大したもので、ビットデータの1が逆さまなのはLSBから送られる様子を示したということです。
実際には、startBit:Lo+データ8Bit+stopBit:Hiの10Bitデータですね。

dumboの持っているMIDI出力をする装置は、CASI○のキーボードについてきたもので、
MIDISP○RT Unoという名称のものと同一のようです。

この機種では、前のstopBitと次のstartBitとの隙間が、殆んどない状態で3バイトを転送してくるようです。

色々計算すると、PIC16F84の4MHzでも行けそうなので作ってみたのでした。
(手持ちが4MHzだったというだけかも・・・)

がっ、やはりそう単純ではなく、3バイト以外やその他もあるわけです。


そのため手始めに、
MIDItestプログラム.png
こんな、MIDIショートメッセージ(3バイトのデーター列)のみを出力する、
リズムジェネレータをC++で作成し、

上のパターンを、実際にならしてみたものが、
です。
Bassが低すぎかなぁ?
(液晶モニターなどのスピーカーからは全然聞こえません。アンプを通さないと全く聞こえませんね。)
手作り太鼓では、いい具合に振動を拾ってそれなりだったのですが。
L Tom と H Tomも何かピコピコした感じで、テクノ?でしょうか???古ッ

このシンバル改良基板は、接続するものによって音が変化するので、面白いですね。

ちなみに、windows標準のmicrosoft GS Wavetable Synthでならすと、
な感じです。

PIC側の回路と、ソースは今しばらくお待ちください。
結構フリーズするのです、とほほ。
(原因は連続したデータの取りこぼしだと思っているのですが、どうなのでしょう?)
nice!(27)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 27

にほんブログ村 教育ブログへ

コメント 0

コメントを書く

お名前:
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました