大好きなエレクトライブ。単体で使っても、非常に楽しいのですが、やっぱり、この魅力の音源をMIDIから、ばっちり使いたい!でも、なぜか、MIDIに関する資料が説明書に乗ってないので、MIDI-IN-DUMPを使って調べて、簡単にまとめてみました。
しかし現在はKORG様のページ公開されています。
ER-1 の主なパラメーターは、NRPN(msb=CC#63H/lsb=cc#62H/value=#6)で操作できます。
| パート名 | 基本(16進数) |
| BD | 0 |
| SD | A |
| TAM | 14 |
| SEQ | 1E |
| AUDIO-IN 1 | 50 |
| AUDIO-IN 2 | 5A |
| Hi-Hat Close | 28 |
| Hi-Hat Open | 7F |
| Crash | 3C |
| Hand Clap | 46 |
■NRPN表(パートは、全て、BDに関する番号なので、他のパートを操作する場合は、lsbに、上のパート番号をみて、基本番号を足す)
| 名前 | msb | lsb | value |
| LowBoost | 2 | 0 | 0-127 |
| Panpot | 2 | 1 | 0-127 |
| Pitch | 2 | 2 | 0-127 |
| Wave | 2 | 3 | 0:off 127:on |
| ModType | 2 | 4 | 0-5 |
| ModSpeed | 2 | 5 | 0-127 |
| ModDepth | 2 | 6 | 0-127 |
| Level | 2 | 7 | 0-127 |
| Decay | 2 | 8 | 0-127 |
| Delay Depth | 2 | 64 | |
| Delay Time | 2 | 65 | |
| Delay Type | 2 | 6B | 0:None 1:Motion 2:Tempo |
プログラムチェンジについて
パターンを変えると、EA-1は、プログラムチェンジ及びバンクセレクト(msb=$0,lsb=$20)を出力する。但しプログラムチェンジを受信するのは、チャンネル1のみなので注意。
| 名前 | Prog | msb | lsb |
| A.01〜A.64 | 1~64 | 0 | 0 |
| B.01〜B.64 | 65~128 | 0 | 0 |
| C.01〜C.64 | 1~64 | 0 | 1 |
| D.01〜D.64 | 65~128 | 0 | 1 |
テキスト音楽「サクラ」で操る
サクラをメインシーケンサーにして、ELECTRIBE
を操りましょう。
サクラの関数で、上記のエフェクトを簡単に操作できます。
| /** KORG ELECTRIBE ER-1 */ // Part 楽器番号 Int BD = 0; //Bass Drum Int SD = $A; //Snare Drum Int TAM = $14 Int SEQ = $1E Int AudioIn1 = $50 Int AudioIn2 = $5A Int HH_C = $28; // Hi-hat close Int HH_O = $7F; Int CRASH = $3C; Int HAND = $46; // Function ER1(LSB, PART, VALUE){ NRPN(2,LSB+PART, VALUE); } Function ER1LowBoost(PART,VALUE){ ER1(0, PART, VALUE); } Function ER1Pan(PART,VALUE) { ER1(1, PART, VALUE); } Function ER1Pitch(PART,VALUE) { ER1(2, PART, VALUE); } Function ER1Wave(PART,VALUE) { ER1(3, PART, VALUE); }//off=0/on=127 Function ER1ModType(PART,VALUE) { ER1(4, PART, VALUE); }//0~5 Function ER1ModSpeed(PART,VALUE){ ER1(5, PART, VALUE); } Function ER1ModDepth(PART,VALUE){ ER1(6, PART, VALUE); } Function ER1Level(PART,VALUE) { ER1(7, PART, VALUE); } Function ER1Decay(PART,VALUE) { ER1(8, PART, VALUE); } Function ER1RingMod(PART,VALUE) { ER1($66, PART, VALUE); }//on/off Function ER1DelayDepth(VALUE) { NRPN(2,$64, VALUE); } Function ER1DelayTime(VALUE) { NRPN(2,$65, VALUE); } Function ER1DelayType(VALUE) { NRPN(2,$6B, VALUE); }//0=note 1=motion 2=Tempo //------------------------------------- /* sample */ TR(1) CH(10) r4 @1 r4 //EFFECT ER1DelayTime(10); ER1DelayDepth(40); ER1LowBoost(BD, 127); ER1LowBoost(SD, 90); ER1Decay(SD,40); ER1Pitch(SD,30); ER1Level(SD,127); ER1ModType(SD,4); ER1ModSpeed(SD,40); ER1ModDepth(SD,12); //標準の時のノートナンバー $b{o3c} //BD $s{o3d} //Snare $m{o3e} //Tam $u{o3f} //Seq $h{o3f+}//Hi-Hat Close $o{o3a+}//Hi-Hat Open $c{o4c+}//Crash $d{o3d+}//Hand Clap Rythm{ l16 [8 brrb srrb bbrr srrr r-1 hhoh hhoh hhoh hhoh32h32 r-1 crur rrur rrur drrr ] } |