From d5c79f697a88bec1b3a5aae6dcb2e8fa7534c45e Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sun, 6 Mar 2022 10:37:15 +0100 Subject: [PATCH] add tunes with sampler + players --- repl/src/tunes.ts | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/repl/src/tunes.ts b/repl/src/tunes.ts index 639fc4cf..be8c0dc2 100644 --- a/repl/src/tunes.ts +++ b/repl/src/tunes.ts @@ -458,3 +458,52 @@ export const barryHarris = `piano() .slow(2) .tone(p.toDestination())) `; + + +export const blippyRhodes = `Promise.all([ + players({ + bd: 'samples/tidal/bd/BT0A0D0.wav', + sn: 'samples/tidal/sn/ST0T0S3.wav', + hh: 'samples/tidal/hh/000_hh3closedhh.wav' + }, 'https://loophole-letters.vercel.app/'), + sampler({ + E1: 'samples/rhodes/MK2Md2000.mp3', + E2: 'samples/rhodes/MK2Md2012.mp3', + E3: 'samples/rhodes/MK2Md2024.mp3', + E4: 'samples/rhodes/MK2Md2036.mp3', + E5: 'samples/rhodes/MK2Md2048.mp3', + E6: 'samples/rhodes/MK2Md2060.mp3', + E7: 'samples/rhodes/MK2Md2072.mp3' + }, 'https://loophole-letters.vercel.app/') +]) + .then(([drums, rhodes])=>{ + const delay = new FeedbackDelay(1/12, .4).chain(vol(0.3), out()); + rhodes = rhodes.chain(vol(0.5).connect(delay), out()); + const bass = synth(osc('sawtooth8')).chain(vol(.5),out()); + const scales = ['C major', 'C mixolydian', 'F lydian', ['F minor',slowcat('Db major','Db mixolydian')]]; + const t = x => x.scale(sequence(...scales).slow(4)); + return stack( + " ".tone(drums.chain(out())), + "]>".apply(t).struct("x*8").apply(scaleTranspose("0 [-5,-2] -7 [-9,-2]")).legato(.2).slow(2).tone(rhodes), + //"]>".slow(2).voicings().struct("~ x").legato(.25).tone(rhodes), + "".legato("<1@3 [.3 1]>").slow(2).tone(bass), + ).fast(3/2) +})`; + +export const wavyRhodes = `sampler({ + E1: 'MK2Md2000.mp3', + E2: 'MK2Md2012.mp3', + E3: 'MK2Md2024.mp3', + E4: 'MK2Md2036.mp3', + E5: 'MK2Md2048.mp3', + E6: 'MK2Md2060.mp3', + E7: 'MK2Md2072.mp3' +}, 'https://loophole-letters.vercel.app/samples/rhodes/').then((rhodes)=>{ +const delay = new FeedbackDelay(1/6, .5).chain(vol(.2), out()); +rhodes = rhodes.chain(vol(0.5).connect(delay), out()); +const scales = sequence('C major', 'C mixolydian', 'F lydian', ['F minor', 'Db major']).slow(4); +return stack( + "[0 2 4 6 9 2 0 -2]*3".add("<0 2>/4").scale(scales).struct("x*8").slow(2).tone(rhodes), + "".scale(scales).scaleTranspose("[0 <2 4>]*2").struct("x*4").slow(2).tone(rhodes), +).legato("<.2 .4 .8 1 1.2 1.4 1.6 1.8 2>/8") +})`;