Skip to content

Instantly share code, notes, and snippets.

@ttsuki
Created August 1, 2016 18:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ttsuki/dd0bf0c045813b288e47b81954ff421a to your computer and use it in GitHub Desktop.
Save ttsuki/dd0bf0c045813b288e47b81954ff421a 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
r%1 XGXclV($020100, $0081); // Effect[Reverb] EffectType = HALL 2
r%1 XGXcl1($02010C, $40); // Effect[Reverb] Return = 64
r%1 XGXcl1($02010D, $40); // Effect[Reverb] Pan = C
r%1 XGXcl1($020102, $26); // Effect[Reverb] Reverb Time = 4.1s
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, $40); // Effect[Chorus] Return = 64
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, $0A88); // Effect[Variation] EffectType = T.ECHO
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 = 8th
r%1 XGXclV($020144, $006E); // Effect[Variation] Feedback Level = +46
r%1 XGXclV($020146, $000A); // Effect[Variation] High Damp = 1.0
r%1 XGXclV($020148, $004E); // Effect[Variation] L/R Diffusion = +14ms
r%1 XGXclV($02014A, $004E); // Effect[Variation] Lag = +14ms
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, $09); // Effect[Insertion1] PartNumber = 10
r%1 XGXcl1($030002, $0B); // Effect[Insertion1] EQ Low Freq = 70Hz
r%1 XGXcl1($030003, $42); // Effect[Insertion1] EQ Low Gain = +2dB
r%1 XGXcl1($030004, $28); // Effect[Insertion1] EQ High Freq = 2.0kHz
r%1 XGXcl1($030005, $3C); // Effect[Insertion1] EQ High Gain = -4dB
r%1 XGXclV($030100, $2680); // Effect[Insertion2] EffectType = 2-BAND EQ
r%1 XGXcl1($03010C, $00); // Effect[Insertion2] PartNumber = 1
r%1 XGXcl1($030102, $1C); // Effect[Insertion2] EQ Low Freq = 500Hz
r%1 XGXcl1($030103, $44); // Effect[Insertion2] EQ Low Gain = +4dB
r%1 XGXcl1($030104, $2E); // Effect[Insertion2] EQ High Freq = 4.0kHz
r%1 XGXcl1($030105, $46); // Effect[Insertion2] EQ High Gain = +6dB
r%1 XGXclV($030200, $2980); // Effect[Insertion3] EffectType = COMPRESSOR
r%1 XGXcl1($03020C, $09); // Effect[Insertion3] PartNumber = 10
r%1 XGXcl1($030202, $0A); // Effect[Insertion3] Attack = 12
r%1 XGXcl1($030203, $00); // Effect[Insertion3] Release = 10ms
r%1 XGXcl1($030204, $69); // Effect[Insertion3] Threshold = -22dB
r%1 XGXcl1($030205, $04); // Effect[Insertion3] Ratio = 5.0
r%1 XGXcl1($030206, $64); // Effect[Insertion3] Output Level = 100
r%1 XGXclV($030300, $2980); // Effect[Insertion4] EffectType = COMPRESSOR
r%1 XGXcl1($03030C, $08); // Effect[Insertion4] PartNumber = 9
r%1 XGXcl1($030302, $0A); // Effect[Insertion4] Attack = 12
r%1 XGXcl1($030303, $00); // Effect[Insertion4] Release = 10ms
r%1 XGXcl1($030304, $65); // Effect[Insertion4] Threshold = -26dB
r%1 XGXcl1($030305, $04); // Effect[Insertion4] Ratio = 5.0
r%1 XGXcl1($030306, $59); // Effect[Insertion4] Output Level = 89
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
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
}
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)
}
//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, 115,-10, 50, 20, 40,127, +10, +5, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam( 2, 0, 0, 1, 99, 0, 40, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam( 3, 0, 73, 49, 75,-27, 40, 0, 0,127, +15, 0, 0, +3, 0, 0, 0, 0, 0, +18,+24,-6,+56);
TrackParam( 4, 0, 76, 49, 70,+32, 20, 20, 20,127, -12, +5, 0, +7, 0, 0, 0, 0, 0, +26,+10,-13,-7);
TrackParam( 5, 0, 66,102, 90,-36, 30, 30, 50,127, -8,+13, 0, 0, 0, 0, 0, 0, 0, +14,+21,-7,-17);
TrackParam( 6, 0, 65, 90, 104, +8, 40, 30, 25,100, +3,+11, 0, 0, 0, 0, -1, +2, 0, +8,+47,-12,-49);
TrackParam( 7, 0, 0, 1, 100,+26, 40, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam( 8, 0, 70, 40, 104, +7, 10, 0, 0,127, +7,+19, 0, 0, 0, 0, 0, 0, 0, +9,+52,-14,+45);
TrackParam( 9, 127, 0, 57, 100,-42, 40, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam(10, 127, 0, 65, 110,-13, 10, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam(11, 0, 73, 99, 90, -7, 20, 40, 30,127, +2,-13,+16, 0, 0, 0, 0, 0, 0, ,,-2,);
TrackParam(12, 0, 14, 99, 90, 0, 40, 20, 50, 90, -23,-40,+30, 0, 0, 0, 0, 0, 0, +8,-30,-14,-20);
TrackParam(13, 0, 80, 81, 110, 0, 40, 20, 30, 70, +10, 0, 0, 0, 0, 0, 0, 0, 0, ,,,+38);
TrackParam(14, 0, 42, 99, 90,-13, 40, 20, 50,100, -10, -7, 0, 0, 0, 0, 0, 0, 0, +26,+28,+2,-48);
TrackParam(15, 0, 79, 82, 45,+26, 127, 29, 50, 80, +3,+12, 0, 0, 0, 0, 0, 0, 0, ,,,);
TrackParam(16, 48, 88, 2, 80, 0, 70, 20, 30, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, ,,,);
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
CH 9
DrumParam(46,64,64,87,77,32,32,127,64,64,64,64,64,64,12,64,47,94);
DrumParam(42,64,64,80,77,32,32,127,74,64,64,64,64,64,12,64,47,94);
CH 10
DrumParam(37,64,64,111,64,70,0,0,53,68,64,64,64,64,12,64,54,64);
DrumParam(35,63,64,127,64,0,0,0,77,86,64,64,64,64,12,72,54,64);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment