2009-04-21 27 views
5

私はXG MIDI規格でエンコードされたMIDIファイルを再生すると、ギターの特定のライトがオンとオフになるヤマハMIDIギターを持っています。私はMIDIファイルを使用せずに同じイベントをプログラムで送信できるように、これを引き起こすMIDIイベントを特定しようとしています(Note On(144)またはNote Off(128)コマンドを送信するのと同じ方法です)。XG MIDIファイル形式

しかし、私はMIDIプロトコルのコピーを見つけることができましたが、私はXG MIDIプロトコルを見つけることができませんでした。適切なコマンドが見つかるまで、可能なすべてのコマンドをデバイスに送信しようとする以上に、ライトが状態を変える原因となっているMIDIイベントを特定する方法はありますか?あるいは、どこかでXG MIDIプロトコルのコピーを入手できますか?

+0

この質問はプログラミング関連ではなく、SOに属しません。 お使いの機器のマニュアルを読むことをお勧めします。 –

+1

これは間違っています。私はそのような情報の送信を自動化することを話しています。これはプログラミングの質問です。 – Elie

答えて

3

ウィキペディア:「1999年には、公式のGM [General MIDI]規格が競合し、独自のローランドGSとヤマハXGの追加を調整する試みで、それ以上のコントローラ、パッチ、示すRPNとSysExメッセージを含むように更新されました」これはGeneral MIDI 2と呼ばれていました。

Java(javax.sound.midi)が提供しなければならないもの(C#はソリッドMIDIライブラリがないようです)を調べることをお勧めします。 MetaMessageShortMessageSysexMessage、およびPatchを読んでください。私が理解していることから、特別なシステムメッセージはSysexMessageを介して送信されます(照明データはここにあります)。

サンプルコードが必要な場合はJava Sound Resourcesをご覧ください。私が見つけた

その他のリンク:

4

自社製品の詳細はヤマハマニュアルあなたが探している情報。 XGコマンドはデバイス固有です。一部のXGコマンドはデバイスメモリに直接アクセスし、MU2000音源のマニュアルは「不正なデータを送信してユニットを損傷する可能性がある」と警告しています。

1

マネージド.NETミディライブラリの場合、codeproject .com。

1

私はLeslie Sanfordのcodeproject midiツールキットを使用してギターと通信しています。 http://www.codeproject.com/KB/audio-video/MIDIToolkit.aspx

ギターのコミュニケーションについて知っておくべきことはすべて、マニュアルの1ページ後ろに記載されています。

私が作成したエディターのビデオです。ギターとの完全なコミュニケーションが特徴です。

YouTube Video of Guitar Program

4

2つのこと:

  1. XGは、MIDIプロトコルのセマンティック拡張したものです。 MIDIファイルの構造には何も変わりません。唯一のことは、XG互換の機器を使用してフィルタの共振の変化を記録すると、他のどのXG機器にも同じ効果が生じることです。しかし、MIDI procotolレベルでは、CC(コントロールチェンジ)メッセージ#71(IIRC)があります。

  2. MIDIプロトコルは非常に拡張性が高く、製造元のためのスペースがたくさんあります。 CCメッセージだけでなく、登録されたパラメータ番号(RPN)とNRPN(登録されていないもの)も使用できます。その上にシステムエクスクルーシブ(SysEx)メッセージがあり、適切に細工されたSysExメッセージがギターのライトを変更する可能性があります。楽器のいわゆる "データリスト"を取得しようとすると、ギターが送受信しているMIDIメッセージに関するすべての情報が含まれているはずです。

0

最終的には、メーカーからその情報を見つける必要があります。それはコントローラかもしれないが、おそらくsysexメッセージである。

すべてのコントローラを歩くことはソフトウェアでは非常に簡単です。そうしたい場合は、それを試すことができます。しかし、事故や徹底的な検索によって正しいsysexメッセージにつまずく可能性は、天文学に近いです。

マニュアルの末尾に記載されています。それはそこにあるかもしれない。そうでない場合は、お使いのデバイスのsysexをGoogleに問い合わせてください。それ以外の場合はヤマハに情報を尋ねる必要があります。