From 4f0d2f181b7ee404ea23cb7f3e92cc3b71df7bac Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Tue, 7 Jun 2022 01:38:57 +0200 Subject: [PATCH] more slides --- talk/deck.mdx | 321 ++++++++++++++++++++++++++++++++----------- talk/public/repl.png | Bin 0 -> 41041 bytes 2 files changed, 237 insertions(+), 84 deletions(-) create mode 100644 talk/public/repl.png diff --git a/talk/deck.mdx b/talk/deck.mdx index df6b14238..64e79b701 100644 --- a/talk/deck.mdx +++ b/talk/deck.mdx @@ -43,7 +43,7 @@ import ImgTile from './ImgTile'; - 🎤 Dilettante Music Producer of all kinds of genres - 💿 ocassionally publishes music with Lui Mafuta & Puste - 🔌 Modular Synth & Electronics Lover, Dilettante DJ .. -- 💌 Coding Blog: [Loophole Letters](https://loophole-letters.vercel.app/) +- 💌 Coding Blog: [loophole-letters.vercel.app](https://loophole-letters.vercel.app/) - 👀 Loves visualizations
@@ -141,6 +141,16 @@ import ImgTile from './ImgTile'; " +.scale('D minor') +.color('salmon') +.off(1/4, x=>x.scaleTranspose(2).color('green')) +.off(1/2, x=>x.scaleTranspose(6).color('steelblue')) +.legato(.5) +.echo(2, 1/8, .5) +.tone((await piano()).chain(out())) +.pianoroll()`, + // `// froos - xylophone on the floor const t = x => x.scaleTranspose("<0 2 4 3>/4").transpose(-2) const s = x => x.scale( @@ -188,83 +198,6 @@ stack( "c3*4".transpose("[-24 0]*2").tone(metal(adsr(0,.02)) .chain(vol(0.5).connect(delay),out())) ).slow(1)`, - // - `// froos - giant steps, chiptune version -stack( - // melody - seq( - "[F#5 D5] [B4 G4] Bb4 [B4 A4]", - "[D5 Bb4] [G4 Eb4] F#4 [G4 F4]", - "Bb4 [B4 A4] D5 [D#5 C#5]", - "F#5 [G5 F5] Bb5 [F#5 [F#5 ~@3]]", - ), - // chords - seq( - "[B^7 D7] [G^7 Bb7] Eb^7 [Am7 D7]", - "[G^7 Bb7] [Eb^7 F#7] B^7 [Fm7 Bb7]", - "Eb^7 [Am7 D7] G^7 [C#m7 F#7]", - "B^7 [Fm7 Bb7] Eb^7 [C#m7 F#7]" - ) - .struct("~ [x ~]".fast(4*8)) - .voicings(['E3', 'G4']), - // bass - seq( - "[B2 D2] [G2 D2] [Eb2 Bb2] [A2 D2]", - "[G2 Bb2] [Eb2 F#2] [B2 F#2] [F2 Bb2]", - "[Eb2 Bb2] [A2 D2] [G2 D2] [C#2 F#2]", - "[B2 F#2] [F2 Bb2] [Eb2 Bb2] [C#2 F#2]" - ) - .struct("x ~".fast(4*8)) -).slow(25)`, - // - `// froos - piano tune #3829 -"0 4 <5 7> 2" - .off(1/16,x=>x.add(5).color('salmon')) - .echo(4,.125,.7) - .scale(cat( - 'C hirajoshi', - slowcat('F hirajoshi','E pentatonic') - )) - .slow(4) - .tone((await piano()).toDestination()) - .pianoroll({ cycles:16, fold:1, vertical:0 })`, - // - `// froos - if so what else -const mix = (key) => vol({ - chords: .2, - lead: 0.8, - bass: .4, - snare: .95, - kick: .9, - hihat: .35, -}[key]||0); -const delay = new FeedbackDelay(1/6, .3).chain(vol(.7), out()); -const delay2 = new FeedbackDelay(1/6, .2).chain(vol(.15), out()); -const chorus = new Chorus(1,2.5,0.5).start(); -// instruments -const instr = (instrument) => ({ - organ: polysynth().set({...osc('sawtooth4'), ...adsr(.01,.2,0)}).chain(mix('chords').connect(delay),out()), - lead: polysynth().set({...osc('triangle4'),...adsr(0.01,.05,0)}).chain(mix('lead').connect(delay2), out()), - bass: polysynth().set({...osc('sawtooth8'),...adsr(.02,.05,.3,.2)}).chain(mix('bass'),lowpass(3000), out()), - pad: polysynth().set({...osc('square2'),...adsr(0.1,.4,0.8)}).chain(vol(0.15),chorus,out()), - hihat: metal(adsr(0, .02, 0)).chain(mix('hihat'), out()), - snare: noise(adsr(0, .15, 0.01)).chain(mix('snare'), lowpass(5000), out()), - kick: membrane().chain(mix('kick'), out()) -}[instrument]); -// harmony -const t = transpose("<0 0 1 0>/8"); -const sowhat = scaleTranspose("0,3,6,9,11"); -// track -stack( - "[<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"), - "< <[d3 ~] [c3 f3] g3>>".scale('D dorian').apply(sowhat).apply(t).tone(instr('organ')).mask("/8"), - "<[d2 [d2 ~]*3]!3 >".apply(t).tone(instr('bass')), - "c1*6".tone(instr('hihat')), - "~ c3".tone(instr('snare')), - "<[c1@5 c1] >".tone(instr('kick')), - "[2,4]/4".scale('D dorian').apply(t).tone(instr('pad')).mask("/8") -).fast(6/8)`, - // `// froos - strudel schneckno samples({ clubkick: 'clubkick/2.wav', @@ -274,9 +207,14 @@ samples({ jvbass: ['jvbass/000_01.wav','jvbass/001_02.wav','jvbass/003_04.wav','jvbass/004_05.wav','jvbass/005_06.wav'] }, 'https://raw.githubusercontent.com/tidalcycles/Dirt-Samples/master/'); stack( - s(",[~ ],hh(3,4,2)").n("<0 1 2>").speed(.8), - n("<0 1*2 4(3,8) 2>").speed(.6).off(1/8,x=>x.speed(1.2).degradeBy(.5)).s("jvbass") -).reset(">").cutoff(perlin.slow(7).range(100,20000)).webdirt().slow(3/2)`, + s(",[~ ],hh(3,4,2)") + .n("<0 1 2>").speed(.8), + n("<0 1*2 4(3,8) 2>").speed(.6) + .off(1/8, x => x.speed(1.2).degradeBy(.5)) + .s("jvbass") +).reset(">") + .cutoff(perlin.slow(7).range(100,20000)) + .webdirt().slow(3/2)`, `stack( // drum pattern by yaxu "24*2 [~ 25]".chunk(4, x => x.sub("12").fast(2)) .tone(membrane().toDestination()), @@ -317,15 +255,18 @@ stack(
+ + ## Mini Notation +\* \[\] ~ , / <\> ! @ \(\) +
- Embedded Domain Specific Language - PEG.js grammar based on krill by Marc Resibois -- \* \[\] ~ , / <\> ! @ \(\)
@@ -389,6 +330,185 @@ s("bd,[~ sd],hh*4").webdirt()`,
+## Pattern Factories + +seq, cat, stack + +" + .tone((await piano()).toDestination()) + .pianoroll()`, + `stack(c3,e3,g3) // "c3,e3,g3" + .tone((await piano()).toDestination()) + .pianoroll()`, + ]} +/> + + + +## Time Control + +fast / slow, early / late, rev + +".early(.16)).late(.16) + .tone((await piano()).toDestination()) + .pianoroll()`, + `"c3 e3 g3 bb3".rev() + .tone((await piano()).toDestination()) + .pianoroll()`, + ]} +/> + + + +## Arithmetic & Patternified Params + +add, sub, mul, div + +/2") + .tone((await piano()).toDestination()) + .pianoroll({fold:1,cycles:8})`, + ]} +/> + + + +## Scales + +") + .scale('F#2 major') + .tone((await piano()).toDestination()) + .pianoroll({autorange:1})`, + `"-7, 0 2 4 7".add("<0 1 2 1>") + .scale(cat('F#2 major','A2 major').slow(8)) + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:16,fold:1,inactive:'orange'})`, + ]} +/> + + + +## Articulation + +velocity, legato + +") + .scale(cat('F#2 major','A2 major').slow(8)) + .legato(.25) + .velocity(.5) + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:16,fold:1,inactive:'orange'})`, + `"-7, 0 2 4 7".add("<0 1 2 1>") + .scale(cat('F#2 major','A2 major').slow(8)) + .legato("<0.25 2>/8") + .velocity("<1 .8>/8") + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:16,fold:1,inactive:'orange'})`, + ]} +/> + + + +## Continuous Signals / Randomness + +sine / saw / tri / square / rand / perlin, range, segment + + + + + +## Humanization + +"articulate randomness" + +") + .scale(cat('F#2 major','A2 major').slow(8)) + .legato(perlin.range(.5,2)) + .velocity("<0.4 .3 .7>*3") + .late(perlin.range(0,.05)) + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:16,fold:1,inactive:'orange'})`, + ]} +/> + + + +## Shuffling + +iter + +") + .scale(cat('F#2 major','A2 major').slow(8)) + .legato(perlin.range(.5,2)) + .velocity(rand.range(.6,.9)) + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:16,fold:1,inactive:'indigo'})`, + ]} +/> + + + +## Superposition + +superimpose, off, echo, echoWith + +x.add(7).color('green')) + .scale('C major').slow(2) + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:8,fold:1,inactive:'indigo'})`, + `"0 2 4 7" + .off(.17, x=>x.add(12).color('green')) + .scale('C major').slow(2) + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:8,fold:1,inactive:'indigo'})`, + `"0 2 4 7" + .echo(6,.125,.8) + .scale('C major').slow(2) + .tone((await piano()).toDestination()) + .pianoroll({autorange:1,cycles:8,fold:1,inactive:'indigo'})`, + ]} +/> + + + ## Phasing Oscillator Detune in slow motion @@ -402,10 +522,10 @@ Oscillator Detune in slow motion .tone((await piano()).toDestination()) .pianoroll({fold:1,vertical:0,cycles:8})`, `// Steve Reich - Clapping Music -s("hh").struct("x!3 ~ x!2 ~ x ~ x!2 ~").speed(.8) +s("cp").struct("x!3 ~ x!2 ~ x ~ x!2 ~").speed(.8) .jux(x=>x.speed(1.2) .late("<0 1 2 3 4 5 6 7 8 9 10 11>/8".div(12)) - ).slow(2).webdirt().pianoroll()`, + ).slow(2).webdirt()`, ]} /> @@ -431,5 +551,38 @@ s("hh").struct("x!3 ~ x!2 ~ x ~ x!2 ~").speed(.8) .webdirt()`} /> + + +## Chords and Scales + + + diff --git a/talk/public/repl.png b/talk/public/repl.png new file mode 100644 index 0000000000000000000000000000000000000000..431febc6f709884a59bc9830ea37314e1caabc11 GIT binary patch literal 41041 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%0AEC#6!XVyk|i$~4!A7mP@@S%7I6*&yLFo5+g$I~ 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 LJePI`_wfG!O2_%{ literal 0 HcmV?d00001