• ベストアンサー

Midi信号の分離と電流抽出

Midi信号の分離と電流抽出  イメージとして,パソコン(WinXp)の音楽ソフトで作成したmidiシーケンスをmidiケーブルで出力した後,トラックごとに分離,増幅し,トラック上のリズムに合わせて電球を光らせることを考えています.  そこで質問なのですが,第一段階としてパソコンから出力したmidiシーケンスをトラックごとに分離出来るか否かをご教示ください. (高価な装置だと出来そうなようですが,出来るだけ安価なものでお願いします).  さらに細かく,あるトラック(例えばトラック1)の特定の音(例えばC)だけを分離抽出することが可能かどうかも教えていただきたく存じます.

質問者が選んだベストアンサー

  • ベストアンサー
noname#194317
noname#194317
回答No.1

MIDIは端的に言ってしまうと、通信速度31250bpsのシリアル通信です。誤解を恐れずに言えば、RS-232Cと類似しています。なので、希望するようなことを行うためには、流れるデータを解析する必要があります。まずはMIDIでやりとりしているデータ(MIDIメッセージ)がどうなっているのか、それを知ることから始めましょう。とりあえず参考として、wikiのリンクを載せておきます。 http://ja.wikipedia.org/wiki/MIDI MIDIメッセージの中身が理解できれば、それがどのトラックのどの音かが解ります。リズムを知るためには、流れているデータを見て、特定トラックのノート情報を取り出して数えるという処理を行うわけです。言い換えると、希望していることが全て実現しないと、リズムに合わせて…なんてことはできません。単純にデータがあるかないかで判断していると、全チャンネルの全データが引っかかるため、これではうまくいかないでしょう。ピッチベンドやエクスプレッションなどの連続データを送っているところだと、リズムなんてとても数えていられないデータ量になりますよ。 一般のシリアル通信の世界では、このようなデータのやりとりを可視化する機器が存在します。ラインモニタあるいはプロトコルアナライザと呼ばれるものですね。これらは非常に高価で、しかもMIDI用のものは見たことがありません。おそらく自作するしかないと思いますよ。

firewoker
質問者

お礼

実際の信号内容が解らずイメージだけで考えていましたので,内容を知っている方には質問そのものが”とんちんかん”だったのでしょうね.解りやすい概要説明を素早くしていただき,ありがとうございました.

関連するQ&A