Acid something
Some fun drums and a bass thing
Started from this youtube tutorial.
No idea what tune it wants to be, if it even wants to have a tune at all. Enjoy the acid bass sounds. Started on the train on the way to Halsway in February.
// https://www.youtube.com/watch?v=t0gSNevoaFc&// Techno like Charlotte de Witte
setcps(130 / 120 / 2);
let thisBank = "tr909";Pattern.prototype.thisBank = function () { return this.bank("tr909");};
Pattern.prototype.thisScale = function (up) { return this.scale("F#2:minor").transpose(12 * (up || 0));};
let kick = s("bd:1*4").thisBank().postgain(2);// no 909 shaker samplelet shakers = s("sh:1*16") .bank("tr808") .gain("[.3 .8 1 .9]!4") .pan(rand.range(0.2, 0.8));let hat = s("[- oh:1]*4").thisBank().clip(1);let ride = s("rd*8") .thisBank() .gain("[.3 .7]!4") .pan(rand.range(0.2, 0.8)) .clip(1) .hpf(3400) .postgain(0.3);
let rollBass = n("0*16") .thisScale(-1) .gain("[.4 .8 .9 .9]!4") .s("supersaw") .adsr(".001:.15:0:0.015") .unison(3) .spread(0.3) .lpf(400) .lpenv(4) .hpf(260) .hpq(20);
// slower pattern because you can't hear the sine wave if its both short and lowlet subBass = n("0*16").thisScale(-1).gain("[.4 .9]!4").s("sine").distort(0.1);
let midbass = n("[- [0 -] [0 -] [<[0 2] [2 -]>]]") .fast(2) .thisScale(0) .s("supersaw") .adsr(".005:1:.4:.4") .hpf(120) .unison(5) .detune(0.4) .lpf(260) .lpenv(3.5) .gain("[[.6 1]!4]");
let reese = n("-2 -1 0@2") .slow(4) .thisScale(0) .s("supersaw") .unison(5) .detune(0.5) .spread(0.5) .adsr("0:1:1:.005") .lpf(400);
let strings = n("5 6 7@2") .slow(4) .thisScale(1) .s("gm_string_ensemble_1") .layer( (x) => x.scaleTranspose(2), (x) => x.scaleTranspose(0), (x) => x.scaleTranspose(4), ) .room("0.9:4");
let riff = n("[- [0 -] [0 -] [<[0 2] [2 -]>]]") .fast(2) .thisScale(2) .s("triangle") .adsr(".005:1:.4:.4") .lpf(260) .lpenv(2) .add(note("0,.1,.2,-.3,-12")) .gain(0.4) .room(".6:2") .rfade(0.1);
let synth303 = n("[[-7 0] [-7 0] [-7 0] [<[-7 2] [2 -7]>]]") .fast(2) .thisScale(1) .s("supersaw") .adsr(".005:.32:0:.015") .lpf(30) .lpa(0.005) .lpenv(rand.range(4, 6)) .lpd(0.32) .lps(0) .lpr(rand.range(0.13, 0.15)) .lpq(24) .unison(5) .spread(0.9) .distort("1.5:.4") .pan(rand.range(0.4, 0.6)) .gain("[.5 .9 1 .9]!4");
let stutter = n("[[0 0] 0]") .fast(4) .thisScale(2) .scaleTranspose("[5 <6 [6@3 7]> [4@13 3 4 <3 5>]@2]/4") .transpose("0,12") .clip("[.8 .95]!4 ") .s("gm_choir_aahs") .gain(1.5) .room("0.9:4");
let beep = n("[[0 0] 0]") .fast(4) .thisScale(4) .clip("[.6 .8]!4 ") .s("sine") .gain(0.2) .room(".6:4");
$: kick;$: stack( stack(shakers, hat, ride).mask("<1 1 1 1 1 0 [0 1] 1 1 1>/16"), rollBass.mask("<1 0 1 1 1 0 0 0 1 1>/16"), reese.mask("<0 0 1 0 0 1 1 1 0 0>/16"), subBass.mask("<1 1 1 1 1 0 1 1 1 1>/16"), midbass.mask("<0 0 1 1 0 0 0 1 0 1>/16"), riff.mask("<[0 1] [1 0] 1 0 0 0 [0 1] 1 1 1>/16"), synth303.mask("<1 1 1 0 1 0 1 1 0 1>/16"), // TODO automate moving the filter on this guy stutter.mask("<0 [1 0] [1 0] 0 0 1 1 1 [1 0] 0>/16"), beep.mask("<1 1 1 1 0 [0 1] 1 1 0 1>/16"), strings.mask("<0 0 0 0 0 0 1 1 [0 1] 0>/16"),);