diff --git a/repl/src/tunes.mjs b/repl/src/tunes.mjs index 57f2d6c6..260d34a6 100644 --- a/repl/src/tunes.mjs +++ b/repl/src/tunes.mjs @@ -854,3 +854,52 @@ export const orbit = `stack( .delayfeedback(.7) .orbit(2) ).sometimes(x=>x.speed("-1"))`; + +export const belldub = `samples({ bell: {b4:'https://cdn.freesound.org/previews/339/339809_5121236-lq.mp3'}}) +// "Hand Bells, B, Single.wav" by InspectorJ (www.jshaw.co.uk) of Freesound.org +stack( + // bass + note("[0 ~] [2 [0 2]] [4 4*2] [[4 ~] [2 ~] 0@2]".scale('g1 dorian').superimpose(x=>x.add(.02))) + .s('sawtooth').cutoff(200).resonance(20).gain(.15).shape(.6).release(.05), + // perc + s("[~ hh]*4").room("0 0.5".fast(2)).end(perlin.range(0.02,1)), + s("mt lt ht").struct("x(3,8)").fast(2).gain(.5).room(.5).sometimes(x=>x.speed(".5")), + s("misc:2").speed(1).delay(.5).delaytime(1/3).gain(.4), + // chords + note("[~ Gm7] ~ [~ Dm7] ~".voicings().superimpose(x=>x.add(.1))) + .s('sawtooth').gain(.5) + .cutoff(perlin.range(400,3000).slow(8)) + .decay(perlin.range(0.05,.2)).sustain(0) + .delay(.9).room(1), + // blips + note( + "0 5 4 2".iter(4) + .off(1/3, add(7)) + .scale('g4 dorian') + ).s('square').cutoff(2000).decay(.03).sustain(0) + .degradeBy(.2) + .orbit(2).delay(.2).delaytime(".33 | .6 | .166 | .25") + .room(1).gain(.5).mask("<0 1>/8"), + // bell + note(rand.range(0,12).struct("x(5,8)").scale('g2 minor pentatonic')).s('bell').begin(.05) + .delay(.2).degradeBy(.4).gain(.4) + .mask("<1 0>/8") +).slow(5)`; + +export const dinofunk = `samples({bass:'https://cdn.freesound.org/previews/614/614637_2434927-hq.mp3', +dino:{b4:'https://cdn.freesound.org/previews/316/316403_5123851-hq.mp3'}}) + +stack( +s('bass').loopAt(8,1).clip(1), +s("bd*2, ~ sd,hh*4"), +note("Abm7".voicings(['c3','a4']).struct("x(3,8,1)".slow(2))), +"0 1 2 3".scale('ab4 minor pentatonic') +.superimpose(x=>x.add(.1)) +.sometimes(x=>x.add(12)) +.note().s('sawtooth') +.cutoff(sine.range(400,2000).slow(16)).gain(.8) +.decay(perlin.range(.05,.2)).sustain(0) +.delay(sine.range(0,.5).slow(32)) +.degradeBy(.4).room(1), +note("").s('dino').delay(.8).slow(8).room(.5) +)`;