想定読者:光るギターEZ-EG・EZ-AGを持っている人。
目的:好きなようにLEDを光らせる。スケールに沿って点灯・消灯させて練習したり、自作曲に合わせて指版のLEDを光らせたりする。
見本動作のMIDIファイルもダウンロードできます。
上図の動作をするMIDIファイルはこちらです ↓ (midi信号の出力先をEZ-EGのつながったMIDIインターフェースにするのをお忘れなく)
EZ-EGネイティブパラメーターチェンジの書式
まず基本の書式。(MIDIの仕様を理解している人ならこれと次章の対応表を見ただけで使えるでしょう。)
F0H, 43H, 7FH, 00H, 00H, LED-ONのフラグ[03H], 弦番号[01H-06H], フレット番号[表を参照], F7H
F0H, 43H, 7FH, 00H, 00H, LED-OFFのフラグ[04H], 弦番号[01H-06H], フレット番号[表を参照], F7H
↑ 暗号や呪文のようなので、この時点で拒絶反応が出そうな人もいるでしょうけれども、郵便番号・住所・氏名の順番みたいなもので、他人様が決めたルールですがかなり重要です。
対応表と具体例
弦 \ フレット | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
01 | 4D | 4E | 4F | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |
02 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | 50 | 51 | 52 | 53 |
03 | 44 | 45 | 46 | 47 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F |
04 | 3F | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 4A |
05 | 3A | 3B | 3C | 3D | 3E | 3F | 40 | 41 | 42 | 43 | 44 | 45 |
06 | 35 | 36 | 37 | 38 | 39 | 3A | 3B | 3C | 3D | 3E | 3F | 40 |
例)1弦の1フレットのLEDを光らせるには下記のシステム エクスクルーシブ メッセージ(System exclusive message. 略称SysEx)を送信します
F0H, 43H, 7FH, 00H, 00H, 03H, 01H, 4DH, F7H
例)1弦の1フレットのLEDを消灯 (LEDを点灯したら後で消すのはほぼ必須なので、だいたいペアで使いますね)
F0H, 43H, 7FH, 00H, 00H, 04H, 01H, 4DH, F7H
エクスクルーシブメッセージについてのヒントや気になること
- DAWによっては、Hの記入が要らなかったり、先頭 [ F0H ] と最後尾 [ F7H ] が省略されたりするので惑わされぬよう。( = エディタ上の表示が違うだけで実際に送信されるMIDI信号は同じ。)
- F0Hはエクスクルーシブチェンジ、F7Hはエンドオブエクスクルーシブ。ステータスバイトと呼ばれるお約束の目印です。
※ F0Hにつづく2バイト目の43Hは登録制のメーカーID番号。43HはもちろんYAMAHAのこと。ただし、7EHと7FHだけは例外でユニバーサルエクスクルーシブに割り当てられています。 - なぜか公式の『EZ-EG MIDIギター取り扱い説明書.pdf』とは数値が異なります。進数の違いというわけでもなさそうなのですが謎です。
- 手入力で作成したMIDIはDAW(REAPERとWaveform11)から送信すると光ったが、EZ-EG本体に転送して自力再生させると無視されて光らなかった。理由は不明。
- MIDI用のプラグインで、SysExを通さないものがあるので要注意。たとえばEZ-filterを通すと、「不要なメッセージの除去」機能を無効にしてもなぜかSysxが抜け落ちます。VeloScalorも同様。
- 一部のDAWでは初期状態でSysExの入力記録がオフになってるものがあるので、設定で解除するように。
- EZ-EGを弾いてMIDIをリアルタイムレコーディングして、そのまま再生してEZ-EGへMIDIを送り返して光るのを確認できたのはREAPERとCakewalkとWaveform11とCubase。一方、Domino、MPC Beats では駄目だった。・・・ですが、検証不足の感は否めないので、やり方によってはできる可能性があります。
実際にReaperで入力してみる
① まず下準備に打ち込む場所(トラックとMIDIアイテム)を確保。
② ギター本体へ送信しないと光るわけがないのでMIDI信号の送信先をEZ-EGがつながってるインターフェイスにします。
③ MIDIエディタ画面で数値を書き込む。
出来たMIDIアイテムをダブルクリックしてMIDIエディタを開く → メニューの「View」→ Mode: event list → 空いている場所を右クリック → 「Insert sysex event…」をクリック → 表を参考にH抜きの数値を書き込む → 「OK」(下図参照)
上図のMIDIデータをMIDIファイルに書き出したのがこちらです ↓
このMIDIファイルを再生すると下図のように光ります ↓ (点灯したままになります)
電源を入れなおせば初期状態になるので消灯されますが、それじゃあんまりなので消灯用のMIDIファイルも置いておきます。
ReaperのSysEx手動入力のテンプレート
参考までに作成したものを置いておきます。
ReaperのSysEx手動入力のテンプレートは本体exeと同じルートフォルダにある『reaper-sysex.ini』というテキストファイルです。
すでに何か登録済みの時は上書きしないで、テキストエディタで開いてマージしましょう。
ここをクリックすると reaper-sysex.ini の中身を表示します。
右辺の各要素にHをくっつけて、F0HとF7Hで挟めばこの記事の序盤で説明した形になりますね。
1-01F (F4, 65)=43 7F 00 00 03 01 4D
1-01F (F4, 65) off=43 7F 00 00 04 01 4D
1-02F (F#4, 66)=43 7F 00 00 03 01 4E
1-02F (F#4, 66) off=43 7F 00 00 04 01 4E
1-03F (G4, 67)=43 7F 00 00 03 01 4F
1-03F (G4, 67) off=43 7F 00 00 04 01 4F
1-04F (G#4, 68)=43 7F 00 00 03 01 50
1-04F (G#4, 68) off=43 7F 00 00 04 01 50
1-05F (A4, 69)=43 7F 00 00 03 01 51
1-05F (A4, 69) off=43 7F 00 00 04 01 51
1-06F (A#4, 70)=43 7F 00 00 03 01 52
1-06F (A#4, 70) off=43 7F 00 00 04 01 52
1-07F (B4, 71)=43 7F 00 00 03 01 53
1-07F (B4, 71) off=43 7F 00 00 04 01 53
1-08F (C5, 72)=43 7F 00 00 03 01 54
1-08F (C5, 72) off=43 7F 00 00 04 01 54
1-09F (C#5, 73)=43 7F 00 00 03 01 55
1-09F (C#5, 73) off=43 7F 00 00 04 01 55
1-10F (D5, 73)=43 7F 00 00 03 01 56
1-10F (D5, 73) off=43 7F 00 00 04 01 56
1-11F (D#5, 73)=43 7F 00 00 03 01 57
1-11F (D#5, 73) off=43 7F 00 00 04 01 57
1-12F (E5, 74)=43 7F 00 00 03 01 58
1-12F (E5, 74) off=43 7F 00 00 04 01 58
2-01F (C4, 60)=43 7F 00 00 03 02 48
2-01F (C4, 60) off=43 7F 00 00 04 02 48
2-02F (C#4, 61)=43 7F 00 00 03 02 49
2-02F (C#4, 61) off=43 7F 00 00 04 02 49
2-03F (D4, 62)=43 7F 00 00 03 02 4A
2-03F (D4, 62) off=43 7F 00 00 04 02 4A
2-04F (D#4, 63)=43 7F 00 00 03 02 4B
2-04F (D#4, 63) off=43 7F 00 00 04 02 4B
2-05F (E4, 64)=43 7F 00 00 03 02 4C
2-05F (E4, 64) off=43 7F 00 00 04 02 4C
2-06F (F4, 65)=43 7F 00 00 03 02 4D
2-06F (F4, 65) off=43 7F 00 00 04 02 4D
2-07F (F#4, 66)=43 7F 00 00 03 02 4E
2-07F (F#4, 66) off=43 7F 00 00 04 02 4E
2-08F (G4, 67)=43 7F 00 00 03 02 4F
2-08F (G4, 67) off=43 7F 00 00 04 02 4F
2-09F (G#4, 68)=43 7F 00 00 03 02 50
2-09F (G#4, 68) off=43 7F 00 00 04 02 50
2-10F (A4, 69)=43 7F 00 00 03 02 51
2-10F (A4, 69) off=43 7F 00 00 04 02 51
2-11F (A#4, 70)=43 7F 00 00 03 02 52
2-11F (A#4, 70) off=43 7F 00 00 04 02 52
2-12F (B4, 71)=43 7F 00 00 03 02 53
2-12F (B4, 71) off=43 7F 00 00 04 02 53
3-01F (G#3, 56)=43 7F 00 00 03 03 44
3-01F (G#3, 56) off=43 7F 00 00 04 03 44
3-02F (A3, 57)=43 7F 00 00 03 03 45
3-02F (A3, 57) off=43 7F 00 00 04 03 45
3-03F (A#3, 58)=43 7F 00 00 03 03 46
3-03F (A#3, 58) off=43 7F 00 00 04 03 46
3-04F (B3, 59)=43 7F 00 00 03 03 47
3-04F (B3, 59) off=43 7F 00 00 04 03 47
3-05F (C4, 60)=43 7F 00 00 03 03 48
3-05F (C4, 60) off=43 7F 00 00 04 03 48
3-06F (C#4, 61)=43 7F 00 00 03 03 49
3-06F (C#4, 61) off=43 7F 00 00 04 03 49
3-07F (D4, 62)=43 7F 00 00 03 03 4A
3-07F (D4, 62) off=43 7F 00 00 04 03 4A
3-08F (D#4, 63)=43 7F 00 00 03 03 4B
3-08F (D#4, 63) off=43 7F 00 00 04 03 4B
3-09F (E4, 64)=43 7F 00 00 03 03 4C
3-09F (E4, 64) off=43 7F 00 00 04 03 4C
3-10F (F4, 65)=43 7F 00 00 03 03 4D
3-10F (F4, 65) off=43 7F 00 00 04 03 4D
3-11F (F#4, 66)=43 7F 00 00 03 03 4E
3-11F (F#4, 66) off=43 7F 00 00 04 03 4E
3-12F (G4, 67)=43 7F 00 00 03 03 4F
3-12F (G4, 67) off=43 7F 00 00 04 03 4F
4-01F (D#3, 51)=43 7F 00 00 03 04 3F
4-01F (D#3, 51) off=43 7F 00 00 04 04 3F
4-02F (E3, 52)=43 7F 00 00 03 04 40
4-02F (E3, 52) off=43 7F 00 00 04 04 40
4-03F (F3, 53)=43 7F 00 00 03 04 41
4-03F (F3, 53) off=43 7F 00 00 04 04 41
4-04F (F#3, 54)=43 7F 00 00 03 04 42
4-04F (F#3, 54) off=43 7F 00 00 04 04 42
4-05F (G3, 55)=43 7F 00 00 03 04 43
4-05F (G3, 55) off=43 7F 00 00 04 04 43
4-06F (G#3, 56)=43 7F 00 00 03 04 44
4-06F (G#3, 56) off=43 7F 00 00 04 04 44
4-07F (A3, 57)=43 7F 00 00 03 04 45
4-07F (A3, 57) off=43 7F 00 00 04 04 45
4-08F (A#3, 58)=43 7F 00 00 03 04 46
4-08F (A#3, 58) off=43 7F 00 00 04 04 46
4-09F (B3, 59)=43 7F 00 00 03 04 47
4-09F (B3, 59 off=43 7F 00 00 04 04 47
4-10F (C4, 60)=43 7F 00 00 03 04 48
4-10F (C4, 60) off=43 7F 00 00 04 04 48
4-11F (C#4, 61)=43 7F 00 00 03 04 49
4-11F (C#4, 61) off=43 7F 00 00 04 04 49
4-12F (D4, 62)=43 7F 00 00 03 04 4A
4-12F (D4, 62) off=43 7F 00 00 04 04 4A
5-01F (A#3, 46)=43 7F 00 00 03 05 3A
5-01F (A#3, 46) off=43 7F 00 00 04 05 3A
5-02F (B3, 47)=43 7F 00 00 03 05 3B
5-02F (B3, 47) off=43 7F 00 00 04 05 3B
5-03F (C3, 48)=43 7F 00 00 03 05 3C
5-03F (C3, 48) off=43 7F 00 00 04 05 3C
5-04F (C#3, 49)=43 7F 00 00 03 05 3D
5-04F (C#3, 49) off=43 7F 00 00 04 05 3D
5-05F (D3, 50)=43 7F 00 00 03 05 3E
5-05F (D3, 50) off=43 7F 00 00 04 05 3E
5-06F (D#3, 51)=43 7F 00 00 03 05 3F
5-06F (D#3, 51) off=43 7F 00 00 04 05 3F
5-07F (E3, 52)=43 7F 00 00 03 05 40
5-07F (E3, 52) off=43 7F 00 00 04 05 40
5-08F (F3, 53)=43 7F 00 00 03 05 41
5-08F (F3, 53) off=43 7F 00 00 04 05 41
5-09F (F#3, 54)=43 7F 00 00 03 05 42
5-09F (F#3, 54) off=43 7F 00 00 04 05 42
5-10F (G3, 55)=43 7F 00 00 03 05 43
5-10F (G3, 55) off=43 7F 00 00 04 05 43
5-11F (G#3, 56)=43 7F 00 00 03 05 44
5-11F (G#3, 56) off=43 7F 00 00 04 05 44
5-12F (A3, 57)=43 7F 00 00 03 05 45
5-12F (A3, 57) off=43 7F 00 00 04 05 45
6-01F (F2, 41)=43 7F 00 00 03 06 35
6-01F (F2, 41) off=43 7F 00 00 04 06 35
6-02F (F#2, 42)=43 7F 00 00 03 06 36
6-02F (F#2, 42) off=43 7F 00 00 04 06 36
6-03F (G2, 43)=43 7F 00 00 03 06 37
6-03F (G2, 43) off=43 7F 00 00 04 06 37
6-04F (G#2, 44)=43 7F 00 00 03 06 38
6-04F (G#2, 44) off=43 7F 00 00 04 06 38
6-05F (A2, 45)=43 7F 00 00 03 06 39
6-05F (A2, 45) off=43 7F 00 00 04 06 39
6-06F (A#2, 46)=43 7F 00 00 03 06 3A
6-06F (A#2, 46) off=43 7F 00 00 04 06 3A
6-07F (B2, 47)=43 7F 00 00 03 06 3B
6-07F (B2, 47) off=43 7F 00 00 04 06 3B
6-08F (C3, 48)=43 7F 00 00 03 06 3C
6-08F (C3, 48) off=43 7F 00 00 04 06 3C
6-09F (C#3, 49)=43 7F 00 00 03 06 3D
6-09F (C#3, 49) off=43 7F 00 00 04 06 3D
6-10F (D3, 50)=43 7F 00 00 03 06 3E
6-10F (D3, 50) off=43 7F 00 00 04 06 3E
6-11F (D#3, 51)=43 7F 00 00 03 06 3F
6-11F (D#3, 51) off=43 7F 00 00 04 06 3F
6-12F (E3, 52)=43 7F 00 00 03 06 40
6-12F (E3, 52) off=43 7F 00 00 04 06 40
以上です。
このサイト内の関連記事