Last active
August 21, 2023 19:36
-
-
Save petersalomonsen/b337713ac66b7e32bfc8759f35fad926 to your computer and use it in GitHub Desktop.
sointu test song
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
global.bpm = 110; | |
global.pattern_size_shift = 4; | |
// global.looptimes = 100; | |
//soloInstrument('kick'); | |
/*soloInstrument('pad1'); | |
soloInstrument('pad2'); | |
soloInstrument('pad3');*/ | |
// soloInstrument('lead1'); | |
//soloInstrument('kick'); | |
//soloInstrument('hihat'); | |
//soloInstrument('snare'); | |
//soloInstrument('squarelead'); | |
// soloInstrument('lead1'); | |
/* | |
GO4K_ENV ATTAC(0),DECAY(64),SUSTAIN(96),RELEASE(64),GAIN(90) | |
GO4K_FST AMOUNT(128),DEST(0*MAX_UNIT_SLOTS+2+FST_SET) | |
GO4K_ENV ATTAC(0),DECAY(70),SUSTAIN(0),RELEASE(0),GAIN(100) | |
GO4K_DST DRIVE(32), SNHFREQ(128), FLAGS(0) | |
GO4K_FST AMOUNT(80),DEST(6*MAX_UNIT_SLOTS+1+FST_SET) | |
GO4K_FOP OP(FOP_POP) | |
GO4K_VCO | |
TRANSPOSE(46),DETUNE(64),PHASE(0),GATES(85),COLOR(64),SHAPE(64),GAIN(48),FLAGS(TRISAW) | |
GO4K_FOP OP(FOP_MULP) | |
GO4K_FOP OP(FOP_LOADNOTE) | |
GO4K_FOP OP(FOP_MULP) | |
GO4K_PAN PANNING(40) | |
GO4K_OUT GAIN(12), AUXSEND(1) | |
*/ | |
const sointukick = { | |
"numvoices": 1, | |
"units": [ | |
{ | |
type: "envelope", | |
id: 'env', | |
parameters: { attack: 5, decay: 64,gain: 100,release: 64, stereo: 0,sustain: 0 } | |
}, | |
{ | |
type: 'send', | |
parameters: {amount: 128, port: 4, sendpop: 0, stereo: 0, target: 'env'} | |
}, | |
{ | |
type: "envelope", | |
parameters: { attack: 0, decay: 70,gain: 115,release: 0, stereo: 0,sustain: 0 } | |
}, | |
{ | |
type: 'distort', | |
parameters: {drive: 32, stereo: 0} | |
}, | |
{ | |
type: 'send', | |
parameters: {amount: 128, port: 1, sendpop: 0, stereo: 0, target: 'osc'} | |
}, | |
{ | |
type: 'pop', | |
parameters: {stereo: 0} | |
}, | |
{ | |
type: 'oscillator', id: 'osc', parameters: {color: 64, detune: 55, gain: 45, lfo: 0, phase: 0, shape: 96, stereo: 0, transpose: 46, type: 1, unison: 1} | |
}, | |
{ | |
type: 'mulp', | |
parameters: {stereo: 0} | |
}, | |
{ type: 'filter', parameters: {lowpass: 1, frequency: 30, resonance: 128}}, | |
{ | |
type: 'loadnote', | |
parameters: {stereo: 0} | |
}, | |
{ | |
type: 'mulp', | |
parameters: {stereo: 0} | |
}, | |
{ | |
type: 'pan', | |
parameters: {panning: 64, stereo: 0} | |
}, | |
{ type: 'outaux', parameters: {outgain: 110, auxgain: 18, stereo: 1}}, | |
{type: "loadnote"},{ type: "envelope", parameters: {attack: 0, gain: 128, stereo: 0, decay: 80, sustain: 0, release: 80}},{type: "mulp"},{ type: "sync", parameters: {}},{ type: "pop", parameters: {}} | |
] | |
}; | |
addInstrument('kick', {type: 'number', sointu: sointukick}); | |
addInstrument('hihat', {type: 'number', sointu: { | |
/*GO4K_ENV ATTAC(0),DECAY(64),SUSTAIN(15),RELEASE(32),GAIN(100) | |
GO4K_VCO | |
TRANSPOSE(64),DETUNE(64),PHASE(64),GATES(85),COLOR(64),SHAPE(64),GAIN(128),FLAGS(NOISE) | |
GO4K_FOP OP(FOP_MULP) | |
GO4K_VCF FREQUENCY(128),RESONANCE(128),VCFTYPE(BANDPASS) | |
GO4K_FOP OP(FOP_LOADNOTE) | |
GO4K_FOP OP(FOP_MULP) | |
GO4K_PAN PANNING(56) | |
GO4K_OUT GAIN(44), AUXSEND(0)*/ | |
"numvoices": 1, | |
"units": [ | |
{ type: "envelope", parameters: { attack: 0, decay: 64,gain: 76,release: 32, stereo: 0,sustain: 15 } }, | |
{ type: "noise", parameters: { gain: 128, shape: 64, stereo: 00 } }, | |
{ type: 'mulp', parameters: {stereo: 0}}, | |
{ type: 'filter', parameters: {bandpass: 1, frequency: 128, highpass: | |
0, lowpass: 0, negbandpass: 0, neghighpass: 0, resonance: 128, stereo: | |
0}}, | |
{ type: 'loadnote', parameters: {stereo: 0}}, | |
{ type: 'mulp', parameters: {stereo: 0}}, | |
{ type: 'pan', parameters: {panning: 64, stereo: 0} }, | |
{ type: 'outaux', parameters: {outgain: 100, auxgain: 100, stereo: 1}}, | |
{type: "loadnote"},{ type: "envelope", parameters: {attack: 0, gain: 128, stereo: 0, decay: 80, sustain: 0, release: 80}},{type: "mulp"},{ type: "sync", parameters: {}},{ type: "pop", parameters: {}} | |
] | |
}}); | |
const bass = {type: 'note', sointu: { | |
"numvoices": 1, | |
"units": [ | |
{ type: "envelope", id: 'env', parameters: { attack: 32, decay: 76,gain: 55,release: 75, stereo: 0,sustain: 28 } }, | |
{ type: 'oscillator', parameters: {color: 90, detune: 64, gain: 128, lfo: 0, phase: 32, shape: 96, stereo: 0, transpose: 76, type: 2, unison: 0}}, | |
{ type: 'mulp', parameters: {stereo: 0}}, | |
{ type: 'filter', parameters: {lowpass: 1, frequency: 20, resonance: 128}}, | |
{ type: 'pan', parameters: {panning: 64, stereo: 0} }, | |
{ type: 'outaux', parameters: {outgain: 100, auxgain: 10, stereo: 1}}, | |
{type: "loadnote"},{ type: "envelope", parameters: {attack: 0, gain: 128, stereo: 0, decay: 80, sustain: 0, release: 80}},{type: "mulp"},{ type: "sync", parameters: {}},{ type: "pop", parameters: {}} | |
] | |
} | |
}; | |
addInstrument('bass_1', bass); | |
addInstrument('bass_2', bass); | |
addInstrumentGroup('bass', ['bass_1','bass_2']); | |
const lead2 = { | |
"numvoices": 1, | |
"units": [ | |
{ type: "envelope", id: 'env', parameters: { attack: 16, decay: 93,gain: 6,release: 90, stereo: 0,sustain: 100 } }, | |
{ type: 'send', parameters: {amount: 126, port: 4, sendpop: 0, stereo: 0, target: 'env'}}, | |
{ type: 'oscillator', parameters: {color: 115, detune: 60, gain: 4, lfo: 0, phase: 32, shape: 109, stereo: 0, transpose: 64, type: 1, unison: 3}}, | |
{ type: 'mulp', parameters: { stereo: 0}}, | |
{ type: "envelope", id: 'env2', parameters: { attack: 16, decay: 93,gain: 6,release: 90, stereo: 0,sustain: 100 } }, | |
{ type: 'send', parameters: {amount: 126, port: 4, sendpop: 0, stereo: 0, target: 'env2'}}, | |
{ type: 'oscillator', parameters: {color: 115, detune: 68, gain: 4, lfo: 0, phase: 96, shape: 110, stereo: 0, transpose: 64, type: 0, unison: 3}}, | |
{ type: 'mulp', parameters: { stereo: 0}}, | |
{ type: 'filter', parameters: {stereo: 1, lowpass: 1, frequency: 125, resonance: 50}}, | |
{ type: 'filter', parameters: {stereo: 1, lowpass: 1, frequency: 86, resonance: 86}}, | |
{type: 'push', parameters: {stereo: 1}}, | |
{type: 'aux', parameters: {channel: 4, gain: 64, stereo: 1}}, | |
{ type: 'pan', parameters: {panning: 64, stereo: 1} }, | |
{type: 'outaux', parameters: {outgain: 32, auxgain: 128, stereo: 1}}, | |
{type: "loadnote"}, | |
{ type: "envelope", parameters: {attack: 0, gain: 128, stereo: 0, decay: 80, sustain: 0, release: 80}}, | |
{type: "mulp"}, | |
{ type: "sync", parameters: {}}, | |
{ type: "pop", parameters: {}} | |
] | |
}; | |
addInstrument('lead2', {type: 'note', sointu: lead2}); | |
addInstrument('lead2_2', {type: 'note', sointu: lead2}); | |
addInstrument('lead2_3', {type: 'note', sointu: lead2}); | |
addInstrument('lead2_4', {type: 'note', sointu: lead2}); | |
addInstrument('lead2_5', {type: 'note', sointu: lead2}); | |
addInstrumentGroup('leads', ['lead2','lead2_2', 'lead2_3','lead2_4','lead2_5']); | |
addInstrument('snare', {type: 'number', sointu: { | |
"numvoices": 1, | |
"units": [ | |
{ type: "envelope", id: 'env', parameters: { attack: 0, decay: 73,gain: 117,release: 73, stereo: 0,sustain: 0 } }, | |
{type: 'send', parameters: {amount: 128, port: 4, sendpop: 0, stereo: 0, target: 'env'}}, | |
{ type: "noise", parameters: { gain: 128, shape: 64, stereo: 0 } }, | |
{ type: 'mulp', parameters: {stereo: 0}}, | |
{ type: 'filter', parameters: {bandpass: 1, frequency: 15, highpass: 0, lowpass: 0, negbandpass: 0, neghighpass: 0, resonance: 100, stereo: 0}}, | |
{ type: "envelope", parameters: { attack: 0, decay: 63,gain: 120,release: 32, stereo: 0,sustain: 0 } }, | |
{ type: "noise", parameters: { gain: 128, shape: 64, stereo: 0 } }, | |
{ type: 'mulp', parameters: {stereo: 0}}, | |
{ type: 'filter', parameters: {bandpass: 1, frequency: 55, highpass: 0, lowpass: 0, negbandpass: 0, neghighpass: 0, resonance: 100, stereo: 0}}, | |
{ type: "envelope", parameters: { attack: 0, decay: 54,gain: 60,release: 32, stereo: 0,sustain: 0 } }, | |
{ type: "noise", parameters: { gain: 120, shape: 64, stereo: 0 } }, | |
{ type: 'mulp', parameters: {stereo: 0}}, | |
{ type: 'filter', parameters: {bandpass: 1, frequency: 95, highpass: 0, lowpass: 0, negbandpass: 0, neghighpass: 0, resonance: 100, stereo: 0}}, | |
{ type: 'addp', parameters: {stereo: 0}}, | |
{ type: 'addp', parameters: {stereo: 0}}, | |
{ type: 'loadnote', parameters: {stereo: 0}}, | |
{ type: 'mulp', parameters: {stereo: 0}}, | |
{ type: 'pan', parameters: {panning: 64, stereo: 0} }, | |
{ type: "outaux", parameters: { outgain: 80, auxgain: 40, stereo: 1 } }, | |
{type: "loadnote"},{ type: "envelope", parameters: {attack: 0, gain: 128, stereo: 0, decay: 80, sustain: 0, release: 80}},{type: "mulp"},{ type: "sync", parameters: {}},{ type: "pop", parameters: {}} | |
]}}); | |
const warmpad = (pan) => ({ | |
"numvoices": 1, | |
"units": [ | |
{ type: "envelope", parameters: { attack: 64, decay: 40,gain: 36,release: 70, stereo: 0,sustain: 80 } }, | |
{ type: 'push'}, | |
{ type: 'oscillator', parameters: {color: 120, detune: 58, gain: 33, lfo: 0, phase: 64, shape: 20, stereo: 1, transpose: 64, type: 0, unison: 3}}, | |
{ type: 'mulp', parameters: {stereo: 1}}, | |
{ type: 'filter', id: 'filter', parameters: {lowpass: 1, frequency: 40, resonance: 64, stereo: 1}}, | |
{ type: 'pan', parameters: {panning: pan, stereo: 1} }, | |
{ type: 'push', parameters: {stereo: 1}}, | |
{ type: 'aux', parameters: {channel: 4, gain: 120, stereo: 1}}, | |
{ type: 'outaux', parameters: {outgain: 110, auxgain: 50, stereo: 1}}, | |
{type: "loadnote"},{ type: "envelope", parameters: {attack: 0, gain: 128, stereo: 0, decay: 80, sustain: 0, release: 80}},{type: "mulp"},{ type: "sync", parameters: {}},{ type: "pop", parameters: {}} | |
] | |
}); | |
addInstrument('warmpad', {type: 'note', sointu: warmpad(50)}); | |
addInstrument('warmpad_2', {type: 'note', sointu: warmpad(70)}); | |
addInstrument('warmpad_3', {type: 'note', sointu: warmpad(40)}); | |
addInstrument('warmpad_4', {type: 'note', sointu: warmpad(80)}); | |
addInstrument('warmpad_5', {type: 'note', sointu: warmpad(30)}); | |
addInstrument('warmpad_6', {type: 'note', sointu: warmpad(90)}); | |
addInstrumentGroup('warmpads', ['warmpad','warmpad_2', 'warmpad_3', 'warmpad_4', 'warmpad_5', 'warmpad_6']); | |
addInstrument('Global', {type: 'number', sointu: { | |
"numvoices": 1, | |
"units": [ | |
{type: 'in', parameters: {channel: 2, stereo: 1}}, | |
{ type: 'delay', | |
parameters: {damp: 64, dry: 128, feedback: 125, notetracking: 0, pregain: 30, stereo: 0}, | |
varargs: [1116, 1188, 1276, 1356, 1422, 1492, 1556, 1618] | |
}, | |
{ | |
type: 'outaux', parameters: {auxgain: 0, outgain: 128, stereo: 1} | |
}, | |
{type: 'in', parameters: {channel: 4, stereo: 1}}, | |
{ type: 'delay', | |
parameters: {damp: 64, dry: 64, feedback: 64, notetracking: 0, pregain: 53, stereo: 0}, | |
varargs: [16537, 16537] | |
}, | |
{ | |
type: 'outaux', parameters: {auxgain: 0, outgain: 128, stereo: 1} | |
}, | |
{type: 'in', parameters: {channel: 0, stereo: 1}}, | |
{type: 'push', parameters: {channel: 0, stereo: 1}}, | |
{type: 'filter', parameters: {bandpass: 0, frequency: 38, highpass: 1, lowpass: 0, negbandpass: 0, neghighpass: 0, resonance: 128, stereo: 1}}, | |
{type: 'compressor', parameters: {attack: 16, invgain: 105, ratio: 10, release: 54, stereo: 1, threshold: 70}}, | |
{type: 'mulp',parameters: {stereo: 1}}, | |
{type: 'xch',parameters: {stereo: 1}}, | |
{type: 'filter', parameters: {bandpass: 0, frequency: 12, highpass: 1, lowpass: 0, negbandpass: 0, neghighpass: 0, resonance: 90, stereo: 1}}, | |
//{type: 'compressor', parameters: {attack: 16, invgain: 80, ratio: 50, release: 64, stereo: 1, threshold: 55}}, | |
{type: 'compressor', parameters: {attack: 8, invgain: 64, ratio: 15, release: 48, stereo: 1, threshold: 10}}, | |
{type: 'mulp', parameters: {stereo: 1}}, | |
{type: 'addp',parameters: {stereo: 1}}, | |
{ | |
type: 'outaux', parameters: {auxgain: 0, outgain: 128, stereo: 1} | |
} | |
] | |
}}); | |
playPatterns({ | |
kick: pp(4, [ | |
70,0,0,0, | |
70,0,0,0, | |
70,0,0,0, | |
70,0,0,0, | |
70,0,0,0, | |
70,0,0,0, | |
70,0,0,0, | |
70,0,0,0 | |
]), | |
"bass": pp(4, [e2(1/2),,e2(1/2),, | |
,,e2(1/2),, | |
[,c3],,c3(1/2),, | |
,,c3(1/2),, | |
g2,,g2(1/2),, | |
,,g2(1/2),, | |
,,g2(1/2),, | |
[,b2(1/2)],,d3,], 2), | |
"leads": pp(4, [g6(1/2),,[,fs6(1/2)],, | |
g6(1/2),,e6(1/2),, | |
g6(1/2),,fs6(1/2),, | |
[,g6(1/2)],,e6(1/2),, | |
g6(1/2),,fs6(1/2),, | |
g6(1/2),,d6(1/2),, | |
g6(1/2),,fs6(1/2),, | |
g6(1/2),,b6,], 5), | |
"warmpads": pp(4, [[g5(7/4),e5(7/4)],,,, | |
,,,, | |
[e5(3/2),c6(3/2)],,,, | |
,,[d5(6/2),b5(6/2)],], 6), | |
},1); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment