mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-10 21:28:31 +00:00
+ update build and setup tasks + workflow + move repl test folder to root + move docs and repl to website/src
2 lines
225 KiB
JSON
2 lines
225 KiB
JSON
[{"id":10,"created_at":"2022-06-26T11:01:55.904597+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .speed(perlin.range(.7,.9)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .out()\n .slow(3/2)","hash":"nLsPXvEPTcQF"},{"id":46,"created_at":"2022-07-18T05:59:44.00982+00:00","code":"stack(\n seq(\n e5, [b4, c5], d5, [c5, b4],\n a4, [a4, c5], e5, [d5, c5],\n b4, [r, c5], d5, e5,\n c5, a4, a4, r,\n [r, d5], [r, f5], a5, [g5, f5],\n e5, [r, c5], e5, [d5, c5],\n b4, [b4, c5], d5, e5,\n c5, a4, a4, r,\n ).rev(),\n seq(\n e2, e3, e2, e3, e2, e3, e2, e3,\n a2, a3, a2, a3, a2, a3, a2, a3,\n gs2, gs3, gs2, gs3, e2, e3, e2, e3,\n a2, a3, a2, a3, a2, a3, b1, c2,\n d2, d3, d2, d3, d2, d3, d2, d3,\n c2, c3, c2, c3, c2, c3, c2, c3,\n b1, b2, b1, b2, e2, e3, e2, e3,\n a1, a2, a1, a2, a1, a2, a1, a2,\n ).rev()\n).slow(16)","hash":"wj1_oPJEGjUu"},{"id":49,"created_at":"2022-07-18T07:00:41.350672+00:00","code":"\"f2,f3,c4,ab4\"\n.scale(seq('F minor', 'F harmonic minor').slow(4))\n.scaleTranspose(\"<0 -1 -2 -3>\")\n.transpose(\"0 1\".slow(16))","hash":"RnD3yO0e31p-"},{"id":75,"created_at":"2022-08-01T12:55:04.965073+00:00","code":"const xorwise = (x) => {\n const a = (x << 13) ^ x;\n const b = (a >> 17) ^ a;\n return (b << 5) ^ b;\n};\nconst _frac = (x) => x - Math.trunc(x);\nconst timeToIntSeed = (x) => xorwise(Math.trunc(_frac(x / 300) * 536870912));\nconst intSeedToRand = (x) => (x % 536870912) / 536870912;\nconst timeToRand = (x) => Math.abs(intSeedToRand(timeToIntSeed(x)));\n\nconst ctx = getDrawContext();\nctx.fillStyle='darkseagreen'\nctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)\nconst bars = 400;\nconst barMaxHeight = 200;\n\nconst barWidth = ctx.canvas.width / bars;\nfor(let i = 0;i<bars;i++) {\n const height = barMaxHeight*timeToRand(i/bars);\n ctx.fillRect(barWidth*i,800-height,barWidth,height) \n}\nsilence;","hash":"rr1DhAIFVsNf"},{"id":76,"created_at":"2022-08-01T12:56:48.792832+00:00","code":"const xorwise = (x) => {\n const a = (x << 13) ^ x;\n const b = (a >> 17) ^ a;\n return (b << 5) ^ b;\n};\nconst _frac = (x) => x - Math.trunc(x);\nconst timeToIntSeed = (x) => xorwise(Math.trunc(_frac(x / 300) * 536870912));\nconst intSeedToRand = (x) => (x % 536870912) / 536870912;\nconst timeToRand = (x) => Math.abs(intSeedToRand(timeToIntSeed(x)));\n\nconst ctx = getDrawContext();\nctx.fillStyle='darkseagreen'\nctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)\nconst bars = 400;\nconst barMaxHeight = 200;\nconst yCenter = 700;\n\nconst barWidth = ctx.canvas.width / bars;\nfor(let i = 0;i<bars;i++) {\n const height = barMaxHeight*timeToRand(i/bars);\n ctx.fillRect(barWidth*i,yCenter-height/2,barWidth,height) \n}\nsilence;","hash":"AnRyPR-aJRnM"},{"id":77,"created_at":"2022-08-01T12:59:31.495312+00:00","code":"const xorwise = (x) => {\n const a = (x << 13) ^ x;\n const b = (a >> 17) ^ a;\n return (b << 5) ^ b;\n};\nconst _frac = (x) => x - Math.trunc(x);\nconst timeToIntSeed = (x) => xorwise(Math.trunc(_frac(x / 300) * 536870912));\nconst intSeedToRand = (x) => (x % 536870912) / 536870912;\nconst timeToRand = (x) => Math.abs(intSeedToRand(timeToIntSeed(x)));\n\nconst ctx = getDrawContext();\nctx.fillStyle='darkseagreen'\nctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)\nconst bars = 300;\nconst barMaxHeight = 200;\nconst yCenter = 700;\n\nconst barWidth = ctx.canvas.width / bars;\nfor(let i = 0;i<bars;i++) {\n const height = barMaxHeight*timeToRand(i*5);\n ctx.fillRect(barWidth*i,yCenter-height/2,barWidth,height) \n}\nsilence;","hash":"CpHjU1-jPeGv"},{"id":78,"created_at":"2022-08-01T13:01:44.491477+00:00","code":"const xorwise = (x) => {\n const a = (x << 13) ^ x;\n const b = (a >> 17) ^ a;\n return (b << 5) ^ b;\n};\nconst _frac = (x) => x - Math.trunc(x);\nconst timeToIntSeed = (x) => xorwise(Math.trunc(_frac(x / 3000) * 536870912));\nconst intSeedToRand = (x) => (x % 536870912) / 536870912;\nconst timeToRand = (x) => Math.abs(intSeedToRand(timeToIntSeed(x)));\n\nconst ctx = getDrawContext();\nctx.fillStyle='darkseagreen'\nctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)\nconst bars = 300;\nconst barMaxHeight = 200;\nconst yCenter = 700;\n\nconst barWidth = ctx.canvas.width / bars;\nfor(let i = 0;i<bars;i++) {\n const height = barMaxHeight*timeToRand(i*5);\n ctx.fillRect(barWidth*i,yCenter-height/2,barWidth,height) \n}\nsilence;","hash":"LgsIpYacgnRK"},{"id":80,"created_at":"2022-08-01T21:43:39.026329+00:00","code":"const correlation = (xs, ys) => {\n let n = Math.min(xs.length, ys.length)\n let [s_x, s_y, s_xy, s_x2, s_y2] = [0,0,0,0,0] \n for (let i = 0; i < n; i++) {\n s_x += xs[i]; s_x2 += xs[i] * xs[i];\n s_y += ys[i]; s_xy += xs[i] * ys[i];\n s_y2 += ys[i] * ys[i]\n }\n return (s_xy - s_x * s_y / n) / (Math.sqrt(s_x2 - s_x * s_x / n) * Math.sqrt(s_y2 - s_y * s_y / n))\n}\n\nconst cycleCount = 10000\n\nconst nums0 = rand.late(0).segment(1).queryArc(0, cycleCount).map(x => x.value)\nconst nums1 = rand.late(.0001).segment(1).queryArc(0, cycleCount).map(x => x.value)\n\nconsole.log(correlation(nums0, nums1))\n\n\nconst ctx = getDrawContext();\nctx.fillStyle='darkseagreen'\nctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)\n\nfor (let i = 0; i < cycleCount; i++) {\n ctx.fillRect(nums0[i] * ctx.canvas.width, (1 - nums1[i]) * ctx.canvas.width, 2, 2);\n}\n\nsilence;","hash":"5_NKdDWsFCk1"},{"id":81,"created_at":"2022-08-01T23:08:10.209914+00:00","code":"const correlation = (xs, ys) => {\n let n = Math.min(xs.length, ys.length)\n let [s_x, s_y, s_xy, s_x2, s_y2] = [0,0,0,0,0] \n for (let i = 0; i < n; i++) {\n s_x += xs[i]; s_x2 += xs[i] * xs[i];\n s_y += ys[i]; s_xy += xs[i] * ys[i];\n s_y2 += ys[i] * ys[i]\n }\n return (s_xy - s_x * s_y / n) / (Math.sqrt(s_x2 - s_x * s_x / n) * Math.sqrt(s_y2 - s_y * s_y / n))\n}\n\nconst cycleCount = 10000\n\nconst nums0 = rand.segment(1).queryArc(0, cycleCount).map(x => x.value)\nconst nums1 = rand.late(.0001).segment(1).queryArc(0, cycleCount).map(x => x.value)\n\nconsole.log(correlation(nums0, nums1))\n\n\nconst ctx = getDrawContext();\nctx.fillStyle='darkseagreen'\nctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)\nctx.fillText('Pearson correlation is ' + correlation(nums0, nums1), 10, ctx.canvas.height - 100)\n\nfor (let i = 0; i < cycleCount; i++) {\n ctx.fillRect(nums0[i] * ctx.canvas.width, (1 - nums1[i]) * ctx.canvas.height, 2, 2);\n}\n\nsilence;","hash":"kH7LV63mXASH"},{"id":220,"created_at":"2022-09-28T16:18:38.7126+00:00","code":" \"<Dm7 Gm7 Am7 Ebm7>\".voicings()\n .superimpose(x=>x.add(perlin.range(0,.3)))\n .add(\"<0 2>/8\")\n .note().s('sawtooth')\n .attack(.1).decay(.05).sustain(.2)\n .segment(\"<6@3 3>\")\n .cutoff(saw.range(500,2000).slow(16))\n .gain(isaw)\n .out()\n .color(\"<lightgray darkgray> [white | gray]\")\n .pianoroll({ vertical:1, fold:1, smear:0,background:'silver' })\n\n // strudel disable-highlighting strudel hide-heade","hash":"cpVS2-bO1LzP"},{"id":11,"created_at":"2022-06-26T11:07:20.701102+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .speed(perlin.range(.7,.9)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .out()\n .slow(3/2)","hash":"ac7iGrXwBA_D"},{"id":12,"created_at":"2022-06-26T11:09:30.200054+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n perc: ['perc/002_perc2.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\n\"C^7 Am7 Dm7 G7\".slow(2).voicings()\n .stack(\"0@6 [<1 2> <2 0> 1]@2\".scale('C5 major'))\n .n().slow(4)\n .s('0040_FluidR3_GM_sf2_file')\n .color('steelblue')\n .stack(\n \"<-7 ~@2 [~@2 -7] -9 ~@2 [~@2 -9] -10!2 ~ [~@2 -10] -5 ~ [-3 -2 -10]@2>*2\".scale('C3 major')\n .n().s('sawtooth').color('brown')\n )\n .attack(0.05).decay(.1).sustain(.7)\n .cutoff(perlin.range(800,2000))\n .gain(.3)\n .stack(\n s(\"<bd!3 [bd ~ bd]> sd,hh*3,~@5 <perc perc*3>\")\n .speed(perlin.range(.9,1.1))\n .n(3).color('gray')\n ).slow(3/2)\n .pianoroll({autorange:1,vertical:1,fold:0})\n .out()","hash":"0l5OmIwd4Xhc"},{"id":13,"created_at":"2022-06-26T22:23:34.464386+00:00","code":"s(\"bd\")","hash":"a5zB31-92Q7M"},{"id":14,"created_at":"2022-06-27T20:39:04.215675+00:00","code":"const bpm = 90;\nconst lead = polysynth().set({...osc('sine4'),...adsr(.004)}).chain(vol(0.15),out())\nconst bass = fmsynth({...osc('sawtooth6'),...adsr(0.05,.6,0.8,0.1)}).chain(vol(0.6), out());\nconst s = scale(cat('F3 minor', 'Ab3 major', 'Bb3 dorian', 'C4 phrygian dominant').slow(4));\nstack(\n \"0 2\".struct(\"<x ~> [x ~]\").apply(s).scaleTranspose(stack(0,2)).tone(lead),\n \"<6 7 9 7>\".struct(\"[~ [x ~]*2]*2\").apply(s).scaleTranspose(\"[0,2] [2,4]\".fast(2).every(4,rev)).tone(lead),\n\t\"-14\".struct(\"[~ x@0.8]*2\".early(0.01)).apply(s).tone(bass),\n \"c2*2\".tone(membrane().chain(vol(0.6), out())),\n \"~ c2\".tone(noise().chain(vol(0.2), out())),\n \"c4*4\".tone(metal(adsr(0,.05,0)).chain(vol(0.03), out()))\n)\n.slow(120 / bpm)","hash":"ZNO6a_vBjz65"},{"id":15,"created_at":"2022-06-28T20:05:20.638134+00:00","code":"samples({ flbass: ['00_c2_finger_long_neck.wav','01_c2_finger_short_neck.wav'] }, \n 'github:cleary/samples-flbass/main/')\n\nnote(\"<8(3,8) <7 7*2> [4 5@3] 8>\".sub(1) // sub 1 -> 1-indexed\n.superimpose(\n x=>x.add(7).color('steelblue')\n .off(1/8,x=>x.add(\"2,4\")\n .off(1/8,x=>x.add(5).echo(4,.125,.5)\n //.hush()\n ))\n .slow(2)\n).scale('A1 minor'))\n.s(\"flbass\").n(\"<0 1>/8\")\n.gain(.3)\n.cutoff(sine.slow(7).range(200,4000))\n.resonance(10)\n//.hcutoff(400)\n.clip(1)\n.out()\n.pianoroll({vertical:1})","hash":"8sxdCCcYKcvp"},{"id":16,"created_at":"2022-06-28T22:58:35.06403+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n perc: ['perc/002_perc2.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\n\"C^7 Am7 Dm7 G7\".slow(2).voicings()\n .stack(\"0@6 [<1 2> <2 0> 1]@2\".scale('C5 major'))\n .n().slow(4)\n .s('0040_FluidR3_GM_sf2_file')\n .color('steelblue')\n .stack(\n \"<-7 ~@2 [~@2 -7] -9 ~@2 [~@2 -9] -10!2 ~ [~@2 -10] -5 ~ [-3 -2 -10]@2>*2\".scale('C3 major')\n .n().s('sawtooth').color('brown')\n )\n .attack(0.05).decay(.1).sustain(.7)\n .cutoff(perlin.range(800,2000))\n .gain(.3)\n .stack(\n s(\"<bd!3 [bd ~ bd]> sd,hh*3,~@5 <perc perc*3>\")\n .speed(perlin.range(.9,1.1))\n .n(3).color('gray')\n ).slow(3/2)\n .pianoroll({autorange:1,vertical:1,fold:0})\n .out()","hash":"PIG8q54uhQ5h"},{"id":18,"created_at":"2022-06-29T11:42:55.248174+00:00","code":"stack(\n // melody\n `[B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3] \n [B3@2 D4] [A4@2 G4] [D4@2 [C4 B3]] [A3]\n [B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3]\n [B3@2 D4] [A4@2 G4] D5@2 \n [D5@2 [C5 B4]] [[C5 B4] G4@2] [C5@2 [B4 A4]] [[B4 A4] E4@2]\n [D5@2 [C5 B4]] [[C5 B4] G4 C5] [G5] [~ ~ B3]`,\n // bass\n `[[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[D2 A2] C3@2] [[C2 G2] B2@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[Eb2 Bb2] Db3@2] [[D2 A2] C3 [F3,G2]]`\n).transpose(12).slow(48).tone(\n new PolySynth().chain(\n new Gain(0.3), \n new Chorus(2, 2.5, 0.5).start(), \n new Freeverb(), \n getDestination())\n)","hash":"RyZi9bqqcQku"},{"id":19,"created_at":"2022-06-29T11:43:24.265171+00:00","code":"stack(\n seq(\n \"~\",\n \"~\",\n \"~\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [F5@2 C6] A5 G5\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [Bb5 A5 G5] F5@2\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [F5@2 C6] A5 G5\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [Bb5 A5 G5] F5@2\",\n \"A5 [F5@2 C5] A5 F5\",\n \"Ab5 [F5@2 Ab5] G5@2\",\n \"A5 [F5@2 C5] A5 F5\",\n \"Ab5 [F5@2 C5] C6@2\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [Bb5 A5 G5] F5@2\"\n ),\n seq(\n \"[F4,Bb4,D5] [[D4,G4,Bb4]@2 [Bb3,D4,F4]] [[G3,C4,E4]@2 [[Ab3,F4] [A3,Gb4]]] [Bb3,E4,G4]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, Bb3, Db3] [F3, Bb3, Db3]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [A3, C4, E4] [A3, C4, E4]] [~ [Ab3, C4, Eb4] [Ab3, C4, Eb4]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [G3, C4, E4] [G3, C4, E4]]\",\n \"[~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, Bb3, D4] [F3, Bb3, D4]] [~ [F3, Bb3, C4] [F3, Bb3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [A3, C4, E4] [A3, C4, E4]] [~ [Ab3, C4, Eb4] [Ab3, C4, Eb4]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [G3, C4, E4] [G3, C4, E4]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, Bb3, D4] [F3, Bb3, D4]] [~ [F3, Bb3, C4] [F3, Bb3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]]\",\n \"[~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [A3, C4, F4] [A3, C4, F4]] [~ [A3, C4, F4] [A3, C4, F4]]\",\n \"[~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [G3, Bb3, F4] [G3, Bb3, F4]] [~ [G3, Bb3, E4] [G3, Bb3, E4]]\",\n \"[~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [A3, C4, F4] [A3, C4, F4]] [~ [A3, C4, F4] [A3, C4, F4]]\",\n \"[~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [G3, Bb3, F4] [G3, Bb3, F4]] [~ [G3, Bb3, E4] [G3, Bb3, E4]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, Bb3, D4] [F3, Bb3, D4]] [~ [F3, Bb3, C4] [F3, Bb3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]]\"\n ),\n seq(\n \"[G3 G3 C3 E3]\",\n \"[F2 D2 G2 C2]\",\n \"[F2 D2 G2 C2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[A2 Ab2 G2 C2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[G2 C2 F2 F2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[A2 Ab2 G2 C2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[G2 C2 F2 F2]\",\n \"[Bb2 Bb2 A2 A2]\",\n \"[Ab2 Ab2 G2 [C2 D2 E2]]\",\n \"[Bb2 Bb2 A2 A2]\",\n \"[Ab2 Ab2 G2 [C2 D2 E2]]\",\n \"[F2 A2 Bb2 B2]\",\n \"[G2 C2 F2 F2]\"\n )\n).slow(51);\n","hash":"83h9X6BCipLc"},{"id":20,"created_at":"2022-06-29T20:25:43.622751+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1)","hash":"Ii6-cLJkxdw9"},{"id":21,"created_at":"2022-06-29T20:25:49.311626+00:00","code":"n(\n \"a4 [a3 c3] a3 c3\"\n .sub(\"<7 12>/2\")\n .off(1/8, add(\"12\"))\n .off(1/4, add(\"7\"))\n)\n .legato(.5)\n .slow(2)\n .s(\"sawtooth square\")\n .cutoff(\"<2000 1000 500>\")\n .out()\n","hash":"-QCLFGNo4Q3J"},{"id":47,"created_at":"2022-07-18T06:48:38.473719+00:00","code":"\"c2 d2 e2@2\".struct(\"x x x*3\").note().out().pianoroll({fold:0,autorange:0,vertical:0,minMidi:30,maxMidi:50})","hash":"0KNPD8AmV-ms"},{"id":116,"created_at":"2022-08-27T21:13:04.238761+00:00","code":"const scales = sequence('C minor', ['D locrian', 'G phrygian'], 'Bb2 minor', ['C locrian','F phrygian']).slow(4)\nstack(\n \"<Cm7 [Dm7b5 G7b9] Bbm7 [Cm7b5 F7b9]>\".fast(2).struct(\"x ~ x@3 x ~ x ~ ~ ~ x ~ x@3\".late(1/8)).early(1/8).slow(2).voicings(),\n \"[~ [0 ~]] 0 [~ [4 ~]] 4\".sub(7).restart(scales).scale(scales).early(.25)\n).note().piano().out().slow(2)","hash":"j5oC-CSjk7Kq"},{"id":22,"created_at":"2022-06-30T13:49:02.347298+00:00","code":"const lfo = cosine.slow(15);\nconst lfo2 = sine.slow(16);\nconst filter1 = x=>x.cutoff(lfo2.range(300,3000));\nconst filter2 = x=>x.hcutoff(lfo.range(1000,6000)).cutoff(4000)\nconst scales = cat('D3 major', 'G3 major').slow(8)\n\nconst drums = await players({\n bd: '344/344757_1676145-lq.mp3',\n sn: '387/387186_7255534-lq.mp3',\n hh: '561/561241_12517458-lq.mp3',\n hh2:'44/44944_236326-lq.mp3',\n hh3: '44/44944_236326-lq.mp3',\n}, 'https://freesound.org/data/previews/')\n\nstack(\n \"-7 0 -7 7\".struct(\"x(5,8,2)\").fast(2).sub(7)\n .scale(scales)\n .n()\n .s(\"sawtooth,square\")\n .gain(.3).attack(0.01).decay(0.1).sustain(.5)\n .apply(filter1),\n \"~@3 [<2 3>,<4 5>]\"\n .echo(4,1/16,.7)\n .scale(scales)\n .n()\n .s('square').gain(.7)\n .attack(0.01).decay(0.1).sustain(0)\n .apply(filter1),\n \"6 4 2\".add(14)\n .superimpose(sub(\"5\"))\n .fast(1).euclidLegato(3,8)\n .mask(\"<1 0@7>\")\n .fast(2)\n .echo(32, 1/8, .8)\n .scale(scales)\n .n()\n .s(\"sawtooth\")\n .gain(sine.range(.1,.4).slow(8))\n .attack(.001).decay(.2).sustain(0)\n .apply(filter2)\n).out().stack(\n stack(\n \"bd <~@7 [~ bd]>\".fast(2),\n \"~ sn\",\n \"[~ hh3]*2\"\n ).tone(drums.chain(vol(.18),out())).fast(2)\n).slow(2)\n \n//.pianoroll({minMidi:20, maxMidi:160})\n// strudel disable-highlighting","hash":"vwau_1P_anLs"},{"id":23,"created_at":"2022-07-01T06:57:24.49368+00:00","code":"\"[Dm7 G7] C^7\"\n .layer(\n x=>x.voicings().struct(\"x(3,8)\".fast(2)),\n x=>x.rootNotes(2).struct(\"x*4\").legato(.95)\n )\n .transpose(\"<0 1 2 1>/2\")\n .note()\n .slow(4)\n .out().piano().pianoroll({vertical:1})","hash":"wVExAEFBUPQB"},{"id":24,"created_at":"2022-07-01T14:36:15.475186+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1)","hash":"C8mMgTmvsnue"},{"id":25,"created_at":"2022-07-01T14:38:58.329924+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1)\n.pianoroll()","hash":"EeNsQ8hdNZwN"},{"id":26,"created_at":"2022-07-03T10:45:32.771893+00:00","code":"`[[e5 [b4 c5] d5 [c5 b4]]\n[a4 [a4 c5] e5 [d5 c5]]\n[b4 [~ c5] d5 e5]\n[c5 a4 a4 ~]\n[[~ d5] [~ f5] a5 [g5 f5]]\n[e5 [~ c5] e5 [d5 c5]]\n[b4 [b4 c5] d5 e5]\n[c5 a4 a4 ~]],\n[[e2 e3]*4]\n[[a2 a3]*4]\n[[g#2 g#3]*2 [e2 e3]*2]\n[a2 a3 a2 a3 a2 a3 b1 c2]\n[[d2 d3]*4]\n[[c2 c3]*4]\n[[b1 b2]*2 [e2 e3]*2]\n[[a1 a2]*4]`.slow(16)\n","hash":"AoWRw1oZkytb"},{"id":27,"created_at":"2022-07-03T10:45:53.927468+00:00","code":"// mixer\nconst mix = (key) => vol({\n chords: .2,\n lead: 0.8,\n bass: .4,\n snare: .95, \n kick: .9,\n hihat: .35,\n}[key]||0);\nconst delay = new FeedbackDelay(1/6, .3).chain(vol(.7), out());\nconst delay2 = new FeedbackDelay(1/6, .2).chain(vol(.15), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\n// instruments\nconst instr = (instrument) => ({\n organ: polysynth().set({...osc('sawtooth4'), ...adsr(.01,.2,0)}).chain(mix('chords').connect(delay),out()),\n lead: polysynth().set({...osc('triangle4'),...adsr(0.01,.05,0)}).chain(mix('lead').connect(delay2), out()),\n bass: polysynth().set({...osc('sawtooth8'),...adsr(.02,.05,.3,.2)}).chain(mix('bass'),lowpass(3000), out()),\n pad: polysynth().set({...osc('square2'),...adsr(0.1,.4,0.8)}).chain(vol(0.15),chorus,out()),\n hihat: metal(adsr(0, .02, 0)).chain(mix('hihat'), out()),\n snare: noise(adsr(0, .15, 0.01)).chain(mix('snare'), lowpass(5000), out()),\n kick: membrane().chain(mix('kick'), out())\n}[instrument]);\n// harmony\nconst t = transpose(\"<0 0 1 0>/8\");\nconst sowhat = scaleTranspose(\"0,3,6,9,11\");\n// track\nstack(\n \"[<0 4 [3 [2 1]]>]/4\".struct(\"[x]*3\").mask(\"[~ x ~]\").scale('D5 dorian').off(1/6, scaleTranspose(-7)).off(1/3, scaleTranspose(-5)).apply(t).tone(instr('lead')).mask(\"<~ ~ x x>/8\"),\n \"<<e3 [~@2 a3]> <[d3 ~] [c3 f3] g3>>\".scale('D dorian').apply(sowhat).apply(t).tone(instr('organ')).mask(\"<x x x ~>/8\"),\n \"<[d2 [d2 ~]*3]!3 <a1*2 c2*3 [a1 e2]>>\".apply(t).tone(instr('bass')),\n \"c1*6\".tone(instr('hihat')),\n \"~ c3\".tone(instr('snare')),\n \"<[c1@5 c1] <c1 [[c1@2 c1] ~] [c1 ~ c1] [c1!2 ~ c1!3]>>\".tone(instr('kick')),\n \"[2,4]/4\".scale('D dorian').apply(t).tone(instr('pad')).mask(\"<x x x ~>/8\")\n).fast(6/8)\n// strudel disable-highlighting","hash":"UaTcY5YrOahl"},{"id":28,"created_at":"2022-07-03T11:00:24.355036+00:00","code":"const drums = await players({\n bd: 'bd/BT0A0D0.wav',\n sn: 'sn/ST0T0S3.wav',\n hh: 'hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nstack(\n \"<bd!3 bd(3,4,2)>\",\n \"hh*4\",\n \"~ <sn!3 sn(3,4,1)>\"\n).tone(drums.chain(out()))\n","hash":"YPLI4xhBDMpV"},{"id":29,"created_at":"2022-07-04T12:35:45.49722+00:00","code":"stack(\n \"<C^7 F^7 ~> <Dm7 G7 A7 ~>\"\n .every(2, fast(2))\n .voicings(),\n \"<c2 f2 g2> <d2 g2 a2 e2>\"\n).transpose(\"<0 2 3 4>\")","hash":"amB31Tm55hnv"},{"id":30,"created_at":"2022-07-06T15:54:50.086508+00:00","code":"stack(\n // melody\n `[B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3] \n [B3@2 D4] [A4@2 G4] [D4@2 [C4 B3]] [A3]\n [B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3]\n [B3@2 D4] [A4@2 G4] D5@2 \n [D5@2 [C5 B4]] [[C5 B4] G4@2] [C5@2 [B4 A4]] [[B4 A4] E4@2]\n [D5@2 [C5 B4]] [[C5 B4] G4 C5] [G5] [~ ~ B3]`,\n // bass\n `[[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[D2 A2] C3@2] [[C2 G2] B2@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[Eb2 Bb2] Db3@2] [[D2 A2] C3 [F3,G2]]`\n).transpose(12).slow(48).tone(\n new PolySynth().chain(\n new Gain(0.3), \n new Chorus(2, 2.5, 0.5).start(), \n new Freeverb(), \n getDestination())\n)","hash":"8OyCVeBYuqru"},{"id":31,"created_at":"2022-07-09T12:31:13.230041+00:00","code":"const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out());\n\nconst drums = await players({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/')\n\nconst rhodes = await sampler({\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n \"<bd sn> <hh hh*2 hh*3>\"\n .tone(drums.chain(out())),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .tone(rhodes.chain(vol(0.5).connect(delay), out())),\n //\"<C^7 C7 F^7 [Fm7 <Db^7 Db7>]>\".slow(2).voicings().struct(\"~ x\").legato(.25).tone(rhodes),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2)\n .tone(bass),\n).fast(3/2)","hash":"lzjNrzv5qXL2"},{"id":48,"created_at":"2022-07-18T07:00:41.3457+00:00","code":"\"f2,f3,c4,ab4\"\n.scale(seq('F minor', 'F harmonic minor').slow(4))\n.scaleTranspose(\"<0 -1 -2 -3>\")\n.transpose(\"0 1\".slow(16))","hash":"Y5DZt5A66Jj-"},{"id":32,"created_at":"2022-07-11T06:51:34.557206+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh*4\") // drums\n .speed(perlin.range(.7,1)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .out()\n .slow(1.4)","hash":"b5ZZnwaI-UuT"},{"id":33,"created_at":"2022-07-12T02:21:17.231366+00:00","code":"stack(\n // melody\n seq(\n \"[F#5 D5] [B4 G4] Bb4 [B4 A4]\",\n \"[D5 Bb4] [G4 Eb4] F#4 [G4 F4]\",\n \"Bb4 [B4 A4] D5 [D#5 C#5]\",\n \"F#5 [G5 F5] Bb5 [F#5 F#5]\",\n ),\n // chords\n seq(\n \"[B^7 D7] [G^7 Bb7] Eb^7 [Am7 D7]\",\n \"[G^7 Bb7] [Eb^7 F#7] B^7 [Fm7 Bb7]\",\n \"Eb^7 [Am7 D7] G^7 [C#m7 F#7]\",\n \"B^7 [Fm7 Bb7] Eb^7 [C#m7 F#7]\"\n ).voicings(['E3', 'G4']),\n // bass\n seq(\n \"[B2 D2] [G2 Bb2] [Eb2 Bb3] [A2 D2]\",\n \"[G2 Bb2] [Eb2 F#2] [B2 F#2] [F2 Bb2]\",\n \"[Eb2 Bb2] [A2 D2] [G2 D2] [C#2 F#2]\",\n \"[B2 F#2] [F2 Bb2] [Eb2 Bb3] [C#2 F#2]\"\n )\n).slow(20)","hash":"YZksJ_k4TsrS"},{"id":34,"created_at":"2022-07-13T00:56:59.644328+00:00","code":"\"<0 2 4 <0 4 6>*12 <3 4>*6 <0 2 4>*2>\"\n.scale('D major')\n// .color('salmon')\n.off(2, x=>x.scaleTranspose(3).color('green'))\n.off(4, x=>x.scaleTranspose(0).color('steelblue'))\n.legato(2)\n// .echo(16, 1, .5)\n.note().piano().out()\n.pianoroll()","hash":"e9-pyQN6vY8E"},{"id":35,"created_at":"2022-07-14T01:29:05.575101+00:00","code":"stack(\n // melody\n seq(\n \"[F#5 D5] [B4 G4] Bb4 [B4 A4]\",\n \"[D5 Bb4] [G4 Eb4] F#4 [G4 F4]\",\n \"Bb4 [B4 A4] D5 [D#5 C#5]\",\n \"F#5 [G5 F5] Bb5 [F#5 F#5]\",\n ),\n // chords\n seq(\n \"[B^7 D7] [G^7 Bb7] Eb^7 [Am7 D7]\",\n \"[G^7 Bb7] [Eb^7 F#7] B^7 [Fm7 Bb7]\",\n \"Eb^7 [Am7 D7] G^7 [C#m7 F#7]\",\n \"B^7 [Fm7 Bb7] Eb^7 [C#m7 F#7]\"\n ).voicings(['E3', 'G4']),\n // bass\n seq(\n \"[B2 D2] [G2 Bb2] [Eb2 Bb3] [A2 D2]\",\n \"[G2 Bb2] [Eb2 F#2] [B2 F#2] [F2 Bb2]\",\n \"[Eb2 Bb2] [A2 D2] [G2 D2] [C#2 F#2]\",\n \"[B2 F#2] [F2 Bb2] [Eb2 Bb3] [C#2 F#2]\"\n )\n).slow(20)","hash":"ar2sdYnjIBLm"},{"id":38,"created_at":"2022-07-16T07:31:25.401071+00:00","code":"const pat = s(\"bd\").struct(\"~ x\");\n\nconsole.log('pat', pat.firstCycle().map(h=>h.showWhole()))\n\nconst pat2 = pat.struct(\"x x\");\n\nconsole.log('pat2', pat2.firstCycle().map(h=>h.showWhole()))\n\nsilence","hash":"RDyvc3SOo6kX"},{"id":40,"created_at":"2022-07-16T20:25:39.362216+00:00","code":"stack(\n s(\"bd(3,8), ~ sd\").every(4, x=>s(\"bd(5,8),sd(3,4,1)\")).late(3).webdirt(),\n n(\"<0 -2 1 4>\".scale('C2 minor')).s('sawtooth').cutoff(500).out(),\n note(\"<Cm7 Ab^7 Dm7b5 G7b9>\".voicings()).struct(\"~ x\").s('sawtooth').cutoff(2000).gain(.6).legato(.2).echo(4,1/8,.5).out()\n)","hash":"qk6JW1Bmi26s"},{"id":41,"created_at":"2022-07-17T15:41:28.991325+00:00","code":"//\"0 2 4\".add(\"<0 4 1 5 2 6 3>\").scale('C major')\ncat(\"0 2 4\".add(\"<0 4 1 5 2 6 3>\"),\"2 4 7\".add(\"<0 4 1 5 2 6 3>\"),\"4 7 9\".add(\"<0 4 1 5 2 6 3>\"),\"7 9 11\".add(\"<0 4 1 5 2 6 3>\"),\"9 11 14\".add(\"<0 4 1 5 2 6 3>\"),\"11 14 16\".add(\"<0 4 1 5 2 6 3>\"),\"14 16 18\".add(\"<0 4 1 5 2 6 3>\"),\"16 18 21\".add(\"<0 4 1 5 2 6 3>\")).scale('C major').tone((await piano()).toDestination())","hash":"c59geCmbANy8"},{"id":42,"created_at":"2022-07-17T15:54:41.151455+00:00","code":"//\"0 2 4\".add(\"<0 4 1 5 2 6 3>\").scale('C major')\ncat(\"0 2 4\".add(\"<0 4 1 5 2 6 3>\"),\"2 4 7\".add(\"<0 4 1 5 2 6 3>\"),\"4 7 9\".add(\"<0 4 1 5 2 6 3>\"),\"7 9 11\".add(\"<0 4 1 5 2 6 3>\"),\"9 11 14\".add(\"<0 4 1 5 2 6 3>\"),\"11 14 16\".add(\"<0 4 1 5 2 6 3>\"),\"14 16 18\".add(\"<0 4 1 5 2 6 3>\"),\"16 18 21\".add(\"<0 4 1 5 2 6 3>\")).scale('C major').echo(4,.25,.5).tone((await piano()).toDestination())","hash":"WD53HbM4B3Xf"},{"id":43,"created_at":"2022-07-17T15:54:41.514354+00:00","code":"//\"0 2 4\".add(\"<0 4 1 5 2 6 3>\").scale('C major')\ncat(\"0 2 4\".add(\"<0 4 1 5 2 6 3>\"),\"2 4 7\".add(\"<0 4 1 5 2 6 3>\"),\"4 7 9\".add(\"<0 4 1 5 2 6 3>\"),\"7 9 11\".add(\"<0 4 1 5 2 6 3>\"),\"9 11 14\".add(\"<0 4 1 5 2 6 3>\"),\"11 14 16\".add(\"<0 4 1 5 2 6 3>\"),\"14 16 18\".add(\"<0 4 1 5 2 6 3>\"),\"16 18 21\".add(\"<0 4 1 5 2 6 3>\")).scale('C major').echo(4,.25,.5).tone((await piano()).toDestination())","hash":"g7c_nZZ1fVJS"},{"id":44,"created_at":"2022-07-17T16:12:36.539795+00:00","code":"//\"0 2 4\".add(\"<0 4 1 5 2 6 3>\").scale('C major')\ncat(\"0 2 4\".add(\"<0 4 1 5 2 6 3>\"),\"2 4 7\".add(\"<0 4 1 5 2 6 3>\"),\"4 7 9\".add(\"<0 4 1 5 2 6 3>\"),\"7 9 11\".add(\"<0 4 1 5 2 6 3>\"),\"9 11 14\".add(\"<0 4 1 5 2 6 3>\"),\"11 14 16\".add(\"<0 4 1 5 2 6 3>\"),\"14 16 18\".add(\"<0 4 1 5 2 6 3>\"),\"16 18 21\".add(\"<0 4 1 5 2 6 3>\"),\"~ ~ ~ ~ [11, 14, 16, 18, 21]*2\".add(\"<0 4 1 5 2 6 3>\")).scale('C major').echo(6,.25,.5).tone((await piano()).toDestination())","hash":"Don6HOPD2Wwc"},{"id":45,"created_at":"2022-07-17T18:32:04.233455+00:00","code":"//\"0 2 4\".add(\"<0 4 1 5 2 6 3>\").scale('C major')\ncat(\"0 2 4\".add(\"<0 4 1 5 2 6 3>\"),\"2 4 7\".add(\"<0 4 1 5 2 6 3>\"),\"4 7 9\".add(\"<0 4 1 5 2 6 3>\"),\"7 9 11\".add(\"<0 4 1 5 2 6 3>\"),\"9 11 14\".add(\"<0 4 1 5 2 6 3>\"),\"11 14 16\".add(\"<0 4 1 5 2 6 3>\"),\"14 16 18\".add(\"<0 4 1 5 2 6 3>\"),\"16 18 21\".add(\"<0 4 1 5 2 6 3>\"),\"~ ~ ~ [11, 14, 16, 18, 21]*2\".add(\"<0 4 1 5 2 6 3>\")).scale('C major').echo(6,.25,.5).tone((await piano()).toDestination())","hash":"T8n8F1Fvew9g"},{"id":51,"created_at":"2022-07-18T23:03:11.012462+00:00","code":"backgroundImage(\n 'https://media.npr.org/assets/img/2017/02/03/barryharris_600dpi_wide-7eb49998aa1af377d62bb098041624c0a0d1a454.jpg',\n {style:'background-size:cover'})\n \n\"0,2,[7 6]\"\n .add(\"<0 1 2 3 4 5 7 8>\")\n .scale('C bebop major')\n .transpose(\"<0 1 2 1>/8\")\n .slow(2)\n .note().piano().out()\n","hash":"qbyqK2VN_6if"},{"id":52,"created_at":"2022-07-19T18:46:28.163734+00:00","code":"\"<0 2 [4 6](3,4,1) 3*2>\"\n.scale('D minor')\n.color('salmon')\n.off(1/4, x=>x.scaleTranspose(2).color('green'))\n.off(1/2, x=>x.scaleTranspose(6).color('steelblue'))\n.legato(.5)\n.echo(4, 1/8, .5)\n.note().piano().out()\n.pianoroll()","hash":"0H0ym5HypMyj"},{"id":53,"created_at":"2022-07-20T05:38:59.322905+00:00","code":"stack(\n \"c2 g2 a2 [e2@2 eb2] d2 a2 g2 [d2 ~ db2]\",\n \"[C^7 A7] [Dm7 G7]\".struct(\"[x@2 x] [~@2 x] [~ x@2]@2 [x ~@2] ~ [~@2 x@4]@2\")\n .voicings(['G3','A4'])\n).slow(4)","hash":"YAB9YoUpJwaj"},{"id":55,"created_at":"2022-07-20T20:28:25.749705+00:00","code":"const t = x => x.scaleTranspose(\"<0 2 4 3>/4\").transpose(-2)\nconst s = x => x.scale(cat('C3 minor pentatonic','G3 minor pentatonic').slow(4))\nconst delay = new FeedbackDelay(1/8, .6).chain(vol(0.1), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\nstack(\n // melody\n \"<<10 7> <8 3>>/4\".struct(\"x*3\").apply(s)\n .scaleTranspose(\"<0 3 2> <1 4 3>\")\n .superimpose(scaleTranspose(2).early(1/8))\n .apply(t).tone(polysynth().set({\n ...osc('triangle4'),\n ...adsr(0,.08,0)\n }).chain(vol(0.2).connect(delay),chorus,out())).mask(\"<~@3 x>/16\".early(1/8)),\n // pad\n \"[1,3]/4\".scale('G3 minor pentatonic').apply(t).tone(polysynth().set({\n ...osc('square2'),\n ...adsr(0.1,.4,0.8)\n }).chain(vol(0.2),chorus,out())).mask(\"<~ x>/32\"),\n // xylophone\n \"c3,g3,c4\".struct(\"<x*2 x>\").fast(\"<1 <2!3 [4 8]>>\").apply(s).scaleTranspose(\"<0 <1 [2 [3 <4 5>]]>>\").apply(t).tone(polysynth().set({\n ...osc('sawtooth4'),\n ...adsr(0,.1,0)\n }).chain(vol(0.4).connect(delay),out())).mask(\"<x@3 ~>/16\".early(1/8)),\n // bass\n \"c2 [c2 ~]*2\".scale('C hirajoshi').apply(t).tone(synth({\n ...osc('sawtooth6'),\n ...adsr(0,.03,.4,.1)\n }).chain(vol(0.4),out())),\n // kick\n \"<c1!3 [c1 ~]*2>*2\".tone(membrane().chain(vol(0.8),out())),\n // snare\n \"~ <c3!7 [c3 c3*2]>\".tone(noise().chain(vol(0.8),out())),\n // hihat\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.02)).chain(vol(0.5).connect(delay),out()))\n).slow(1)\n// strudel disable-highlighting","hash":"ODAzfGV0ZcbI"},{"id":56,"created_at":"2022-07-20T20:52:30.246557+00:00","code":"const t = x => x.scaleTranspose(\"<0 2 4 3>/4\").transpose(-2)\nconst s = x => x.scale(cat('C3 minor pentatonic','G3 minor pentatonic').slow(4))\nconst delay = new FeedbackDelay(1/8, .6).chain(vol(0.1), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\nstack(\n // melody\n \"<<10 7> <8 3>>/4\".struct(\"x*3\").apply(s)\n .scaleTranspose(\"<0 3 2> <1 4 3>\")\n .superimpose(scaleTranspose(2).early(1/8))\n .apply(t).tone(polysynth().set({\n ...osc('triangle4'),\n ...adsr(0,.08,0)\n }).chain(vol(0.2).connect(delay),chorus,out())).mask(\"<~@3 x>/16\".early(1/8)),\n // pad\n \"[1,3]/4\".scale('G3 minor pentatonic').apply(t).tone(polysynth().set({\n ...osc('square2'),\n ...adsr(0.1,.4,0.8)\n }).chain(vol(0.2),chorus,out())).mask(\"<~ x>/32\"),\n // xylophone\n \"c3,g3,c4\".struct(\"<x*2 x>\").fast(\"<1 <2!3 [4 8]>>\").apply(s).scaleTranspose(\"<0 <1 [2 [3 <4 5>]]>>\").apply(t).tone(polysynth().set({\n ...osc('sawtooth4'),\n ...adsr(0,.1,0)\n }).chain(vol(0.4).connect(delay),out())).mask(\"<x@3 ~>/16\".early(1/8)),\n // bass\n \"c2 [c2 ~]*2\".scale('C hirajoshi').apply(t).tone(synth({\n ...osc('sawtooth6'),\n ...adsr(0,.03,.4,.1)\n }).chain(vol(0.4),out())),\n // kick\n \"<c1!3 [c1 ~]*2>*2\".tone(membrane().chain(vol(0.8),out())),\n // snare\n \"~ <c3!7 [c3 c3*2]>\".tone(noise().chain(vol(0.8),out())),\n // hihat\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.02)).chain(vol(0.5).connect(delay),out()))\n).slow(1)\n","hash":"86BPLjJUsUlY"},{"id":57,"created_at":"2022-07-22T13:48:34.873528+00:00","code":"stack(\n \"c1*2\".tone(new MembraneSynth().toDestination()),\n \"~ x\".tone(new NoiseSynth().toDestination()),\n \"[~ c4]*2\".tone(new MetalSynth().set({envelope:{decay:0.06,sustain:0}}).chain(new Gain(0.5),getDestination()))\n)","hash":"a6p9WTalyHea"},{"id":58,"created_at":"2022-07-22T13:48:35.171894+00:00","code":"stack(\n \"c1*2\".tone(new MembraneSynth().toDestination()),\n \"~ x\".tone(new NoiseSynth().toDestination()),\n \"[~ c4]*2\".tone(new MetalSynth().set({envelope:{decay:0.06,sustain:0}}).chain(new Gain(0.5),getDestination()))\n)","hash":"ciNbEjRKpC5T"},{"id":59,"created_at":"2022-07-23T06:56:24.365582+00:00","code":"stack(\n \"<C^7 F^7 ~> <Dm7 G7 A7 ~>\"\n .every(2, fast(2))\n .voicings(),\n \"<c2 f2 g2> <d2 g2 a2 e2>\"\n).transpose(\"<0 2 3 4>\")","hash":"pLhCIXogckDD"},{"id":60,"created_at":"2022-07-23T20:56:40.69314+00:00","code":"stack(\n \"<C^7 F^7 ~> <Dm7 G7 A7 ~>\"\n .every(2, fast(2))\n .voicings(),\n \"<c2 f2 g2> <d2 g2 a2 e2>\"\n).transpose(\"<0 2 3 4>\")","hash":"hJFGyCmtF36W"},{"id":61,"created_at":"2022-07-24T11:03:31.223113+00:00","code":"n(\n \"a4 [a3 c3] a3 c3\"\n .sub(\"<7 12 5 12>\".slow(2))\n .off(1/4,x=>x.add(7))\n .off(1/8,x=>x.add(12))\n)\n .slow(2)\n .legato(sine.range(0.3, 2).slow(28))\n .s(\"sawtooth square\".fast(2))\n .cutoff(cosine.range(500,4000).slow(16))\n .out()","hash":"4HtBUNn4xAAA"},{"id":62,"created_at":"2022-07-30T14:20:18.860817+00:00","code":"const calcFibs = (n) => {\n const result = [1, 1];\n let fibsCount = result.length;\n for (let i = 0; i < n - 2; i++) {\n result.push(result[fibsCount-2] + result[fibsCount-1]);\n fibsCount += 1;\n }\n return result;\n}\n\nconst fibs = calcFibs(80)\n .map(x => x % 24)\n .map(x => x % 2 ? pure(x) : seq(pure(x), pure(x+2)));\n\n\n// alert()\n\npolyrhythm(seq(fibs).scale('E1 pentatonic').slow(16))\n .tone(synth(adsr(0,.1,0,0)).chain(out()))\n // .midi(\"loopMIDI Port\")","hash":"o6VENTMBn_Fo"},{"id":63,"created_at":"2022-07-31T08:44:18.354161+00:00","code":"const chords = \"<Cm7 Fm7 G7 F#7 >\";\nconst scales = cat('C minor','F dorian','G dorian','F# mixolydian')\nstack(\n chords.voicings().struct(\"x(3,8,-1)\").velocity(.5).off(1/7,x=>x.transpose(12).velocity(.2)),\n chords.rootNotes(2).struct(\"x(4,8)\"),\n chords.rootNotes(4)\n .scale(scales)\n .struct(\"x(3,8,-2)\".fast(2))\n .scaleTranspose(\"0 4 0 6\".early(\".125 .5\")).layer(scaleTranspose(\"0,<2 [4,6] [5,7]>/3\"))\n).slow(2).transpose(-1) \n .legato(cosine.struct(\"x*8\").add(4/5).mul(4/5).fast(8))\n .velocity(sine.struct(\"x*8\").add(3/5).mul(2/5).fast(8))\n .note().piano().out().fast(3/4)","hash":"2MtjoYELsyy6"},{"id":54,"created_at":"2022-07-20T05:39:09.335398+00:00","code":"stack(\n \"c2 g2 a2 [e2@2 eb2] d2 a2 g2 [d2 ~ db2]\",\n \"[C^7 A7] [Dm7 G7]\".struct(\"[x@2 x] [~@2 x] [~ x@2]@2 [x ~@2] ~ [~@2 x@4]@2\")\n .voicings(['G3','A4'])\n).slow(4).note()","hash":"-fdVyijf3Fk0"},{"id":64,"created_at":"2022-07-31T19:09:47.101758+00:00","code":"const t = x => x.scaleTranspose(\"<0 2 4 3>/4\").transpose(-2)\nconst s = x => x.scale(cat('C3 minor pentatonic','G3 minor pentatonic').slow(4))\nconst delay = new FeedbackDelay(1/8, .6).chain(vol(0.1), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\nstack(\n // melody\n \"<<10 7> <8 3>>/4\".struct(\"x*3\").apply(s)\n .scaleTranspose(\"<0 3 2> <1 4 3>\")\n .superimpose(scaleTranspose(2).early(1/8))\n .apply(t).tone(polysynth().set({\n ...osc('triangle4'),\n ...adsr(0,.08,0)\n }).chain(vol(0.2).connect(delay),chorus,out())).mask(\"<~@3 x>/16\".early(1/8)),\n // pad\n \"[1,3]/4\".scale('G3 minor pentatonic').apply(t).tone(polysynth().set({\n ...osc('square2'),\n ...adsr(0.1,.4,0.8)\n }).chain(vol(0.2),chorus,out())).mask(\"<~ x>/32\"),\n // xylophone\n \"c3,g3,c4\".struct(\"<x*2 x>\").fast(\"<1 <2!3 [4 8]>>\").apply(s).scaleTranspose(\"<0 <1 [2 [3 <4 5>]]>>\").apply(t).tone(polysynth().set({\n ...osc('sawtooth4'),\n ...adsr(0,.1,0)\n }).chain(vol(0.4).connect(delay),out())).mask(\"<x@3 ~>/16\".early(1/8)),\n // bass\n \"c2 [c2 ~]*2\".scale('C hirajoshi').apply(t).tone(synth({\n ...osc('sawtooth6'),\n ...adsr(0,.03,.4,.1)\n }).chain(vol(0.4),out())),\n // kick\n \"<c1!3 [c1 ~]*2>*2\".tone(membrane().chain(vol(0.8),out())),\n // snare\n \"~ <c3!7 [c3 c3*2]>\".tone(noise().chain(vol(0.8),out())),\n // hihat\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.02)).chain(vol(0.5).connect(delay),out()))\n).slow(1)\n// strudel disable-highlighting","hash":"vJ2KTtZo20cu"},{"id":65,"created_at":"2022-07-31T19:09:47.681287+00:00","code":"const t = x => x.scaleTranspose(\"<0 2 4 3>/4\").transpose(-2)\nconst s = x => x.scale(cat('C3 minor pentatonic','G3 minor pentatonic').slow(4))\nconst delay = new FeedbackDelay(1/8, .6).chain(vol(0.1), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\nstack(\n // melody\n \"<<10 7> <8 3>>/4\".struct(\"x*3\").apply(s)\n .scaleTranspose(\"<0 3 2> <1 4 3>\")\n .superimpose(scaleTranspose(2).early(1/8))\n .apply(t).tone(polysynth().set({\n ...osc('triangle4'),\n ...adsr(0,.08,0)\n }).chain(vol(0.2).connect(delay),chorus,out())).mask(\"<~@3 x>/16\".early(1/8)),\n // pad\n \"[1,3]/4\".scale('G3 minor pentatonic').apply(t).tone(polysynth().set({\n ...osc('square2'),\n ...adsr(0.1,.4,0.8)\n }).chain(vol(0.2),chorus,out())).mask(\"<~ x>/32\"),\n // xylophone\n \"c3,g3,c4\".struct(\"<x*2 x>\").fast(\"<1 <2!3 [4 8]>>\").apply(s).scaleTranspose(\"<0 <1 [2 [3 <4 5>]]>>\").apply(t).tone(polysynth().set({\n ...osc('sawtooth4'),\n ...adsr(0,.1,0)\n }).chain(vol(0.4).connect(delay),out())).mask(\"<x@3 ~>/16\".early(1/8)),\n // bass\n \"c2 [c2 ~]*2\".scale('C hirajoshi').apply(t).tone(synth({\n ...osc('sawtooth6'),\n ...adsr(0,.03,.4,.1)\n }).chain(vol(0.4),out())),\n // kick\n \"<c1!3 [c1 ~]*2>*2\".tone(membrane().chain(vol(0.8),out())),\n // snare\n \"~ <c3!7 [c3 c3*2]>\".tone(noise().chain(vol(0.8),out())),\n // hihat\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.02)).chain(vol(0.5).connect(delay),out()))\n).slow(1)\n// strudel disable-highlighting","hash":"DhWsebFhaaI9"},{"id":66,"created_at":"2022-07-31T19:37:06.911082+00:00","code":"//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\n//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\nvar chooseInWith = (pat, xs) => {\n xs = xs.map(reify);\n if (xs.length == 0) {\n return silence;\n }\n return pat\n .range(0, xs.length)\n .fmap((i) => xs[Math.floor(i)])\n .innerJoin();\n};\n\nvar chooseCycles = (...xs) => chooseInWith(rand.segment(1), xs);\n\n\nchooseCycles(\n \"c4\",\n chooseCycles(\"c3 e3\", \"e3\", \"g3\")\n).fast(4)\n\n","hash":"TpZLuyJCkYlW"},{"id":67,"created_at":"2022-07-31T19:45:25.835911+00:00","code":"n(\n \"a4 [a3 c3] a3 c3\"\n .sub(\"<7 12>/2\")\n .off(1/8, add(\"12\"))\n .off(1/4, add(\"7\"))\n)\n .legato(.5)\n .slow(2)\n .s(\"sawtooth square\")\n .cutoff(\"<2000 1000 500>\")\n .out()\n","hash":"pQKoHsxS2h84"},{"id":68,"created_at":"2022-07-31T20:41:52.579757+00:00","code":"//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\n//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\nvar chooseInWith = (pat, xs) => {\n xs = xs.map(reify);\n if (xs.length == 0) {\n return silence;\n }\n return pat\n .range(0, xs.length)\n .fmap((i) => xs[Math.floor(i)])\n .innerJoin();\n};\n\nvar chooseCycles = (...xs) => chooseInWith(rand.segment(1), xs);\n\nvar randState = 0;\n\nvar chooseIndependentCycles = (...xs) => chooseInWith(rand.late((randState++)*0.0001).segment(1), xs);\n\nchooseIndependentCycles(\n \"c4\",\n chooseIndependentCycles(\"c3 e3\", \"e3\", \"g3\")\n).fast(4)\n\n","hash":"gL4HMl9q43o6"},{"id":69,"created_at":"2022-07-31T20:44:08.264338+00:00","code":"//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\n//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\nvar chooseInWith = (pat, xs) => {\n xs = xs.map(reify);\n if (xs.length == 0) {\n return silence;\n }\n return pat\n .range(0, xs.length)\n .fmap((i) => xs[Math.floor(i)])\n .innerJoin();\n};\n\nvar chooseCycles = (...xs) => chooseInWith(rand.segment(1), xs);\n\nvar randState = 0;\n\nvar chooseIndependentCycles = (...xs) => chooseInWith(rand.late((randState++)*0.0001).segment(1), xs);\n\nchooseIndependentCycles(\n \"c4\",\n chooseIndependentCycles(\"c3 e3\", \"e3\", \"g3\")\n).fast(4)\n\n","hash":"QoKBBsdDBQro"},{"id":70,"created_at":"2022-07-31T21:23:41.301044+00:00","code":"//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\n//slowcat(\"c3 e3\", \"e3\", \"g3\").late(rand.range(0,2).round()).fast(4)\n\nvar chooseInWith = (pat, xs) => {\n xs = xs.map(reify);\n if (xs.length == 0) {\n return silence;\n }\n return pat\n .range(0, xs.length)\n .fmap((i) => xs[Math.floor(i)])\n .innerJoin();\n};\n\nvar chooseCycles = (...xs) => chooseInWith(rand.segment(1), xs);\n\nvar randState = 0;\n\nvar chooseIndependentCycles = (...xs) => chooseInWith(rand.late((randState++)*0.0001).segment(1), xs);\n\nchooseIndependentCycles(\n chooseIndependentCycles(\"c3 e3\", \"e3\", \"g3\"),\n \"c4\"\n).fast(4)\n\n","hash":"TGp3R_6-qmvY"},{"id":71,"created_at":"2022-07-31T21:45:18.914427+00:00","code":"\"c9 c9 c9, c8 c8\"\n.scale('D minor')\n.note().piano().out()\n.pianoroll()","hash":"Oais65XPBeAV"},{"id":72,"created_at":"2022-07-31T21:46:18.336294+00:00","code":"\"c9 c9 c9, c8 c8\"\n.scale('D minor')\n.note().piano().out()\n.pianoroll()","hash":"ldZPCC8_189H"},{"id":73,"created_at":"2022-08-01T06:36:33.220598+00:00","code":"// this is a test of the distribution of random numbers\n\n// this function just counts how often each number occurs in the array\nconst count = (numbers) => numbers.reduce((acc, n) => {\n if(!acc[n]) {\n acc[n] = 1;\n } else {\n acc[n]++\n };\n return acc;\n},{})\n\nlet numbers;\n\n// segment one random cycle into 10000 parts\nnumbers = rand.range(0,9).round().segment(10000).queryArc(0,1).map(h=>h.value)\nconsole.log('segment 10000', count(numbers))\n/*\n0: 549\n1: 1110\n2: 1126\n3: 1106\n4: 1109\n5: 1112\n6: 1118\n7: 1113\n8: 1106\n9: 551\n*/\n// query a random signal for 10000 cycles\nnumbers = rand.range(0,9).round().segment(1).queryArc(0,10000).map(h=>h.value)\nconsole.log('query 10000', count(numbers))\n/*\n 0: 534\n1: 1300\n2: 898\n3: 1236\n4: 1034\n5: 1031\n6: 1232\n7: 900\n8: 1299\n9: 536\n*/\n// conclusion: in both cases, the distribution is not quite equal...\n\nsilence","hash":"D--IwyHBNn0a"},{"id":74,"created_at":"2022-08-01T12:54:58.375978+00:00","code":"const xorwise = (x) => {\n const a = (x << 13) ^ x;\n const b = (a >> 17) ^ a;\n return (b << 5) ^ b;\n};\nconst _frac = (x) => x - Math.trunc(x);\nconst timeToIntSeed = (x) => xorwise(Math.trunc(_frac(x / 300) * 536870912));\nconst intSeedToRand = (x) => (x % 536870912) / 536870912;\nconst timeToRand = (x) => Math.abs(intSeedToRand(timeToIntSeed(x)));\n\nconst ctx = getDrawContext();\nctx.fillStyle='darkseagreen'\nctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height)\nconst bars = 400;\nconst barMaxHeight = 200;\n\nconst barWidth = ctx.canvas.width / bars;\nfor(let i = 0;i<bars;i++) {\n const height = barMaxHeight*timeToRand(i/bars);\n ctx.fillRect(barWidth*i,800-height,barWidth-1,height) \n}\nsilence;","hash":"gRGnC9U7CLgh"},{"id":79,"created_at":"2022-08-01T18:38:42.471979+00:00","code":"\"f2,f3,c4,ab4\"\n.scale(seq('F minor', 'F harmonic minor').slow(4))\n.scaleTranspose(\"<0 -1 -2 -3>\")\n.transpose(\"0 1\".slow(16))","hash":"faC6ykfIhu1j"},{"id":82,"created_at":"2022-08-01T23:14:59.962151+00:00","code":"const correlation = (xs, ys) => {\n let n = Math.min(xs.length, ys.length)\n let [s_x, s_y, s_xy, s_x2, s_y2] = [0,0,0,0,0] \n for (let i = 0; i < n; i++) {\n s_x += xs[i]; s_x2 += xs[i] * xs[i];\n s_y += ys[i]; s_xy += xs[i] * ys[i];\n s_y2 += ys[i] * ys[i]\n }\n return (s_xy - s_x * s_y / n) / (Math.sqrt(s_x2 - s_x * s_x / n) * Math.sqrt(s_y2 - s_y * s_y / n))\n}\n\nconst cycleCount = 10000\n\nconst nums0 = rand.late(0).segment(1).queryArc(0, cycleCount).map(x => x.value)\nlet nums1;\n\n[0.00001, 0.00005, 0.0001, 0.0002, 0.0003, 0.001, 1, 10, 2.71828, 3.14159].forEach((offset) => {\n nums1 = rand.late(offset).segment(1).queryArc(0, cycleCount).map(x => x.value)\n console.log('At offset ' + offset + ' correlation is ' + correlation(nums0, nums1));\n})\n\nsilence;","hash":"l7FO1TzD3yBA"},{"id":83,"created_at":"2022-08-02T21:59:58.510655+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1).color(\"<steelblue salmon darkseagreen>\")\n.pianoroll({vertical:1,smear:1,fold:1})\n\n// strudel hide-heade\n// strudel hide-console","hash":"3hSnOnJz8aPZ"},{"id":84,"created_at":"2022-08-02T22:10:22.521354+00:00","code":"samples({ flbass: ['00_c2_finger_long_neck.wav','01_c2_finger_short_neck.wav','02_c2_finger_long_bridge.wav','03_c2_finger_short_bridge.wav','04_c2_pick_long.wav','05_c2_pick_short.wav','06_c2_palm_mute.wav'] }, \n 'github:cleary/samples-flbass/main/')\nsamples({\nbd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\nsd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\nhh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nnote(\"<8(3,8) <7 7*2> [4 5@3] 8>\".sub(1) // sub 1 -> 1-indexed\n.layer(\nx=>x,\nx=>x.add(7).color('steelblue')\n.off(1/8,x=>x.add(\"2,4\").off(1/8,x=>x.add(5).echo(4,.125,.5)))\n.slow(2),\n).scale('A1 minor'))\n.s(\"flbass\").n(0)\n.gain(.3)\n.cutoff(sine.slow(7).range(200,4000))\n.resonance(10)\n//.hcutoff(400)\n.clip(1)\n.stack(s(\"bd:1*2,~ sd:0,[~ hh:0]*2\"))\n.out()\n.color(\"<steelblue salmon darkseagreen>\")\n.pianoroll({vertical:1,fold:0,smear:0})\n// strudel hide-console\n// strudel hide-heade","hash":"J3ClL0wQCBr_"},{"id":85,"created_at":"2022-08-03T22:41:57.671182+00:00","code":"\"0 1 2\".addIn(\"1 2\").scale('C minor').note().piano().out() // use inner (= left) structure\n\"0 1 2\".addOut(\"1 2\").scale('C minor').note().piano().out() // use outer (= right) structure\n\"0 1 2\".addMix(\"1 2\").scale('C minor').note().piano().out() // mix both structures\n","hash":"YC1KlrX1fOyP"},{"id":86,"created_at":"2022-08-06T19:41:32.193422+00:00","code":"\"[[e4*2](5,8),[c3(5,8)]*2]\".slow(4)","hash":"YD2MRLffOCRV"},{"id":87,"created_at":"2022-08-06T23:03:13.024098+00:00","code":"const chords = \"<Am7 Am7 Dm7 E7>\"\nconst roots = chords.rootNotes(2)\n\nstack(\n chords.voicings(['F4', 'A5']).struct(\n ` x@2 ~ x ~ ~ ~ x |\n x? ~ ~ x@3 ~ x |\n x? ~ ~ x ~ x@3`),\n roots.struct(\"x [~ x?0.2] x [~ x?] | x!4 | x@2 ~ ~ ~ x x x\").transpose(\"0 7\")\n).slow(2).pianoroll().note().piano().out();","hash":"XxvYG4XK-I5G"},{"id":88,"created_at":"2022-08-08T02:14:13.538432+00:00","code":"stack(\n \"c3@3 [eb3, g3, [c4 d4]/2]\",\n \"c2 g2\",\n \"[eb4@5 [f4 eb4 d4]@3] [eb4 c4]/2\".slow(8)\n)","hash":"FHXCltSQwouU"},{"id":89,"created_at":"2022-08-08T06:58:26.414302+00:00","code":"Pattern.prototype.minify = function() {\n return this.fmap(mini).innerJoin();\n}\n\nstack('c3 e3 g3','c2 g2').minify()\n","hash":"Hg6JP2F6ufl1"},{"id":90,"created_at":"2022-08-08T07:02:04.72455+00:00","code":"Pattern.prototype.minify = function() {\n return this.fmap(mini).innerJoin();\n}\n\nstack('c3 e3 g3','c2 g2').minify()\n\n// strudel disable-highlighting","hash":"lNxLnMcpieR3"},{"id":91,"created_at":"2022-08-08T22:59:00.890037+00:00","code":"\"c3\".struct(cat(1,\"1\".early(0.2),\"1\".early(0.3),\"1\".early(0.4),\"1\".early(0.5))).fast(4)","hash":"78PHBhVZovgo"},{"id":92,"created_at":"2022-08-11T05:23:06.85935+00:00","code":"\nstack(\n // melody\n `<\n [e5 ~] [[d5@2 c5] [~@2 e5]] ~ [~ [c5@2 d5]] [e5 e5] [d5 c5] [e5 f5] [g5 a5]\n [~ c5] [c5 d5] [e5 [c5@2 c5]] [~ c5] [f5 e5] [c5 d5] [~ g6] [g6 ~]\n [e5 ~] [[d5@2 c5] [~@2 e5]] ~ [~ [c5@2 d5]] [e5 e5] [d5 c5] [a5 g5] [c6 [e5@2 d5]]\n [~ c5] [c5 d5] [e5 [c5@2 c5]] [~ c5] [f5 e5] [c5 d5] [~ [g6@2 ~] ~@2] [g5 ~] \n [~ a5] [b5 c6] [b5@2 ~@2 g5] ~\n [f5 ~] [[g5@2 f5] ~] [[e5 ~] [f5 ~]] [[f#5 ~] [g5 ~]]\n [~ a5] [b5 c6] [b5@2 ~@2 g5] ~\n [eb6 d6] [~ c6] ~!2\n >`\n .legato(.95),\n // sub melody\n `<\n [~ g4]!2 [~ ab4]!2 [~ a4]!2 [~ bb4]!2 \n [~ a4]!2 [~ g4]!2 [d4 e4] [f4 gb4] ~!2\n [~ g4]!2 [~ ab4]!2 [~ a4]!2 [~ bb4]!2 \n [~ a4]!2 [~ g4]!2 [d4 e4] [f4 gb4] ~!2\n [~ c5]!4 [~ a4]!2 [[c4 ~] [d4 ~]] [[eb4 ~] [e4 ~]]\n [~ c5]!4 [~ eb5]!2 [g4*2 [f4 ~]] [[e4 ~] [d4 ~]]\n >`,\n // bass\n `<\n c3!7 a3 f3!2\n e3!2 ~!4\n c3!7 a3 f3!2\n e3!2 ~!4\n f3!2 e3!2 d3!2 ~!2\n f3!2 e3!2 ab3!2 ~!2\n >`\n .legato(.5)\n).fast(2) // .note().piano().out()","hash":"rXBp8MOz1iNw"},{"id":93,"created_at":"2022-08-14T10:34:57.110119+00:00","code":"//\"0 1 2 3 4 5 6 7 8 9 10 11\".late(Math.PI).segment(12).scale('C major').pianoroll()\n\"0 1 2 3 4 5 6 7 8 9 10 11\".late(Math.PI).scale('C major').pianoroll()\n","hash":"bbPVlOzXxAxn"},{"id":94,"created_at":"2022-08-14T10:36:17.133808+00:00","code":"sine.range(0, 12).segment(12).late(Math.PI).scale('C major').pianoroll()","hash":"dZSKPnJiPMAz"},{"id":95,"created_at":"2022-08-14T13:07:25.292217+00:00","code":"samples({ flbass: ['00_c2_finger_long_neck.wav','01_c2_finger_short_neck.wav','02_c2_finger_long_bridge.wav','03_c2_finger_short_bridge.wav','04_c2_pick_long.wav','05_c2_pick_short.wav','06_c2_palm_mute.wav'] }, \n 'github:cleary/samples-flbass/main/')\nsamples({\nbd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\nsd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\nhh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\n\nnote(\"<8(3,8) <7 7*2> [4 5@3] 8>\".sub(1) // sub 1 -> 1-indexed\n.layer(\nx=>x,\nx=>x.add(7).color('steelblue')\n.off(1/8,x=>x.add(\"2,4\").off(1/8,x=>x.add(5).echo(4,.125,.5)))\n.slow(2),\n).scale('A1 minor'))\n.s(\"flbass\").n(0)\n.gain(.3)\n.cutoff(sine.slow(7).range(200,4000))\n.resonance(10)\n//.hcutoff(400)\n.clip(1)\n.stack(s(\"bd:1*2,~ sd:0,[~ hh:0]*2\"))\n.out()\n.pianoroll({vertical:1})","hash":"l-zyGmnM6g_q"},{"id":96,"created_at":"2022-08-14T13:51:32.968277+00:00","code":"const delay = new FeedbackDelay(1/8, .6).chain(vol(0.15), out());\nconst snare = noise({type:'white',...adsr(0,0.2,0)}).chain(lowpass(5000),vol(1.8),out());\nconst s = polysynth().set({...osc('sawtooth4'),...adsr(0.01,.2,.6,0.2)}).chain(vol(.23).connect(delay),out());\nstack(\n stack(\n \"0 1 4 [3!2 5]\".layer(\n // chords\n x=>x.add(\"0,3\").duration(\"0.05!3 0.02\"),\n // bass\n x=>x.add(\"-8\").struct(\"x*8\").duration(0.1) \n ),\n // melody\n \"12 11*3 12 ~\".duration(0.005) \n )\n .add(\"<0 1>\")\n .tune(\"jemblung2\")\n //.mul(22/5).round().xen(\"22edo\")\n //.mul(12/5).round().xen(\"12edo\")\n .tone(s),\n // kick\n \"[c2 ~]*2\".duration(0.05).tone(membrane().chain(out())), \n // snare\n \"[~ c1]*2\".early(0.001).tone(snare),\n // hihat\n \"c2*8\".tone(noise().chain(highpass(6000),vol(0.5).connect(delay),out())),\n).slow(3)","hash":"vEpJhDLHycD8"},{"id":249,"created_at":"2022-10-08T14:26:38.096155+00:00","code":"stack(\n seq(\n \"~\",\n \"~\",\n \"~\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [F5@2 C6] A5 G5\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [Bb5 A5 G5] F5@2\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [F5@2 C6] A5 G5\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [Bb5 A5 G5] F5@2\",\n \"A5 [F5@2 C5] A5 F5\",\n \"Ab5 [F5@2 Ab5] G5@2\",\n \"A5 [F5@2 C5] A5 F5\",\n \"Ab5 [F5@2 C5] C6@2\",\n \"A5 [F5@2 C5] [D5@2 F5] F5\",\n \"[C5@2 F5] [Bb5 A5 G5] F5@2\"\n ),\n seq(\n \"[F4,Bb4,D5] [[D4,G4,Bb4]@2 [Bb3,D4,F4]] [[G3,C4,E4]@2 [[Ab3,F4] [A3,Gb4]]] [Bb3,E4,G4]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, Bb3, Db3] [F3, Bb3, Db3]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [A3, C4, E4] [A3, C4, E4]] [~ [Ab3, C4, Eb4] [Ab3, C4, Eb4]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [G3, C4, E4] [G3, C4, E4]]\",\n \"[~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, Bb3, D4] [F3, Bb3, D4]] [~ [F3, Bb3, C4] [F3, Bb3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [A3, C4, E4] [A3, C4, E4]] [~ [Ab3, C4, Eb4] [Ab3, C4, Eb4]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [G3, C4, E4] [G3, C4, E4]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, Bb3, D4] [F3, Bb3, D4]] [~ [F3, Bb3, C4] [F3, Bb3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]]\",\n \"[~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [A3, C4, F4] [A3, C4, F4]] [~ [A3, C4, F4] [A3, C4, F4]]\",\n \"[~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [G3, Bb3, F4] [G3, Bb3, F4]] [~ [G3, Bb3, E4] [G3, Bb3, E4]]\",\n \"[~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [Bb3, D3, F4] [Bb3, D3, F4]] [~ [A3, C4, F4] [A3, C4, F4]] [~ [A3, C4, F4] [A3, C4, F4]]\",\n \"[~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [Ab3, B3, F4] [Ab3, B3, F4]] [~ [G3, Bb3, F4] [G3, Bb3, F4]] [~ [G3, Bb3, E4] [G3, Bb3, E4]]\",\n \"[~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, A3, C3] [F3, A3, C3]] [~ [F3, Bb3, D3] [F3, Bb3, D3]] [~ [F3, B3, D3] [F3, B3, D3]]\",\n \"[~ [F3, Bb3, D4] [F3, Bb3, D4]] [~ [F3, Bb3, C4] [F3, Bb3, C4]] [~ [F3, A3, C4] [F3, A3, C4]] [~ [F3, A3, C4] [F3, A3, C4]]\"\n ),\n seq(\n \"[G3 G3 C3 E3]\",\n \"[F2 D2 G2 C2]\",\n \"[F2 D2 G2 C2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[A2 Ab2 G2 C2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[G2 C2 F2 F2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[A2 Ab2 G2 C2]\",\n \"[F2 A2 Bb2 B2]\",\n \"[G2 C2 F2 F2]\",\n \"[Bb2 Bb2 A2 A2]\",\n \"[Ab2 Ab2 G2 [C2 D2 E2]]\",\n \"[Bb2 Bb2 A2 A2]\",\n \"[Ab2 Ab2 G2 [C2 D2 E2]]\",\n \"[F2 A2 Bb2 B2]\",\n \"[G2 C2 F2 F2]\"\n )\n).slow(51);\n","hash":"KEJD5r4Q7zZo"},{"id":97,"created_at":"2022-08-14T16:12:53.958113+00:00","code":"const sf = await loadSoundfont('https://felixroos.github.io/sfumato/soundfonts/Donkey%20Kong%20Country%202014.sf2')\nstack(\n // melody\n `<\n [e5 ~] [[d5@2 c5] [~@2 e5]] ~ [~ [c5@2 d5]] [e5 e5] [d5 c5] [e5 f5] [g5 a5]\n [~ c5] [c5 d5] [e5 [c5@2 c5]] [~ c5] [f5 e5] [c5 d5] [~ g6] [g6 ~]\n [e5 ~] [[d5@2 c5] [~@2 e5]] ~ [~ [c5@2 d5]] [e5 e5] [d5 c5] [a5 g5] [c6 [e5@2 d5]]\n [~ c5] [c5 d5] [e5 [c5@2 c5]] [~ c5] [f5 e5] [c5 d5] [~ [g6@2 ~] ~@2] [g5 ~] \n [~ a5] [b5 c6] [b5@2 ~@2 g5] ~\n [f5 ~] [[g5@2 f5] ~] [[e5 ~] [f5 ~]] [[f#5 ~] [g5 ~]]\n [~ a5] [b5 c6] [b5@2 ~@2 g5] ~\n [eb6 d6] [~ c6] ~!2\n >`\n .legato(.95),\n // sub melody\n `<\n [~ g4]!2 [~ ab4]!2 [~ a4]!2 [~ bb4]!2 \n [~ a4]!2 [~ g4]!2 [d4 e4] [f4 gb4] ~!2\n [~ g4]!2 [~ ab4]!2 [~ a4]!2 [~ bb4]!2 \n [~ a4]!2 [~ g4]!2 [d4 e4] [f4 gb4] ~!2\n [~ c5]!4 [~ a4]!2 [[c4 ~] [d4 ~]] [[eb4 ~] [e4 ~]]\n [~ c5]!4 [~ eb5]!2 [g4*2 [f4 ~]] [[e4 ~] [d4 ~]]\n >`,\n // bass\n `<\n c3!7 a3 f3!2\n e3!2 ~!4\n c3!7 a3 f3!2\n e3!2 ~!4\n f3!2 e3!2 d3!2 ~!2\n f3!2 e3!2 ab3!2 ~!2\n >`\n .legato(.5)\n).fast(2)\n .transpose(-12)\n .note()\n .soundfont(sf,17)","hash":"DHUbrEloJxMd"},{"id":98,"created_at":"2022-08-15T09:46:49.43021+00:00","code":"const lfo = cosine.slow(15);\nconst lfo2 = sine.slow(16);\nconst filter1 = x=>x.cutoff(lfo2.range(300,3000));\nconst filter2 = x=>x.hcutoff(lfo.range(1000,6000)).cutoff(4000)\nconst scales = cat('D3 major', 'G3 major').slow(8)\n\nconst drums = await players({\n bd: '344/344757_1676145-lq.mp3',\n sn: '387/387186_7255534-lq.mp3',\n hh: '561/561241_12517458-lq.mp3',\n hh2:'44/44944_236326-lq.mp3',\n hh3: '44/44944_236326-lq.mp3',\n}, 'https://freesound.org/data/previews/')\n\nstack(\n \"-7 0 -7 7\".struct(\"x(5,8,2)\").fast(2).sub(7)\n .scale(scales)\n .n()\n .s(\"sawtooth,square\")\n .gain(.3).attack(0.01).decay(0.1).sustain(.5)\n .apply(filter1),\n \"~@3 [<2 3>,<4 5>]\"\n .echo(4,1/16,.7)\n .scale(scales)\n .n()\n .s('square').gain(.7)\n .attack(0.01).decay(0.1).sustain(0)\n .apply(filter1),\n \"6 4 2\".add(14)\n .superimpose(sub(\"5\"))\n .fast(1).euclidLegato(3,8)\n .mask(\"<1 0@7>\")\n .fast(2)\n .echo(32, 1/8, .8)\n .scale(scales)\n .n()\n .s(\"sawtooth\")\n .gain(sine.range(.1,.4).slow(8))\n .attack(.001).decay(.2).sustain(0)\n .apply(filter2)\n).out().stack(\n stack(\n \"bd <~@7 [~ bd]>\".fast(2),\n \"~ sn\",\n \"[~ hh3]*2\"\n ).tone(drums.chain(vol(.18),out())).fast(2)\n).slow(2)\n \n//.pianoroll({minMidi:20, maxMidi:160})\n// strudel disable-highlighting","hash":"-YW3kIKIGR8j"},{"id":99,"created_at":"2022-08-16T07:15:57.59133+00:00","code":"const delay = new FeedbackDelay(1/8, .6).chain(vol(0.15), out());\nconst snare = noise({type:'white',...adsr(0,0.2,0)}).chain(lowpass(5000),vol(1.8),out());\nconst s = polysynth().set({...osc('sawtooth4'),...adsr(0.01,.2,.6,0.2)}).chain(vol(.23).connect(delay),out());\nstack(\n stack(\n \"0 1 4 [3!2 5]\".layer(\n // chords\n x=>x.add(\"0,3\").duration(\"0.05!3 0.02\"),\n // bass\n x=>x.add(\"-8\").struct(\"x*8\").duration(0.1) \n ),\n // melody\n \"12 11*3 12 ~\".duration(0.005) \n )\n .add(\"<0 1>\")\n .tune(\"jemblung2\")\n //.mul(22/5).round().xen(\"22edo\")\n //.mul(12/5).round().xen(\"12edo\")\n .tone(s),\n // kick\n \"[c2 ~]*2\".duration(0.05).tone(membrane().chain(out())), \n // snare\n \"[~ c1]*2\".early(0.001).tone(snare),\n // hihat\n \"c2*8\".tone(noise().chain(highpass(6000),vol(0.5).connect(delay),out())),\n).slow(3)","hash":"iw5ossp4Sti1"},{"id":100,"created_at":"2022-08-16T19:31:44.909886+00:00","code":"const { default: confetti } = await import('https://cdn.skypack.dev/canvas-confetti');\n\nPattern.prototype.confetti = function() {\n return this.onTrigger((t,h)=>confetti(h.value))\n}\n\ncreateParams('particleCount','angle','spread','startVelocity','decay','gravity','drift','ticks')\n// see https://www.npmjs.com/package/canvas-confetti\n\n\"<x x*2>\"\n .gravity(\"<.5 1 2>\")\n .ticks(\"<100 200>\")\n .startVelocity(sine.range(1,50).slow(6))\n .drift(sine.range(-10,10).slow(7))\n .angle(sine.range(0,360).slow(8))\n .confetti()","hash":"7DsklCccTr-k"},{"id":101,"created_at":"2022-08-17T22:21:05.314956+00:00","code":"const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out());\n\nconst drums = await players({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/')\n\nconst rhodes = await sampler({\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n \"<bd sn> <hh hh*2 hh*3>\"\n .tone(drums.chain(out())),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .tone(rhodes.chain(vol(0.5).connect(delay), out())),\n //\"<C^7 C7 F^7 [Fm7 <Db^7 Db7>]>\".slow(2).voicings().struct(\"~ x\").legato(.25).tone(rhodes),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2)\n .tone(bass),\n).fast(3/2)","hash":"ISMZvMGByNst"},{"id":102,"created_at":"2022-08-19T23:22:39.109269+00:00","code":"samples({\nbd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\nsd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\nhh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nstack(\n // bass\n \"0*2 <2(3,8) [4 3](5,8,1)>\".scale('G1 dorian').note().s('sawtooth').cutoff(1500).slow(2)\n .mask(\"x | x | x | ~\".slow(8))\n , // chord stabs\n \"~ [0,2,<4 <5 [5 6]>>]\".scale('G3 dorian').note().legato(.2).s('sawtooth').cutoff(sine.range(500,2000).slow(9)).echo(4,1/8,.5)\n //.mask(\"x | x | x | ~\".slow(8))\n , // chord bell\n \"<~ [7,~ 6@3,~@2 5@2, ~@3 4]>/4\".scale('G4 dorian').note().s('sawtooth').cutoff(1000)\n .mask(\"x | ~\".slow(16)),\n // pulsy pad\n \"4,7\".scale('G4 dorian').note().fast(2).attack(.5).s('square').cutoff(perlin.range(200,2000).slow(5)).velocity(.3)\n .mask(\"x | ~\".slow(16))\n , // drums\n \"bd*2\".s().mask(\"x | x | ~\".slow(8)),\n \"~ sd\".s().mask(\"~ | ~ | x\".slow(16)), \n \"~ [hh | hh*2]\".fast(2).s()\n .mask(\"x | x | ~\".slow(16))\n , // gedüdel\n \"~ [4 ~ 4 7] [~@2.2 7 ~] ~\"\n .slow(2)\n .scale('G3 dorian').note().s('sawtooth')\n .cutoff(sine.range(400,2000).slow(7))\n .jux(rev)\n .mask(\"x | ~\".slow(16)),\n).out()\n\n// strudel hide-header\n// strudel hide-console\n// strudel disable-highlightin","hash":"PDjOPOnV3JR6"},{"id":103,"created_at":"2022-08-20T17:19:29.930768+00:00","code":"const sf = await loadSoundfont('https://felixroos.github.io/sfumato/soundfonts/Donkey%20Kong%20Country%202014.sf2')\nstack(\n \"<[F3,C4]@2 [Eb3,Bb3] [Eb3,<A3 B3>]>\".note().struct(\"~ <x x*2>\").soundfont(sf,10),\n \"<D4 A3 C4 F3>\".off(1/4,x=>x.transpose(-12).degradeBy(.4)).note().soundfont(sf,5),\n \"<0 2 4 <[3 2] [5 4]>>/2\".off(1/4, add(7)).scale('D minor').note().soundfont(sf,11),\n \"<c3(3,8) <bb4*2 a4*2>>,e4 f3 d4 f3*2\".note().soundfont(sf,37),\n)","hash":"u7qAdlwp3Qig"},{"id":125,"created_at":"2022-09-02T13:57:35.849957+00:00","code":"stack(\n n(\"<Cm7!3 <Dbm7 Bm7>>\".voicings())\n .cutoff(sine.range(500,2000).slow(6)).s('square')\n .decay(.1).sustain(0)\n .resonance(16)\n .struct(\"~@2.2 x\".fast(2)).gain(.2)\n .echo(3,.2,.4)\n .pan(cosine.range(0,1).slow(5))\n .out()\n,\n n(\"c2 <<eb2 f2> <g1 g2>>\")\n .decay(.1)\n .gain(.5)\n .sustain(0.8)\n .cutoff(sine.range(500,2000).slow(7))\n .squeeze(\"x(3,8)\")\n .s('sawtooth').out()\n,\n s(\"[bd ~ <~ bd>] sd,[hh@2.2 hh]*2\").out()\n,\n \"0 <2 3> <<4 5> 3> 6\"\n .off(1/16,add(2))\n .scale('C5 dorian')\n .n()\n .decay(.05)\n .sustain(0)\n .gain(.5)\n .degradeBy(.5)\n .echo(3,.2,.5)\n .pan(sine.range(0,1).slow(5))\n .out()\n)","hash":"m7Uyh34tQwqi"},{"id":104,"created_at":"2022-08-23T04:55:03.203344+00:00","code":"const lfo = cosine.slow(15);\nconst lfo2 = sine.slow(16);\nconst filter1 = x=>x.cutoff(lfo2.range(300,3000));\nconst filter2 = x=>x.hcutoff(lfo.range(1000,6000)).cutoff(4000)\nconst scales = cat('D3 major', 'G3 major').slow(8)\n\nconst drums = await players({\n bd: '344/344757_1676145-lq.mp3',\n sn: '387/387186_7255534-lq.mp3',\n hh: '561/561241_12517458-lq.mp3',\n hh2:'44/44944_236326-lq.mp3',\n hh3: '44/44944_236326-lq.mp3',\n}, 'https://freesound.org/data/previews/')\n\nstack(\n \"-7 0 -7 7\".struct(\"x(5,8,2)\").fast(2).sub(7)\n .scale(scales)\n .n()\n .s(\"sawtooth,square\")\n .gain(.3).attack(0.01).decay(0.1).sustain(.5)\n .apply(filter1),\n \"~@3 [<2 3>,<4 5>]\"\n .echo(4,1/16,.7)\n .scale(scales)\n .n()\n .s('square').gain(.7)\n .attack(0.01).decay(0.1).sustain(0)\n .apply(filter1),\n \"6 4 2\".add(14)\n .superimpose(sub(\"5\"))\n .fast(1).euclidLegato(3,8)\n .mask(\"<1 0@7>\")\n .fast(2)\n .echo(32, 1/8, .8)\n .scale(scales)\n .n()\n .s(\"sawtooth\")\n .gain(sine.range(.1,.4).slow(8))\n .attack(.001).decay(.2).sustain(0)\n .apply(filter2)\n).out().stack(\n stack(\n \"bd <~@7 [~ bd]>\".fast(2),\n \"~ sn\",\n \"[~ hh3]*2\"\n ).tone(drums.chain(vol(.18),out())).fast(2)\n).slow(2)\n \n//.pianoroll({minMidi:20, maxMidi:160})\n// strudel disable-highlighting","hash":"OhjceF8ZvYk8"},{"id":105,"created_at":"2022-08-23T04:55:26.834729+00:00","code":"const f = fast(\"<1 <2 [4 8]>>\");\nstack(\n \"c3,g3,c4\".struct(\"[x ~]*2\").apply(f).transpose(\"<0 <3 [5 [7 [9 [11 13]]]]>>\"),\n \"c2 [c2 ~]*2\".tone(synth(osc('sawtooth8')).chain(vol(0.8),out())),\n \"c1*2\".tone(membrane().chain(vol(0.8),out()))\n).slow(1)","hash":"4yn-ch_d1hnA"},{"id":106,"created_at":"2022-08-23T04:55:28.075783+00:00","code":"const f = fast(\"<1 <2 [4 8]>>\");\nstack(\n \"c3,g3,c4\".struct(\"[x ~]*2\").apply(f).transpose(\"<0 <3 [5 [7 [9 [11 13]]]]>>\"),\n \"c2 [c2 ~]*2\".tone(synth(osc('sawtooth8')).chain(vol(0.8),out())),\n \"c1*2\".tone(membrane().chain(vol(0.8),out()))\n).slow(1)","hash":"2M1kLwRf6d-Q"},{"id":107,"created_at":"2022-08-23T04:55:28.539669+00:00","code":"const f = fast(\"<1 <2 [4 8]>>\");\nstack(\n \"c3,g3,c4\".struct(\"[x ~]*2\").apply(f).transpose(\"<0 <3 [5 [7 [9 [11 13]]]]>>\"),\n \"c2 [c2 ~]*2\".tone(synth(osc('sawtooth8')).chain(vol(0.8),out())),\n \"c1*2\".tone(membrane().chain(vol(0.8),out()))\n).slow(1)","hash":"XggCKeAH5uLK"},{"id":108,"created_at":"2022-08-23T04:57:37.905414+00:00","code":"stack(\n \"c3@3 [eb3, g3, [c4 d4]/2]\",\n \"c2 g2\",\n \"[eb4@5 [f4 eb4 d4]@3] [eb4 c4]/2\".slow(8)\n)","hash":"BH_o1f7vPxd3"},{"id":109,"created_at":"2022-08-23T05:02:51.506973+00:00","code":"const delay = new FeedbackDelay(1/8, .6).chain(vol(0.15), out());\nconst snare = noise({type:'white',...adsr(0,0.2,0)}).chain(lowpass(5000),vol(1.8),out());\nconst s = polysynth().set({...osc('sawtooth4'),...adsr(0.01,.2,.6,0.2)}).chain(vol(.23).connect(delay),out());\nstack(\n stack(\n \"0 1 4 [3!2 5]\".layer(\n // chords\n x=>x.add(\"0,3\").duration(\"0.05!3 0.02\"),\n // bass\n x=>x.add(\"-8\").struct(\"x*8\").duration(0.1) \n ),\n // melody\n \"12 11*3 12 ~\".duration(0.005) \n )\n .add(\"<0 1>\")\n .tune(\"jemblung2\")\n //.mul(22/5).round().xen(\"22edo\")\n //.mul(12/5).round().xen(\"12edo\")\n .tone(s),\n // kick\n \"[c2 ~]*2\".duration(0.05).tone(membrane().chain(out())), \n // snare\n \"[~ c1]*2\".early(0.001).tone(snare),\n // hihat\n \"c2*8\".tone(noise().chain(highpass(6000),vol(0.5).connect(delay),out())),\n).slow(3)","hash":"OdgRkOYpGrgF"},{"id":110,"created_at":"2022-08-23T19:44:54.266612+00:00","code":"const p = pure('a1').fast(10/3)\n\nconst before = getAudioContext().currentTime;\np.queryArc(0,1);\nconst after = getAudioContext().currentTime;\nconst took = (after-before)*1000;\nconsole.log(took.toFixed(2),'ms')\n\nsilence","hash":"Yizg74mNj_6L"},{"id":111,"created_at":"2022-08-24T19:21:49.421978+00:00","code":"const PIXI = await import('https://cdn.skypack.dev/pixi.js');\n\nconst app = new PIXI.Application();\n\n// The application will create a canvas element for you that you\n// can then insert into the DOM.\nconst canvas = app.view;\nwindow.pixiCanvas && window.pixiCanvas.remove()\nwindow.pixiCanvas = canvas;\ncanvas.width = window.innerWidth;\ncanvas.height = window.innerHeight;\ncanvas.style = 'pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:5';\ndocument.body.prepend(canvas);\n\n// load the texture we need\napp.loader.add('bunny', 'https://pixijs.io/examples/examples/assets/bunny.png').load((loader, resources) => {\n // This creates a texture from a 'bunny.png' image.\n const bunny = new PIXI.Sprite(resources.bunny.texture);\n\n // Setup the position of the bunny\n bunny.x = app.renderer.width / 2;\n bunny.y = app.renderer.height / 2;\n\n // Rotate around the center\n bunny.anchor.x = 0.5;\n bunny.anchor.y = 0.5;\n\n // Add the bunny to the scene we are building.\n app.stage.addChild(bunny);\n\n // Listen for frame updates\n app.ticker.add(() => {\n // each frame we spin the bunny around a bit\n bunny.rotation -= 0.1;\n });\n});\n\n\nsilence","hash":"JFekmMyzjDzs"},{"id":112,"created_at":"2022-08-24T19:30:35.25109+00:00","code":"const PIXI = await import('https://cdn.skypack.dev/pixi.js');\n\n\nconst app = new PIXI.Application({width:window.innerWidth,height:window.innerHeight});\nwindow.pixiCanvas && window.pixiCanvas.remove()\nwindow.pixiCanvas = app.view;\nwindow.pixiCanvas.style = 'pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:5';\ndocument.body.prepend(window.pixiCanvas);\n\napp.loader.add('bunny', 'https://pixijs.io/examples/examples/assets/bunny.png').load((loader, resources) => {\n const bunny = new PIXI.Sprite(resources.bunny.texture);\n bunny.x = app.renderer.width / 2;\n bunny.y = app.renderer.height / 2;\n\n bunny.anchor.x = 0.5;\n bunny.anchor.y = 0.5;\n bunny.width *=2;\n bunny.height *=2;\n\n app.stage.addChild(bunny);\n app.ticker.add((t) => {\n bunny.rotation += 0.1;\n });\n});\n\n\nsilence","hash":"ZRX_KCC7pe2k"},{"id":113,"created_at":"2022-08-24T20:15:23.808855+00:00","code":"(\"0 5 7\").piano()\n","hash":"X7Vln6QqABL2"},{"id":114,"created_at":"2022-08-25T16:25:00.451629+00:00","code":"const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out());\n\nconst drums = await players({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/')\n\nconst rhodes = await sampler({\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n \"<bd sn> <hh hh*2 hh*3>\"\n .tone(drums.chain(out())),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .tone(rhodes.chain(vol(0.5).connect(delay), out())),\n //\"<C^7 C7 F^7 [Fm7 <Db^7 Db7>]>\".slow(2).voicings().struct(\"~ x\").legato(.25).tone(rhodes),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2)\n .tone(bass),\n).fast(3/2)","hash":"ILwq_zKFMNN5"},{"id":115,"created_at":"2022-08-25T17:08:14.813609+00:00","code":"// Chorus from \"Veronica In Ecstasy\", by Tim Smith (of Cardiacs) \nconst maj = \"0,4,7\"\nconst min = \"0,3,7\"\nstack(\n // melody\nseq(\n \"[f#6]*3 [f#6 [~ ~ f#6]]\",\n \"[f#6]*3 [[f#6 e6 ~] e6]\",\n \"[e6 e6 [e6 f#6]] [[g6 ~ d6] d6]\", \n \"[d6 d6 [e6 f#6]] [g#6 f6 c#6]\",\n \"[g#5 [ ~ ~ g#5]] [[a5 b5] c#6 c#6]\", \n \"[f#6]*3 [f6 c#6 g#5]\",\n \"[g#5 [ ~ ~ g#5]] [[a#5 c6] d6 a#5]\", \n \"[g#5 a5 b5] [c#6 d6 e6]\",\n \"[d6 a#5 f5] [[g#5 ~] g#5]\", \n \"e3 ~ [~ ~ f#3] ~\",\n \"e3 ~ [~ ~ f#3] [~ ~ f#6]\").legato(0.9),\n // chords\nseq(\n maj.add(\"b4\"), \n maj.add(\"f#4 a4\"),\n maj.add(\"c4 g4\"),\n maj.add(\"d4 c#4\"),\n maj.add(\"e4 a4\"),\n maj.add(\"b4 c#4\"),\n seq(min.add(\"f4\"), maj.add(\"a#4\")),\n maj.add(\"e4 a4\"),\n seq(maj.add(\"a#4\"), min.add(\"f4\")),\n maj.add(\"~ e4 ~ f#4\"),\n maj.add(\"~ e4 ~ f#4\"))\n .struct(\"x ~\".fast(11*4))\n).slow(21)","hash":"CSzelQFTGerr"},{"id":117,"created_at":"2022-08-30T04:40:01.053866+00:00","code":"const delay = new FeedbackDelay(1/8, .4).chain(vol(0.5), out());\nconst kick = new MembraneSynth().chain(vol(.8), out());\nconst snare = new NoiseSynth().chain(vol(.8), out());\nconst hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out());\nconst bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out());\nconst keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out());\n\nconst drums = stack(\n \"c1*2\".tone(kick).mask(\"<x@7 ~>/8\"),\n \"~ <x!7 [x@3 x]>\".tone(snare).mask(\"<x@7 ~>/4\"),\n \"[~ c4]*2\".tone(hihat)\n);\n\nconst thru = (x) => x.transpose(\"<0 1>/8\").transpose(-1);\nconst synths = stack(\n \"<eb4 d4 c4 b3>/2\".scale(timeCat([3,'C minor'],[1,'C melodic minor']).slow(8)).struct(\"[~ x]*2\")\n .layer(\n scaleTranspose(0).early(0),\n scaleTranspose(2).early(1/8),\n scaleTranspose(7).early(1/4),\n scaleTranspose(8).early(3/8)\n ).apply(thru).tone(keys).mask(\"<~ x>/16\"),\n \"<C2 Bb1 Ab1 [G1 [G2 G1]]>/2\".struct(\"[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2\".fast(2)).apply(thru).tone(bass),\n \"<Cm7 Bb7 Fm7 G7b13>/2\".struct(\"~ [x@0.1 ~]\".fast(2)).voicings().apply(thru).every(2, early(1/8)).tone(keys).mask(\"<x@7 ~>/8\".early(1/4))\n)\nstack(\n drums.fast(2), \n synths\n).slow(2)","hash":"waoDkqtNx0Xe"},{"id":118,"created_at":"2022-08-30T12:50:49.656431+00:00","code":"const chords = \"<Cm7 Fm7 G7 F#7>\";\nstack(\n chords.voicings().struct(\"x(3,8,-1)\").velocity(.5).off(1/7,x=>x.transpose(12).velocity(.2)),\n chords.rootNotes(2).struct(\"x(4,8,-2)\"),\n chords.rootNotes(4)\n .scale(cat('C minor','F dorian','G dorian','F# mixolydian'))\n .struct(\"x(3,8,-2)\".fast(2))\n .scaleTranspose(\"0 4 0 6\".early(\".125 .5\")).layer(scaleTranspose(\"0,<2 [4,6] [5,7]>/4\"))\n).slow(2)\n .velocity(sine.struct(\"x*8\").add(3/5).mul(2/5).fast(8))\n .note().piano().out()","hash":"hHssvZuQ9eU-"},{"id":119,"created_at":"2022-09-01T06:27:44.063139+00:00","code":"const p = mini('c3 [e3 g3*2]');\nconst readableLocs = p.queryArc(0,1)\n .map(h=>`${h.value}: ${\n h.context.locations\n .map(l=>l.start.offset+'-'+l.end.offset)\n .join(' ')}`)\n\nconsole.log(readableLocs)\n\nsilence;","hash":"YjCJ3DhT9u4M"},{"id":120,"created_at":"2022-09-01T06:45:23.70043+00:00","code":"//await import('https://unpkg.com/zyklus@0.1.3/dist/zyklus.cjs.js');\nconst stringifyFunction = (func) => '(' + func + ')();';\nconst urlifyFunction = (func) => URL.createObjectURL(new Blob([stringifyFunction(func)], { type: 'text/javascript' }));\nconst createWorker = (func) => new Worker(urlifyFunction(func));\n\nAudioContext.prototype['createClock'] = function (\n callback, // called slightly before each cycle\n duration, // duration of each cycle\n interval = 0.1, // interval between callbacks\n overlap = 0.1, // overlap between callbacks\n) {\n let tick = 0; // counts callbacks\n let phase = 0; // next callback time\n let precision = 10 ** 4; // used to round phase\n let minLatency = 0.01;\n const setDuration = (setter) => (duration = setter(duration));\n overlap = overlap || interval / 2;\n const onTick = () => {\n const t = this.currentTime;\n const lookahead = t + interval + overlap; // the time window for this tick\n if (phase === 0) {\n phase = t + minLatency;\n }\n // callback as long as we're inside the lookahead\n while (phase < lookahead) {\n phase = Math.round(phase * precision) / precision;\n phase >= t && callback(phase, duration, tick);\n phase += duration; // increment phase by duration\n tick++;\n }\n };\n let withWorker = true;\n console.log('withWorker', withWorker)\n let intervalID,clock;\n const start = () => {\n console.log('start!');\n if(!withWorker) {\n onTick();\n intervalID = setInterval(onTick, interval * 1000);\n } else {\n clock = new ClockWorker(() => onTick(), interval);\n clock.start();\n }\n };\n const clear = () => withWorker ? clock.stop() : clearInterval(intervalID);\n const pause = () => clear();\n const stop = () => {\n tick = 0;\n phase = 0;\n clear();\n };\n // setCallback\n return { setDuration, start, stop, pause, duration };\n};\n\n\nlet cycle;\nconst tick = (ctx) => (t, duration, tick) => {\n const latency = ((t - ctx.currentTime) * 1000).toFixed(2);\n //console.log(tick, t.toFixed(2), duration, latency);\n t += 0.01;\n const o = ctx.createOscillator();\n const g = ctx.createGain();\n o.frequency.value = /*tick % 4 === 0 ? 440 :*/ 330;\n o.start(t);\n o.stop(t + duration / 2);\n const end = t + duration / 2;\n o.connect(g);\n const attack = 0.01;\n const release = 0.01;\n const max = 0.8;\n g.gain.setValueAtTime(0, t);\n g.gain.linearRampToValueAtTime(max, t + attack);\n g.gain.setValueAtTime(max, end - release);\n g.gain.linearRampToValueAtTime(0, end);\n g.connect(ctx.destination);\n};\n\nconst ctx = getAudioContext()\n\n// window.cycle && window.cycle.stop();\nwindow.cycle = ctx.createClock(tick(ctx), 0.1, 0.1,.5);\nwindow.cycle.start()\n\n/*let last;\nif(window.testInterval) {\n clearInterval(window.testInterval);\n}\nwindow.testInterval = setInterval(()=>{\n if(last) {\n const diff = ctx.currentTime - last;\n console.log(diff.toFixed(2))\n }\n last = ctx.currentTime;\n}, 100)*/\n\n\nsilence\n\n","hash":"4qVm002nu8hg"},{"id":121,"created_at":"2022-09-02T09:20:47.802149+00:00","code":"\nstack(\n // melody\n `<\n [e5 ~] [[d5@2 c5] [~@2 e5]] ~ [~ [c5@2 d5]] [e5 e5] [d5 c5] [e5 f5] [g5 a5]\n [~ c5] [c5 d5] [e5 [c5@2 c5]] [~ c5] [f5 e5] [c5 d5] [~ g6] [g6 ~]\n [e5 ~] [[d5@2 c5] [~@2 e5]] ~ [~ [c5@2 d5]] [e5 e5] [d5 c5] [a5 g5] [c6 [e5@2 d5]]\n [~ c5] [c5 d5] [e5 [c5@2 c5]] [~ c5] [f5 e5] [c5 d5] [~ [g6@2 ~] ~@2] [g5 ~] \n [~ a5] [b5 c6] [b5@2 ~@2 g5] ~\n [f5 ~] [[g5@2 f5] ~] [[e5 ~] [f5 ~]] [[f#5 ~] [g5 ~]]\n [~ a5] [b5 c6] [b5@2 ~@2 g5] ~\n [eb6 d6] [~ c6] ~!2\n >`\n .legato(.95),\n // sub melody\n `<\n [~ g4]!2 [~ ab4]!2 [~ a4]!2 [~ bb4]!2 \n [~ a4]!2 [~ g4]!2 [d4 e4] [f4 gb4] ~!2\n [~ g4]!2 [~ ab4]!2 [~ a4]!2 [~ bb4]!2 \n [~ a4]!2 [~ g4]!2 [d4 e4] [f4 gb4] ~!2\n [~ c5]!4 [~ a4]!2 [[c4 ~] [d4 ~]] [[eb4 ~] [e4 ~]]\n [~ c5]!4 [~ eb5]!2 [g4*2 [f4 ~]] [[e4 ~] [d4 ~]]\n >`,\n // bass\n `<\n c3!7 a3 f3!2\n e3!2 ~!4\n c3!7 a3 f3!2\n e3!2 ~!4\n f3!2 e3!2 d3!2 ~!2\n f3!2 e3!2 ab3!2 ~!2\n >`\n .legato(.5)\n).fast(2) // .note().piano().out()","hash":"wrcmJLYiesgF"},{"id":122,"created_at":"2022-09-02T12:22:17.050895+00:00","code":"backgroundImage(\n 'https://media.npr.org/assets/img/2017/02/03/barryharris_600dpi_wide-7eb49998aa1af377d62bb098041624c0a0d1a454.jpg',\n {style:'background-size:cover'})\n \n\"0,2,[7 6]\"\n .add(\"<0 1 2 3 4 5 7 8>\")\n .scale('C bebop major')\n .transpose(\"<0 1 2 1>/8\")\n .slow(2)\n .note().piano().out()\n","hash":"tiYDzBGIFjYV"},{"id":123,"created_at":"2022-09-02T12:26:01.83452+00:00","code":"// mixer\nconst mix = (key) => vol({\n chords: .2,\n lead: 0.8,\n bass: .4,\n snare: .95, \n kick: .9,\n hihat: .35,\n}[key]||0);\nconst delay = new FeedbackDelay(1/6, .3).chain(vol(.7), out());\nconst delay2 = new FeedbackDelay(1/6, .2).chain(vol(.15), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\n// instruments\nconst instr = (instrument) => ({\n organ: polysynth().set({...osc('sawtooth4'), ...adsr(.01,.2,0)}).chain(mix('chords').connect(delay),out()),\n lead: polysynth().set({...osc('triangle4'),...adsr(0.01,.05,0)}).chain(mix('lead').connect(delay2), out()),\n bass: polysynth().set({...osc('sawtooth8'),...adsr(.02,.05,.3,.2)}).chain(mix('bass'),lowpass(3000), out()),\n pad: polysynth().set({...osc('square2'),...adsr(0.1,.4,0.8)}).chain(vol(0.15),chorus,out()),\n hihat: metal(adsr(0, .02, 0)).chain(mix('hihat'), out()),\n snare: noise(adsr(0, .15, 0.01)).chain(mix('snare'), lowpass(5000), out()),\n kick: membrane().chain(mix('kick'), out())\n}[instrument]);\n// harmony\nconst t = transpose(\"<0 0 1 0>/8\");\nconst sowhat = scaleTranspose(\"0,3,6,9,11\");\n// track\nstack(\n \"[<0 4 [3 [2 1]]>]/4\".struct(\"[x]*3\").mask(\"[~ x ~]\").scale('D5 dorian').off(1/6, scaleTranspose(-7)).off(1/3, scaleTranspose(-5)).apply(t).tone(instr('lead')).mask(\"<~ ~ x x>/8\"),\n \"<<e3 [~@2 a3]> <[d3 ~] [c3 f3] g3>>\".scale('D dorian').apply(sowhat).apply(t).tone(instr('organ')).mask(\"<x x x ~>/8\"),\n \"<[d2 [d2 ~]*3]!3 <a1*2 c2*3 [a1 e2]>>\".apply(t).tone(instr('bass')),\n \"c1*6\".tone(instr('hihat')),\n \"~ c3\".tone(instr('snare')),\n \"<[c1@5 c1] <c1 [[c1@2 c1] ~] [c1 ~ c1] [c1!2 ~ c1!3]>>\".tone(instr('kick')),\n \"[2,4]/4\".scale('D dorian').apply(t).tone(instr('pad')).mask(\"<x x x ~>/8\")\n).fast(6/8)\n// strudel disable-highlighting","hash":"Y1nz8H0a10CF"},{"id":124,"created_at":"2022-09-02T13:56:30.84887+00:00","code":"stack(\n n(\"<Cm7!3 <Dbm7 Bm7>>\".voicings())\n .cutoff(sine.range(500,2000).slow(6)).s('square')\n .decay(.1).sustain(0)\n .resonance(16)\n .struct(\"~@2.2 x\".fast(2)).gain(.2)\n .echo(3,.2,.4)\n .pan(cosine.range(0,1).slow(5))\n .out()\n,\n n(\"c2 <<eb2 f2> <g1 g2>>\")\n .decay(.1)\n .gain(.5)\n .sustain(0.8)\n .cutoff(sine.range(500,2000).slow(7))\n .squeeze(\"x(3,8)\")\n .s('sawtooth').out()\n,\n s(\"[bd ~ <~ bd>] sd,[hh@2.2 hh]*2\").webdirt()\n,\n \"0 <2 3> <<4 5> 3> 6\"\n .off(1/16,add(2))\n .scale('C5 dorian')\n .n()\n .decay(.05)\n .sustain(0)\n .gain(.5)\n .degradeBy(.5)\n .echo(3,.2,.5)\n .pan(sine.range(0,1).slow(5))\n .out()\n)","hash":"SZDwdxhme28o"},{"id":126,"created_at":"2022-09-03T19:59:51.511621+00:00","code":"stack(\n timeCat([3, c3], [1, stack(eb3, g3, seq(c4, d4).slow(2))]),\n seq(c2, g2),\n seq(\n timeCat([5, eb4], [3, seq(f4, eb4, d4)]), \n seq(eb4, c4).slow(2)\n ).slow(4)\n)","hash":"P9d8_AXWM7ef"},{"id":127,"created_at":"2022-09-03T23:29:42.442252+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1)","hash":"FM1koCTLh1IM"},{"id":128,"created_at":"2022-09-05T07:15:00.81955+00:00","code":"const delay = new FeedbackDelay(1/8, .6).chain(vol(0.15), out());\nconst snare = noise({type:'white',...adsr(0,0.2,0)}).chain(lowpass(5000),vol(1.8),out());\nconst s = polysynth().set({...osc('sawtooth4'),...adsr(0.01,.2,.6,0.2)}).chain(vol(.23).connect(delay),out());\nstack(\n stack(\n \"0 1 4 [3!2 5]\".layer(\n // chords\n x=>x.add(\"0,3\").duration(\"0.05!3 0.02\"),\n // bass\n x=>x.add(\"-8\").struct(\"x*8\").duration(0.1) \n ),\n // melody\n \"12 11*3 12 ~\".duration(0.005) \n )\n .add(\"<0 1>\")\n .tune(\"jemblung2\")\n //.mul(22/5).round().xen(\"22edo\")\n //.mul(12/5).round().xen(\"12edo\")\n .tone(s),\n // kick\n \"[c2 ~]*2\".duration(0.05).tone(membrane().chain(out())), \n // snare\n \"[~ c1]*2\".early(0.001).tone(snare),\n // hihat\n \"c2*8\".tone(noise().chain(highpass(6000),vol(0.5).connect(delay),out())),\n).slow(3)","hash":"1SAqiKiVI8r-"},{"id":129,"created_at":"2022-09-05T07:21:08.871892+00:00","code":"seq(e4, [b2, b3], c4)\n.every(4, fast(2))\n.every(3, slow(1.5))\n.fast(cat(1.25, 1, 1.5))\n.every(2, _ => seq(e4, r, e3, d4, r))","hash":"Pds79yD4qQKJ"},{"id":130,"created_at":"2022-09-05T08:32:31.061321+00:00","code":"samples({mad:'https://freesound.org/data/previews/22/22274_109943-lq.mp3'})\nstack(\n stack(\n \"c3*2 [[c3@1.4 bb2] ab2] gb2*2 <[[gb2@1.4 ab2] bb2] gb2>\".legato(\".5 1\".fast(2)).velocity(.8),\n \"0 ~\".scale('c4 whole tone')\n .euclidLegato(3,8).slow(2).mask(\"x ~\")\n .stutWith(8, 1/16, (x,n)=>x.scaleTranspose(n).velocity(Math.pow(.7,n)))\n .scaleTranspose(\"<0 1 2 3 4 3 2 1>\")\n .fast(2)\n .velocity(.7)\n .legato(.5)\n .stut(3, .5, 1/8)\n ).transpose(-1).note().piano(),\n s(\"mad\").slow(2)\n).cpm(78).slow(4)\n .out()\n .pianoroll()\n","hash":"DYJx5C-3NrV7"},{"id":131,"created_at":"2022-09-05T20:04:20.824387+00:00","code":"stack(\n \"2,6\"\n .scale('F3 dorian')\n .transpose(sine2.struct(\"x*64\").slow(4).mul(2).round())\n .fast(2)\n .struct(\"x x*3\")\n .legato(\".9 .3\"),\n \"0@3 -3*3\".legato(\".95@3 .4\").scale('F2 dorian')\n)\n .transpose(\"<0 1 2 1>/2\".early(0.5))\n .transpose(5)\n .fast(2 / 3)\n .note().piano().out()","hash":"9_BPqHIO4rPv"},{"id":132,"created_at":"2022-09-05T20:58:11.281557+00:00","code":"const t = x => x.scaleTranspose(\"<0 2 4 3>/4\").transpose(-2)\nconst s = x => x.scale(cat('C3 minor pentatonic','G3 minor pentatonic').slow(4))\nconst delay = new FeedbackDelay(1/8, .6).chain(vol(0.1), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\nstack(\n // melody\n \"<<10 7> <8 3>>/4\".struct(\"x*3\").apply(s)\n .scaleTranspose(\"<0 3 2> <1 4 3>\")\n .superimpose(scaleTranspose(2).early(1/8))\n .apply(t).tone(polysynth().set({\n ...osc('triangle4'),\n ...adsr(0,.08,0)\n }).chain(vol(0.2).connect(delay),chorus,out())).mask(\"<~@3 x>/16\".early(1/8)),\n // pad\n \"[1,3]/4\".scale('G3 minor pentatonic').apply(t).tone(polysynth().set({\n ...osc('square2'),\n ...adsr(0.1,.4,0.8)\n }).chain(vol(0.2),chorus,out())).mask(\"<~ x>/32\"),\n // xylophone\n \"c3,g3,c4\".struct(\"<x*2 x>\").fast(\"<1 <2!3 [4 8]>>\").apply(s).scaleTranspose(\"<0 <1 [2 [3 <4 5>]]>>\").apply(t).tone(polysynth().set({\n ...osc('sawtooth4'),\n ...adsr(0,.1,0)\n }).chain(vol(0.4).connect(delay),out())).mask(\"<x@3 ~>/16\".early(1/8)),\n // bass\n \"c2 [c2 ~]*2\".scale('C hirajoshi').apply(t).tone(synth({\n ...osc('sawtooth6'),\n ...adsr(0,.03,.4,.1)\n }).chain(vol(0.4),out())),\n // kick\n \"<c1!3 [c1 ~]*2>*2\".tone(membrane().chain(vol(0.8),out())),\n // snare\n \"~ <c3!7 [c3 c3*2]>\".tone(noise().chain(vol(0.8),out())),\n // hihat\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.02)).chain(vol(0.5).connect(delay),out()))\n).slow(1)\n// strudel disable-highlighting","hash":"FwkQ0EG3Kkwm"},{"id":133,"created_at":"2022-09-05T22:01:06.950011+00:00","code":"samples({ flbass: ['00_c2_finger_long_neck.wav','01_c2_finger_short_neck.wav','02_c2_finger_long_bridge.wav','03_c2_finger_short_bridge.wav','04_c2_pick_long.wav','05_c2_pick_short.wav','06_c2_palm_mute.wav'] }, \n 'github:cleary/samples-flbass/main/')\nsamples({\nbd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\nsd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\nhh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nnote(\"<8(3,8) <7 7*2> [4 5@3] 8>\".sub(1) // sub 1 -> 1-indexed\n.layer(\nx=>x,\nx=>x.add(7).color('steelblue')\n.off(1/8,x=>x.add(\"2,4\").off(1/8,x=>x.add(5).echo(4,.125,.5)))\n.slow(2),\n).scale('A1 minor'))\n.s(\"flbass\").n(0)\n.gain(.3)\n.cutoff(sine.slow(7).range(200,4000))\n.resonance(10)\n//.hcutoff(400)\n.clip(1)\n.stack(s(\"bd:1*2,~ sd:0,[~ hh:0]*2\"))\n.out()\n.pianoroll({vertical:1})","hash":"Cb_YrHpHKkJN"},{"id":134,"created_at":"2022-09-05T22:19:15.080793+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n casio: ['casio/high.wav', 'casio/low.wav']\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nsamples({\n lo: ['lo/001.wav', 'lo/002.wav', 'lo/003.wav', 'lo/004.wav', 'lo/005.wav', 'lo/006.wav', 'lo/007.wav', 'lo/008.wav'],\n hi: ['hi/001.wav', 'hi/002.wav', 'hi/003.wav', 'hi/004.wav', 'hi/005.wav', 'hi/006.wav', 'hi/007.wav', 'hi/008.wav']\n}, 'github:yaxu/drumming-circle/main/sounds/');\n\n\ns(\"hi ~ lo ~ hi ~ [hi ~] hi\").every(3,rev)\n .webdirt()","hash":"SkqbkK705Olu"},{"id":135,"created_at":"2022-09-05T23:01:03.033407+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n casio: ['casio/high.wav', 'casio/low.wav']\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nsamples({\n lo: ['lo/001.wav', 'lo/002.wav', 'lo/003.wav', 'lo/004.wav', 'lo/005.wav', 'lo/006.wav', 'lo/007.wav', 'lo/008.wav'],\n hi: ['hi/001.wav', 'hi/002.wav', 'hi/003.wav', 'hi/004.wav', 'hi/005.wav', 'hi/006.wav', 'hi/007.wav', 'hi/008.wav']\n}, 'github:yaxu/drumming-circle/main/sounds/');\n\n\ngain(\"1 0.5 1*2 0.2 1 0.25 1*1 0.2\")\n .s(\"<lo hi>\")\n .speed(\"1 2 1\")\n .slow(3)\n .out()\n\ngain(\"1 0.5 1*2 0.2 1 0.25 1*1 0.2\")\n .s(\"lo\")\n .speed(\"2\")\n .slow(3)\n .webdirt()\n","hash":"-hyad472v8by"},{"id":136,"created_at":"2022-09-05T23:06:36.703716+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n casio: ['casio/high.wav', 'casio/low.wav']\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nsamples({\n lo: ['lo/001.wav', 'lo/002.wav', 'lo/003.wav', 'lo/004.wav', 'lo/005.wav', 'lo/006.wav', 'lo/007.wav', 'lo/008.wav'],\n hi: ['hi/001.wav', 'hi/002.wav', 'hi/003.wav', 'hi/004.wav', 'hi/005.wav', 'hi/006.wav', 'hi/007.wav', 'hi/008.wav']\n}, 'github:yaxu/drumming-circle/main/sounds/');\n\n\ngain(\"1 0.5 1*2 0.2 1 0.25 1*1 0.2\")\n .s(\"lo\")\n .speed(\"2 \")\n .release(.2)\n .clip(1)\n .slow(3)\n .out()\n\n/*gain(\"1 0.5 1*2 0.2 1 0.25 1*1 0.2\")\n .s(\"lo\")\n .speed(\"2\")\n .slow(4)\n .webdirt()*/\n","hash":"BApYR1gphKJ7"},{"id":137,"created_at":"2022-09-05T23:16:35.299087+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n casio: ['casio/high.wav', 'casio/low.wav']\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nsamples({\n lo: ['lo/001.wav', 'lo/002.wav', 'lo/003.wav', 'lo/004.wav', 'lo/005.wav', 'lo/006.wav', 'lo/007.wav', 'lo/008.wav'],\n hi: ['hi/001.wav', 'hi/002.wav', 'hi/003.wav', 'hi/004.wav', 'hi/005.wav', 'hi/006.wav', 'hi/007.wav', 'hi/008.wav']\n}, 'github:yaxu/drumming-circle/main/sounds/');\n\n\ngain(\"1 0.5 1*2 0.2 1 0.2*3 1*1 0.2\")\n .s(\"lo\")\n .speed(\"1 1.2 1\")\n .off(\"<0.25 0.125>\", x => x.n(2))\n .chunk(4, x => x.hcutoff(1000).resonance(0.2).fast(2))\n .slow(3)\n .out()\n\n","hash":"wK1UQcYoYpoD"},{"id":138,"created_at":"2022-09-06T04:25:51.520248+00:00","code":"const delay = new FeedbackDelay(1/3, .8).chain(vol(.2), out());\nlet bell = await sampler({\n C6: 'https://freesound.org/data/previews/411/411089_5121236-lq.mp3'\n})\nconst bass = await sampler({\n d2: 'https://freesound.org/data/previews/608/608286_13074022-lq.mp3'\n});\nbell = bell.chain(vol(0.6).connect(delay),out());\n\n\"0\".euclidLegato(3,8)\n .echo(3, 1/16, .5)\n .add(rand.range(0,12))\n .velocity(rand.range(.5,1))\n .legato(rand.range(.4,3))\n .scale(cat('D minor pentatonic')).tone(bell)\n .stack(\"<D2 A2 G2 F2>\".euclidLegato(6,8,1).tone(bass.toDestination()))\n .slow(6)\n .pianoroll({minMidi:20,maxMidi:120,background:'transparent'})","hash":"lB2HuXEXyTex"},{"id":139,"created_at":"2022-09-06T07:46:51.273258+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n casio: ['casio/high.wav', 'casio/low.wav']\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nsamples({\n lo: ['lo/002.wav', 'lo/001.wav', 'lo/003.wav', 'lo/004.wav', 'lo/005.wav', 'lo/006.wav', 'lo/007.wav', 'lo/008.wav'],\n hi: ['hi/002.wav', 'hi/001.wav', 'hi/003.wav', 'hi/004.wav', 'hi/005.wav', 'hi/006.wav', 'hi/007.wav', 'hi/008.wav']\n}, 'github:yaxu/drumming-circle/main/sounds/');\n\n\ngain(\"1 1 [1 0.75] 1(3,8)\")\n .s(\"lo hi lo hi\")\n .iter(4)\n .slow(4)\n .out()\n .cps(1.1)\n\n","hash":"WUxQVJIu27Nz"},{"id":140,"created_at":"2022-09-06T10:57:24.344366+00:00","code":"const scale = cat('C3 dorian','Bb2 major').slow(4);\nstack(\n \"2*4\".add(12).scale(scale)\n .off(1/8,x=>x.scaleTranspose(\"2\")).fast(2)\n .scaleTranspose(\"<0 1 2 1>\").hush(),\n \"<0 1 2 3>(3,8,2)\"\n .scale(scale)\n .off(1/4,x=>x.scaleTranspose(\"2,4\")),\n \"<0 4>(5,8)\".scale(scale).transpose(-12)\n)\n .velocity(\".6 .7\".fast(4))\n .legato(\"2\")\n .scale(scale)\n.scaleTranspose(\"<0>\".slow(4))\n.transpose(5)\n.note().piano().out()\n.velocity(.8)\n.slow(2)\n.pianoroll({maxMidi:100,minMidi:20})","hash":"ZQ-ce-Qj-nuP"},{"id":141,"created_at":"2022-09-06T20:14:04.846599+00:00","code":"const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out());\n\nconst drums = await players({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/')\n\nconst rhodes = await sampler({\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n \"<bd sn> <hh hh*2 hh*3>\"\n .tone(drums.chain(out())),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .tone(rhodes.chain(vol(0.5).connect(delay), out())),\n //\"<C^7 C7 F^7 [Fm7 <Db^7 Db7>]>\".slow(2).voicings().struct(\"~ x\").legato(.25).tone(rhodes),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2)\n .tone(bass),\n).fast(3/2)","hash":"tBPkuxuje0iY"},{"id":142,"created_at":"2022-09-08T05:11:19.044425+00:00","code":"samples({ flbass: ['00_c2_finger_long_neck.wav','01_c2_finger_short_neck.wav','02_c2_finger_long_bridge.wav','03_c2_finger_short_bridge.wav','04_c2_pick_long.wav','05_c2_pick_short.wav','06_c2_palm_mute.wav'] }, \n 'github:cleary/samples-flbass/main/')\nsamples({\nbd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\nsd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\nhh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nnote(\"<8(3,8) <7 7*2> [4 5@3] 8>\".sub(1) // sub 1 -> 1-indexed\n.layer(\nx=>x,\nx=>x.add(7).color('steelblue')\n.off(1/8,x=>x.add(\"2,4\").off(1/8,x=>x.add(5).echo(4,.125,.5)))\n.slow(2),\n).scale('A1 minor'))\n.s(\"flbass\").n(0)\n.gain(.3)\n.cutoff(sine.slow(7).range(200,4000))\n.resonance(10)\n//.hcutoff(400)\n.clip(1)\n.stack(s(\"bd:1*2,~ sd:0,[~ hh:0]*2\"))\n.out()\n.pianoroll({vertical:1})","hash":"ak6ZpErh0hl1"},{"id":143,"created_at":"2022-09-09T18:35:41.770146+00:00","code":"// Chorus from \"Veronica In Ecstasy\", by Tim Smith (of Cardiacs) \nconst maj = \"0,4,7\"\nconst min = \"0,3,7\"\nstack(\n // melody\nseq(\n \"[f#6]*3 [f#6 [~ ~ f#6]]\",\n \"[f#6]*3 [[f#6 e6 ~] e6]\",\n \"[e6 e6 [e6 f#6]] [[g6 ~ d6] d6]\", \n \"[d6 d6 [e6 f#6]] [g#6 f6 c#6]\",\n \"[g#5 [ ~ ~ g#5]] [[a5 b5] c#6 c#6]\", \n \"[f#6]*3 [f6 c#6 g#5]\",\n \"[g#5 [ ~ ~ g#5]] [[a#5 c6] d6 a#5]\", \n \"[g#5 a5 b5] [c#6 d6 e6]\",\n \"[d6 a#5 f5] [[g#5 ~] g#5]\", \n \"e3 ~ [~ ~ f#3] ~\",\n \"e3 ~ [~ ~ f#3] [~ ~ f#6]\").legato(0.9),\n // chords\nseq(\n maj.add(\"b4\"), \n maj.add(\"f#4 a4\"),\n maj.add(\"c4 g4\"),\n maj.add(\"d4 c#4\"),\n maj.add(\"e4 a4\"),\n maj.add(\"b4 c#4\"),\n seq(min.add(\"f4\"), maj.add(\"a#4\")),\n maj.add(\"e4 a4\"),\n seq(maj.add(\"a#4\"), min.add(\"f4\")),\n maj.add(\"~ e4 ~ f#4\"),\n maj.add(\"~ e4 ~ f#4\"))\n .struct(\"x ~\".fast(11*4))\n).slow(21)\n","hash":"U9J_c-Insgbc"},{"id":144,"created_at":"2022-09-09T20:19:44.139115+00:00","code":"// Chorus from \"Veronica In Ecstasy\", by Tim Smith (of Cardiacs) \nconst maj = \"0,4,7\"\nconst min = \"0,3,7\"\nstack(\n // melody\nseq(\n \"[f#6]*3 [f#6 [~ ~ f#6]]\",\n \"[f#6]*3 [[f#6 e6 ~] e6]\",\n \"[e6 e6 [e6 f#6]] [[g6 ~ d6] d6]\", \n \"[d6 d6 [e6 f#6]] [g#6 f6 c#6]\",\n \"[g#5 [ ~ ~ g#5]] [[a5 b5] c#6 c#6]\", \n \"[f#6]*3 [f6 c#6 g#5]\",\n \"[g#5 [ ~ ~ g#5]] [[a#5 c6] d6 a#5]\", \n \"[g#5 a5 b5] [c#6 d6 e6]\",\n \"[d6 a#5 f5] [[g#5 ~] g#5]\", \n \"e3 ~ [~ ~ f#3] ~\",\n \"e3 ~ [~ ~ f#3] [~ ~ f#6]\").legato(0.9),\n // chords\nseq(\n maj.add(\"b4\"), \n maj.add(\"f#4 a4\"),\n maj.add(\"c4 g4\"),\n maj.add(\"d4 c#4\"),\n maj.add(\"e4 a4\"),\n maj.add(\"b4 c#4\"),\n seq(min.add(\"f4\"), maj.add(\"a#4\")),\n maj.add(\"e4 a4\"),\n seq(maj.add(\"a#4\"), min.add(\"f4\")),\n maj.add(\"~ e4 ~ f#4\"),\n maj.add(\"~ e4 ~ f#4\"))\n .struct(\"x ~\".fast(11*4))\n).slow(21).note().piano().out()\n","hash":"y2FS3Xvqv68d"},{"id":153,"created_at":"2022-09-11T10:53:19.74127+00:00","code":"const chords = \"<Am7 Am7 Dm7 E7>\"\nconst roots = chords.rootNotes(2)\n\nstack(\n chords.voicings(['F4', 'A5']).struct(\n ` x@2 ~ x ~ ~ ~ x |\n x? ~ ~ x@3 ~ x |\n x? ~ ~ x ~ x@3`),\n roots.struct(\"x [~ x?0.2] x [~ x?] | x!4 | x@2 ~ ~ ~ x x x\").transpose(\"0 7\")\n).slow(2).pianoroll().note().piano().out();\n","hash":"NWLKF4C7o4EX"},{"id":174,"created_at":"2022-09-16T09:06:24.618281+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\ns(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .sometimesBy(.5,x=>x.coarse(\"16\"))\n .sometimesBy(.4,x=>x.shape(\".8\"))\n .sometimesBy(.3,x=>x.crush(\"8\").gain(.2))\n .stack(\"<g1!3 f1>(3,8)\".note().s('sawtooth').cutoff(sine.range(200,1000).slow(7)).coarse(perlin.range(2,12).round()))\n .speed(perlin.range(.7,.9))\n .someCyclesBy(.1, x=>x.reset(\"x(5,8)\"))\n .out()\n","hash":"IuUGlGkdiPX-"},{"id":145,"created_at":"2022-09-09T22:02:32.827363+00:00","code":"// Chorus from \"Veronica In Ecstasy\", by Tim Smith (of Cardiacs) \nconst maj = \"0,4,7\"\nconst min = \"0,3,7\"\nstack(\n /* melody\nseq(\n \"[f#6]*3 [f#6 [~ ~ f#6]]\",\n \"[f#6]*3 [[f#6 e6 ~] e6]\",\n \"[e6 e6 [e6 f#6]] [[g6 ~ d6] d6]\", \n \"[d6 d6 [e6 f#6]] [g#6 f6 c#6]\",\n \"[g#5 [ ~ ~ g#5]] [[a5 b5] c#6 c#6]\", \n \"[f#6]*3 [f6 c#6 g#5]\",\n \"[g#5 [ ~ ~ g#5]] [[a#5 c6] d6 a#5]\", \n \"[g#5 a5 b5] [c#6 d6 e6]\",\n \"[d6 a#5 f5] [[g#5 ~] g#5]\", \n \"e3 ~ [~ ~ f#3] ~\",\n \"e3 ~ [~ ~ f#3] [~ ~ f#6]\").legato(0.9),\n */\n // chords\nseq(\n min.add(\"c4\"), min.add(\"c4\"), \n maj.add(\"ab3\"), maj.add(\"ab3\"), \n maj.add(\"db4\"), maj.add(\"db4\"), min.add(\"c4\"), \n maj.add(\"f3\"), maj.add(\"bb3\"), \n maj.add(\"c4\"), maj.add(\"c4\"), \n maj.add(\"f3\"), maj.add(\"bb3\"), \n maj.add(\"c4\"), maj.add(\"c4\"), \n maj.add(\"f3\"), maj.add(\"bb3\"), \n maj.add(\"eb4\"), min.add(\"d4\"), \n seq(min.add(\"c4\"), min.add(\"d4\")),\n maj.add(\"eb4\"),\n maj.add(\"eb4\"), min.add(\"d4\"), \n seq(min.add(\"c4\"), min.add(\"d4\")),\n maj.add(\"eb4\")\n\n ).struct(\"x ~\".fast(25*2))\n).slow(24).note().piano().out()\n","hash":"d7-gUjyRbKP9"},{"id":146,"created_at":"2022-09-10T00:32:25.471086+00:00","code":"stack(\n \"[db3, f3, eb3, fb3, a3, b3, c3, d3, db3][d3, e3, f3, g3, ab3, bb3, b3, bb3, d3][db3, eb3, e3, eb3, g3, a3, bb3, c3, db3]@2\".slow(4).late(.1),\n cat(\n 'Dracula?',\n 'Dracula.'\n ).speak(\"en\".slow(24), \"<0 0 0 2 3 4 5 6>\".slow(4)),\n).slow(4)","hash":"lqXKPxgm_j0a"},{"id":147,"created_at":"2022-09-10T11:21:59.12761+00:00","code":"// \"Appealing to Venus\" (By Tim Smith of The Sea Nymphs) \nconst maj = \"0,4,7\"\nconst imaj = \"0,4,-5\"\nconst min = \"0,3,7\"\nconst imin = \"0,3,-5\"\nstack(\n // melody\n `[\n ~@2 c5 d5@2 eb5 d5@3 c5@2 g#4@3 eb5@8 ~@2\n ~@2 c#5 d#5@2 f5 d#5@3 c#5@2 d#5@3\n d#5@3 f5@3 a5@3 a#5@3 a#5@3 g5@6 f5 e5@4 \n ~ e5 f5@2 a5@3 a#5@3 a#5@3 g5@6 f5 e5@4 \n ~ e5 f5@2 a5@3 a#5@3 a#5@3 \n g5@7 f5@6 d#5@3 f5@3 g5@4 ~@2\n g5@6 f5@6 d#5@3 f5@3 g5@4 ~@2\n ]`.legato(0.95).n().s('Oboe: Reed').out()\n ,\n \n // chords \n seq(\n min.add(\"c4\"), min.add(\"c4\"), \n maj.add(\"ab3\"), maj.add(\"ab3\"), \n imaj.add(\"db4\"), imaj.add(\"db4\"), \n min.add(\"c4\"), \n maj.add(\"f3\"), maj.add(\"bb3\"), \n maj.add(\"c4\"), maj.add(\"c4\"), \n maj.add(\"f3\"), maj.add(\"bb3\"), \n maj.add(\"c4\"), maj.add(\"c4\"), \n maj.add(\"f3\"), maj.add(\"bb3\"), \n maj.add(\"eb3\"), min.add(\"d3\"), \n min.add(\"c3 d3\"),\n maj.add(\"eb3 ~\"),\n maj.add(\"eb3\"), min.add(\"d3\"), \n min.add(\"c3 d3\"),\n maj.add(\"eb3 ~\")\n\n ).struct(\"x x \".fast(25)).n().s('Acoustic Grand Piano: Piano').out()\n \n\n).slow(25)\n \n\n","hash":"5obY2LrCcbZI"},{"id":148,"created_at":"2022-09-10T11:43:00.445746+00:00","code":"\"c3 eb3 g3 c4\"\n .off(1/8, x=>x.add(7).color('yellow'))\n .off(1/4, x=>x.add(12).color('salmon'))\n .n().s('Oboe: Reed').gain(.5)\n .cutoff(sine.range(200,2000).slow(4))\n .out()\n .pianoroll()","hash":"8262D2qsUNtO"},{"id":149,"created_at":"2022-09-10T13:05:19.12357+00:00","code":"// \"Appealing to Venus\" (By Tim Smith of The Sea Nymphs) \nconst maj = \"0,4,7\"\nconst imaj = \"0,4,-5\"\nconst iimaj = \"0,-8,-5\"\nconst min = \"0,3,7\"\nconst imin = \"0,3,-5\"\nconst iimin = \"0,-9,-5\"\n\nconst chords = seq(\n imin.add(\"c4\"), imin.add(\"c4\"), maj.add(\"ab3\"), maj.add(\"ab3\"), \n iimaj.add(\"db4\"), iimaj.add(\"db4\"), imin.add(\"c4\"), \n maj.add(\"f3\"), imaj.add(\"bb3\"), imaj.add(\"c4\"), imaj.add(\"c4\"), \n maj.add(\"f3\"), imaj.add(\"bb3\"), imaj.add(\"c4\"), imaj.add(\"c4\"), \n maj.add(\"f3\"), imaj.add(\"bb3\"), \n maj.add(\"eb3\"), min.add(\"d3\"), min.add(\"c3 d3\"), maj.add(\"eb3 ~\"),\n maj.add(\"eb3\"), min.add(\"d3\"), min.add(\"c3 d3\"), maj.add(\"eb3 ~\"),\n \n imaj.add(\"c4\"), imaj.add(\"c4\"), imaj.add(\"ab3\"), maj.add(\"eb3\"), \n imaj.add(\"ab3\"), imaj.add(\"a3\"), maj.add(\"e3\"), imaj.add(\"b3\"), \n maj.add(\"db3\"), min.add(\"c3\"), seq(iimin.add(\"bb3\"),min.add(\"c3\")), maj.add(\"db3 ~\"),\n maj.add(\"db3\"), min.add(\"c3\"), seq(iimin.add(\"bb3\"),min.add(\"c3\")), maj.add(\"db3 ~\")\n );\n\nstack( \n // melody\n `[\n ~@2 c5 d5@2 eb5 d5@3 c5@2 g#4@3 eb5@8 ~@2\n ~@2 c#5 d#5@2 f5 d#5@3 c#5@2 d#5@3\n d#5@3 f5@3 a5@3 a#5@3 a#5@3 g5@6 f5 e5@4 \n ~ e5 f5@2 a5@3 a#5@3 a#5@3 g5@6 f5 e5@4 \n ~ e5 f5@2 a5@3 a#5@3 a#5@3 \n g5@7 f5@6 d#5@3 f5@3 g5@6\n ~@24\n\n e5@2 e5@3 f5@3 g5@3 g#5@3 g5@3 g5@3 c6@3\n c6@3 c6@3 c#6@3 b5@3 [f#5 g#5 f#5@3]@3 e5@3 b5@3 b5@3\n g#5@7 d#5@6 c#5@3 d#5@3 f5@6\n ~@24\n ]`.legato(0.95).n().s('Oboe: Reed').gain(0.4).out()\n ,\n // second voice\n `[\n ~@150\n \n c5@2 c5@3 d5@3 e5@3 d#5@3 d#5@3 c5@3 g5@3\n g5@3 g5@3 g#5@3 e5@3 [c#5 d#5 c#5@3]@3 b4@3 f#5@3 f#5@3\n c#5@7 c5@6 a#4@3 c5@3 c#5@6\n ~@24\n ]`.legato(0.95).n().s('Oboe: Reed').gain(0.3).out()\n ,\n // chords \n chords.struct(\"x x \".fast(25+16)).n().s('Acoustic Grand Piano: Piano').gain(0.25).out(),\n chords.struct(\"x x\".fast(25+16)).n().s('Church Organ: Organ').gain(0.2).out(),\n \n).slow(45)\n ","hash":"9PUNz9fqWo2F"},{"id":150,"created_at":"2022-09-10T16:52:01.48691+00:00","code":"// \"Oh\" (By Tim Smith of Spratleys Japs)\n\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nconst line = `[g#3@16 f#3@8 b3@12 e3@4 a3@8 d3@4 g3@8 a3@4 g3@16 a3@4 g3@16 g#3@4 c#4@4 f#3@4 b3@4 e3@4 a3@8 b3@4 a3@8 c4@4 d#4@24 f4@8 d#4@16]`\n\nstack( \n // melody\n `d#5@16 d#5@8 d#5@12 e5@4 c#5@8 d5@4 d5@8 c#5@4 b4@16 c#5@4 b4@16 c5@4 f5@4 a#4@4 d#5@4 g#4@4 e5@4 b4@3 d#5 f#5@4 d#5@8 e5@4 g4@4 g5@12 f5@4 a5@16 a#5@12`\n .n().s('Piccolo: Pipe').gain(0.35).out(), \n // chords\n line.add(maj)\n .n().s('Choir Aahs: Ensemble').gain(0.15).out(),\n line.add(imaj)\n .n().s('Choir Aahs: Ensemble').gain(0.10).out(),\n // bass\n line.struct(\"x x x x\".fast(48)).transpose(-24).legato(0.90)\n .n().s('Electric Bass (finger): Bass').gain(0.3).out(),\n\n s(\"[[bd bd] sn],hh*2\").fast(48).gain(.20).out()\n \n).slow(65)\n ","hash":"wkDHhKIUtwY_"},{"id":151,"created_at":"2022-09-10T16:54:41.32735+00:00","code":"// \"Oh\" (By Tim Smith of Spratleys Japs)\n\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nconst line = `[g#3@16 f#3@8 b3@12 e3@4 a3@8 d3@4 g3@8 a3@4 g3@16 a3@4 g3@16 g#3@4 c#4@4 f#3@4 b3@4 e3@4 a3@8 b3@4 a3@8 c4@4 d#4@24 f4@8 d#4@16]`\n\nstack( \n // melody\n `d#5@16 d#5@8 d#5@12 e5@4 c#5@8 d5@4 d5@8 c#5@4 b4@16 c#5@4 b4@16 c5@4 f5@4 a#4@4 d#5@4 g#4@4 e5@4 b4@3 d#5 f#5@4 d#5@8 e5@4 g4@4 g5@12 f5@4 a5@16 a#5@12`\n .n().s('Piccolo: Pipe').gain(0.35).out(), \n // chords\n line.add(maj)\n .n().s('Choir Aahs: Ensemble').gain(0.15).out(),\n line.add(imaj).transpose(12)\n .n().s('Choir Aahs: Ensemble').gain(0.15).out(),\n // bass\n line.struct(\"x x x x\".fast(48)).transpose(-24).legato(0.90)\n .n().s('Electric Bass (finger): Bass').gain(0.3).out(),\n\n s(\"[[bd bd] sn],hh*2\").fast(48).gain(.20).out()\n \n).slow(65)\n ","hash":"Zj9qfA1PhcDS"},{"id":152,"created_at":"2022-09-11T10:11:31.941927+00:00","code":"samples({ flbass: ['00_c2_finger_long_neck.wav','01_c2_finger_short_neck.wav','02_c2_finger_long_bridge.wav','03_c2_finger_short_bridge.wav','04_c2_pick_long.wav','05_c2_pick_short.wav','06_c2_palm_mute.wav'] }, \n 'github:cleary/samples-flbass/main/')\nsamples({\nbd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\nsd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\nhh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\nnote(\"<8(3,8) <7 7*2> [4 5@3] 8>\".sub(1) // sub 1 -> 1-indexed\n.layer(\nx=>x,\nx=>x.add(7).color('steelblue')\n.off(1/8,x=>x.add(\"2,4\").color('yellow').off(1/8,x=>x.add(5).color('darkseagreen').echo(4,.125,.5)))\n.slow(2),\n).scale('A1 minor'))\n.s(\"flbass\").n(0)\n.gain(.3)\n.cutoff(sine.slow(7).range(200,4000))\n.resonance(10)\n//.hcutoff(400)\n.clip(1)\n.stack(s(\"bd:1*2,~ sd:0,[~ hh:0]*2\"))\n.out()\n.pianoroll({vertical:1})","hash":"p_G-4ZB295BP"},{"id":218,"created_at":"2022-09-27T04:12:07.011178+00:00","code":"stack(\"<C^7 A7 Dm7 G7>\".m.voicings(), '<C3 A2 D3 G2>'.m)\n .midi()","hash":"sOP6EO9TO4HO"},{"id":154,"created_at":"2022-09-11T14:23:43.062479+00:00","code":"// theme from \"The Breakfast Line\" (By Tim Smith of Cardiacs)\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nstack( \n // melody \n `[\n c#6@2 f5 c6@3 a#5 a5@2 g5@3 c#5 e5@2 d#5@2 f#5 a5@3 a6@3\n a5 g5 f5 d#5 c#5 b4 a5@3 a5@3 f5 g5 a5 a#5 g#5 g5 f5 g5 a5 b5 d5 g5 \n c#5@2 b4 f5@3 c#5 d#5 f5 g5 c#5@2 c5@3 c#5@3 c#5@6\n c#5 g#5 g5 a#4 f5 d#5 c#5 c5 g#5 c#5 c5 b4 c#5@2 b4 a5@3 c#5 b4@2 a5@6 \n b5 g5@2 e5 a5 b5 b5@6 b5 a#5 g5 a5@3 b5 g5 d5 c#5 a5@2 b5 g5 d#5 c#5 a5@2\n g5@2 d#5 f5 d#5 c#5 b4 a4 g4 a4 b4 c#5 d#5 f5 g5 \n ]`\n .legato(0.93).n().s('Overdriven Guitar: Guitar').gain(0.18).out(), \n // chords\n `[C#4 D#4 F4 G4 A3 B3]!8`.add(imaj)\n .n().s('Choir Aahs: Ensemble').gain(0.24).out(),\n // bass\n `[C#2 D#2 C2 D2 A1 B1]!8`.legato(0.90)\n .n().s('Electric Bass (finger): Bass').gain(0.3).out(), \n // drums\n s(\"[[bd ~ bd sn ~ bd],[hh*6]]!24\").gain(.20).out()\n\n).slow(37.6)\n ","hash":"XhNBCyuzIVOD"},{"id":155,"created_at":"2022-09-11T14:56:57.722768+00:00","code":"// theme from \"The Breakfast Line\" (By Tim Smith of Cardiacs)\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nconst melody =`[\n c#6@2 f5 c6@3 a#5 a5@2 g5@3 c#5 e5@2 d#5@2 f#5 a5@3 a6@3\n a5 g5 f5 d#5 c#5 b4 a5@3 a5@3 f5 g5 a5 a#5 g#5 g5 f5 g5 a5 b5 d5 g5 \n c#5@2 b4 f5@3 c#5 d#5 f5 g5 c#5@2 c5@3 c#5@3 c#5@6\n c#5 g#5 g5 a#4 f5 d#5 c#5 c5 g#5 c#5 c5 b4 c#5@2 b4 a5@3 c#5 b4@2 a5@6 \n b5 g5@2 e5 a5 b5 b5@6 b5 a#5 g5 a5@3 b5 g5 d5 c#5 a5@2 b5 g5 d#5 c#5 a5@2\n g5@2 d#5 f5 d#5 c#5 b4 a4 g4 a4 b4 c#5 d#5 f5 g5 ]`.legato(0.93)\nstack( \n // melody \n melody.transpose(-12).n().s('Overdriven Guitar: Guitar').gain(0.20).out(), \n melody.n().s('Overdriven Guitar: Guitar').gain(0.10).out(), \n // chords\n `[C#4 D#4 F4 G4 A3 B3]!8`.add(imaj)\n .n().s('Choir Aahs: Ensemble').gain(0.25).out(),\n // bass\n `[C#2 D#2 C2 D2 A1 B1]!8`.legato(0.90)\n .n().s('Electric Bass (finger): Bass').gain(0.3).out(), \n // drums\n s(\"[bd ~ bd sn ~ bd,hh*6]!23 [sn*6,hh*6]\").gain(0.25).out()\n).slow(38)\n ","hash":"AL73np8C7Fe7"},{"id":156,"created_at":"2022-09-11T16:46:44.314327+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .speed(perlin.range(.7,.9)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .out()\n .slow(3/2)","hash":"89gJxIK34OPK"},{"id":157,"created_at":"2022-09-12T01:28:44.939598+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1)","hash":"8g4oMFkLYMXZ"},{"id":158,"created_at":"2022-09-12T02:53:20.33879+00:00","code":"const delay = new FeedbackDelay(1/8, .4).chain(vol(0.5), out());\nconst kick = new MembraneSynth().chain(vol(.8), out());\nconst snare = new NoiseSynth().chain(vol(.8), out());\nconst hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out());\nconst bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out());\nconst keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out());\n\nconst drums = stack(\n \"c1*2\".tone(kick).mask(\"<x@7 ~>/8\"),\n \"~ <x!7 [x@3 x]>\".tone(snare).mask(\"<x@7 ~>/4\"),\n \"[~ c4]*2\".tone(hihat)\n);\n\nconst thru = (x) => x.transpose(\"<0 1>/8\").transpose(-1);\nconst synths = stack(\n \"<eb4 d4 c4 b3>/2\".scale(timeCat([3,'C minor'],[1,'C melodic minor']).slow(8)).struct(\"[~ x]*2\")\n .layer(\n scaleTranspose(0).early(0),\n scaleTranspose(2).early(1/8),\n scaleTranspose(7).early(1/4),\n scaleTranspose(8).early(3/8)\n ).apply(thru).tone(keys).mask(\"<~ x>/16\"),\n \"<C2 Bb1 Ab1 [G1 [G2 G1]]>/2\".struct(\"[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2\".fast(2)).apply(thru).tone(bass),\n \"<Cm7 Bb7 Fm7 G7b13>/2\".struct(\"~ [x@0.1 ~]\".fast(2)).voicings().apply(thru).every(2, early(1/8)).tone(keys).mask(\"<x@7 ~>/8\".early(1/4))\n)\nstack(\n drums.fast(2), \n synths\n).slow(2)","hash":"NIQF-VGYdB83"},{"id":159,"created_at":"2022-09-12T04:21:55.945329+00:00","code":"const chords = \"<Cm7 Fm7 G7 F#7>\";\nstack(\n chords.voicings().struct(\"x(3,8,-1)\").velocity(.5).off(1/7,x=>x.transpose(12).velocity(.2)),\n chords.rootNotes(2).struct(\"x(4,8,-2)\"),\n chords.rootNotes(4)\n .scale(cat('C minor','F dorian','G dorian','F# mixolydian'))\n .struct(\"x(3,8,-2)\".fast(2))\n .scaleTranspose(\"0 4 0 6\".early(\".125 .5\")).layer(scaleTranspose(\"0,<2 [4,6] [5,7]>/4\"))\n).slow(2)\n .velocity(sine.struct(\"x*8\").add(3/5).mul(2/5).fast(8))\n .note().piano().out()","hash":"KOAtvzaJcmmY"},{"id":160,"created_at":"2022-09-12T16:58:43.165364+00:00","code":"stack(\n // melody\n `[B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3] \n [B3@2 D4] [A4@2 G4] [D4@2 [C4 B3]] [A3]\n [B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3]\n [B3@2 D4] [A4@2 G4] D5@2 \n [D5@2 [C5 B4]] [[C5 B4] G4@2] [C5@2 [B4 A4]] [[B4 A4] E4@2]\n [D5@2 [C5 B4]] [[C5 B4] G4 C5] [G5] [~ ~ B3]`,\n // bass\n `[[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[D2 A2] C3@2] [[C2 G2] B2@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[Eb2 Bb2] Db3@2] [[D2 A2] C3 [F3,G2]]`\n).transpose(12).slow(48).tone(\n new PolySynth().chain(\n new Gain(0.3), \n new Chorus(2, 2.5, 0.5).start(), \n new Freeverb(), \n getDestination())\n)","hash":"pK517-FAktOc"},{"id":161,"created_at":"2022-09-13T21:04:40.773025+00:00","code":"samples({mad:'https://freesound.org/data/previews/22/22274_109943-lq.mp3'})\nstack(\n stack(\n \"c3*2 [[c3@1.4 bb2] ab2] gb2*2 <[[gb2@1.4 ab2] bb2] gb2>\".legato(\".5 1\".fast(2)).velocity(.8),\n \"0 ~\".scale('c4 whole tone')\n .euclidLegato(3,8).slow(2).mask(\"x ~\")\n .stutWith(8, 1/16, (x,n)=>x.scaleTranspose(n).velocity(Math.pow(.7,n)))\n .scaleTranspose(\"<0 1 2 3 4 3 2 1>\")\n .fast(2)\n .velocity(.7)\n .legato(.5)\n .stut(3, .5, 1/8)\n ).transpose(-1).note().piano(),\n s(\"mad\").slow(2)\n).cpm(78).slow(4)\n .out()\n .pianoroll()\n","hash":"H3BbA0AovtKs"},{"id":162,"created_at":"2022-09-13T21:48:42.132401+00:00","code":"// \"Oh\" (By Tim Smith of Spratleys Japs)\n\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nconst line = `[g#3@16 f#3@8 b3@12 e3@4 a3@8 d3@4 g3@8 a3@4 g3@16 a3@4 g3@16 g#3@4 c#4@4 f#3@4 b3@4 e3@4 a3@8 b3@4 a3@8 c4@4 d#4@24 f4@8 d#4@16]`\n\nstack( \n // melody\n `d#5@16 d#5@8 d#5@12 e5@4 c#5@8 d5@4 d5@8 c#5@4 b4@16 c#5@4 b4@16 c5@4 f5@4 a#4@4 d#5@4 g#4@4 e5@4 b4@3 d#5 f#5@4 d#5@8 e5@4 g4@4 g5@12 f5@4 a5@16 a#5@12`\n .n().s('Piccolo: Pipe').gain(0.35).out(), \n // chords\n line.add(maj)\n .n().s('Choir Aahs: Ensemble').gain(0.15).out(),\n line.add(imaj).transpose(12)\n .n().s('Choir Aahs: Ensemble').gain(0.15).out(),\n // bass\n line.struct(\"x x x x\".fast(48)).transpose(-24).legato(0.90)\n .n().s('Electric Bass (finger): Bass').gain(0.3).out(),\n\n s(\"[[bd bd] sn],hh*2\").fast(48).gain(.20).out()\n \n).slow(65)\n ","hash":"Y9RZADkxt8UL"},{"id":163,"created_at":"2022-09-13T23:04:35.959127+00:00","code":"stack(\n seq(\n e5, [b4, c5], d5, [c5, b4],\n a4, [a4, c5], e5, [d5, c5],\n b4, [r, c5], d5, e5,\n c5, a4, a4, r,\n [r, d5], [r, f5], a5, [g5, f5],\n e5, [r, c5], e5, [d5, c5],\n b4, [b4, c5], d5, e5,\n c5, a4, a4, r,\n ).rev(),\n seq(\n e2, e3, e2, e3, e2, e3, e2, e3,\n a2, a3, a2, a3, a2, a3, a2, a3,\n gs2, gs3, gs2, gs3, e2, e3, e2, e3,\n a2, a3, a2, a3, a2, a3, b1, c2,\n d2, d3, d2, d3, d2, d3, d2, d3,\n c2, c3, c2, c3, c2, c3, c2, c3,\n b1, b2, b1, b2, e2, e3, e2, e3,\n a1, a2, a1, a2, a1, a2, a1, a2,\n ).rev()\n).slow(16)","hash":"bxwipc2kqreB"},{"id":164,"created_at":"2022-09-13T23:06:23.988071+00:00","code":"// theme from \"The Breakfast Line\" (By Tim Smith of Cardiacs)\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nstack( \n // melody \n `[\n c#6@2 f5 c6@3 a#5 a5@2 g5@3 c#5 e5@2 d#5@2 f#5 a5@3 a6@3\n a5 g5 f5 d#5 c#5 b4 a5@3 a5@3 f5 g5 a5 a#5 g#5 g5 f5 g5 a5 b5 d5 g5 \n c#5@2 b4 f5@3 c#5 d#5 f5 g5 c#5@2 c5@3 c#5@3 c#5@6\n c#5 g#5 g5 a#4 f5 d#5 c#5 c5 g#5 c#5 c5 b4 c#5@2 b4 a5@3 c#5 b4@2 a5@6 \n b5 g5@2 e5 a5 b5 b5@6 b5 a#5 g5 a5@3 b5 g5 d5 c#5 a5@2 b5 g5 d#5 c#5 a5@2\n g5@2 d#5 f5 d#5 c#5 b4 a4 g4 a4 b4 c#5 d#5 f5 g5 \n ]`.rev()\n .legato(0.93).n().s('Overdriven Guitar: Guitar').gain(0.18).out(), \n // chords\n `[C#4 D#4 F4 G4 A3 B3]!8`.rev().add(imaj)\n .n().s('Choir Aahs: Ensemble').gain(0.24).out(),\n // bass\n `[C#2 D#2 C2 D2 A1 B1]!8`.rev().legato(0.90)\n .n().s('Electric Bass (finger): Bass').gain(0.3).out(), \n // drums\n s(\"[[bd ~ bd sn ~ bd],[hh*6]]!24\").rev().gain(.20).out()\n\n).slow(37.6)\n ","hash":"qGimkQi_nszY"},{"id":165,"created_at":"2022-09-14T10:53:59.02489+00:00","code":"const delay = new FeedbackDelay(1/3, .8).chain(vol(.2), out());\nlet bell = await sampler({\n C6: 'https://freesound.org/data/previews/411/411089_5121236-lq.mp3'\n})\nconst bass = await sampler({\n d2: 'https://freesound.org/data/previews/608/608286_13074022-lq.mp3'\n});\nbell = bell.chain(vol(0.6).connect(delay),out());\n\n\"0\".euclidLegato(3,8)\n .echo(3, 1/16, .5)\n .add(rand.range(0,12))\n .velocity(rand.range(.5,1))\n .legato(rand.range(.4,3))\n .scale(cat('D minor pentatonic')).tone(bell)\n .stack(\"<D2 A2 G2 F2>\".euclidLegato(6,8,1).tone(bass.toDestination()))\n .slow(6)\n .pianoroll({minMidi:20,maxMidi:120,background:'transparent'})","hash":"DVESSaRggtn_"},{"id":166,"created_at":"2022-09-14T10:58:21.481945+00:00","code":"const lfo = cosine.slow(15);\nconst lfo2 = sine.slow(16);\nconst filter1 = x=>x.cutoff(lfo2.range(300,3000));\nconst filter2 = x=>x.hcutoff(lfo.range(1000,6000)).cutoff(4000)\nconst scales = cat('D3 major', 'G3 major').slow(8)\n\nconst drums = await players({\n bd: '344/344757_1676145-lq.mp3',\n sn: '387/387186_7255534-lq.mp3',\n hh: '561/561241_12517458-lq.mp3',\n hh2:'44/44944_236326-lq.mp3',\n hh3: '44/44944_236326-lq.mp3',\n}, 'https://freesound.org/data/previews/')\n\nstack(\n \"-7 0 -7 7\".struct(\"x(5,8,2)\").fast(2).sub(7)\n .scale(scales)\n .n()\n .s(\"sawtooth,square\")\n .gain(.3).attack(0.01).decay(0.1).sustain(.5)\n .apply(filter1),\n \"~@3 [<2 3>,<4 5>]\"\n .echo(4,1/16,.7)\n .scale(scales)\n .n()\n .s('square').gain(.7)\n .attack(0.01).decay(0.1).sustain(0)\n .apply(filter1),\n \"6 4 2\".add(14)\n .superimpose(sub(\"5\"))\n .fast(1).euclidLegato(3,8)\n .mask(\"<1 0@7>\")\n .fast(2)\n .echo(32, 1/8, .8)\n .scale(scales)\n .n()\n .s(\"sawtooth\")\n .gain(sine.range(.1,.4).slow(8))\n .attack(.001).decay(.2).sustain(0)\n .apply(filter2)\n).out().stack(\n stack(\n \"bd <~@7 [~ bd]>\".fast(2),\n \"~ sn\",\n \"[~ hh3]*2\"\n ).tone(drums.chain(vol(.18),out())).fast(2)\n).slow(2)\n \n//.pianoroll({minMidi:20, maxMidi:160})\n// strudel disable-highlighting","hash":"CHh9ZGJxiWnm"},{"id":167,"created_at":"2022-09-14T20:27:56.840816+00:00","code":"Pattern.prototype.teeter = function(probability, other) {\n return this.sometimesBy(probability, () => other)\n}\n\n\"bd\".teeter(0.7, \"hh\").s().fast(4).out()","hash":"7C7fQJ7ENNd3"},{"id":168,"created_at":"2022-09-14T22:19:56.095051+00:00","code":"\"bd\".sometimes(set(\"hh\")).s().fast(4).out()","hash":"VGsjmHzmkMz0"},{"id":169,"created_at":"2022-09-14T22:22:17.092485+00:00","code":"\"bd\".sometimes(x => x.squeeze(\"hh hh hh\")).s().fast(4).out()","hash":"4QSBDxgdgAIr"},{"id":170,"created_at":"2022-09-14T22:27:33.350324+00:00","code":"\"bd@2 bd\".sometimes(x => x.squeeze(\"hh hh hh\")).s().out()","hash":"_1ClWbH9kSKC"},{"id":171,"created_at":"2022-09-15T05:18:14.096948+00:00","code":"\n\nconst delay = new FeedbackDelay(1/7, .1).chain(vol(0.9), out());\nconst reverb = new Reverb(1).chain(vol(3), out());\nconst hihat = new MetalSynth()\n .set(adsr(0, .01, 0, .1))\n .chain(vol(.01).connect(delay),out());\nlet kick = await sampler({\n c3: 'https://blog.livecoding.nyuadim.com/public/Dirt-Samples/808bd/BD0010.WAV'\n})\nkick = kick.chain(vol(1).connect(reverb),out());\n\nstack(\n \"<c5(3,8,0) [c5(3,8,1)]? c5(3,8,2) c5(2,6)>\"\n .add(isaw.mul(12).slow(4))\n .slow(2).tone(kick.toDestination()),\n `[<f3(3,8) c3(2,6) e3(3,8,0) d3(2,4)\n <f3(3,8) f3(5,8,1)> <e3(2,6) [e3 g3]>>, \n <a1@2 g1@2 c2@2>]`\n .degradeBy(0.01)\n .legato(20)\n .velocity(1)\n .tone((await piano()).toDestination()),//.midi('IAC Driver Bus 1'),\n \"<~ 3> 2 ~ [2 <[~ [-0*3]?] ~>]\"\n .slow(2).tone(hihat.toDestination())\n)\n\n","hash":"nmwsMPG16O1L"},{"id":173,"created_at":"2022-09-15T19:53:11.667602+00:00","code":"\"<a1 b1*2 a1(3,8) e2*2>\"\n .off(1/8,x=>x.add(12).degradeBy(.5))\n .superimpose(add(.05))\n .n() \n .decay(.25).sustain(0)\n .s('sawtooth')\n .gain(.4)\n .vowel(\"<a e i o u>\")\n .out()","hash":"bdsxEcjr7fkg"},{"id":184,"created_at":"2022-09-20T16:08:24.400263+00:00","code":"stack(\n \"2,6\"\n .scale('F3 dorian')\n .transpose(sine2.struct(\"x*64\").slow(4).mul(2).round())\n .fast(2)\n .struct(\"x x*3\")\n .legato(\".9 .3\"),\n \"0@3 -3*3\".legato(\".95@3 .4\").scale('F2 dorian')\n)\n .transpose(\"<0 1 2 1>/2\".early(0.5))\n .transpose(5)\n .fast(2 / 3)\n .note().piano().out()","hash":"irMD_KH0ICbf"},{"id":175,"created_at":"2022-09-16T16:10:39.404129+00:00","code":"const delay = new FeedbackDelay(1/8, .4).chain(vol(0.5), out());\nconst kick = new MembraneSynth().chain(vol(.8), out());\nconst snare = new NoiseSynth().chain(vol(.8), out());\nconst hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out());\nconst bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out());\nconst keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out());\n\nconst drums = stack(\n \"c1*2\".tone(kick).mask(\"<x@7 ~>/8\"),\n \"~ <x!7 [x@3 x]>\".tone(snare).mask(\"<x@7 ~>/4\"),\n \"[~ c4]*2\".tone(hihat)\n);\n\nconst thru = (x) => x.transpose(\"<0 1>/8\").transpose(-1);\nconst synths = stack(\n \"<eb4 d4 c4 b3>/2\".scale(timeCat([3,'C minor'],[1,'C melodic minor']).slow(8)).struct(\"[~ x]*2\")\n .layer(\n scaleTranspose(0).early(0),\n scaleTranspose(2).early(1/8),\n scaleTranspose(7).early(1/4),\n scaleTranspose(8).early(3/8)\n ).apply(thru).tone(keys).mask(\"<~ x>/16\"),\n \"<C2 Bb1 Ab1 [G1 [G2 G1]]>/2\".struct(\"[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2\".fast(2)).apply(thru).tone(bass),\n \"<Cm7 Bb7 Fm7 G7b13>/2\".struct(\"~ [x@0.1 ~]\".fast(2)).voicings().apply(thru).every(2, early(1/8)).tone(keys).mask(\"<x@7 ~>/8\".early(1/4))\n)\nstack(\n drums.fast(2), \n synths\n).slow(2)","hash":"1QH3HPhZ1uad"},{"id":176,"created_at":"2022-09-16T16:17:58.099744+00:00","code":"const scale = cat('C3 dorian','Bb2 major').slow(4);\nstack(\n \"2*4\".add(12).scale(scale)\n .off(1/8,x=>x.scaleTranspose(\"2\")).fast(2)\n .scaleTranspose(\"<0 1 2 1>\").hush(),\n \"<0 1 2 3>(3,8,2)\"\n .scale(scale)\n .off(1/4,x=>x.scaleTranspose(\"2,4\")),\n \"<0 4>(5,8)\".scale(scale).transpose(-12)\n)\n .velocity(\".6 .7\".fast(4))\n .legato(\"2\")\n .scale(scale)\n.scaleTranspose(\"<0>\".slow(4))\n.transpose(5)\n.note().piano().out()\n.velocity(.8)\n.slow(2)\n.pianoroll({maxMidi:100,minMidi:20})","hash":"hxJZG7SS71HP"},{"id":177,"created_at":"2022-09-16T22:21:30.67989+00:00","code":"const t = x => x.scaleTranspose(\"<0 2 4 3>/4\").transpose(-2)\nconst s = x => x.scale(cat('C3 minor pentatonic','G3 minor pentatonic').slow(4))\nconst delay = new FeedbackDelay(1/8, .6).chain(vol(0.1), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\nstack(\n // melody\n \"<<10 7> <8 3>>/4\".struct(\"x*3\").apply(s)\n .scaleTranspose(\"<0 3 2> <1 4 3>\")\n .superimpose(scaleTranspose(2).early(1/8))\n .apply(t).tone(polysynth().set({\n ...osc('triangle4'),\n ...adsr(0,.08,0)\n }).chain(vol(0.2).connect(delay),chorus,out())).mask(\"<~@3 x>/16\".early(1/8)),\n // pad\n \"[1,3]/4\".scale('G3 minor pentatonic').apply(t).tone(polysynth().set({\n ...osc('square2'),\n ...adsr(0.1,.4,0.8)\n }).chain(vol(0.2),chorus,out())).mask(\"<~ x>/32\"),\n // xylophone\n \"c3,g3,c4\".struct(\"<x*2 x>\").fast(\"<1 <2!3 [4 8]>>\").apply(s).scaleTranspose(\"<0 <1 [2 [3 <4 5>]]>>\").apply(t).tone(polysynth().set({\n ...osc('sawtooth4'),\n ...adsr(0,.1,0)\n }).chain(vol(0.4).connect(delay),out())).mask(\"<x@3 ~>/16\".early(1/8)),\n // bass\n \"c2 [c2 ~]*2\".scale('C hirajoshi').apply(t).tone(synth({\n ...osc('sawtooth6'),\n ...adsr(0,.03,.4,.1)\n }).chain(vol(0.4),out())),\n // kick\n \"<c1!3 [c1 ~]*2>*2\".tone(membrane().chain(vol(0.8),out())),\n // snare\n \"~ <c3!7 [c3 c3*2]>\".tone(noise().chain(vol(0.8),out())),\n // hihat\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.02)).chain(vol(0.5).connect(delay),out()))\n).slow(1)\n// strudel disable-highlighting","hash":"EoVX7HjwHB8r"},{"id":178,"created_at":"2022-09-16T23:02:44.33235+00:00","code":"const chords = \"<Cm7 Fm7 G7 F#7>\";\nstack(\n chords.voicings().struct(\"x(3,8,-1)\").velocity(.5).off(1/7,x=>x.transpose(12).velocity(.2)),\n chords.rootNotes(2).struct(\"x(4,8,-2)\"),\n chords.rootNotes(4)\n .scale(cat('C minor','F dorian','G dorian','F# mixolydian'))\n .struct(\"x(3,8,-2)\".fast(2))\n .scaleTranspose(\"0 4 0 6\".early(\".125 .5\")).layer(scaleTranspose(\"0,<2 [4,6] [5,7]>/4\"))\n).slow(2)\n .velocity(sine.struct(\"x*8\").add(3/5).mul(2/5).fast(8))\n .note().piano().out()","hash":"tVIePZOlbUFE"},{"id":179,"created_at":"2022-09-18T04:46:14.855382+00:00","code":"stack(\n freq(\"55 [110,165] 110 [220,275]\".mul(\"<1 <3/4 2/3>>\").struct(\"x(3,8)\").layer(x=>x.mul(\"1.006,.995\"))),\n freq(\"440(5,8)\".legato(.18).mul(\"<1 3/4 2 2/3>\")).gain(perlin.range(.2,.8))\n).s(\"<sawtooth square>/2\")\n .onTrigger((t,hap,ct)=>{\n const ac = Tone.getContext().rawContext;\n t = ac.currentTime + t - ct;\n const { freq, s, gain = 1 } = hap.value;\n const master = ac.createGain();\n master.gain.value = 0.1 * gain;\n master.connect(ac.destination);\n const o = ac.createOscillator();\n o.type = s || 'triangle';\n o.frequency.value = Number(freq);\n o.connect(master);\n o.start(t);\n o.stop(t + hap.duration);\n}).stack(s(\"bd(3,8),hh*4,~ sd\").webdirt())","hash":"P_Fi2yRHrXHj"},{"id":180,"created_at":"2022-09-18T15:44:49.144663+00:00","code":"stack(\ns(\"bd, [~ sd], hh(3, 4)\")\n,\"5@2 4 3 5@2 4 4 ~ 3 ~!2 ~!4 ~ 4!3 4@2 4 4@2 3 ~@6\"\n .slow(4).scale('C2 major').note().s('sawtooth')\n.slow(2)\n).out()","hash":"brh8FpBbbH--"},{"id":181,"created_at":"2022-09-19T00:39:23.928137+00:00","code":"const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out());\n\nconst drums = await players({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/')\n\nconst rhodes = await sampler({\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n \"<bd sn> <hh hh*2 hh*3>\"\n .tone(drums.chain(out())),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .tone(rhodes.chain(vol(0.5).connect(delay), out())),\n //\"<C^7 C7 F^7 [Fm7 <Db^7 Db7>]>\".slow(2).voicings().struct(\"~ x\").legato(.25).tone(rhodes),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2)\n .tone(bass),\n).fast(3/2)","hash":"Uw7K4l1pIVUt"},{"id":182,"created_at":"2022-09-19T18:35:27.986831+00:00","code":"seq(5).seq([8,9]).cat(6).cat([7,5])\n .superimpose(x=>x.add(3))\n \n.scale('c major')\n.pianoroll()","hash":"dhBbMccpPgg8"},{"id":183,"created_at":"2022-09-20T00:55:07.074524+00:00","code":"// mixer\nconst mix = (key) => vol({\n chords: .2,\n lead: 0.8,\n bass: .4,\n snare: .95, \n kick: .9,\n hihat: .35,\n}[key]||0);\nconst delay = new FeedbackDelay(1/6, .3).chain(vol(.7), out());\nconst delay2 = new FeedbackDelay(1/6, .2).chain(vol(.15), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\n// instruments\nconst instr = (instrument) => ({\n organ: polysynth().set({...osc('sawtooth4'), ...adsr(.01,.2,0)}).chain(mix('chords').connect(delay),out()),\n lead: polysynth().set({...osc('triangle4'),...adsr(0.01,.05,0)}).chain(mix('lead').connect(delay2), out()),\n bass: polysynth().set({...osc('sawtooth8'),...adsr(.02,.05,.3,.2)}).chain(mix('bass'),lowpass(3000), out()),\n pad: polysynth().set({...osc('square2'),...adsr(0.1,.4,0.8)}).chain(vol(0.15),chorus,out()),\n hihat: metal(adsr(0, .02, 0)).chain(mix('hihat'), out()),\n snare: noise(adsr(0, .15, 0.01)).chain(mix('snare'), lowpass(5000), out()),\n kick: membrane().chain(mix('kick'), out())\n}[instrument]);\n// harmony\nconst t = transpose(\"<0 0 1 0>/8\");\nconst sowhat = scaleTranspose(\"0,3,6,9,11\");\n// track\nstack(\n \"[<0 4 [3 [2 1]]>]/4\".struct(\"[x]*3\").mask(\"[~ x ~]\").scale('D5 dorian').off(1/6, scaleTranspose(-7)).off(1/3, scaleTranspose(-5)).apply(t).tone(instr('lead')).mask(\"<~ ~ x x>/8\"),\n \"<<e3 [~@2 a3]> <[d3 ~] [c3 f3] g3>>\".scale('D dorian').apply(sowhat).apply(t).tone(instr('organ')).mask(\"<x x x ~>/8\"),\n \"<[d2 [d2 ~]*3]!3 <a1*2 c2*3 [a1 e2]>>\".apply(t).tone(instr('bass')),\n \"c1*6\".tone(instr('hihat')),\n \"~ c3\".tone(instr('snare')),\n \"<[c1@5 c1] <c1 [[c1@2 c1] ~] [c1 ~ c1] [c1!2 ~ c1!3]>>\".tone(instr('kick')),\n \"[2,4]/4\".scale('D dorian').apply(t).tone(instr('pad')).mask(\"<x x x ~>/8\")\n).fast(6/8)\n// strudel disable-highlighting","hash":"U5sIL_DhqTip"},{"id":185,"created_at":"2022-09-20T16:20:26.184708+00:00","code":"stack()\n\n// Notes\n// stack(\"e5\")\n\n// Sequences\n// stack(\"e5 b4 d5 c5\")\n\n// Sequences divided by 2\n// stack(\"[e5 b4 d5 c5]/2\")\n\n// Angle brackets, same as sequences divided by 4\n// stack(\"<e5 b4 d5 c5>\")\n\n// Sequences multiplication\n// stack(\"[e5 b4 d5 c5]*2\")\n\n// Bracket nesting\n// stack(\"e5 [b4 c5] d5 [c5 b4]\")\n\n// Rests\n// stack(\"[b4 [~ c5] d5 e5]\")\n\n// Parallel\n// stack(\"g3,b3,e4\")\n\n// Multiple parallels\n// stack(\"<[g3,b3,e4] [a3,c3,e4] [b3,d3,f#4] [b3,e4,g4]>\")\n\n// Elongation\n// stack(\"<[g3,b3,e4]@2 [a3,c3,e4] [b3,d3,f#4]>\")\n\n// Replication\n// stack(\"<[g3,b3,e4]!2 [a3,c3,e4] [b3,d3,f#4]>\")\n\n// Euclidian with slow down\n// stack(\"e5(2,8) b4(3,8) d5(2,8) c5(3,8)\".slow(4))","hash":"A6Mqjuhn1Wpr"},{"id":186,"created_at":"2022-09-20T16:29:53.076012+00:00","code":"stack()\n\n// Synths\n// stack(note(\"c2 <eb2 <g2 g1>>\").s('sawtooth').out())\n\n// Multiple synths\n// stack(note(\"c2 <eb2 <g2 g1>>\").s(\"<sawtooth square triangle>\").out())\n\n// Envelope\n// stack(note(\"c2 <eb2 <g2 g1>>\").s('sawtooth').attack(.1).decay(.1).sustain(.2).release(.1).out())\n\n// Samples\n// stack(s(\"bd sd,hh*8,misc/2\").out())\n\n// Custom sample maps\n// samples({\n// bd: 'bd/BT0AADA.wav',\n// sd: 'sd/rytm-01-classic.wav',\n// hh: 'hh27/000_hh27closedhh.wav',\n// }, 'https://raw.githubusercontent.com/tidalcycles/Dirt-Samples/master/');\n// s(\"bd sd,hh*8\").out()\n\n// Custom sample maps with Github shortcuts\n// samples({\n// bd: 'bd/BT0AADA.wav',\n// sd: 'sd/rytm-01-classic.wav',\n// hh: 'hh27/000_hh27closedhh.wav',\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// s(\"bd sd,hh*8\").out()\n\n// Mutiple samples per sound\n// samples({\n// bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav'],\n// sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n// hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// s(\"<bd:0 bd:1>,~ <sd:0 sd:1>,[hh:0 hh:1]*2\").out()\n\n// Pitched sounds\n// samples({\n// \"gtr\": 'gtr/0001_cleanC.wav',\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g3 [bb3 c4] <g4 f4 eb4 f3>@2\").s('gtr').gain(.5).out()\n\n// Pitched sounds with clip\n// samples({\n// \"gtr\": 'gtr/0001_cleanC.wav',\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g3 [bb3 c4] <g4 f4 eb4 f3>@2\").s('gtr').clip(1)\n// .gain(.5).out()\n\n// Base pitch \n// samples({\n// \"gtr\": 'gtr/0001_cleanC.wav',\n// \"moog\": { 'g3': 'moog/005_Mighty%20Moog%20G3.wav' },\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g3 [bb3 c4] <g4 f4 eb4 f3>@2\").s(\"gtr,moog\").clip(1)\n// .gain(.5).out()\n\n// Base pitch with different regions of the keyboard\n// samples({\n// \"moog\": {\n// 'g2': 'moog/004_Mighty%20Moog%20G2.wav',\n// 'g3': 'moog/005_Mighty%20Moog%20G3.wav',\n// 'g4': 'moog/006_Mighty%20Moog%20G4.wav',\n// }}, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g2!2 <bb2 c3>!2, <c4@3 [<eb4 bb3> g4 f4]>\")\n// .s('moog').clip(1)\n// .gain(.5).out()","hash":"2-JbRPIoRj7X"},{"id":187,"created_at":"2022-09-20T16:30:30.971605+00:00","code":"stack()\n\n// Synths\n// stack(note(\"c2 <eb2 <g2 g1>>\").s('sawtooth').out())\n\n// Multiple synths\n// stack(note(\"c2 <eb2 <g2 g1>>\").s(\"<sawtooth square triangle>\").out())\n\n// Envelope\n// stack(note(\"c2 <eb2 <g2 g1>>\").s('sawtooth').attack(.1).decay(.1).sustain(.2).release(.1).out())\n\n// Samples\n// stack(s(\"bd sd,hh*8,misc/2\").out())\n\n// Custom sample maps\n// samples({\n// bd: 'bd/BT0AADA.wav',\n// sd: 'sd/rytm-01-classic.wav',\n// hh: 'hh27/000_hh27closedhh.wav',\n// }, 'https://raw.githubusercontent.com/tidalcycles/Dirt-Samples/master/');\n// s(\"bd sd,hh*8\").out()\n\n// Custom sample maps with Github shortcuts\n// samples({\n// bd: 'bd/BT0AADA.wav',\n// sd: 'sd/rytm-01-classic.wav',\n// hh: 'hh27/000_hh27closedhh.wav',\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// s(\"bd sd,hh*8\").out()\n\n// Mutiple samples per sound\n// samples({\n// bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav'],\n// sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n// hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// s(\"<bd:0 bd:1>,~ <sd:0 sd:1>,[hh:0 hh:1]*2\").out()\n\n// Pitched sounds\n// samples({\n// \"gtr\": 'gtr/0001_cleanC.wav',\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g3 [bb3 c4] <g4 f4 eb4 f3>@2\").s('gtr').gain(.5).out()\n\n// Pitched sounds with clip\n// samples({\n// \"gtr\": 'gtr/0001_cleanC.wav',\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g3 [bb3 c4] <g4 f4 eb4 f3>@2\").s('gtr').clip(1)\n// .gain(.5).out()\n\n// Base pitch \n// samples({\n// \"gtr\": 'gtr/0001_cleanC.wav',\n// \"moog\": { 'g3': 'moog/005_Mighty%20Moog%20G3.wav' },\n// }, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g3 [bb3 c4] <g4 f4 eb4 f3>@2\").s(\"gtr,moog\").clip(1)\n// .gain(.5).out()\n\n// Base pitch with different regions of the keyboard\n// samples({\n// \"moog\": {\n// 'g2': 'moog/004_Mighty%20Moog%20G2.wav',\n// 'g3': 'moog/005_Mighty%20Moog%20G3.wav',\n// 'g4': 'moog/006_Mighty%20Moog%20G4.wav',\n// }}, 'github:tidalcycles/Dirt-Samples/master/');\n// note(\"g2!2 <bb2 c3>!2, <c4@3 [<eb4 bb3> g4 f4]>\")\n// .s('moog').clip(1)\n// .gain(.5).out()","hash":"wVDgPVVgbrSK"},{"id":188,"created_at":"2022-09-21T15:48:45.208649+00:00","code":"const drums = await players({\n bd: 'bd/BT0A0D0.wav',\n sn: 'sn/ST0T0S3.wav',\n hh: 'hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nstack(\n \"<bd!3 bd(3,4,2)>\",\n \"hh*4\",\n \"~ <sn!3 sn(3,4,1)>\"\n).tone(drums.chain(out()))\n","hash":"z0OoCML7DPQb"},{"id":189,"created_at":"2022-09-21T17:16:52.291937+00:00","code":"const delay = new FeedbackDelay(1/8, .4).chain(vol(0.5), out());\nconst kick = new MembraneSynth().chain(vol(.8), out());\nconst snare = new NoiseSynth().chain(vol(.8), out());\nconst hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out());\nconst bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out());\nconst keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out());\nconst drums = stack(\n \"c1*2\".tone(kick).mask(\"<x@7 ~>/8\"),\n \"~ <x!7 [x@3 x]>\".tone(snare).mask(\"<x@7 ~>/4\"),\n \"[~ c4]*2\".tone(hihat)\n);\nconst thru = (x) => x.transpose(\"<0 1>\").transpose(-1);\nstack(\n seq(\n \"[e4 c4] [a4 c4] [e4 c4] [e4 f4]\",\n \"[e4 b4] [g3 b4] e4 d4\",\n \"[e4 c4] [a4 c4] [e4 c4] [e4 f4]\",\n \"[e4 b4] [g3 b4] e4@1.5 g5@0.5\"\n ).tone(keys),\n drums.fast(8),\n // chords\n \"<C2 Bb1 Ab1 [G1 [G2 G1]]>/2\".struct(\"[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2\".fast(2)).apply(thru).tone(bass),\n \"[A3,C4,E4,A5]*2\".tone(kick).mask(\"<x ~>*4\")\n).slow(8).note()","hash":"SWekIFXDlrLE"},{"id":190,"created_at":"2022-09-21T19:46:26.709827+00:00","code":"//let p = s(\"hh\").chop(4) // this works\n//let p = s(\"hh\").chop(4).slow(2) // this also works\nlet p = s(\"hh\").slow(2).chop(4) // this doesnt work\n\nconsole.log(p._firstCycleValues)\n\np.out()\n\n","hash":"70M98P_ZVSJe"},{"id":191,"created_at":"2022-09-21T19:54:06.809667+00:00","code":"//let p = s(\"hh\").ply(4) // this works\n//let p = s(\"hh\").ply(4).slow(2) // this also works\nlet p = s(\"hh\").slow(2).ply(2) // this doesnt work\n\nconsole.log(p._firstCycleValues)\n\np.out()\n\n","hash":"SB-hFm0uROHV"},{"id":192,"created_at":"2022-09-21T22:08:51.441153+00:00","code":"samples({\n p: 'https://cdn.freesound.org/previews/648/648433_11943129-lq.mp3',\n})\n\ns(\"p\")\n .chop(128)\n .loopAt(32,1)\n .jux(rev)\n .shape(.5)\n .out()","hash":"t2KXoS_qssjD"},{"id":193,"created_at":"2022-09-22T06:39:38.309395+00:00","code":"const bpm = 80;\nconst lead = polysynth().set({...osc('sine4'),...adsr(.004)}).chain(vol(0.15),out())\nconst bass = fmsynth({...osc('sawtooth6'),...adsr(0.05,.6,0.8,0.1)}).chain(vol(0.6), out());\nconst s = scale(cat('F3 minor', 'Ab3 major', 'Bb3 dorian', 'C4 phrygian dominant').slow(4));\nstack(\n \"0 2\".struct(\"<x ~> [x ~]\").apply(s).scaleTranspose(stack(0,2)).tone(lead),\n \"<6 7 9 7>\".struct(\"[~ [x ~]*2]*2\").apply(s).scaleTranspose(\"[0,2] [2,4]\".fast(2).every(4,rev)).tone(lead),\n\t\"-14\".struct(\"[~ x@0.8]*2\".early(0.01)).apply(s).tone(bass),\n \"c2*2\".tone(membrane().chain(vol(0.6), out())),\n \"~ c2\".tone(noise().chain(vol(0.2), out())),\n \"c4*4\".tone(metal(adsr(0,.05,0)).chain(vol(0.03), out()))\n)\n.slow(120 / bpm)","hash":"k0435I3IQEH4"},{"id":194,"created_at":"2022-09-22T06:52:23.642954+00:00","code":"const bpm = 10;\nconst lead = polysynth().set({...osc('sine4'),...adsr(.004)}).chain(vol(0.15),out())\nconst bass = fmsynth({...osc('sawtooth6'),...adsr(0.05,.6,0.8,0.1)}).chain(vol(0.6), out());\nconst s = scale(cat('F3 minor', 'Ab3 major', 'Bb3 dorian', 'C4 phrygian dominant').slow(4));\nstack(\n \"0 2\".struct(\"<x ~> [x ~]\").apply(s).scaleTranspose(stack(0,2)).tone(lead),\n \"<6 7 9 7>\".struct(\"[~ [x ~]*2]*2\").apply(s).scaleTranspose(\"[0,2] [2,4]\".fast(2).every(4,rev)).tone(lead),\n\t\"-14\".struct(\"[~ x@0.8]*2\".early(0.01)).apply(s).tone(bass),\n \"c2*2\".tone(membrane().chain(vol(0.6), out())),\n \"~ c2\".tone(noise().chain(vol(0.2), out())),\n \"c4*4\".tone(metal(adsr(0,.05,0)).chain(vol(0.03), out()))\n)\n.slow(120 / bpm)","hash":"vDsUyH8IUJn6"},{"id":195,"created_at":"2022-09-22T07:19:55.396442+00:00","code":"backgroundImage('https://images.nintendolife.com/news/2016/08/video_exploring_the_funky_inspiration_for_the_super_mario_bros_underground_theme/large.jpg',{ className:'darken' })\n\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nconst h = x=>x.transpose(\"<0@2 5 0 7 5 0 -5>/2\")\n\nstack(\n s(\"<<bd*2 bd> sn> hh\").fast(2).gain(.7),\n \"[c2 a1 bb1 ~] ~\"\n .echo(2, 1/16, 1)\n .legato(.4)\n .slow(2)\n .layer(h)\n .note().s('square')\n .cutoff(400).decay(.12).sustain(0)\n ,\n \"[g2,[c3 eb3]]\".iter(4)\n .echoWith(4, 1/8, (x,n)=>x.transpose(n*12).velocity(Math.pow(.4,n)))\n .legato(.1)\n .layer(h).note()\n).out()\n .fast(2/3)\n .pianoroll({})","hash":"YJ2iESN49BD6"},{"id":196,"created_at":"2022-09-22T08:09:58.051557+00:00","code":"const f = fast(\"<1 <2 [6 5]>>\");\nstack(\n \"c3,g3,c4\".struct(\"[x ~]*2\").apply(f).transpose(\"<0 <3 [5 [7 [9 [11 22]]]]>>\"),\n \"c2 [c2 ~]*2\".tone(synth(osc('sawtooth8')).chain(vol(0.8),out())),\n \"c1*2\".tone(membrane().chain(vol(0.8),out()))\n).slow(1)","hash":"Z6fHLg-51AUc"},{"id":197,"created_at":"2022-09-22T12:10:13.836207+00:00","code":"stack(\n \"c1*2\".tone(membrane().chain(vol(0.8),out())),\n \"~ c3\".tone(noise().chain(vol(0.8),out())),\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.015)).chain(vol(0.8),out()))\n)\n","hash":"GW0d4wRtDmED"},{"id":219,"created_at":"2022-09-28T16:11:31.253189+00:00","code":"\"<Dm7 Gm7 Am7 Ebm7>\".voicings()\n .superimpose(x=>x.add(perlin.range(0,.3)))\n .color(\"orange | orchid | darkseagreen\".fast(3))\n .add(\"<0 2>/8\")\n .note().s('sawtooth')\n .attack(.1).decay(.05).sustain(.2)\n .segment(\"<6@3 3>\")\n .cutoff(saw.range(500,2000).slow(16))\n .gain(isaw)\n .out()\n .pianoroll({ vertical:1, fold:1, smear:0 })","hash":"ddiSv-lz2_cp"},{"id":198,"created_at":"2022-09-22T17:02:04.116881+00:00","code":"const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out());\n\nconst drums = await players({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/')\n\nconst rhodes = await sampler({\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n \"<bd sn> <hh hh*2 hh*3>\"\n .tone(drums.chain(out())),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .tone(rhodes.chain(vol(0.5).connect(delay), out())),\n //\"<C^7 C7 F^7 [Fm7 <Db^7 Db7>]>\".slow(2).voicings().struct(\"~ x\").legato(.25).tone(rhodes),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2)\n .tone(bass),\n).fast(3/2)","hash":"iliL_rgeboIg"},{"id":199,"created_at":"2022-09-22T18:47:54.868449+00:00","code":"\"42\".segment(32).add(sine.range(0,12).slow(8)).note()\n .attack(0).release(0).s('triangle').out()","hash":"IVv5q7W4BDiN"},{"id":200,"created_at":"2022-09-22T18:50:13.653446+00:00","code":"\"50\".segment(32).add(sine.range(0,12).slow(4)).note()\n .attack(0).release(0).s('triangle').out()","hash":"N6kOKngern0Y"},{"id":201,"created_at":"2022-09-22T18:57:27.613815+00:00","code":"\"42\".segment(16).add(rand.range(0,12).slow(8)).note()\n .attack(0).release(0).s('triangle').out()","hash":"wIjKrvTVPfgZ"},{"id":202,"created_at":"2022-09-22T20:39:36.833517+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\n\nconst maj1 = \"[0 4 7 4]\"\nconst maj2 = \"[0 4 7]*2\"\nconst maj4 = \"[0 4 7 12]*7\"\nconst imaj1 = \"[-5 0 4]\"\nconst imaj2 = \"[-5 0 4]*2\"\nconst iimaj2 = \"[-8 -5 0]*2\"\nconst imaj3 = \"[-5 0 4]*3\"\nconst imaj4 = \"[-5 0 4]*4\"\nconst min1 = \"[0 3 7]\"\n\nstack(\n \n timeCat([2,imaj2.add(\"a3\")],[2,maj2.add(\"e3\")],\n [1,imaj1.add(\"a3\")],[1,min1.add(\"f#3\")],[2,imaj2.add(\"b3\")],[2,maj2.add(\"e3\")],\n [1,imaj1.add(\"a3\")],[1,\"~\"],[4,maj4.add(\"f#3\")],\n [2,imaj1.add(\"a3\")],[1,\"~\"],[4,maj4.add(\"f#3\")], [2,\"~\"])\n .velocity(\"[.2@4 .22 .23 .24 .25 .2@3 .4@4 .2@3 .4@6]\")\n .slow(2)\n .tone(kalimba)\n \n)\n .slow(6).pianoroll()","hash":"iqZ-ex573FFd"},{"id":203,"created_at":"2022-09-23T01:28:49.684702+00:00","code":"note(\"db5 <gb4 gb5 gb2> [[<[b5 eb5] [b5,eb5]> <bb5 bb2 bb6>] <g5 g4>] [d5 <f5 f4 f3> <a6 a5>] [ab5,[<e5 e4 e3>],<c5 c4>]\"\n .off(0, x=>x.rev().fast(\"1\").transpose(\"<7 -14>\"))\n )\n .rev()\n .fast(\"0.25\")\n // .transpose(\"0 1\")\n .s(\"<piano>\")\n .out()","hash":"0nlMXAIzgsdw"},{"id":204,"created_at":"2022-09-23T10:35:55.739979+00:00","code":"samples({\n p: 'https://cdn.freesound.org/previews/648/648433_11943129-lq.mp3',\n})\n\ns(\"p\")\n .loopAt(32,1)\n .chop(128)\n .ply(2)\n .jux(rev)\n .shape(.4)\n .decay(.1)\n .sustain(.4)\n .out()","hash":"-4PvWekokc4W"},{"id":205,"created_at":"2022-09-23T15:33:41.821479+00:00","code":"note(\"db5 <gb4 gb5 gb2> [[<[b5 eb5] [b5,eb5]> <bb5 bb2 bb6>] <g5 g4>] [d5 <f5 f4 f3 f6> <a6 a5 a3>] [ab5,[<e5 e4 e3>],<c5 c4>]\"\n .chunk(4, x=>x.fast(1.5).add(\"5 -9\"))\n .slow(1.1)\n )\n .cat(\n note(\"db5 <gb4 gb5 gb2> [[<[b5 eb5] [b5,eb5]> <bb5 bb2 bb6>] <g5 g4>] [d5 <f5 f4 f3> <a6 a5>] [ab5,[<e5 e4 e3>],<c5 c4>]\"\n .chunk(4, x=>x.slow(1.5).add(\"9 -5\"))\n .fast(1.1)\n .rev()\n )\n )\n .fast(\"0.25\")\n // .transpose(\"0 1\")\n .s(\"[piano]\")\n .out()","hash":"norqcTA-uOs0"},{"id":206,"created_at":"2022-09-23T18:28:20.03322+00:00","code":"\nconst melody1=\"c3 eb3 g3 g2\"\nconst melody2=\"g3 f3 ab3 b2 ab3 f3\"\n\nn(cat(melody1,melody2)).s('sawtooth')\n .attack(0).decay(.1).sustain(.2).release(0.9).out()","hash":"WrN_Cv-hQMo0"},{"id":207,"created_at":"2022-09-23T18:31:59.033058+00:00","code":"\nconst melody1=\"c3 eb3 g3 g2 \"\nconst melody2=\"g3 f3 ab3 b2 ab3 f3 \"\n\nn(melody1 + melody2).s('sawtooth')\n ","hash":"YFbUtVxvA82E"},{"id":208,"created_at":"2022-09-23T18:52:39.661234+00:00","code":"\nconst melody1=[2,\"c3 <eb3 g3 g2>\"]\nconst melody2=[6,\"g3 f3 ab3 b2 ab3 f3\"]\nconst melody3=[3,\"eb3 f3 g3\"]\n\nn(timeCat(melody1,melody2,melody1,melody3)).s('sawtooth').attack(0.1).decay(0.1).sustain(0.4).release(1)\n.slow(3)\n ","hash":"SHdla152eDum"},{"id":209,"created_at":"2022-09-23T18:52:51.599247+00:00","code":"\nconst melody1='c3 eb3 g3 g2 '\nconst melody2='g3 f3 ab3 b2 ab3 f3 '\n\nmini(melody1 + melody2).n().s('sawtooth')\n ","hash":"Jk_4KtRME5zL"},{"id":212,"created_at":"2022-09-24T22:37:52.29314+00:00","code":"stack(\n s(\"bd <sd cp>\")\n .delay(.5)\n .delaytime(.33)\n .delayfeedback(.6),\n s(\"hh*2\")\n .delay(.8)\n .delaytime(.08)\n .delayfeedback(.7)\n .orbit(2)\n).out()","hash":"QJdSFHrNzFlO"},{"id":213,"created_at":"2022-09-24T22:39:00.918817+00:00","code":"stack(\n s(\"bd <sd cp>\")\n .delay(.5)\n .delaytime(.33)\n .delayfeedback(.6),\n s(\"hh*2\")\n .delay(.8)\n .delaytime(.08)\n .delayfeedback(.7)\n .orbit(2)\n).sometimes(x=>x.speed(\"-1\")).out()","hash":"Nkv2L01eF62W"},{"id":214,"created_at":"2022-09-24T22:46:56.820568+00:00","code":"stack(\n s(\"bd <sd cp>\")\n .delay(\"<0 .5>\")\n .delaytime(\".16 | .33\")\n .delayfeedback(\".6 | .8\")\n).sometimes(x=>x.speed(\"-1\")).out()","hash":"fWCYi76JTGuA"},{"id":215,"created_at":"2022-09-25T14:33:05.944043+00:00","code":"stack(\n \"c1*2\".tone(membrane().chain(vol(0.8),out())),\n \"~ c3\".tone(noise().chain(vol(0.8),out())),\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.015)).chain(vol(0.8),out()))\n)\n","hash":"yJ-qOjgrjkMk"},{"id":216,"created_at":"2022-09-25T14:51:05.640729+00:00","code":"note(cat(\n stack(g3,b3,e4)*6,\n stack(a3,c3,e4)*10,\n stack(b3,d3,fs4)*12,\n stack([b3,e4,g4])*7\n)).s(\"sawtooth triangle triangle\")\n .cutoff(\"<4000 2000 1000 500 1000 2000>\")\n .crush(\"<16 8 7>\")\n .out()","hash":"UPVdAQhVNgbc"},{"id":217,"created_at":"2022-09-26T18:22:25.575795+00:00","code":"samples({\n \"gtr\": 'gtr/0001_cleanC.wav',\n}, 'github:tidalcycles/Dirt-Samples/master/');\nnote(\"db5 <gb4 gb5 gb2> [[<[b5 eb5] [b5,eb5]> <bb5 bb2 bb6>] <g5 g4>] [d5 <f5 f4 f3 f6> <a6 a5 a3>] <[ab5,[<e5 e4 e3>],<c5 c4>] [ab3 e7 c6]>\"\n .chunk(4, x=>x.fast(1.5).add(\"-24 -12\"))\n .every(2, x=>x.chunk(8, x=>x.slow(5.5).add(\"12 -12\")).rev())\n .sometimesBy(.4, x=>x.add(\"12\"))\n .every(3, x=>x.add(\"<-7 0 3 14>\"))\n )\n .fast(\"0.125 0.25\")\n .s(\"piano\")\n .cutoff('500')\n // .stack(sine.struct(\"x*16\").mul(7).round().scale('C major'))\n .out()","hash":"WDuiXaMhRRx5"},{"id":211,"created_at":"2022-09-23T21:55:34.405544+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav', 'bd/BT7A0D7.wav'],\n birds: ['birds/001_10.wav','birds/003_3.wav','birds/005_5.wav'],\n breaks125: 'breaks125/015_sdstckbr.wav',\n hh: ['hh/000_hh3closedhh.wav','hh27/008_hh27perc1.wav','hh/002_hh3hit1.wav'],\n \"gtr\": 'gtr/0001_cleanC.wav',\n}, 'github:tidalcycles/Dirt-Samples/master/');\ns(\"[bd birds [misc ht,bd] breaks125]/4.5,hh lt hh bd\").note(\"[44 30 51]/2.4\").n(\"[0 1 2 3]/2.75\")//\n .cut(\"[1 0 1 0 2 2 1 2 2]/1.75\")\n .attack(\"[.01 0.05 0]/1.2\").decay(\".1 0.01 0.9\").sustain(\".2 0.6\").release(\"[.5 1 0.1]/2.6\")\n // .shape(\"0.2\")\n .pan(\"[.5 1 .5 0]/0.75\")\n .iterBack(4)\n .echoWith(3, \"[2.125 2.5]/3\", (p,n) => p.add(n + 4).rev().release(2))\n // .coarse(\"1\")\n // .shape(1)\n .out()","hash":"o5LLePbx8kiQ"},{"id":221,"created_at":"2022-09-29T18:38:57.572257+00:00","code":"const delay = new FeedbackDelay(1/8, .6).chain(vol(0.15), out());\nconst snare = noise({type:'white',...adsr(0,0.2,0)}).chain(lowpass(5000),vol(1.8),out());\nconst s = polysynth().set({...osc('sawtooth4'),...adsr(0.01,.2,.6,0.2)}).chain(vol(.23).connect(delay),out());\nstack(\n stack(\n \"0 1 4 [3!2 5]\".layer(\n // chords\n x=>x.add(\"0,3\").duration(\"0.05!3 0.02\"),\n // bass\n x=>x.add(\"-8\").struct(\"x*8\").duration(0.1) \n ),\n // melody\n \"12 11*3 12 ~\".duration(0.005) \n )\n .add(\"<0 1>\")\n .tune(\"jemblung2\")\n //.mul(22/5).round().xen(\"22edo\")\n //.mul(12/5).round().xen(\"12edo\")\n .tone(s),\n // kick\n \"[c2 ~]*2\".duration(0.05).tone(membrane().chain(out())), \n // snare\n \"[~ c1]*2\".early(0.001).tone(snare),\n // hihat\n \"c2*8\".tone(noise().chain(highpass(6000),vol(0.5).connect(delay),out())),\n).slow(3)","hash":"IPOyuRRkZaNr"},{"id":222,"created_at":"2022-10-01T09:49:32.918623+00:00","code":"const chords = \"<Am7 Dm7>\"\nconst roots = chords.rootNotes(2)\n\n\nstack(\n chords.voicings(['F4','F5','F6','F8'])\n .struct(\n `x ~ x x|x ~ ~ x ~ x` ), //` x@2 | ~ x | ~ x ~ x x? ~ ~ x@3 ~ x | x? ~ ~ x ~ x@3`),\n roots\n .struct(\n `x(3,12)`\n )\n).slow(0.5)\n .note().piano().out();\n \n //.pianoroll().note().piano().out();","hash":"fGbP7VOtCWWU"},{"id":223,"created_at":"2022-10-01T10:03:38.40993+00:00","code":"const chords = \"<Am7 Fm7 Cm6 Gm6 >\"\nconst roots = chords.rootNotes(2)\n\n\nstack(\n chords.voicings()\n .struct(\n `x ~ x x|x ~ ~ x ~ x` ).slow(6), //` x@2 | ~ x | ~ x ~ x x? ~ ~ x@3 ~ x | x? ~ ~ x ~ x@3`),\n roots\n .struct(\n `x(1,4) | x(2,8)`\n )\n).slow(0.5)\n .note().piano().out();\n \n //.pianoroll().note().piano().out();","hash":"4YKibw76FrRb"},{"id":224,"created_at":"2022-10-01T12:33:23.714652+00:00","code":"const chords = \"<C7 G7 Am7 F7 >\"\nconst roots = chords.rootNotes(2)\n\n\nstack(\n chords.voicings()\n .struct(\n `x x x [x x]| x ~ x x` ).slow(4), //` x@2 | ~ x | ~ x ~ x x? ~ ~ x@3 ~ x | x? ~ ~ x ~ x@3`),\n roots\n .struct(\n `x(1,4) | x(4,8)`\n ).slow(2)\n).slow(0.5)\n .note().piano().out();\n \n //.pianoroll().note().piano().out();","hash":"7UmR7rJMSvWq"},{"id":225,"created_at":"2022-10-01T12:55:39.978417+00:00","code":"`C5 f5 f5 [g5 a5][bb5 g5] a5 [g5 a5]bb5 a5 [g5 f5] g5 [f5]@2 [a5 bb5] [c6]@2 [d6] [c6]@2,\n[c3][g3]`\n\n .slow(8).note().piano().out()\n","hash":"N0a4wkk96WWE"},{"id":226,"created_at":"2022-10-02T07:10:22.771855+00:00","code":"n(\n \"a4 [a3 c3] a3 c3\"\n .sub(\"<7 12 5 12>\".slow(2))\n .off(1/4,x=>x.add(7))\n .off(1/8,x=>x.add(12))\n)\n .slow(2)\n .legato(sine.range(0.3, 2).slow(28))\n .s(\"sawtooth square\".fast(2))\n .cutoff(cosine.range(500,4000).slow(16))\n .out()","hash":"s8HiRvW_Rngj"},{"id":227,"created_at":"2022-10-02T16:05:55.819171+00:00","code":"// theme from \"The Breakfast Line\" (By Tim Smith of Cardiacs)\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nconst melody =`[\n c#6@2 f5 c6@3 a#5 a5@2 g5@3 c#5 e5@2 d#5@2 f#5 a5@3 a6@3\n a5 g5 f5 d#5 c#5 b4 a5@3 a5@3 f5 g5 a5 a#5 g#5 g5 f5 g5 a5 b5 d5 g5 \n c#5@2 b4 f5@3 c#5 d#5 f5 g5 c#5@2 c5@3 c#5@3 c#5@6\n c#5 g#5 g5 a#4 f5 d#5 c#5 c5 g#5 c#5 c5 b4 c#5@2 b4 a5@3 c#5 b4@2 a5@6 \n b5 g5@2 e5 a5 b5 b5@6 b5 a#5 g5 a5@3 b5 g5 d5 c#5 a5@2 b5 g5 d#5 c#5 a5@2\n g5@2 d#5 f5 d#5 c#5 b4 a4 g4 a4 b4 c#5 d#5 f5 g5 ]`.legato(0.93)\nstack( \n // melody \n melody.transpose(-12).n().s('Overdriven Guitar: Guitar').gain(0.20).out().rev(), \n melody.n().s('Overdriven Guitar: Guitar').gain(0.10).out().rev(), \n // chords\n `[C#4 D#4 F4 G4 A3 B3]!8`.add(imaj)\n .n().s('Choir Aahs: Ensemble').gain(0.25).out().rev(),\n // bass\n `[C#2 D#2 C2 D2 A1 B1]!8`.legato(0.90)\n .n().s('Electric Bass (finger): Bass').gain(0.3).out().rev(), \n // drums\n s(\"[bd ~ bd sn ~ bd,hh*6]!23 [sn*6,hh*6]\").gain(0.25).out().rev()\n).slow(38)\n ","hash":"Z1ywkDoR6Tca"},{"id":228,"created_at":"2022-10-02T19:17:12.25556+00:00","code":"// BIG SHIP THEME - (Cardiacs)\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nconst iimaj = \"[0,-8,-5]\"\nconst min = \"[0,3,7]\"\nconst imin = \"[0,3,-5]\"\nconst iimin = \"[0,-9,-5]\"\nstack(\n // NON-VOICED VERSION\n timeCat(\n [1,min.add(\"a4\")],[1,min.add(\"a4\")],[1,maj.add(\"d5\")],[1,maj.add(\"f4\")],[1,min.add(\"a4\")],[2,maj.add(\"d5\")],\n [1,min.add(\"a4\")],[1,min.add(\"a4\")],[1,maj.add(\"a#4\")],[1,min.add(\"a4\")],[2,maj.add(\"e4\")],\n [1,maj.add(\"c5\")],[1,maj.add(\"f4\")],[1,min.add(\"a4\")],[4,maj.add(\"d5\")]\n ).n().s('Church Organ: Organ').gain(0.2).out()\n \n \n // VOICED VERSION\n /*\n timeCat(\n [1,min.add(\"a4\")],[1,imin.add(\"a4\")],[1,iimaj.add(\"d5\")],[1,maj.add(\"f4\")],[1,imin.add(\"a4\")],[2,iimaj.add(\"d5\")],\n [1,min.add(\"a4\")],[1,imin.add(\"a4\")],[1,imaj.add(\"a#4\")],[1,imin.add(\"a4\")],[2,maj.add(\"e4\")],\n [1,iimaj.add(\"c5\")],[1,maj.add(\"f4\")],[1,imin.add(\"a4\")],[4,iimaj.add(\"d5\")]\n ).n().s('Church Organ: Organ').gain(0.2).out(),\n */\n \n ,\n s(\"[[bd bd] [cp ~ ~ cp] ,hh*4]!20\").gain(0.25).out() \n)\n .slow(20).pianoroll()","hash":"eXyJ5cvdMxIl"},{"id":229,"created_at":"2022-10-02T19:18:09.419605+00:00","code":"// BIG SHIP THEME - (Cardiacs)\nconst maj = \"[0,4,7]\"\nconst imaj = \"[0,4,-5]\"\nconst iimaj = \"[0,-8,-5]\"\nconst min = \"[0,3,7]\"\nconst imin = \"[0,3,-5]\"\nconst iimin = \"[0,-9,-5]\"\nstack(\n // NON-VOICED VERSION\n /*\n timeCat(\n [1,min.add(\"a4\")],[1,min.add(\"a4\")],[1,maj.add(\"d5\")],[1,maj.add(\"f4\")],[1,min.add(\"a4\")],[2,maj.add(\"d5\")],\n [1,min.add(\"a4\")],[1,min.add(\"a4\")],[1,maj.add(\"a#4\")],[1,min.add(\"a4\")],[2,maj.add(\"e4\")],\n [1,maj.add(\"c5\")],[1,maj.add(\"f4\")],[1,min.add(\"a4\")],[4,maj.add(\"d5\")]\n ).n().s('Church Organ: Organ').gain(0.2).out()\n */ \n // VOICED VERSION\n timeCat(\n [1,min.add(\"a4\")],[1,imin.add(\"a4\")],[1,iimaj.add(\"d5\")],[1,maj.add(\"f4\")],[1,imin.add(\"a4\")],[2,iimaj.add(\"d5\")],\n [1,min.add(\"a4\")],[1,imin.add(\"a4\")],[1,imaj.add(\"a#4\")],[1,imin.add(\"a4\")],[2,maj.add(\"e4\")],\n [1,iimaj.add(\"c5\")],[1,maj.add(\"f4\")],[1,imin.add(\"a4\")],[4,iimaj.add(\"d5\")]\n ).n().s('Church Organ: Organ').gain(0.2).out()\n \n ,s(\"[[bd bd] [cp ~ ~ cp] ,hh*4]!20\").gain(0.25).out() \n).slow(20).pianoroll()","hash":"YSgSSFCioxs0"},{"id":230,"created_at":"2022-10-03T06:54:57.974976+00:00","code":"stack(\n \"c1*2\".tone(membrane().chain(vol(0.8),out())),\n \"~ c3\".tone(noise().chain(vol(0.8),out())),\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.015)).chain(vol(0.8),out()))\n)\n","hash":"lAIAC1TOD3zB"},{"id":231,"created_at":"2022-10-05T10:39:01.1837+00:00","code":"n(\n \"a4 [a3 c3] a3 c3\"\n .sub(\"<7 12 5 12>\".slow(2))\n .off(1/4,x=>x.add(7))\n .off(1/8,x=>x.add(12))\n)\n .slow(2)\n .legato(sine.range(0.3, 2).slow(28))\n .s(\"sawtooth square\".fast(2))\n .cutoff(cosine.range(500,4000).slow(16))\n .out()","hash":"LZ-aTB2xiaZ8"},{"id":232,"created_at":"2022-10-05T22:33:35.053024+00:00","code":"backgroundImage('https://images.nintendolife.com/news/2016/08/video_exploring_the_funky_inspiration_for_the_super_mario_bros_underground_theme/large.jpg',{ className:'darken' })\n\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nconst h = x=>x.transpose(\"<0@2 5 0 7 5 0 -5>/2\")\n\nstack(\n s(\"<<bd*2 bd> sn> hh\").fast(1).gain(.14),\n \"[c2 a1 bb1 ~] ~\"\n .echo(2, 1/16, 1)\n .legato(.4)\n .slow(2)\n .layer(h)\n .note().s('square')\n .cutoff(400).decay(.12).sustain(0)\n ,\n \"[g2,[c3 eb3]]\".iter(4)\n .echoWith(4, 1/8, (x,n)=>x.transpose(n*150).velocity(Math.pow(.4,n)))\n .legato(.1)\n .layer(h).note()\n).out()\n .fast(2/3)\n .pianoroll({})","hash":"_zhepg-kT6fD"},{"id":234,"created_at":"2022-10-06T09:10:06.054531+00:00","code":"stack(\n note(\"c2 <eb2 <g2 g1>>\").s('square').attack(.1).decay(.1).sustain(.2).release(.1),\n s(\"<bd sd>,hh*2\").fast(2).crush((\"<16 8 7 6 5 4 3 2>\").fast(4))\n).out()","hash":"1moEu58ZjMF4"},{"id":235,"created_at":"2022-10-06T09:15:51.853391+00:00","code":"stack(\n note(\"c2 <c3 <c1 g2>>\").slow(2).s('square').attack(.1).decay(.1).sustain(.2).release(.1),\n s(\"<bd sd>,hh*2\").fast(2).crush((\"<16 8 7 6 5 4 3 2>\").fast(4))\n).out()","hash":"1W8nlZAFzi5T"},{"id":236,"created_at":"2022-10-06T09:41:01.092404+00:00","code":"stack(\n note(\"c2 <c2<c1 d#2>>\").slow(2).s('square').attack(.1).decay(.1).sustain(.2).release(.1),\n s(\"<bd sd>,hh*2\").fast(2).crush((\"<16 8 7 6 5 4 3 2>\").fast(4))\n).out()","hash":"exwhYw9VYVQz"},{"id":237,"created_at":"2022-10-06T12:19:08.812397+00:00","code":"stack(\n note(\"c3!2 g3@2 e3, <c2@2 f2@2 a2@2 d2@2>\").slow(2).s('sawtooth')\n .attack(.1).decay(.2).sustain(.3).release(.1).bandf(500).bandq(\"1\"),\n // s(\"<bd sd>,hh*2\").slow(1).crush((\"<16 8 7 6 5 4 3 2>\").fast(4))\n).out()","hash":"z4zPoaRLF6Vs"},{"id":238,"created_at":"2022-10-06T12:33:27.258246+00:00","code":"stack(\n // note(\"c3!2 g3@2 e3, <c2@4 f2@2 a2@2 d2@2>\").slow(2).s('sawtooth')\n // .attack(.1).decay(.2).sustain(.3).release(.1).bandf(500).bandq(\"1\"),\n s(\"bd bd bd [bd bd], hh*2 hh*4\").fast(1).every(3, x=>x.rev())\n //.crush((\"<16 8 7 6 5 4 3 2>\").fast(4))\n).out()","hash":"VzJokumWaip_"},{"id":239,"created_at":"2022-10-06T12:41:54.620683+00:00","code":"stack(\n // note(\"c3!2 g3@2 e3, <c2@4 f2@2 a2@2 d2@2>\").slow(2).s('sawtooth')\n // .attack(.1).decay(.2).sustain(.3).release(.1).bandf(500).bandq(\"1\"),\n s(\"bd bd@2 bd [bd bd], hh*2 hh*4\").fast(1)\n .every(3, x=>x.rev())\n .every(3, x=>x.cutoff(\"4000 2000 1000 500 200 100\"))\n .every(1, x=>x.resonance(\"0 10 20 30\"))\n //.crush((\"<16 8 7 6 5 4 3 2>\").fast(4))\n).out()","hash":"gb4pffOZyATk"},{"id":240,"created_at":"2022-10-07T00:06:10.737895+00:00","code":"\"0 1 1 2 3 5 8 13\"\n.scale(seq('C2 major', 'C2 minor').slow(4))\n.color(\"<lightgray darkgray> [white | gray]\")\n.pianoroll({ vertical:1, fold:1, smear:0,background:'black' })","hash":"C6vcsMx8UtjJ"},{"id":241,"created_at":"2022-10-07T04:46:50.108192+00:00","code":"backgroundImage('https://images.nintendolife.com/news/2016/08/video_exploring_the_funky_inspiration_for_the_super_mario_bros_underground_theme/large.jpg',{ className:'darken' })\n\nsamples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nconst h = x=>x.transpose(\"<0@2 5 0 7 5 0 -5>/2\")\n\nstack(\n s(\"<<bd*2 bd> sn> hh\").fast(2).gain(.7),\n \"[c2 a1 bb1 ~] ~\"\n .echo(2, 1/16, 1)\n .legato(.4)\n .slow(2)\n .layer(h)\n .note().s('square')\n .cutoff(400).decay(.12).sustain(0)\n ,\n \"[g2,[c3 eb3]]\".iter(4)\n .echoWith(4, 1/8, (x,n)=>x.transpose(n*12).velocity(Math.pow(.4,n)))\n .legato(.1)\n .layer(h).note()\n).out()\n .fast(2/3)\n .pianoroll({})","hash":"jyNjgy-bZ0X7"},{"id":242,"created_at":"2022-10-07T18:26:30.694005+00:00","code":"stack(\n note(\"c1\").slow(2).s('sawtooth').\n attack(.1).decay(.2).sustain(.3).release(.1).bandf(500).bandq(\"1\").gain(3),\n s(\"bd@2 bd bd!2 bd*2\").slow(2)\n .every(4, x=>x.rev())\n).out()","hash":"MPVT_kG6Yni7"},{"id":243,"created_at":"2022-10-07T20:00:29.896851+00:00","code":"n(\n \"a4 [a#3 c3] a3 cb3\"\n .sub(\"<7 3>/2\")\n .off(1/8, add(\"21\"))\n .off(1/4, add(\"3\"))\n)\n .legato(.10)\n .slow(1)\n .s(\"sawtooth square\")\n .cutoff(\"<2000 1000 500 300>\")\n .out()\n","hash":"Ul_u7MyAGKXb"},{"id":244,"created_at":"2022-10-07T20:02:44.300956+00:00","code":"n(\n \"a4 [a#3 c3] a3 cb3\"\n .sub(\"<7 3>/2\")\n .off(1/8, add(\"21\"))\n .off(1/4, add(\"3\"))\n)\n .legato(.15)\n .slow(1)\n .s(\"sine\")\n .cutoff(\"<1500 1000 500 300>\")\n .out()\n","hash":"6geTqvPlUvv4"},{"id":245,"created_at":"2022-10-08T00:37:52.294005+00:00","code":"const delay = new FeedbackDelay(1/8, .6).chain(vol(0.15), out());\nconst snare = noise({type:'white',...adsr(0,0.2,0)}).chain(lowpass(5000),vol(1.8),out());\nconst s = polysynth().set({...osc('sawtooth4'),...adsr(0.01,.2,.6,0.2)}).chain(vol(.23).connect(delay),out());\nstack(\n stack(\n \"0 1 4 [3!2 5]\".layer(\n // chords\n x=>x.add(\"0,3\").duration(\"0.05!3 0.02\"),\n // bass\n x=>x.add(\"-8\").struct(\"x*8\").duration(0.1) \n ),\n // melody\n \"12 11*3 12 ~\".duration(0.005) \n )\n .add(\"<0 1>\")\n .tune(\"jemblung2\")\n //.mul(22/5).round().xen(\"22edo\")\n //.mul(12/5).round().xen(\"12edo\")\n .tone(s),\n // kick\n \"[c2 ~]*2\".duration(0.05).tone(membrane().chain(out())), \n // snare\n \"[~ c1]*2\".early(0.001).tone(snare),\n // hihat\n \"c2*8\".tone(noise().chain(highpass(6000),vol(0.5).connect(delay),out())),\n).slow(3)","hash":"5-NpsIAJqGJX"},{"id":248,"created_at":"2022-10-08T13:16:52.512562+00:00","code":"\"<0 2 4 8 ~ 4 ~ 2 0!3 3 6 ~!5>*4\"\n .superimpose(x=>x.add(2))\n .scale('C minor').note().out()","hash":"FavmsfMCEJh9"},{"id":250,"created_at":"2022-10-09T07:02:03.84216+00:00","code":"const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out());\n\nconst drums = await players({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/')\n\nconst rhodes = await sampler({\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n \"<bd sn> <hh hh*2 hh*3>\"\n .tone(drums.chain(out())),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .tone(rhodes.chain(vol(0.5).connect(delay), out())),\n //\"<C^7 C7 F^7 [Fm7 <Db^7 Db7>]>\".slow(2).voicings().struct(\"~ x\").legato(.25).tone(rhodes),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2)\n .tone(bass),\n).fast(3/2)","hash":"JzQ_9QyLrKhy"},{"id":251,"created_at":"2022-10-15T14:48:24.331421+00:00","code":"stack(\"<C^7 A7 Dm7 G7>\".m.voicings(), '<C3 A2 D3 G2>'.m)\n .midi('Midi Through Port-0' | 'TiMidity port 0' | 'TiMidity port 1' | 'TiMidity port 2' | 'TiMidity port 3')","hash":"H9-8RjyncjzI"},{"id":252,"created_at":"2022-10-18T18:17:58.804856+00:00","code":"\"c3 eb3 g3\".add(\"<0 2 0 -2 5>\")","hash":"CG9iByv5zHY-"},{"id":253,"created_at":"2022-10-18T18:42:01.436719+00:00","code":"\"c3 eb3 g3 c2\".add(\"<0 2 0 -2 5>\")","hash":"FgUTcaG_XKGK"},{"id":254,"created_at":"2022-10-19T04:54:32.526246+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1)","hash":"CmY3ebvIfYEG"},{"id":255,"created_at":"2022-10-19T19:20:59.256279+00:00","code":"const delay = new FeedbackDelay(1/3, .8).chain(vol(.2), out());\nlet bell = await sampler({\n C6: 'https://freesound.org/data/previews/411/411089_5121236-lq.mp3'\n})\nconst bass = await sampler({\n d2: 'https://freesound.org/data/previews/608/608286_13074022-lq.mp3'\n});\nbell = bell.chain(vol(0.6).connect(delay),out());\n\n\"0\".euclidLegato(3,8)\n .echo(3, 1/16, .5)\n .add(rand.range(0,12))\n .velocity(rand.range(.5,1))\n .legato(rand.range(.4,3))\n .scale(cat('D minor pentatonic')).tone(bell)\n .stack(\"<D2 A2 G2 F2>\".euclidLegato(6,8,1).tone(bass.toDestination()))\n .slow(6)\n .pianoroll({minMidi:20,maxMidi:120,background:'transparent'})","hash":"yNx4koGpPrSH"},{"id":256,"created_at":"2022-10-19T19:21:32.488574+00:00","code":"\"<0 2 [4 6](3,4,1) 3*2>\"\n.scale('D minor')\n.color('salmon')\n.off(1/4, x=>x.scaleTranspose(2).color('green'))\n.off(1/2, x=>x.scaleTranspose(6).color('steelblue'))\n.legato(.5)\n.echo(4, 1/8, .5)\n.note().piano().out()\n.pianoroll()","hash":"oBtcxYrbZlNG"},{"id":257,"created_at":"2022-10-20T00:32:19.539706+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n perc: ['perc/002_perc2.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\n\n\"C^7 Am7 Dm7 G7\".slow(2).voicings()\n .stack(\"0@6 [<1 2> <2 0> 1]@2\".scale('C5 major'))\n .n().slow(4)\n .s('0040_FluidR3_GM_sf2_file')\n .color('steelblue')\n .stack(\n \"<-7 ~@2 [~@2 -7] -9 ~@2 [~@2 -9] -10!2 ~ [~@2 -10] -5 ~ [-3 -2 -10]@2>*2\".scale('C3 major')\n .n().s('sawtooth').color('brown')\n )\n .attack(0.05).decay(.1).sustain(.7)\n .cutoff(perlin.range(800,2000))\n .gain(.3)\n .stack(\n s(\"<bd!3 [bd ~ bd]> sd,hh*3,~@5 <perc perc*3>\")\n .speed(perlin.range(.9,1.1))\n .n(3).color('gray')\n ).slow(3/2)\n //.pianoroll({autorange:1,vertical:1,fold:0})\n .out()","hash":"eCz4nyUk3TnN"},{"id":259,"created_at":"2022-10-22T03:34:18.383322+00:00","code":"samples({mad:'https://freesound.org/data/previews/22/22274_109943-lq.mp3'})\nstack(\n stack(\n \"c3*2 [[c3@1.4 bb2] ab2] gb2*2 <[[gb2@1.4 ab2] bb2] gb2>\".legato(\".5 1\".fast(2)).velocity(.8),\n \"0 ~\".scale('c4 whole tone')\n .euclidLegato(3,8).slow(2).mask(\"x ~\")\n .stutWith(8, 1/16, (x,n)=>x.scaleTranspose(n).velocity(Math.pow(.7,n)))\n .scaleTranspose(\"<0 1 2 3 4 3 2 1>\")\n .fast(2)\n .velocity(.7)\n .legato(.5)\n .stut(3, .5, 1/8)\n ).transpose(-1).note().piano(),\n s(\"mad\").slow(2)\n).cpm(78).slow(4)\n .out()\n .pianoroll()\n","hash":"J3FcQgOeZ3cV"},{"id":260,"created_at":"2022-10-22T12:26:24.413978+00:00","code":"stack(\n // melody\n `[B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3] \n [B3@2 D4] [A4@2 G4] [D4@2 [C4 B3]] [A3]\n [B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3]\n [B3@2 D4] [A4@2 G4] D5@2 \n [D5@2 [C5 B4]] [[C5 B4] G4@2] [C5@2 [B4 A4]] [[B4 A4] E4@2]\n [D5@2 [C5 B4]] [[C5 B4] G4 C5] [G5] [~ ~ B3]`,\n // bass\n `[[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[D2 A2] C3@2] [[C2 G2] B2@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[Eb2 Bb2] Db3@2] [[D2 A2] C3 [F3,G2]]`\n).transpose(12).slow(48).tone(\n new PolySynth().chain(\n new Gain(0.3), \n new Chorus(2, 2.5, 0.5).start(), \n new Freeverb(), \n getDestination())\n)","hash":"tTlyA1JzHklU"},{"id":261,"created_at":"2022-10-22T16:40:24.481644+00:00","code":"samples({\n bd: 'bd/BT0AADA.wav',\n sd: 'sd/rytm-01-classic.wav',\n hh: 'hh27/000_hh27closedhh.wav',\n oh: 'hh27/007_hh3openhh.wav',\n}, 'https://raw.githubusercontent.com/tidalcycles/Dirt-Samples/master/');\n\nstack(\n cat(\n note(\"[c2(2, 8), c3(3, 8)] [e2(4, 5), g3(3, 2)]\"),\n note(\"[g2(2, 8), a#2(3, 8)] [e2(2, 5), g2(3, 2)]\")\n ).slow(2).s('sawtooth').attack(.1).release(.3).vowel(\"<a e i> <o e a i>\").out(),\n cat(\n note(\"<c1 g1 g2> [<g2 e2>] ~ [<c1 ~ g2>(3,8,4) <g2 e2>]\".transpose(\"<0 5 3> [<0 12> <5 12>] 3 7\".slow(5)))\n ).slow(3).s('sawtooth').attack(0).release(.3).cutoff(\"<200 100> <300 100 200 400>\").fast(2).out(),\n cat(\n note(\"c2(3, 2, 8) c#2(3, 2, 7)\")\n )\n .s(\"sd bd sd bd bd\").degradeBy(.3).out(),\n cat(\n note(\"c2(2, 3, 3)\"),\n note(\"c2(1, 3, 3)\")\n ).fast(4)\n .s(\"hh oh\").sometimesBy(.4, x=>x.speed(\"0.5\")).out()\n)","hash":"hIhmX2R9gtwL"},{"id":262,"created_at":"2022-10-22T22:19:47.056704+00:00","code":"const t = x => x.scaleTranspose(\"<0 2 4 3>/4\").transpose(-2)\nconst s = x => x.scale(cat('C3 minor pentatonic','G3 minor pentatonic').slow(4))\nconst delay = new FeedbackDelay(1/8, .6).chain(vol(0.1), out());\nconst chorus = new Chorus(1,2.5,0.5).start();\nstack(\n // melody\n \"<<10 7> <8 3>>/4\".struct(\"x*3\").apply(s)\n .scaleTranspose(\"<0 3 2> <1 4 3>\")\n .superimpose(scaleTranspose(2).early(1/8))\n .apply(t).tone(polysynth().set({\n ...osc('triangle4'),\n ...adsr(0,.08,0)\n }).chain(vol(0.2).connect(delay),chorus,out())).mask(\"<~@3 x>/16\".early(1/8)),\n // pad\n \"[1,3]/4\".scale('G3 minor pentatonic').apply(t).tone(polysynth().set({\n ...osc('square2'),\n ...adsr(0.1,.4,0.8)\n }).chain(vol(0.2),chorus,out())).mask(\"<~ x>/32\"),\n // xylophone\n \"c3,g3,c4\".struct(\"<x*2 x>\").fast(\"<1 <2!3 [4 8]>>\").apply(s).scaleTranspose(\"<0 <1 [2 [3 <4 5>]]>>\").apply(t).tone(polysynth().set({\n ...osc('sawtooth4'),\n ...adsr(0,.1,0)\n }).chain(vol(0.4).connect(delay),out())).mask(\"<x@3 ~>/16\".early(1/8)),\n // bass\n \"c2 [c2 ~]*2\".scale('C hirajoshi').apply(t).tone(synth({\n ...osc('sawtooth6'),\n ...adsr(0,.03,.4,.1)\n }).chain(vol(0.4),out())),\n // kick\n \"<c1!3 [c1 ~]*2>*2\".tone(membrane().chain(vol(0.8),out())),\n // snare\n \"~ <c3!7 [c3 c3*2]>\".tone(noise().chain(vol(0.8),out())),\n // hihat\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.02)).chain(vol(0.5).connect(delay),out()))\n).slow(1)\n// strudel disable-highlighting","hash":"NIL21RJTmuAa"},{"id":263,"created_at":"2022-10-23T20:15:19.203301+00:00","code":"stack(\n // melody\n `[B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3] \n [B3@2 D4] [A4@2 G4] [D4@2 [C4 B3]] [A3]\n [B3@2 D4] [A3@2 [G3 A3]] [B3@2 D4] [A3]\n [B3@2 D4] [A4@2 G4] D5@2 \n [D5@2 [C5 B4]] [[C5 B4] G4@2] [C5@2 [B4 A4]] [[B4 A4] E4@2]\n [D5@2 [C5 B4]] [[C5 B4] G4 C5] [G5] [~ ~ B3]`,\n // bass\n `[[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[C2 G2] E3@2] [[C2 G2] F#3@2] [[C2 G2] E3@2] [[C2 G2] F#3@2]\n [[B1 D3] G3@2] [[Bb1 Db3] G3@2] [[A1 C3] G3@2] [[D2 C3] F#3@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[D2 A2] C3@2] [[C2 G2] B2@2]\n [[F2 C3] E3@2] [[E2 B2] D3@2] [[Eb2 Bb2] Db3@2] [[D2 A2] C3 [F3,G2]]`\n).transpose(12).slow(48).tone(\n new PolySynth().chain(\n new Gain(0.3), \n new Chorus(2, 2.5, 0.5).start(), \n new Freeverb(), \n getDestination())\n)","hash":"CGh4oLKu9tOp"},{"id":264,"created_at":"2022-10-23T21:30:29.104084+00:00","code":"stack(\n freq(\"55 [110,165] 110 [220,275]\".mul(\"<1 <3/4 2/3>>\").struct(\"x(3,8)\").layer(x=>x.mul(\"1.006,.995\"))),\n freq(\"440(5,8)\".legato(.18).mul(\"<1 3/4 2 2/3>\")).gain(perlin.range(.2,.8))\n).s(\"<sawtooth square>/2\")\n .onTrigger((t,hap,ct)=>{\n const ac = Tone.getContext().rawContext;\n t = ac.currentTime + t - ct;\n const { freq, s, gain = 1 } = hap.value;\n const master = ac.createGain();\n master.gain.value = 0.1 * gain;\n master.connect(ac.destination);\n const o = ac.createOscillator();\n o.type = s || 'triangle';\n o.frequency.value = Number(freq);\n o.connect(master);\n o.start(t);\n o.stop(t + hap.duration);\n}).stack(s(\"bd(3,8),hh*4,~ sd\").webdirt())","hash":"N486QfFJ2NvV"},{"id":265,"created_at":"2022-10-25T19:49:39.322172+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\n\nnote(\"c2 <eb2 <g2 g1>>/2\").s(\"<sawtooth square>\").vowel(\"<a e o u i i>\").gain(sine.range(.2,2).slow(16))\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").s(\"sine\").shape(.7).gain(cosine.range(.4,1.6).slow(9))\n )\n .stack(\n s(\"[[hh hh]*2 [hh]*2]\").pan(cc(\"<.5 .8 .5 .2>\", \".5\", \".5\")).degradeBy(0.08).often(x=>x.speed(\"0.9 1.1\")).gain([.2,.5,.6,.4]) ).stack(\n s(\"[bd@2 bd@2 bd]/2\") ).stack(\n s(\"[misc misc]/4\").n(\"13\") )\n .fast(1.1)\n .delay(.1)\n .out()","hash":"Njas64Vf03LO"},{"id":266,"created_at":"2022-10-25T20:06:35.487506+00:00","code":"const drums = await players({\n bd: 'bd/BT0A0D0.wav',\n sn: 'sn/ST0T0S3.wav',\n hh: 'hh/000_hh3closedhh.wav'\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\n\nstack(\n \"<bd!3 bd(3,4,2)>\",\n \"hh*4\",\n \"~ <sn!3 sn(3,4,1)>\"\n).tone(drums.chain(out()))\n","hash":"-qcqwVsJXv8J"},{"id":267,"created_at":"2022-10-25T20:07:36.84852+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\n\nnote(\"c2 <eb2 <g2 g1>>/2\").s(\"<sawtooth square>\").vowel(\"<a e o u i i>\").gain(perlin.range(.2,2).slow(16))\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").s(\"sine\").shape(.7).gain(perlin.range(.4,1.6).slow(9))\n )\n .stack(\n s(\"[[hh hh]*2 [hh]*2]\").pan(perlin.range(0,1)).degradeBy(0.08).often(x=>x.speed(\"0.9 1.1\")).gain([.2,.5,.6,.4]) ).stack(\n s(\"[bd:4@2 bd:4@2 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\") ).stack(\n s(\"[misc]/4\").n(\"13\") )\n .fast(1.1)\n .delay(.1)\n .out()","hash":"Q2WQMrJVFb46"},{"id":268,"created_at":"2022-10-25T20:21:05.405473+00:00","code":"stack(\n \"c1*2\".tone(membrane().chain(vol(0.8),out())),\n \"~ c3\".tone(noise().chain(vol(0.8),out())),\n \"c3*4\".transpose(\"[-24 0]*2\").tone(metal(adsr(0,.015)).chain(vol(0.8),out()))\n)\n","hash":"IV4pDyaLUMB0"},{"id":269,"created_at":"2022-10-25T21:03:15.282811+00:00","code":"backgroundImage('https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fi.ytimg.com%2Fvi%2FXR0rKqW3VwY%2Fmaxresdefault.jpg&f=1&nofb=1', \n{ className:'darken', style:'background-size:cover'})\nstack(\n \"[g3,bb3,d4] [f3,a3,c4] [c3,e3,g3]@2\".slow(2).late(.1),\n cat(\n 'Baker man',\n 'is baking bread',\n 'Baker man',\n 'is baking bread',\n 'Sagabona',\n 'kunjani wena',\n 'Sagabona',\n 'kunjani wena',\n 'The night train, is coming',\n 'got to keep on running',\n 'The night train, is coming',\n 'got to keep on running',\n ).speak(\"en zu en\".slow(12), \"<0 2 3 4 5 6>\".slow(2)),\n).slow(4)","hash":"XQ_uhshhjEYw"},{"id":270,"created_at":"2022-10-27T00:16:11.505229+00:00","code":"backgroundImage(\n 'https://media.npr.org/assets/img/2017/02/03/barryharris_600dpi_wide-7eb49998aa1af377d62bb098041624c0a0d1a454.jpg',\n {style:'background-size:cover'})\n \n\"0,2,[7 6]\"\n .add(\"<0 1 2 3 4 5 7 8>\")\n .scale('C bebop major')\n .transpose(\"<0 1 2 1>/8\")\n .slow(2)\n .note().piano().out()\n","hash":"XDCsI7uPtnav"},{"id":271,"created_at":"2022-10-27T08:08:10.650623+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\n\nnote(\"c2 <eb2 <g2 g1>>/2\").s(\"<sawtooth square>\").vowel(\"<a e o u i i>\").gain(perlin.range(.2,2).slow(16))\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").s(\"sine\").shape(.7).gain(perlin.range(.4,1.6).slow(9))\n )\n .stack(\n s(\"[[hh hh]*2 [hh]*2]\").pan(perlin.range(0,1)).degradeBy(0.08).often(x=>x.speed(\"0.9 1.1\")).gain([.2,.5,.6,.4]) ).stack(\n s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\") ).stack(\n s(\"[~@3 misc]/4\").n(\"13\") )\n .fast(1.1)\n .delay(.1)\n .out()","hash":"2t_PSStoDUhV"},{"id":272,"created_at":"2022-10-27T18:07:18.311401+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\n\nnote(\"[c4 <eb4 <g4 g5>>]/2\").s(\"piano\").degradeBy(.4)\n .stack(\n note(\"[c4 <eb4 <g4 g3>>]/2\").transpose(0).s(\"<sawtooth square>/2\").vowel(\"<a e o u i>\").gain(perlin.range(1.8,2).slow(16)).hcutoff(800)\n )\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").transpose(-12).degradeBy(0.3).s(\"sine\").shape(perlin.range(.3,.5)).gain(perlin.range(.3,.8))\n ).stack(\n //note(\"c3 <eb2 c3 <g2 g3>>/2\").transpose(7).s(\"<sawtooth>\").vowel(\"<a e a e o u i i>*2\").gain(perlin.range(1.5,1.3)).pan(1).hcutoff(700)\n ).stack(\n //note(\"[c2 <eb2 <g2 g3>>/2]/3\").transpose(12).s(\"<sawtooth square>\").vowel(\"<a a e e o o u u i i>\").gain(perlin.range(1,1.6)).pan(0).hcutoff(900)\n )\n .cutoff(perlin.range(1000,2000)).resonance(0)\n .stack(\n s(\"<hh:4>*8\").pan(perlin.range(0,1)).degradeBy(0.12).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.2,.4)).cutoff(100)).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n )\n .fast(1.2)\n .cutoff(perlin.range(500,2000))\n .delay(.1)\n .out()","hash":"J4419vLymh08"},{"id":273,"created_at":"2022-10-27T21:25:31.085012+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\n\nnote(\"[c4 <eb4 <g4 g5>>]/2\").s(\"piano\").degradeBy(.4)\n .stack(\n note(\"[c4 <eb4 <g4 g3>>]/2\").transpose(0).s(\"<sawtooth square>/2\").vowel(\"<a e o u i>\").gain(perlin.range(1.8,2).slow(16)).hcutoff(800)\n )\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").transpose(-12).degradeBy(0.3).s(\"sine\").shape(perlin.range(.3,.5)).gain(perlin.range(.3,.8))\n ).stack(\n //note(\"c3 <eb2 c3 <g2 g3>>/2\").transpose(7).s(\"<sawtooth>\").vowel(\"<a e a e o u i i>*2\").gain(perlin.range(1.5,1.3)).pan(1).hcutoff(700)\n ).stack(\n //note(\"[c2 <eb2 <g2 g3>>/2]/3\").transpose(12).s(\"<sawtooth square>\").vowel(\"<a a e e o o u u i i>\").gain(perlin.range(1,1.6)).pan(0).hcutoff(900)\n )\n .cutoff(perlin.range(1000,2000)).resonance(0)\n .stack(\n s(\"<hh:4>*8\").pan(perlin.range(0,1)).degradeBy(0.12).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.2,.4)).cutoff(100)).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n )\n .fast(.8)\n .cutoff(perlin.range(500,2000))\n .delay(.1)\n .out()","hash":"hGG0rEr1zC3A"},{"id":274,"created_at":"2022-10-28T14:32:09.078571+00:00","code":"const scale = cat('C3 dorian','Bb2 major').slow(4);\nstack(\n \"2*4\".add(12).scale(scale)\n .off(1/8,x=>x.scaleTranspose(\"2\")).fast(2)\n .scaleTranspose(\"<0 1 2 1>\").hush(),\n \"<0 1 2 3>(3,8,2)\"\n .scale(scale)\n .off(1/4,x=>x.scaleTranspose(\"2,4\")),\n \"<0 4>(5,8)\".scale(scale).transpose(-12)\n)\n .velocity(\".6 .7\".fast(4))\n .legato(\"2\")\n .scale(scale)\n.scaleTranspose(\"<0>\".slow(4))\n.transpose(5)\n.note().piano().out()\n.velocity(.8)\n.slow(2)\n.pianoroll({maxMidi:100,minMidi:20})","hash":"ahkvgPdMeapI"},{"id":275,"created_at":"2022-10-28T15:22:48.00853+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\nnote(\"<[c4,e4,g4] [f4,a4,d4] ~ ~ >\").s(\"piano\")\n .stack(\n s(\"<hh:4>*8\").pan(perlin.range(0,1)).degradeBy(0.12).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.1,.2)).cutoff(perlin.range(1000,10000))).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n ) \n .gain(.5).out()\n/*\nnote(\"[c4 <eb4 <g4 g5>>]/2\").s(\"piano\").degradeBy(.4)\n .stack(\n note(\"[c4 <eb4 <g4 g3>>]/2\").s(\"<sawtooth square>/2\").vowel(\"<a e o u i>\").gain(perlin.range(1.8,2).slow(16)).hcutoff(800)\n )\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").degradeBy(0.3).s(\"sine\").shape(perlin.range(.3,.5)).gain(perlin.range(.3,.8))\n ).stack(\n note(\"c3 <eb2 c3 <g2 g3>>/2\").s(\"<sawtooth>\").vowel(\"<a e a e o u i i>*2\").gain(perlin.range(1.5,1.3)).pan(1).hcutoff(700)\n ).stack(\n note(\"[c2 <eb2 <g2 g3>>/2]/3\").s(\"<sawtooth square>\").vowel(\"<a a e e o o u u i i>\").gain(perlin.range(1,1.6)).pan(0).hcutoff(900)\n )\n .cutoff(perlin.range(1000,2000)).resonance(0)\n .stack(\n s(\"<hh:4>*8\").pan(perlin.range(0,1)).degradeBy(0.12).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.2,.4)).cutoff(100)).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n )\n .fast(1.2)\n .cutoff(perlin.range(500,2000))\n .delay(.1)\n .out()*/","hash":"um_AAxJMJr5U"},{"id":276,"created_at":"2022-10-28T15:47:08.283377+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\nnote(\"<[c4,eb4,g4] [f4,ab4,d4] ~ [[c4,eb4,[a5 g4]]]>\").s(\"<piano>\").gain(sine.slow(8).range(0,1))\n .stack(\n note(\"<[c4,eb4,g4] [f4,ab4,d4] ~ [[c4,eb4,[a5 g4]]]>\").s(\"<square>\").vowel(\"<a e o u i i>\").gain(cosine.slow(8).range(1,0))\n )\n .stack(\n s(\"<hh:1>*2\").pan(perlin.range(0,1)).often(x=>x.speed(\"<.9 1.1>\")).gain(rand.range(0.1,.2)).cutoff(perlin.range(1000,10000))).stack(\n s(\"<hh:4?0.1>*8\").pan(rand.range(0,1)).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.1,.2)).cutoff(perlin.range(1000,10000))).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n ).fast(.8)\n .gain(.5).out()\n/*\nnote(\"[c4 <eb4 <g4 g5>>]/2\").s(\"piano\").degradeBy(.4)\n .stack(\n note(\"[c4 <eb4 <g4 g3>>]/2\").s(\"<sawtooth square>/2\").vowel(\"<a e o u i>\").gain(perlin.range(1.8,2).slow(16)).hcutoff(800)\n )\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").degradeBy(0.3).s(\"sine\").shape(perlin.range(.3,.5)).gain(perlin.range(.3,.8))\n ).stack(\n note(\"c3 <eb2 c3 <g2 g3>>/2\").s(\"<sawtooth>\").vowel(\"<a e a e o u i i>*2\").gain(perlin.range(1.5,1.3)).pan(1).hcutoff(700)\n ).stack(\n note(\"[c2 <eb2 <g2 g3>>/2]/3\").s(\"<sawtooth square>\").vowel(\"<a a e e o o u u i i>\").gain(perlin.range(1,1.6)).pan(0).hcutoff(900)\n )\n .cutoff(perlin.range(1000,2000)).resonance(0)\n .stack(\n s(\"<hh:4>*8\").pan(perlin.range(0,1)).degradeBy(0.12).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.2,.4)).cutoff(100)).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n )\n .fast(1.2)\n .cutoff(perlin.range(500,2000))\n .delay(.1)\n .out()*/","hash":"UxSJbzL1d05O"},{"id":277,"created_at":"2022-10-28T15:52:33.545403+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\nnote(\"<[c4,eb4,g4] [f4,ab4,d4] ~ [[c4,eb4,[a5 g4]]]>\").s(\"<piano>\").gain(sine.slow(8).range(0,1))\n .stack(\n note(\"<[c4,eb4,g4] [f4,ab4,d4] ~ [[c4,eb4,[a5 g4]]]>\").s(\"<square>\").vowel(\"<a e o u i i>\").gain(cosine.slow(8).range(0,1))\n )\n .stack(\n s(\"<hh:1>*2\").pan(perlin.range(0,1)).often(x=>x.speed(\"<.9 1.1>\")).gain(rand.range(0.1,.2)).cutoff(perlin.range(1000,10000))).stack(\n s(\"<hh:4?0.1>*8\").pan(rand.range(0,1)).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.1,.2)).cutoff(perlin.range(1000,10000))).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n ).fast(.8)\n .gain(.5).out()\n/*\nnote(\"[c4 <eb4 <g4 g5>>]/2\").s(\"piano\").degradeBy(.4) \n .stack(\n note(\"[c4 <eb4 <g4 g3>>]/2\").s(\"<sawtooth square>/2\").vowel(\"<a e o u i>\").gain(perlin.range(1.8,2).slow(16)).hcutoff(800)\n )\n .stack(\n note(\"c1 <eb1 <g1 g2>>\").degradeBy(0.3).s(\"sine\").shape(perlin.range(.3,.5)).gain(perlin.range(.3,.8))\n ).stack(\n note(\"c3 <eb2 c3 <g2 g3>>/2\").s(\"<sawtooth>\").vowel(\"<a e a e o u i i>*2\").gain(perlin.range(1.5,1.3)).pan(1).hcutoff(700)\n ).stack(\n note(\"[c2 <eb2 <g2 g3>>/2]/3\").s(\"<sawtooth square>\").vowel(\"<a a e e o o u u i i>\").gain(perlin.range(1,1.6)).pan(0).hcutoff(900)\n )\n .cutoff(perlin.range(1000,2000)).resonance(0)\n .stack(\n s(\"<hh:4>*8\").pan(perlin.range(0,1)).degradeBy(0.12).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.2,.4)).cutoff(100)).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n )\n .fast(1.2)\n .cutoff(perlin.range(500,2000))\n .delay(.1)\n .out()*/","hash":"90drkbxdBr2-"},{"id":278,"created_at":"2022-10-28T19:07:09.296506+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .speed(perlin.range(.7,.9)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .out()\n .slow(3/2)","hash":"aGtqNXDNRxdA"},{"id":279,"created_at":"2022-10-28T19:08:18.322641+00:00","code":"const delay = new FeedbackDelay(1/3, .5).chain(vol(.2), out())\nlet kalimba = await sampler({\n C5: 'https://freesound.org/data/previews/536/536549_11935698-lq.mp3'\n})\nkalimba = kalimba.chain(vol(0.6).connect(delay),out());\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major'])\n\nstack(\n \"[0 2 4 6 9 2 0 -2]*3\"\n .add(\"<0 2>/4\")\n .scale(scales)\n .struct(\"x*8\")\n .velocity(\"<.8 .3 .6>*8\")\n .slow(2)\n .tone(kalimba),\n \"<c2 c2 f2 [[F2 C2] db2]>\"\n .scale(scales)\n .scaleTranspose(\"[0 <2 4>]*2\")\n .struct(\"x*4\")\n .velocity(\"<.8 .5>*4\")\n .velocity(0.8)\n .slow(2)\n .tone(kalimba)\n)\n .legato(\"<.4 .8 1 1.2 1.4 1.6 1.8 2>/8\")\n .fast(1)","hash":"N3UBBhj_uwxd"},{"id":280,"created_at":"2022-10-28T19:15:47.584269+00:00","code":"const bpm = 80;\nconst lead = polysynth().set({...osc('sine3'),...adsr(.004)}).chain(vol(0.15),out())\nconst bass = fmsynth({...osc('sawtooth5'),...adsr(0.05,.6,0.8,0.1)}).chain(vol(0.6), out());\nconst s = scale(cat('F3 minor', 'Ab3 major', 'Bb3 dorian', 'C4 phrygian dominant').slow(4));\nstack(\n \"0 2\".struct(\"<x ~> [x ~]\").apply(s).scaleTranspose(stack(0,2)).tone(lead),\n \"<6 7 9 7>\".struct(\"[~ [x ~]*2]*2\").apply(s).scaleTranspose(\"[0,2] [2,4]\".fast(2).every(4,rev)).tone(lead),\n\t\"-14\".struct(\"[~ x@0.8]*2\".early(0.01)).apply(s).tone(bass),\n \"c2*2\".tone(membrane().chain(vol(0.6), out())),\n \"~ c2\".tone(noise().chain(vol(0.2), out())),\n \"c4*4\".tone(metal(adsr(0,.1,0)).chain(vol(0.03), out()))\n)\n.slow(120/ bpm)","hash":"wF7a24BViyqU"},{"id":281,"created_at":"2022-10-28T20:47:17.342086+00:00","code":"let cc = chooseCycles\n\"<0 1 2 3 4 5 6 7 8 9 10 11 12 13>\"\nnote(\"<[c4,eb4,g4] [f4,ab4,d4] ~ [[c4,eb4,[a5 g4]]]>\").s(\"<piano>\").gain(sine.slow(8).range(0,1))\n .stack(\n \"<[c4,eb4,g4] [f4,ab4,d4] ~ [[c4,eb4,[a5 g4]]]>\".transpose(12).s(\"<square>\").vowel(\"<a e o u i i>\").gain(cosine.slow(8).range(0,1))\n )\n .stack(\n s(\"<hh:1>*2\").pan(perlin.range(0,1)).often(x=>x.speed(\"<.9 1.1>\")).gain(rand.range(0.1,.2)).cutoff(perlin.range(1000,10000))).stack(\n s(\"<hh:4?0.1>*8\").pan(rand.range(0,1)).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.1,.2)).cutoff(perlin.range(1000,10000))).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n )\n .stack(\n \"c1 <eb1 <g1 g2>>\".degradeBy(0.3).s(\"sine\").shape(perlin.range(.3,.5)).gain(perlin.range(.3,.8))\n ).fast(1.2)\n .gain(.5).out()\n/*\nnote(\"[c4 <eb4 <g4 g5>>]/2\").s(\"piano\").degradeBy(.4) \n .stack(\n note(\"[c4 <eb4 <g4 g3>>]/2\").s(\"<sawtooth square>/2\").vowel(\"<a e o u i>\").gain(perlin.range(1.8,2).slow(16)).hcutoff(800)\n )\n .stack(\n \"c1 <eb1 <g1 g2>>\".degradeBy(0.3).s(\"sine\").shape(perlin.range(.3,.5)).gain(perlin.range(.3,.8))\n ).stack(\n note(\"c3 <eb2 c3 <g2 g3>>/2\").s(\"<sawtooth>\").vowel(\"<a e a e o u i i>*2\").gain(perlin.range(1.5,1.3)).pan(1).hcutoff(700)\n ).stack(\n note(\"[c2 <eb2 <g2 g3>>/2]/3\").s(\"<sawtooth square>\").vowel(\"<a a e e o o u u i i>\").gain(perlin.range(1,1.6)).pan(0).hcutoff(900)\n )\n .cutoff(perlin.range(1000,2000)).resonance(0)\n .stack(\n s(\"<hh:4>*8\").pan(perlin.range(0,1)).degradeBy(0.12).often(x=>x.speed(\"<0.8 .9 1.1 1.2>\")).gain(perlin.range(0.2,.4)).cutoff(100)).stack(\n // s(\"[bd:4@2 bd:4@3 bd:4]/2\") ).stack( \n s(\"[bd:7@2 ~@2 bd:7]/2\").cutoff(\"300 1000\") ).stack(\n s(\"<~@3 misc>\").n(\"<13 7>/4\").gain(.5)\n )\n .fast(1.2)\n .cutoff(perlin.range(500,2000))\n .delay(.1)\n .out()*/","hash":"h87w26zgMJ0L"},{"id":282,"created_at":"2022-10-29T16:50:15.341568+00:00","code":"samples({ bd: 'bd/BT0A0D0.wav', sn: 'sn/ST0T0S3.wav', \n hh: 'hh/000_hh3closedhh.wav', cp: 'cp/HANDCLP0.wav',\n}, 'https://loophole-letters.vercel.app/samples/tidal/')\nconst imaj = \"[0,4,-5]\"\nconst melody =`[\n c#6@2 f5 c6@3 a#5 a5@2 g5@3 c#5 e5@2 d#5@2 f#5 a5@3 a6@3\n a5 g5 f5 d#5 c#5 b4 a5@3 a5@3 f5 g5 a5 a#5 g#5 g5 f5 g5 a5 b5 d5 g5 \n c#5@2 b4 f5@3 c#5 d#5 f5 g5 c#5@2 c5@3 c#5@3 c#5@6\n c#5 g#5 g5 a#4 f5 d#5 c#5 c5 g#5 c#5 c5 b4 c#5@2 b4 a5@3 c#5 b4@2 a5@6 \n b5 g5@2 e5 a5 b5 b5@6 b5 a#5 g5 a5@3 b5 g5 d5 c#5 a5@2 b5 g5 d#5 c#5 a5@2\n g5@2 d#5 f5 d#5 c#5 b4 a4 g4 a4 b4 c#5 d#5 f5 g5 ]`.legato(0.93)\nstack( \n melody.transpose(-12).n().s('Overdriven Guitar: Guitar').gain(0.19).rev(), \n melody.n().s('Overdriven Guitar: Guitar').gain(0.09).rev(), \n `[C#4 D#4 F4 G4 A3 B3]!8`.add(imaj).n().s('Choir Aahs: Ensemble').gain(0.25).rev(),\n `[C#2 D#2 C2 D2 A1 B1]!8`.legato(0.90).n().s('Electric Bass (finger): Bass').gain(0.3).rev(), \n s(\"[bd ~ bd sn ~ bd,hh*6]!23 [sn*6,hh*6]\").gain(0.25).rev()\n).slow(38)","hash":"fwBxQjt9aVhx"},{"id":283,"created_at":"2022-10-29T19:07:09.320134+00:00","code":"samples({ bell: {b4:'https://cdn.freesound.org/previews/339/339809_5121236-lq.mp3'}})\n\nstack(\n // bass\n note(\"[0 ~] [2 [0 2]] [4 4*2] [[4 ~] [2 ~] 0@2]\".scale('g1 dorian').superimpose(x=>x.add(.02)))\n .s('sawtooth').cutoff(200).resonance(20).gain(.15).shape(.6).release(.05),\n // perc\n s(\"[~ hh]*4\").room(\"0 0.5\".fast(2)).end(perlin.range(0.02,1)),\n s(\"mt lt ht\").struct(\"x(3,8)\").fast(2).gain(.5).room(.5).sometimes(x=>x.speed(\".5\")),\n s(\"misc:2\").speed(1).delay(.5).delaytime(1/3).gain(.4),\n // chords\n note(\"[~ Gm7] ~ [~ Dm7] ~\".voicings().superimpose(x=>x.add(.1)))\n .s('sawtooth').gain(.5)\n .cutoff(perlin.range(400,3000).slow(8))\n .decay(perlin.range(0.05,.2)).sustain(0)\n .delay(.9).room(1),\n // blips\n note(\n \"0 5 4 2\".iter(4)\n .off(1/3, add(7))\n .scale('g4 dorian')\n ).s('square').cutoff(2000).decay(.03).sustain(0)\n .degradeBy(.2)\n .orbit(2).delay(.2).delaytime(\".33 | .6 | .166 | .25\")\n .room(1).gain(.5).mask(\"<0 1>/8\"),\n // bell\n note(rand.range(0,12).struct(\"x(5,8)\").scale('g2 minor pentatonic')).s('bell').begin(.05)\n .delay(.2).degradeBy(.4).gain(.4)\n .mask(\"<1 0>/8\")\n).slow(5)","hash":"3rnmA7q0g2i-"},{"id":284,"created_at":"2022-10-29T20:05:35.807211+00:00","code":"samples({bass:'https://cdn.freesound.org/previews/614/614637_2434927-hq.mp3',\n dino:{b4:'https://cdn.freesound.org/previews/316/316403_5123851-hq.mp3'}})\n\nstack(\n s('bass').loopAt(8,1).clip(1),\n s(\"bd*2, ~ sd,hh*4\"),\n note(\"Abm7\".voicings(['c3','a4']).struct(\"x(3,8,1)\".slow(2))),\n \"0 1 2 3\".scale('ab4 minor pentatonic')\n .superimpose(x=>x.add(.1))\n .sometimes(x=>x.add(12))\n .note().s('sawtooth')\n .cutoff(sine.range(400,2000).slow(16)).gain(.8)\n .decay(perlin.range(.05,.2)).sustain(0)\n .delay(sine.range(0,.5).slow(32))\n .degradeBy(.4).room(1),\n note(\"<b4 eb4>\").s('dino').delay(.8).slow(8).room(.5)\n)","hash":"w1af5xWyhwNm"},{"id":285,"created_at":"2022-10-29T20:27:02.094212+00:00","code":"samples({ bell: {b4:'https://cdn.freesound.org/previews/339/339809_5121236-lq.mp3'}})\n\nstack(\n // bass\n note(\"[0 ~] [2 [0 2]] [4 4*2] [[4 ~] [2 ~] 0@2]\".scale('g1 dorian').superimpose(x=>x.add(.02)))\n .s('sawtooth').cutoff(200).resonance(20).gain(.15).shape(.6).release(.05),\n // perc\n s(\"[~ hh]*4\").room(\"0 0.5\".fast(2)).end(perlin.range(0.02,1)),\n s(\"mt lt ht\").struct(\"x(3,8)\").fast(2).gain(.5).room(1).sometimes(x=>x.speed(\"2\")),\n s(\"misc:2\").speed(1).delay(.5).delaytime(1/3).gain(.4),\n // chords\n note(\"[~ Gm7] ~ [~ Dm7] ~\".voicings().superimpose(x=>x.add(.1)))\n .s('sawtooth').gain(.5)\n .cutoff(perlin.range(400,3000).slow(8))\n .decay(perlin.range(0.05,.2)).sustain(0)\n .delay(.9).room(1),\n // blips\n note(\n \"0 5 4 2\".iter(4)\n .off(1/3, add(7))\n .scale('g4 dorian')\n ).s('square').cutoff(2000).decay(.03).sustain(0)\n .degradeBy(.2)\n .orbit(2).delay(.2).delaytime(\".33 | .6 | .166 | .25\")\n .room(1).gain(.5).mask(\"<0 1>/8\"),\n // bell\n note(rand.range(0,12).struct(\"x(5,8)\").scale('g2 minor pentatonic')).s('bell').begin(.05)\n .delay(.2).degradeBy(.4).gain(.4)\n .mask(\"<1 0>/8\")\n).slow(5)","hash":"Ne_BJMKKDCO_"},{"id":286,"created_at":"2022-10-30T18:26:13.585639+00:00","code":"stack(\n s(\"[woodblock:1 woodblock:2*2] snare_rim:0,gong/8,brakedrum:1(3,8),~@3 cowbell:3\")\n .sometimes(x=>x.speed(2)),\n note(\"<0 4 1 3 2>\".off(\".25 | .125\",add(2)).scale('D3 hirajoshi')).s(\"clavisynth\").gain(.2).delay(.25).jux(rev).degradeBy(sine.range(0,.5).slow(32)),\n note(\"<0@3 <2(3,8) 3(3,8)>>\".scale('D1 hirajoshi')).s('psaltery_pluck').gain(.6).clip(1).release(.1).room(.5)\n)","hash":"G2H5FM0Fc94a"},{"id":287,"created_at":"2022-10-30T19:31:11.094689+00:00","code":"\"c3 eb3(3,8) c4/2 g3*2\"\n .superimpose(\n x=>x.slow(2).add(12),\n x=>x.slow(4).sub(5)\n ).add(\"<0 1>/16\")\n .note().s('ocarina_vib').clip(1)\n .release(.1).room(1).gain(.2)\n .color(\"salmon | orange | darkseagreen\")\n.pianoroll({fold:0,autorange:0,vertical:0,cycles:12,smear:0,minMidi:40})\n","hash":"EPFzAz99hwZW"},{"id":288,"created_at":"2022-10-31T23:47:57.778883+00:00","code":"stack(\n s(\"bd*2,~ [cp,sd]\").bank('RolandTR909'),\n \n s(\"hh:1*4\").sometimes(fast(\"2\"))\n .rarely(x=>x.speed(\".5\").delay(.5))\n .end(perlin.range(0.02,.05).slow(8))\n .bank('RolandTR909').room(.5)\n .gain(\"0.4,0.4(5,8)\"),\n \n note(\"<0 2 5 3>\".scale('G1 minor')).struct(\"x(5,8)\").s('sawtooth').decay(.1).sustain(0),\n \n note(\"<G4 A4 Bb4 A4>,Bb3,D3\").struct(\"~ x*2\").s('square').clip(1)\n .cutoff(sine.range(500,4000).slow(16)).resonance(10)\n .decay(sine.slow(15).range(.05,.2)).sustain(0)\n .room(.5).gain(.3).delay(.2).mask(\"<0 1@3>/8\"),\n \n \"0 5 3 2\".sometimes(slow(2)).off(1/8,add(5)).scale('G4 minor').note()\n .decay(.05).sustain(0).delay(.2).degradeBy(.5).mask(\"<0 1>/16\")\n)","hash":"DSvgYUzEgx6n"},{"id":289,"created_at":"2022-11-01T23:23:38.813645+00:00","code":"stack(\n s(\"bd <sd cp>\")\n .delay(\"<0 .5>\")\n .delaytime(\".16 | .33\")\n .delayfeedback(\".6 | .8\")\n ).sometimes(x=>x.speed(\"-1\"))","hash":"cRvfurHbl4jo"},{"id":290,"created_at":"2022-11-02T20:39:52.338505+00:00","code":"await samples('https://gist.githubusercontent.com/felixroos/b9d461966ae1aaa660beea7c61482d21/raw/dirt-samples.json')\n\ns(\"jvbass:7 <jvbass:2 jvbass:3>, bd hh,[bottle | psr]\")\n .sometimes(fast(\"2\"))\n .rarely(x=>x.speed(\".5\"))\n .off(1/8,x=>x.delay(.5))\n .often(x=>x.cutoff(1000))\n .gain(rand.range(.4,.8))\n .room(1)","hash":"DGHGUqRXr5pe"},{"id":291,"created_at":"2022-11-02T20:50:13.110981+00:00","code":"await samples('https://gist.githubusercontent.com/felixroos/b9d461966ae1aaa660beea7c61482d21/raw/dirt-samples.json')\n\ns(\"jvbass:7(2,9) <jvbass:2 jvbass:3>, bd hh*3,[bottle | psr]\")\n .sometimes(slow(\"2\"))\n .rarely(x=>x.speed(\".5\"))\n .often(x=>x.cutoff(1000))\n .every(4, rev)\n .gain(rand.range(.4,.8))\n .room(.6).jux(rev)","hash":"RBaWr8-15Guk"},{"id":292,"created_at":"2022-11-02T20:54:16.465272+00:00","code":"await samples('https://tinyurl.com/dirt-samples')\n\ns(\"jvbass:7(2,9) <jvbass:2 jvbass:3>, bd hh*3,[bottle | psr]\")\n .sometimes(slow(\"2\"))\n .rarely(x=>x.speed(\".5\"))\n .often(x=>x.cutoff(1000))\n .every(4, rev)\n .gain(rand.range(.4,.8))\n .room(.6).jux(rev)","hash":"c41h3Z1fwqTB"},{"id":293,"created_at":"2022-11-02T20:54:46.19725+00:00","code":"await samples('https://gist.githubusercontent.com/felixroos/b9d461966ae1aaa660beea7c61482d21/raw/dirt-samples.json')\n\ns(\"bev\")\n .chop(64)\n .slow(16)\n .jux(rev)\n .chunk(4, x => x.slow(2).speed(0.5))\n .room(.9)","hash":"lvF3fzHrDbyx"},{"id":294,"created_at":"2022-11-02T22:21:18.991653+00:00","code":"await samples('github:tidalcycles/Dirt-Samples/master')\n\ns(\"jvbass:7(2,9) <jvbass:2 jvbass:3>, bd hh*3,[bottle | psr]\")\n .sometimes(slow(\"2\"))\n .rarely(x=>x.speed(\".5\"))\n .often(x=>x.cutoff(1000))\n .every(4, rev)\n .gain(rand.range(.4,.8))\n .room(.6).jux(rev)","hash":"vqqfVtY-n1Z6"},{"id":295,"created_at":"2022-11-02T22:28:26.618474+00:00","code":"await samples('github:tidalcycles/Dirt-Samples/master')\n\ns(\"[future:2 future:3] sd [future:4 future:3 future:2] sd\")\n .chop(\"<16 32>\")\n .chunk(4,x => x.speed(2))\n .iter(4)\n .slow(2)\n .jux(rev)\n .room(0.6)","hash":"C7PwKmsYAOJL"},{"id":296,"created_at":"2022-11-02T23:23:44.68464+00:00","code":"samples({\n bell: { c6: 'https://freesound.org/data/previews/411/411089_5121236-lq.mp3' },\n bass: { d2: 'https://freesound.org/data/previews/608/608286_13074022-lq.mp3' }\n})\n\nstack(\n // bells\n \"0\".euclidLegato(3,8)\n .echo(3, 1/16, .5)\n .add(rand.range(-24,24))\n .velocity(rand.range(.5,1))\n .legato(rand.range(.4,3))\n .scale(cat('D minor pentatonic')).note()\n .s('bell').gain(.6).delay(.2).delaytime(1/3).delayfeedback(.8),\n // bass\n \"<D2 A2 G2 F2>\".euclidLegato(6,8,1).note().s('bass').clip(1).gain(.8)\n)\n .slow(2)\n .pianoroll({minMidi:20,maxMidi:120,background:'transparent'})\n ","hash":"Z1mqx-eU-KcX"},{"id":297,"created_at":"2022-11-03T09:36:30.528728+00:00","code":"samples({ p: 'https://cdn.freesound.org/previews/648/648433_11943129-lq.mp3' })\n\ns(\"p\")\n .loopAt(32,1)\n .chop(128)\n .jux(rev)\n .shape(.4)\n .decay(.1)\n .sustain(.6)\n ","hash":"Ypr_TlVFjVV5"},{"id":298,"created_at":"2022-11-03T11:03:58.705803+00:00","code":"saw.range(0,7).floor().slow(2)\n .struct(seq(\"x\", \"x(3,8)\".slow(2)))\n .superimpose(\n x=>x.add(\"1 6\").slow(2),\n x=>x.add(\"2\").late(.5).slow(2),\n x=>x.sub(\"7\").slow(4),\n )\n .degradeBy(0.2)\n .echo(4,\"<.5 .25 .125>\",.5)\n .scale(cat('C major',['D dorian','G mixolydian']).slow(4))\n .velocity(\".5 .6 .7\".fast(7))\n .transpose(2)\n .tone((await piano()).toDestination())\n .slow(2)","hash":"5pmvveRR-gKc"},{"id":39,"created_at":"2022-07-16T16:42:59.341865+00:00","code":"const delay = new FeedbackDelay(1/8, .4).chain(vol(0.5), out());\nconst kick = new MembraneSynth().chain(vol(.8), out());\nconst snare = new NoiseSynth().chain(vol(.8), out());\nconst hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out());\nconst bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out());\nconst keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out());\nconst drums = stack(\n\"c1*2\".tone(kick).bypass(\"<0@7 1>/8\"),\n\"~ <x!7 [x@3 x]>\".tone(snare).bypass(\"<0@7 1>/4\"),\n\"[~ c4]*2\".tone(hihat)\n);\nconst thru = (x) => x.transpose(\"<0 1>/8\").transpose(-1);\nconst synths = stack(\n\"<eb4 d4 c4 b3>/2\".scale(timeCat([3,'C minor'],[1,'C melodic minor']).slow(8)).struct(\"[~ x]*2\")\n.layer(\nscaleTranspose(0).early(0),\nscaleTranspose(2).early(1/8),\nscaleTranspose(7).early(1/4),\nscaleTranspose(8).early(3/8)\n).layer(thru).tone(keys).bypass(\"<1 0>/16\"),\n\"<C2 Bb1 Ab1 [G1 [G2 G1]]>/2\".struct(\"[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2\".fast(2)).layer(thru).tone(bass),\n\"<Cm7 Bb7 Fm7 G7b13>/2\".struct(\"~ [x@0.1 ~]\".fast(2)).voicings().layer(thru).every(2, early(1/8)).tone(keys).bypass(\"<0@7 1>/8\".early(1/4))\n)\nstack(\ndrums.fast(2),\nsynths\n).slow(2);","hash":"E9HzjWmePz3x"},{"id":50,"created_at":"2022-07-18T13:08:12.569425+00:00","code":"const delay = new FeedbackDelay(1/8, .4).chain(vol(0.5), out());\nconst kick = new MembraneSynth().chain(vol(.8), out());\nconst snare = new NoiseSynth().chain(vol(.8), out());\nconst hihat = new MetalSynth().set(adsr(0, .08, 0, .1)).chain(vol(.3).connect(delay),out());\nconst bass = new Synth().set({ ...osc('sawtooth'), ...adsr(0, .1, .4) }).chain(lowpass(900), vol(.5), out());\nconst keys = new PolySynth().set({ ...osc('sawtooth'), ...adsr(0, .5, .2, .7) }).chain(lowpass(1200), vol(.5), out());\n\nconst drums = stack(\n \"c1*2\".tone(kick).mask(\"<x@7 ~>/8\"),\n \"~ <x!7 [x@3 x]>\".tone(snare).mask(\"<x@7 ~>/4\"),\n \"[~ c4]*2\".tone(hihat)\n);\n\nconst thru = (x) => x.transpose(\"<0 1>/8\").transpose(-1);\nconst synths = stack(\n \"<eb4 d4 c4 b3>/2\".scale(timeCat([3,'C minor'],[1,'C melodic minor']).slow(8)).struct(\"[~ x]*2\")\n .layer(\n scaleTranspose(0).early(0),\n scaleTranspose(2).early(1/8),\n scaleTranspose(7).early(1/4),\n scaleTranspose(8).early(3/8)\n ).apply(thru).tone(keys).mask(\"<~ x>/16\"),\n \"<C2 Bb1 Ab1 [G1 [G2 G1]]>/2\".struct(\"[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2\".fast(2)).apply(thru).tone(bass),\n \"<Cm7 Bb7 Fm7 G7b13>/2\".struct(\"~ [x@0.1 ~]\".fast(2)).voicings().apply(thru).every(2, early(1/8)).tone(keys).mask(\"<x@7 ~>/8\".early(1/4))\n)\nstack(\n drums.fast(2), \n synths\n).slow(2)","hash":"PQfKr5ac-4x0"},{"id":299,"created_at":"2022-11-03T14:38:53.729877+00:00","code":"const keys = x => x.s('sawtooth').cutoff(1200).gain(.5).attack(0).decay(.16).sustain(.3).release(.1);\n\nconst drums = stack(\n s(\"bd*2\").mask(\"<x@7 ~>/8\").gain(.8),\n s(\"~ <sd!7 [sd@3 ~]>\").mask(\"<x@7 ~>/4\").gain(.5),\n s(\"[~ hh]*2\").delay(.3).delayfeedback(.5).delaytime(.125).gain(.4)\n);\n\nconst thru = (x) => x.transpose(\"<0 1>/8\").transpose(-1);\nconst synths = stack(\n \"<eb4 d4 c4 b3>/2\".scale(timeCat([3,'C minor'],[1,'C melodic minor'])\n .slow(8)).struct(\"[~ x]*2\")\n .layer(\n scaleTranspose(0).early(0),\n scaleTranspose(2).early(1/8),\n scaleTranspose(7).early(1/4),\n scaleTranspose(8).early(3/8)\n ).apply(thru).note().apply(keys).mask(\"<~ x>/16\"),\n note(\"<C2 Bb1 Ab1 [G1 [G2 G1]]>/2\".apply(thru))\n .struct(\"[x [~ x] <[~ [~ x]]!3 [x x]>@2]/2\".fast(2))\n .s('sawtooth').attack(0.001).decay(0.2).sustain(1).cutoff(500),\n \"<Cm7 Bb7 Fm7 G7b13>/2\".struct(\"~ [x@0.2 ~]\".fast(2)).voicings()\n .apply(thru).every(2, early(1/8)).note().apply(keys).sustain(0)\n .delay(.4).delaytime(.12)\n .mask(\"<x@7 ~>/8\".early(1/4))\n)\nstack(\n drums.fast(2), \n synths\n).slow(2)","hash":"rGJ0heffHHl4"},{"id":172,"created_at":"2022-09-15T05:18:49.069714+00:00","code":"const delay = new FeedbackDelay(1/7, .1).chain(vol(0.9), out());\nconst hihat = new MetalSynth()\n .set(adsr(0, .01, 0, .1))\n .chain(vol(.1).connect(delay),out());\n\nstack(\n `<[0, 4, 7] [-1, 4, 8] [-3, 0, 4, 9] [-5, 0, 4, 10]\n [-9, 1, 6, 11] [-8, 0, 7, 12] [-6, 2, 4, 13] [-7, 4, 9, 14] \n [-8, 0, 7, 16] [-4, 0, 7, 17] [-9, 1, 6, 11, 18] [-8, 0, 7, 14, 19] \n [-7, 2, 10, 14, 20] [-3, 5, 7, 12, 21] [-5, 3, 5, 14, 22] [-4, 3, 5, 13, 23]\n >`\n .struct(\"<t(3,8) t(3,8,1) [~ ~ t ~ ~ t ~ ~] [t ~ ~ t ~ ~ t ~ ]>\".slow(\"2\"))\n .legato(1)\n .add(a3).note(),\n \n \"<0 -1 -3 -5 -9 -8 -6 -7 -8 -4 -9 -8 -7 -3 -5 -4>\".add(a2).note(),\n \n //\"<7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23>\".add(a3),\n \n \"<~ 3?> 2 ~ [2 <[~ [0*3]?] ~>]\".fast(2)\n .slow(2).tone(hihat.toDestination()),\n \n \"c1(3,8)|c1(4,8)\".slow(2).tone(new MembraneSynth().toDestination()),\n \n \"~ x\".tone(new NoiseSynth().toDestination()),\n )","hash":"DBp75NUfSxIn"},{"id":210,"created_at":"2022-09-23T21:49:46.53913+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav', 'bd/BT7A0D7.wav'],\n birds: ['birds/001_10.wav','birds/003_3.wav','birds/005_5.wav'],\n breaks125: 'breaks125/015_sdstckbr.wav',\n hh: ['hh/000_hh3closedhh.wav','hh27/008_hh27perc1.wav','hh/002_hh3hit1.wav'],\n \"gtr\": 'gtr/0001_cleanC.wav',\n}, 'github:tidalcycles/Dirt-Samples/master/');\ns(\"[bd birds [misc misc,bd] breaks125]/4.5,hh lt hh bd\").note(\"[44 30 51]/2.4\").n(\"[0 1 2 3]/2.75\")//\n .cut(\"[1 0 1 0 2 2 1 2 2]/1.75\")\n // .clip(\"1\")\n .attack(\"[.01 0.05]/1.2\").decay(\".1 0.01\").sustain(\".2 0.6\").release(\"[.5 1 0.1]/2.6\")\n // .shape(\"0.2\")\n .pan(\"[.5 1 .5 0]/0.75\")\n .echoWith(3, \"[2.125 2.5]/3\", (p,n) => p.add(n + 4).rev().release(2))\n // .coarse(\"1\")\n // .shape(1)\n .out()","hash":"xHaKTd1kTpCn"},{"id":300,"created_at":"2022-11-03T18:07:55.787937+00:00","code":"Clock.bpm = 120\n\nstack(\n note(\"[e3, b4, d4, a4]\").slow(4).s('sawtooth')\n .attack(.1).decay(.2).sustain(.3).release(.1).bandf(100).bandq(\"1\").gain(3),\n //s(\"bd@2 bd bd!2 bd*2\").fast(2)\n s(\"hh@2 hh hh!2 hh*2\").fast(2)\n .every(4, x=>x.rev())\n).slow(2)","hash":"Z7Nxzf3lmgTN"},{"id":301,"created_at":"2022-11-03T19:06:07.236828+00:00","code":"Clock.bpm = 120\n\nstack(\n note(\"[e3, b4, a4, g#4]\").slow(4).s('sawtooth')\n .attack(.1).decay(.2).sustain(.3).release(.1).bandf(100).bandq(\"1\").gain(3),\n //s(\"bd@2 bd bd!2 bd*2\").fast(2)\n //s(\"hh@2 hh hh!2 hh*2\").fast(2)\n //.every(4, x=>x.rev())\n).slow(2)","hash":"e63x61eOPPvl"},{"id":302,"created_at":"2022-11-03T19:26:59.635412+00:00","code":"await samples('https://gist.githubusercontent.com/felixroos/2f75409930854895e9cddd37dbe9bcd9/raw/dirt-jv1080.json')\n\nnote(\"<g4(3,8) a4*2 f4(3,8) [c4 c5]>\")\n .off(1/4, add(n(7)))\n .off(1/8, add(n(12)))\n .s(\"[xx@3 rash@1]/16\")\n .cutoff(sine.range(500,4000).slow(7))\n .room(.8)\n .jux(rev)\n .gain(.5)","hash":"bUd8QxyN4kvJ"},{"id":303,"created_at":"2022-11-03T19:36:55.420352+00:00","code":"Clock.bpm = 120\n\nstack(\n note(\"[e3, b4, a4, g#4]*32\").slow(4).s('sawtooth')\n .decay(.1).sustain(.1).bandf(50).bandq(\".5\").gain(sine.range(8, 2)),\n s(\"bd\").decay(.1),\n s(\"hh*8\").gain(\".4!2 1 .4!2 1 .4 1\").velocity(\".4 1\").every(4, x=>x.rev())\n).slow(2)","hash":"y5PdLktz5gnb"},{"id":304,"created_at":"2022-11-04T03:26:49.316926+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .speed(perlin.range(.7,.9)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .slow(3/2)","hash":"BpChMc3nxrYv"},{"id":305,"created_at":"2022-11-04T03:27:43.596872+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .speed(perlin.range(.7,.9)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .slow(3/2)","hash":"Swuvt887AOe1"},{"id":306,"created_at":"2022-11-04T03:29:34.553409+00:00","code":"samples({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav',\n rhodes: {\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n }\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n s(\"<bd sn> <hh hh*2 hh*3>\"),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .note()\n .s('rhodes')\n .clip(1)\n .room(.5)\n .delay(.3)\n .delayfeedback(.4)\n .delaytime(1/12).gain(.5),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2).superimpose(x=>x.add(.02))\n .note().gain(.3)\n .s('sawtooth').cutoff(600),\n).fast(3/2)","hash":"UboMuFOnT0hy"},{"id":307,"created_at":"2022-11-04T03:29:34.618152+00:00","code":"samples({\n bd: 'samples/tidal/bd/BT0A0D0.wav',\n sn: 'samples/tidal/sn/ST0T0S3.wav',\n hh: 'samples/tidal/hh/000_hh3closedhh.wav',\n rhodes: {\n E1: 'samples/rhodes/MK2Md2000.mp3',\n E2: 'samples/rhodes/MK2Md2012.mp3',\n E3: 'samples/rhodes/MK2Md2024.mp3',\n E4: 'samples/rhodes/MK2Md2036.mp3',\n E5: 'samples/rhodes/MK2Md2048.mp3',\n E6: 'samples/rhodes/MK2Md2060.mp3',\n E7: 'samples/rhodes/MK2Md2072.mp3'\n }\n}, 'https://loophole-letters.vercel.app/')\n\nconst bass = synth(osc('sawtooth8')).chain(vol(.5),out())\nconst scales = cat('C major', 'C mixolydian', 'F lydian', ['F minor', cat('Db major','Db mixolydian')])\n\nstack(\n s(\"<bd sn> <hh hh*2 hh*3>\"),\n \"<g4 c5 a4 [ab4 <eb5 f5>]>\"\n .scale(scales)\n .struct(\"x*8\")\n .scaleTranspose(\"0 [-5,-2] -7 [-9,-2]\")\n .legato(.3)\n .slow(2)\n .note()\n .s('rhodes')\n .clip(1)\n .room(.5)\n .delay(.3)\n .delayfeedback(.4)\n .delaytime(1/12).gain(.5),\n \"<c2 c3 f2 [[F2 C2] db2]>\"\n .legato(\"<1@3 [.3 1]>\")\n .slow(2).superimpose(x=>x.add(.02))\n .note().gain(.3)\n .s('sawtooth').cutoff(600),\n).fast(3/2)","hash":"vYFGpZ6XObVG"},{"id":308,"created_at":"2022-11-04T08:35:06.643516+00:00","code":"samples({\n bd: ['bd/BT0AADA.wav','bd/BT0AAD0.wav','bd/BT0A0DA.wav','bd/BT0A0D3.wav','bd/BT0A0D0.wav','bd/BT0A0A7.wav'],\n sd: ['sd/rytm-01-classic.wav','sd/rytm-00-hard.wav'],\n hh: ['hh27/000_hh27closedhh.wav','hh/000_hh3closedhh.wav'],\n}, 'github:tidalcycles/Dirt-Samples/master/');\nstack(\n s(\"bd,[~ <sd!3 sd(3,4,2)>],hh(3,4)\") // drums\n .speed(perlin.range(.7,.9)) // random sample speed variation\n //.hush()\n ,\"<a1 b1*2 a1(3,8) e2>\" // bassline\n .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps\n .add(perlin.range(0,.5)) // random pitch variation\n .superimpose(add(.05)) // add second, slightly detuned voice\n .n() // wrap in \"n\"\n .decay(.15).sustain(0) // make each note of equal length\n .s('sawtooth') // waveform\n .gain(.4) // turn down\n .cutoff(sine.slow(7).range(300,5000)) // automate cutoff\n //.hush()\n ,\"<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>\".voicings() // chords\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .s('sawtooth') // waveform\n .gain(.16) // turn down\n .cutoff(500) // fixed cutoff\n .attack(1) // slowly fade in\n //.hush()\n ,\"a4 c5 <e6 a6>\".struct(\"x(5,8)\")\n .superimpose(x=>x.add(.04)) // add second, slightly detuned voice\n .add(perlin.range(0,.5)) // random pitch variation\n .n() // wrap in \"n\"\n .decay(.1).sustain(0) // make notes short\n .s('triangle') // waveform\n .degradeBy(perlin.range(0,.5)) // randomly controlled random removal :)\n .echoWith(4,.125,(x,n)=>x.gain(.15*1/(n+1))) // echo notes\n //.hush()\n)\n .fast(3/2)","hash":"TUw_9DfBSsiW"},{"id":309,"created_at":"2022-11-04T09:06:38.730788+00:00","code":"stack(\n s(\"bd <sd cp>\")\n .delay(.5)\n .delaytime(.33)\n .delayfeedback(.6),\n s(\"hh*2\")\n .delay(.8)\n .delaytime(.08)\n .delayfeedback(.7)\n .orbit(2)\n).sometimes(x=>x.speed(\"-1\")).out()","hash":"ctHqwq-97t6X"}]
|