diff --git a/website/src/pages/recipes/arpeggios.mdx b/website/src/pages/recipes/arpeggios.mdx new file mode 100644 index 00000000..06659ff3 --- /dev/null +++ b/website/src/pages/recipes/arpeggios.mdx @@ -0,0 +1,69 @@ +--- +title: Build Arpeggios +layout: ../../layouts/MainLayout.astro +--- + +import { MiniRepl } from '../../docs/MiniRepl'; +import { JsDoc } from '../../docs/JsDoc'; + +Note: This has been (partly) translated from https://tidalcycles.org/docs/patternlib/howtos/buildarpeggios + +# Build Arpeggios + +This page will teach you how to get started writing arpeggios using different techniques. It is a good way to learn Strudel in a more intuitive way. + +## Arpeggios from notes + +Start with a simple sequence of notes: + + + +Now, let's play one per cycle: + +").piano().slow(2)`} client:idle /> + +On top of that, put a copy of the sequence, offset in time and pitch: + +".off(1/8, add(7)) + .note().piano().slow(2)`} + client:idle +/> + +Add some structure to the original sequence: + +" + .off(1/8, add(7)) + .note().piano().slow(2)`} + client:idle +/> + +Reverse in one speaker: + +" + .off(1/8, add(7)) + .note().piano() + .jux(rev).slow(2)`} + client:idle +/> + +Let's add another layer: + +" + .off(1/8, add(7)) + .off(1/8, add(12)) + .note().piano() + .jux(rev).slow(2)`} + client:idle +/> + +- added slow(2) to approximate tidals cps +- n was replaced with note, because using n does not work as note for samples +- legato 2 was removed because it does not work in combination with rev (bug) + +## Arpeggios from chords + +TODO \ No newline at end of file diff --git a/website/src/pages/recipes/rhythms.mdx b/website/src/pages/recipes/rhythms.mdx new file mode 100644 index 00000000..08aef82a --- /dev/null +++ b/website/src/pages/recipes/rhythms.mdx @@ -0,0 +1,88 @@ +--- +title: Build Rhythms +layout: ../../layouts/MainLayout.astro +--- + +import { MiniRepl } from '../../docs/MiniRepl'; +import { JsDoc } from '../../docs/JsDoc'; +import { samples } from '@strudel.cycles/webaudio'; + +Note: + +- this has been (partly) translated from https://tidalcycles.org/docs/patternlib/howtos/buildrhythms +- this only sounds good with `samples('github:tidalcycles/Dirt-Samples/master')` in prebake + +# Build Rhythms + +This page will teach you how to get started writing rhythms using different techniques. It is a good way to learn Strudel in a more intuitive way. + +## From a simple to a complex rhythm + +Simple bass drum - snare: + + + +Let's pick a different snare sample: + + + +Now, we are going to change the rhythm: + + + +And add some toms: + + + +Start to transform, shift a quarter cycle every other cycle: + + + +Pattern the shift amount: + +")).slow(2)`} +/> + +Add some patterned effects: + +")) +.shape("<0 .5 .3>") +.room(saw.range(0,.2).slow(4)) +.slow(2)`} +/> + +More transformation: + +")) +.shape("<0 .5 .3>") +.room(saw.range(0,.2).slow(4)) +.jux(id, rev, x=>x.speed(2)) +.slow(2)`} +/> + +## Another rhythmic construction + +Let's start with a sequence: + + + +We add a bit of flavour: + + [2 0] [2 3]").s("feel").speed(1.5).slow(2)`} /> + +Swap the samples round every other cycle: + +TODO: implement `rot`