From 0f3da5be4abad3c2eaea65476e7a68d69b34b844 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 1 Jan 2023 10:05:58 +0000 Subject: [PATCH 01/15] 01 --- my-patterns/01.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 my-patterns/01.txt diff --git a/my-patterns/01.txt b/my-patterns/01.txt new file mode 100644 index 00000000..6478a38d --- /dev/null +++ b/my-patterns/01.txt @@ -0,0 +1,5 @@ +s("bd:7").struct("x x [~ x] [x x*2]".iter(8)) + .slow(1.4) + .off(0.25, x => x.speed(saw.range(3,2.5).color('green'))) + .room(3).size(saw.slow(4)) + .lastOf(4, x => x.bank("OberheimDMX")).legato(0.25) From b7624813ccd18914fe6ccce34f7bd49db82bcc3f Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 1 Jan 2023 11:49:20 +0000 Subject: [PATCH 02/15] custom domain --- website/astro.config.mjs | 2 +- website/public/CNAME | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 6714f548..5d4791df 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -30,7 +30,7 @@ export default defineConfig({ mdx(options), tailwind(), ], - site: `https://strudel.tidalcycles.org`, + site: `https://patterns.slab.org`, base: '', }); diff --git a/website/public/CNAME b/website/public/CNAME index 63687b2b..ebb952ff 100644 --- a/website/public/CNAME +++ b/website/public/CNAME @@ -1 +1 @@ -strudel.tidalcycles.org +patterns.slab.org From e9d965ce7aaf16b0069f9be459a5133f5e60f3ec Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 1 Jan 2023 14:22:19 +0000 Subject: [PATCH 03/15] 01b --- my-patterns/01b.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 my-patterns/01b.txt diff --git a/my-patterns/01b.txt b/my-patterns/01b.txt new file mode 100644 index 00000000..e1dff04f --- /dev/null +++ b/my-patterns/01b.txt @@ -0,0 +1,3 @@ +stack(n("{4 [~ 4] ~ [4 ~ 3]@2, 2 ~ [3 7 5]@2}%4").s("snare_hi").speed(1.2), + s("clap:1 [~ clap:0] [~ clap:3]").iter(3).speed(1.5).gain(0.4).color("green") + ) From 98a83ddcc03ba07fbbca7dbaa40115469a54157c Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 1 Jan 2023 17:22:16 +0000 Subject: [PATCH 04/15] 01c --- my-patterns/01c.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 my-patterns/01c.txt diff --git a/my-patterns/01c.txt b/my-patterns/01c.txt new file mode 100644 index 00000000..7cbc0fcd --- /dev/null +++ b/my-patterns/01c.txt @@ -0,0 +1,4 @@ +stack(n("{4 [~ 4] ~ [5*3 ~ 3]@2, 2 ~ [3 7 ~ 5]@2}%3").s("snare_rim ").gain(2).speed("[2,2 [2.02|2.03]]"), + s("clap:1 [~ clap:0] [~ clap:3]").iter(3).speed(1.5).gain(0.4).color("green").delay(0.25).delaytime(1/12).delayfeedback(0.6), + n("3 2 [1 5]").s("framedrum").gain(2).speed(2) + ).room(saw.range(0, 2).slow(32)).size(1.5) From 069d63e3cf0d77370f7f0b27426104de9d2b0251 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 2 Jan 2023 23:33:48 +0000 Subject: [PATCH 05/15] 02 --- my-patterns/02.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 my-patterns/02.txt diff --git a/my-patterns/02.txt b/my-patterns/02.txt new file mode 100644 index 00000000..a71f1d12 --- /dev/null +++ b/my-patterns/02.txt @@ -0,0 +1,8 @@ +s("bd hh sd oh".fast(2)) + .squeeze(n("<[0 1] 2 [0 4]>")) + .bank("RolandTR909") + .reset("1".euclidLegato("<3 2 3 5>","8")) + .sometimesBy("0.2", x => x.crush("3")) + .speed("[<1.02 1>,1.02]") + .when("0 0 [0|1] 0",x => x.fast(1.5).add(speed("-2"))) + .slow(1.7) From 64fd53a8e51f0edba8a6eebdc3468bb8b5981d33 Mon Sep 17 00:00:00 2001 From: Alex McLean Date: Tue, 3 Jan 2023 10:43:54 +0000 Subject: [PATCH 06/15] tweak --- my-patterns/02.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/my-patterns/02.txt b/my-patterns/02.txt index a71f1d12..0647d16f 100644 --- a/my-patterns/02.txt +++ b/my-patterns/02.txt @@ -3,6 +3,6 @@ s("bd hh sd oh".fast(2)) .bank("RolandTR909") .reset("1".euclidLegato("<3 2 3 5>","8")) .sometimesBy("0.2", x => x.crush("3")) - .speed("[<1.02 1>,1.02]") + .speed("[<1.02 1>,1.03]") .when("0 0 [0|1] 0",x => x.fast(1.5).add(speed("-2"))) .slow(1.7) From 405c12ba3fbc4bf9c943b3f38f4764df7f7b6ba1 Mon Sep 17 00:00:00 2001 From: Alex McLean Date: Tue, 3 Jan 2023 10:47:20 +0000 Subject: [PATCH 07/15] deploy on push --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index dd08cfb8..1568a53e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,6 +1,6 @@ name: Build and Deploy -on: [workflow_dispatch] +on: [push] # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: From 9ec5787b4d03d966bc1bec8b7802b39ac98c376a Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 3 Jan 2023 21:26:56 +0000 Subject: [PATCH 08/15] 03 --- my-patterns/03.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 my-patterns/03.txt diff --git a/my-patterns/03.txt b/my-patterns/03.txt new file mode 100644 index 00000000..553433ae --- /dev/null +++ b/my-patterns/03.txt @@ -0,0 +1,10 @@ +stack(s("bd [~ sd] [sh bd] cb".fast("4")) + .bank("YamahaRY30") + .reset("1".euclidLegato("<3 5 7>","[8 16]")) + .early("<0 0.125>") + .speed(1.5) + .chunk(4,x => x.crush(5)) + .off("<0.5 0.125 0.0625>", x => x.speed(8).gain(0.25).pan(sine.slow(2))), + s("clap") +).slow(3.7) + From cf12ecfa348b62eec559e98bf6971c113078121a Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 4 Jan 2023 23:36:40 +0000 Subject: [PATCH 09/15] 04 --- my-patterns/04.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 my-patterns/04.txt diff --git a/my-patterns/04.txt b/my-patterns/04.txt new file mode 100644 index 00000000..af4f40d7 --- /dev/null +++ b/my-patterns/04.txt @@ -0,0 +1,13 @@ +samples({ + atlast: ['extra-samples/atlast/0_piano.wav', 'extra-samples/atlast/1_vocal.wav', 'extra-samples/atlast/2_hardly.wav'], +}, 'github:yaxu/spicule/master/'); + +s("atlast:2") + .chop(32) + .inside(4,iter("8")) + .room(0.3) + .size(0.6) + .jux(rev) + .when("[1 0 0 0]".iter(4).fast(4), x => x.slow(2).speed(0.5).crush(4)) + .slow(4.2) + From 41f5f3fe6e3c469dfadab233f564484afd6534de Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 5 Jan 2023 23:58:48 +0000 Subject: [PATCH 10/15] 05 --- my-patterns/05.txt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 my-patterns/05.txt diff --git a/my-patterns/05.txt b/my-patterns/05.txt new file mode 100644 index 00000000..2ceebb36 --- /dev/null +++ b/my-patterns/05.txt @@ -0,0 +1,26 @@ +var isSubset = (superObj, subObj) => { + return Object.keys(subObj).every(ele => { + if (typeof subObj[ele] == 'object') { + return isSubset(superObj[ele], subObj[ele]); + } + return subObj[ele] === superObj[ele] + }); +}; + +Pattern.prototype.match = function (o, f) { + return stack(this.filterValues(v => !isSubset(v,o)), f(this.filterValues(v => isSubset(v, o)))); +} + +x = s("bd sd [~ hh] sd [~ bd] [~ rd] rm bd*2") + .bank("SequentialCircuitsDrumtracks") + .off("1".div("[8 16]/1.2"), x => x.speed(2).gain(0.8).n(3)) + .speed(1.5) + .juxBy(0.25,rev) + .match({s: 'rd'}, pat => pat.crush(2).end(0.1)) + +y = s("bd:4(7,12,<0 2>)").gain(0.7).crush(3).speed(0.8).end(0.3) + .fast(16/12) + +stack(x,y) + .slow(2.1).when("<0!8 1!4>", x => x.speed(saw.add(1))) + From e56abaefd79f60692729ad7a03a7c7f33ae85e61 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 7 Jan 2023 00:02:39 +0000 Subject: [PATCH 11/15] 06 --- my-patterns/06.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 my-patterns/06.txt diff --git a/my-patterns/06.txt b/my-patterns/06.txt new file mode 100644 index 00000000..ffe8e612 --- /dev/null +++ b/my-patterns/06.txt @@ -0,0 +1,9 @@ +var a = s("mt [ht lt] misc:1") + .off ("<0.25 0.125>", x => x.n(2).speed(2)) + .fast("<2 3@2>") + .bank("ViscoSpaceDrum") + .slow(4) + +var b = s("[clap:2 ~ clap:6]*2").speed(1.4) + +stack(a,b) From efa1cdfcb20be557e1f3ed64f04a7adb156b186f Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 7 Jan 2023 23:12:19 +0000 Subject: [PATCH 12/15] 07 --- my-patterns/07.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 my-patterns/07.txt diff --git a/my-patterns/07.txt b/my-patterns/07.txt new file mode 100644 index 00000000..8fd3ad9a --- /dev/null +++ b/my-patterns/07.txt @@ -0,0 +1,11 @@ +var a = s("mt mt rim") + .fast("<1@3 1.5@1 0.75@4>").gain(0.9) + .bank("ViscoSpaceDrum") + +var b = s("sd*<2@3 2@1 1.5@4 1@1>").gain(1) + .hcutoff(3000) +. +stack(a, + b + ) + From a7aa09a13ed1d2103e88eecd6d8e4c8eae5aafca Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 7 Jan 2023 23:15:50 +0000 Subject: [PATCH 13/15] 07 --- my-patterns/07.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/my-patterns/07.txt b/my-patterns/07.txt index 8fd3ad9a..b60eb4fa 100644 --- a/my-patterns/07.txt +++ b/my-patterns/07.txt @@ -4,7 +4,7 @@ var a = s("mt mt rim") var b = s("sd*<2@3 2@1 1.5@4 1@1>").gain(1) .hcutoff(3000) -. + stack(a, b ) From c84714dc3adc68ec1be8ab39a143302be0d68cbc Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 8 Jan 2023 13:25:22 +0000 Subject: [PATCH 14/15] 08 --- my-patterns/08.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 my-patterns/08.txt diff --git a/my-patterns/08.txt b/my-patterns/08.txt new file mode 100644 index 00000000..bd0fff22 --- /dev/null +++ b/my-patterns/08.txt @@ -0,0 +1,7 @@ +s("bd [~ hh] sd ") + .off("<1 3>".div("<16 8 16>"), x => x.mix(speed("1(3,8,<0 2 3>)")).n("<0 1 2>")) + .off("<1 5 7>".div("<16 8>"), x => x.mix(speed("2(3,8,<0 2 3 4>)")).n("<0 1 2 3>").crush(4).speed(1.5)) + .bank("RolandTR808") + .slow(1.7) +.end(1).room(0.3).size(0.3) + From 3d48135b326884904104dfa1f8c75bc1da3312a9 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 9 Jan 2023 22:47:25 +0000 Subject: [PATCH 15/15] 09 --- my-patterns/09.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 my-patterns/09.txt diff --git a/my-patterns/09.txt b/my-patterns/09.txt new file mode 100644 index 00000000..2a3c6744 --- /dev/null +++ b/my-patterns/09.txt @@ -0,0 +1,15 @@ +var a = s("<[bd [~ sd] sd] !3 [bd [cb sd]]!3>") + .off("<1 3>".div("<16 8 16>"), x => x.mix(speed("1 2 3 [4 5]")).n("<0 1 2>")) + .off(0.125, x => x.mul(speed(2))) + .bank("ViscoSpaceDrum") + .jux(rev) + .end(0.3).room(0.3).size(0.3) + +var b = s("[[ lt:7/2 ht:6/3 ~] ~] sd [~ bd:2] sd") + .gain(1.8).speed("[2.1,2.11]".add(perlin.mul(0.5).slow(2))) + .crush(3).end(0.7) + .bank("RolandTR909") + +stack(a,b) + .slow(1.2) +