Maybe Thursday
A march/reel thing
Started from this youtube tutorial.
In which I learn about things crashing when you have too much reverb/delay going on, and discover the orbit function.
This track isn’t masked out into an arrangement (yet). It really enjoys crossfading between tune and riff/synth by using different values in degradeBy.
// @by caro401// https://www.youtube.com/watch?v=c3Abnhix0bs// Remix a pop hit into melodic house via EDM Tips// tune: "I Think It's Thursday" by Mike McGoldrick - https://thesession.org/tunes/9711
Pattern.prototype.thisScale = function (up) { return this.scale("Db2:minor").transpose(12 * (up || 0));};
// orbit 1 for small reverb// orbit 2 for moar reverbsetcps(123 / 120 / 2);
let tune = n( `[[2 0 0 -1 0@2 -1 0] [2 3 3 2 3@2 4 3] [2 7 7 6 7@2 6 4] [2 3 3 2 3 6 4 3] [2 0 0 -1 0@2 -1 0] [2 3 3 2 3@2 4 3] [2 7 7 6 7@2 6 4] [2 3 3 2 3 - - -]]!2 [[3 7 7 6 7@2 6 4] [3 7 7 6 7@2 6 7] [9@2 7 6 9@2 7 6] [4 7 6 4 3 2 0 2] [3 7 7 6 7@2 6 4] [3 7 7 6 7@2 6 7] [9@2 7 6 9@2 7 6] [4 7 6 4 3@3 2]]!2`,) .slow(16) .thisScale(2) .s("folkharp") .hpf(700) .gain(1.5) .room(0.2) .rfade(0.2) .orbit(1);
let kick = s("bd:1*4").bank("ace").gain(1.6);let clap = s("[- cp]*2").bank("tr505").gain(0.5).orbit(1);let shakers = stack( s("sh*16") .bank("rm50") .n(choose(2, 3)) .att(rand.range(0, 0.1)) .pan(rand.range(0.2, 0.8)) .jux(rev), //thanks yaxu s("sh*16").bank("xr10").postgain(0.5).pan(rand.range(0, 0.5)), s("sh*16") .bank("t3") .n(choose(0, 2)) .clip(0.7) .postgain(0.8) .pan(rand.range(0.5, 1)),) .gain("[.2 .6 1 .7]!4") .postgain(0.2) .crush(8) .hpf(300) .orbit(1);// use the bitcrusher to get more mids in the shakers
let pianoChords = n("[0,2,4,6]@2 [-2,0,2,4,6]@2 [-5,6,4,2,8]@3 [-1,1,3,7]") .clip(1) .slow(4) .thisScale(1) .s("piano") .orbit(1);
let bass = n("0!4 -2!4 -5!6 < -1 -5 >!2") .clip(1) .slow(4) .thisScale() .s("sawtooth") .adsr(".4:.4:.9:.6") .lpf(200) .lpattack(0.2) .lpd(0.2) .lpenv(4);let subbass = n("0@2 -2@2 -5@3 < -1 -5>") .slow(4) .thisScale() .s("sine") .postgain(4);// .superimpose(x=>x.transpose(-12)) // if working on speakers that can make noise there
let riff = n("4 6 9 2 4 6 9 2 4 9 - 8 - 2 6 4") .thisScale(2) .s("supersaw,z_noise,sine") .crush(rand.range(7, 12)) .lpf(435) .lpenv(5) .lpa(0) .lpd(0.1) .lps(0.46) .lpr(1) .hpf(100) .adsr("0:.005:.4:.06") .unison(3) .detune(perlin.range(0.1, 0.3)) .spread(perlin.range(0.1, 0.7)) .pan(rand) .gain("[.5 .8 1 .9]!4") .delay(".25:0.1:0.7") .room(0.2) .orbit(3);
let synth = n("[- - [- 4] [- 9]] [- [- 8] - [- <9 10 7 11>]]") .slow(2) .thisScale(2) .s("sawtooth") .adsr("0:.375:.4:1") .echo(3, 1 / 16, 0.7) .pan(rand.range(0.4, 0.6)) .room(".2:4") .orbit(2) .lpf(1500);
let pad = n("[0,2,4,6]@2 [0,2,5,6]@2 [6,4,2]@3 [1,3,6]") // shimmer /LFO // .superimpose(x=> x.ply("16@2 16@2 24@3 8").clip(.8)).gain(.5) .slow(4) .thisScale(1) .s("supersaw") .unison(3) .spread(rand.range(0.4, 0.8)) .adsr("0:3:.9:.2") // move the LPF range around a bit! .lpf(rand.range(680, 750)) .lpenv(4) .lpattack(0) .lpdecay(0.5) .lpsustain(0.5) .lpq(3) .hpf(100) .orbit(2);
$: kick;$: stack( clap, shakers, bass, subbass, pianoChords, // pad.postgain(.8), riff.degradeBy(0.9), //.postgain(.5), // synth,//.degrade(), tune.degradeBy(0.7),);