Skip to content

Instantly share code, notes, and snippets.

@ttsuki
Created August 1, 2016 18:52
Show Gist options
  • Save ttsuki/5bf0ebe38a605200a734573d45e55e39 to your computer and use it in GitHub Desktop.
Save ttsuki/5bf0ebe38a605200a734573d45e55e39 to your computer and use it in GitHub Desktop.
Function XGXcl1(Int Address, Int _val) { SysEx = $F0, $43,$10,$4C, (Address / 65536 & $7F), (Address / 256 & $7F), (Address & $7F), (_val & $7F), $F7; }
Function XGXclV(Int Address, Int _val) { SysEx = $F0, $43,$10,$4C, (Address / 65536 & $7F), (Address / 256 & $7F), (Address & $7F), (_val / 128 & $7F), (_val & $7F), $F7; }
XGXcl1($00007E, 0); // XG SYSTEM ON
r8
Function XGXcl1(Int Address, Int _val) { SysEx = $F0, $43,$10,$4C, (Address / 65536 & $7F), (Address / 256 & $7F), (Address & $7F), (_val & $7F), $F7; }
Function XGXclV(Int Address, Int _val) { SysEx = $F0, $43,$10,$4C, (Address / 65536 & $7F), (Address / 256 & $7F), (Address & $7F), (_val / 128 & $7F), (_val & $7F), $F7; }
r%1 XGXclV($020100, $0081); // Effect[Reverb] EffectType = HALL 2
r%1 XGXcl1($02010C, $20); // Effect[Reverb] Return = 32
r%1 XGXcl1($02010D, $40); // Effect[Reverb] Pan = C
r%1 XGXcl1($020102, $19); // Effect[Reverb] Reverb Time = 2.8s
r%1 XGXcl1($020103, $0A); // Effect[Reverb] Diffusion = 10
r%1 XGXcl1($020104, $1C); // Effect[Reverb] Initial Delay = 44.2ms
r%1 XGXcl1($020105, $06); // Effect[Reverb] HPF Cutoff = 40
r%1 XGXcl1($020106, $2E); // Effect[Reverb] LPF Cutoff = 4.0k
r%1 XGXcl1($020110, $0D); // Effect[Reverb] Rev Delay = 20.6ms
r%1 XGXcl1($020111, $03); // Effect[Reverb] Density = 3
r%1 XGXcl1($020112, $4A); // Effect[Reverb] Er/Rev Balance = E<R10
r%1 XGXcl1($020113, $07); // Effect[Reverb] High Damp = 0.7
r%1 XGXcl1($020114, $40); // Effect[Reverb] Feedback Level = +00
r%1 XGXclV($020120, $2B80); // Effect[Chorus] EffectType = ENS DETUNE
r%1 XGXcl1($02012C, $20); // Effect[Chorus] Return = 32
r%1 XGXcl1($02012D, $40); // Effect[Chorus] Pan = C
r%1 XGXcl1($02012E, $14); // Effect[Chorus] SendToReverb = 20
r%1 XGXcl1($020122, $36); // Effect[Chorus] Detune = -10ct
r%1 XGXcl1($020123, $00); // Effect[Chorus] Lch Init Delay = 0.0
r%1 XGXcl1($020124, $00); // Effect[Chorus] Rch Init Delay = 0.0ms
r%1 XGXclV($020140, $0B00); // Effect[Variation] EffectType = TE.CRS DLY
r%1 XGXcl1($02015A, $01); // Effect[Variation] VariationConnect = System
r%1 XGXcl1($020156, $40); // Effect[Variation] Return = 64
r%1 XGXcl1($020157, $40); // Effect[Variation] Pan = C
r%1 XGXcl1($020158, $1E); // Effect[Variation] SendToReverb = 30
r%1 XGXcl1($020159, $0A); // Effect[Variation] SendToChorus = 10
r%1 XGXclV($020142, $0008); // Effect[Variation] Delay Time L>R = 8th
r%1 XGXclV($020144, $0008); // Effect[Variation] Delay Time R>L = 8th
r%1 XGXclV($020146, $0066); // Effect[Variation] Feedback Level = +38
r%1 XGXclV($020148, $0001); // Effect[Variation] Input Select = R
r%1 XGXclV($02014A, $000A); // Effect[Variation] High Damp = 1.0
r%1 XGXclV($02014C, $0040); // Effect[Variation] Lag = +00ms
r%1 XGXcl1($020172, $1C); // Effect[Variation] EQ Low Freq = 500Hz
r%1 XGXcl1($020173, $40); // Effect[Variation] EQ Low Gain = +00dB
r%1 XGXcl1($020174, $2E); // Effect[Variation] EQ High Freq = 4.0kHz
r%1 XGXcl1($020175, $40); // Effect[Variation] EQ High Gain = +00dB
Function XGXcl1(Int Address, Int _val) { SysEx = $F0, $43,$10,$4C, (Address / 65536 & $7F), (Address / 256 & $7F), (Address & $7F), (_val & $7F), $F7; }
Function XGXclV(Int Address, Int _val) { SysEx = $F0, $43,$10,$4C, (Address / 65536 & $7F), (Address / 256 & $7F), (Address & $7F), (_val / 128 & $7F), (_val & $7F), $F7; }
r%1 XGXclV($030000, $2680); // Effect[Insertion1] EffectType = 2-BAND EQ
r%1 XGXcl1($03000C, $00); // Effect[Insertion1] PartNumber = 1
r%1 XGXcl1($030002, $1E); // Effect[Insertion1] EQ Low Freq = 630Hz
r%1 XGXcl1($030003, $43); // Effect[Insertion1] EQ Low Gain = +3dB
r%1 XGXcl1($030004, $2E); // Effect[Insertion1] EQ High Freq = 4.0kHz
r%1 XGXcl1($030005, $43); // Effect[Insertion1] EQ High Gain = +3dB
r%1 XGXclV($030100, $2680); // Effect[Insertion2] EffectType = 2-BAND EQ
r%1 XGXcl1($03010C, $09); // Effect[Insertion2] PartNumber = 10
r%1 XGXcl1($030102, $0E); // Effect[Insertion2] EQ Low Freq = 100Hz
r%1 XGXcl1($030103, $40); // Effect[Insertion2] EQ Low Gain = +00dB
r%1 XGXcl1($030104, $22); // Effect[Insertion2] EQ High Freq = 1.0kHz
r%1 XGXcl1($030105, $40); // Effect[Insertion2] EQ High Gain = +00dB
r%1 XGXclV($030200, $2980); // Effect[Insertion3] EffectType = COMPRESSOR
r%1 XGXcl1($03020C, $08); // Effect[Insertion3] PartNumber = 9
r%1 XGXcl1($030202, $0A); // Effect[Insertion3] Attack = 12
r%1 XGXcl1($030203, $00); // Effect[Insertion3] Release = 10ms
r%1 XGXcl1($030204, $6D); // Effect[Insertion3] Threshold = -18dB
r%1 XGXcl1($030205, $04); // Effect[Insertion3] Ratio = 5.0
r%1 XGXcl1($030206, $55); // Effect[Insertion3] Output Level = 85
r%1 XGXclV($030300, $2980); // Effect[Insertion4] EffectType = COMPRESSOR
r%1 XGXcl1($03030C, $09); // Effect[Insertion4] PartNumber = 10
r%1 XGXcl1($030302, $0A); // Effect[Insertion4] Attack = 12
r%1 XGXcl1($030303, $00); // Effect[Insertion4] Release = 10ms
r%1 XGXcl1($030304, $67); // Effect[Insertion4] Threshold = -24dB
r%1 XGXcl1($030305, $04); // Effect[Insertion4] Ratio = 5.0
r%1 XGXcl1($030306, $5A); // Effect[Insertion4] Output Level = 90
Function XGXcl1(Int Address, Int _val) { SysEx = $F0, $43,$10,$4C, (Address / 65536 & $7F), (Address / 256 & $7F), (Address & $7F), (_val & $7F), $F7; }
r%1 XGXcl1($024000, $00); // MULTI EQ Type = FLAT
r%1 XGXcl1($024001, $42); // MULTI EQ Gain1 = + 2dB
r%1 XGXcl1($024002, $09); // MULTI EQ Freq1 = 56
r%1 XGXcl1($024003, $0A); // MULTI EQ Q1 = 1.0
r%1 XGXcl1($024004, $01); // MULTI EQ Shape1 = PEAKING
r%1 XGXcl1($024005, $42); // MULTI EQ Gain2 = + 2dB
r%1 XGXcl1($024006, $20); // MULTI EQ Freq2 = 800
r%1 XGXcl1($024007, $0A); // MULTI EQ Q2 = 1.0
r%1 XGXcl1($024009, $42); // MULTI EQ Gain3 = + 2dB
r%1 XGXcl1($02400A, $24); // MULTI EQ Freq3 = 1.2k
r%1 XGXcl1($02400B, $0A); // MULTI EQ Q3 = 1.0
r%1 XGXcl1($02400D, $42); // MULTI EQ Gain4 = + 2dB
r%1 XGXcl1($02400E, $36); // MULTI EQ Freq4 = 10k
r%1 XGXcl1($02400F, $0C); // MULTI EQ Q4 = 1.2
r%1 XGXcl1($024011, $44); // MULTI EQ Gain5 = + 4dB
r%1 XGXcl1($024012, $3A); // MULTI EQ Freq5 = 16k
r%1 XGXcl1($024013, $09); // MULTI EQ Q5 = 0.9
r%1 XGXcl1($024014, $01); // MULTI EQ Shape5 = PEAKING
XGXcl1($080F07,4) // Channel 16 = Drum
Function XGNrpn(Int _msb, Int _lsb, Int _data) { y99,_msb y98,_lsb y6,_data }
Function TrackParam(_ch, _pgm,_pgl,_pgc, _vol=100, _pan=0, _rev=40,_cho=0,_var=0,_dry=0, _lpf=0,_rsn=0,_hpf=0, _ega=0,_egd=0,_egr=0, _vrt=0,_vdp=0,_vdl=0, _eqbf=$0C, _eqbg=0, _eqtf=$36, _eqtg=0)
{
CH = _ch;
@_pgc,_pgm,_pgl
MainVolume(_vol)
Panpot(64+_pan)
Reverb(_rev)
Chorus(_cho)
VAR(_var)
XGXcl1($080011 | (_ch*256), _dry) // Dry Send Level
XGNrpn(1,$20,_lpf+64) // LPF Freq
XGNrpn(1,$21,_rsn+64) // LPF Reso
XGNrpn(1,$24,_hpf+64) // HPF Freq
XGNrpn(1,$63,_ega+64) // EG Atk
XGNrpn(1,$64,_egd+64) // EQ Dcy
XGNrpn(1,$66,_egr+64) // EQ Rls
XGNrpn(1,$08,_vrt+64) // Vib Rat
XGNrpn(1,$09,_vdp+64) // Vib Dpt
XGNrpn(1,$0A,_vdl+64) // Vib Dly
XGNrpn(1,$34,_eqbf+12) // EQ Bass Freq
XGNrpn(1,$30,_eqbg+64) // EQ Bass Gain
XGNrpn(1,$35,_eqtf+54) // EQ Treble Freq
XGNrpn(1,$31,_eqtg+64) // EQ Treble Gain
r32
}
//ackParam(CH, MSB,LSB,PG#, VOL,PAN, REV,CHO,VAR,DRY, LPF,RSN,HPF, EGA,EGD,EGR, VRt,VDp,VDl, BFq,BGa,TFq,TGa
TrackParam( 1, 32, 0, 30, 127, +7, 30, 10, 40,127, +38,+24, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam( 2, 0, 72,100, 110, 0, 30, 60, 50,127, +30,-17, 0, 0, 0,+22, -4, +1,+15, +19,+34,-17,+60);
TrackParam( 3, 0, 6, 81, 127,-22, 0, 10, 90,127, +17,+15, 0, 0, 0, +6, -4, +6, 0, +24,+28,-18,+58);
TrackParam( 4, 0, 6, 81, 90,+50, 60, 10, 50,127, -12,+12, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam( 5, 0, 0, 13, 118,+37, 40, 20, 70,127, +8, 0, 0, 0, 0, 0, 0, 0, 0, +20,+45,-11,+40);
TrackParam( 6, 0, 14, 99, 120, -8, 50, 0, 50,127, +17, -4, 0, 0, 0, 0, 0, 0, 0, +7,+34,-12,+50);
TrackParam( 7, 0, 70, 31, 100,+16, 0, 0, 0,127, +1,+13, 0, 0, 0, 0, 0, 0, 0, +8,+63,-15,-14);
TrackParam( 8, 0, 70, 40, 117,+10, 0, 30, 0,127, +7,+19, 0, 0, 0, 0, 0, 0, 0, +7,+43,-11,-57);
TrackParam( 9, 127, 0, 58, 127, 0, 10, 0, 2, 90, +10,+10, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam(10, 127, 0, 65, 118,-13, 0, 0, 2,127, +6,+20, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam(11, 0, 65, 90, 110,+43, 40, 0, 20,127, +2,-13,+24, 0, 0, 0, 0, 0, 0, +8,+47,-12,+49);
TrackParam(12, 0, 65, 90, 110,-40, 40, 0, 20,127, -25, 0, +1, 0, 0, 0, 0, 0, 0, +8,+47,,);
TrackParam(13, 0, 0, 36, 80,-10, 0, 0, 0,127, -20,+18, 0, 0, 0, 0, 0, 0, 0, +11,+33,-10,-43);
TrackParam(14, 0, 0, 1, 100, 0, 40, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam(15, 0, 0, 1, 100, 0, 40, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam(16, 127, 0, 27, 110, 0, 10, 0, 2,127, +10, 0, 0, 0, 0, 0, 0, +1, 0, +12,,+4,);
CH 1
r%1 SysEx$ F0,43,10,67,60,00,08,4C,F7
r%1 SysEx$ F0,43,10,67,60,00,09,4C,F7
r%1 SysEx$ F0,43,10,67,60,00,02,2C,F7
r%1 SysEx$ F0,43,10,67,60,00,00,54,F7
r%3 @30,32,0
Function DrumParam(Int _n, Int _pco, Int _pft, Int _vol, Int _pan, Int _rev, Int _cho, Int _var,
Int _lpf, Int _rsn, Int _hpf, Int _atk, Int _dc1, Int _dc2, Int _bfr, Int _bga, Int _tfr, Int _tga)
{
XGNrpn($18,_n,_pco) XGNrpn($19,_n,_pft) XGNrpn($1A,_n,_vol) XGNrpn($1C,_n,_pan)
XGNrpn($1D,_n,_rev) XGNrpn($1E,_n,_cho) XGNrpn($1F,_n,_var)
XGNrpn($14,_n,_lpf) XGNrpn($15,_n,_rsn) XGNrpn($24,_n,_hpf) XGNrpn($16,_n,_atk) XGNrpn($17,_n,_dc1)
XGNrpn($34,_n,_bfr) XGNrpn($30,_n,_bga) XGNrpn($35,_n,_tfr) XGNrpn($31,_n,_tga)
}
CH 9
DrumParam(54,64,64,116,64,63,63,127,64,64,74,64,64,64,12,64,45,84);
DrumParam(57,64,32,118,51,127,127,127,64,64,64,64,64,64,12,64,40,94);
DrumParam(55,64,32,97,64,127,127,127,64,64,64,64,64,64,12,64,40,94);
DrumParam(46,64,32,87,77,32,32,127,64,64,64,64,64,64,12,64,47,94);
DrumParam(42,64,32,80,77,32,32,127,74,64,64,64,64,64,12,64,47,94);
CH 10
DrumParam(35,63,64,127,64,0,0,0,77,86,64,64,64,64,12,127,54,64);
CH 16
DrumParam(40,63,32,127,64,127,127,127,64,74,64,64,64,64,36,108,34,87);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment