1--- 2title: Build Arpeggios 3layout: ../../layouts/MainLayout.astro 4--- 5 6import { MiniRepl } from '../../docs/MiniRepl'; 7import { JsDoc } from '../../docs/JsDoc'; 8 9Note: This has been (partly) translated from https://tidalcycles.org/docs/patternlib/howtos/buildarpeggios 10 11# Build Arpeggios 12 13This 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. 14 15## Arpeggios from notes 16 17Start with a simple sequence of notes: 18 19<MiniRepl tune={`note("c a f e").piano().slow(2)`} client:idle /> 20 21Now, let's play one per cycle: 22 23<MiniRepl tune={`note("<c a f e>").piano().slow(2)`} client:idle /> 24 25On top of that, put a copy of the sequence, offset in time and pitch: 26 27<MiniRepl 28 tune={`"<c a f e>".off(1/8, add(7)) 29 .note().piano().slow(2)`} 30 client:idle 31/> 32 33Add some structure to the original sequence: 34 35<MiniRepl 36 tune={`"<c*2 a(3,8) f(3,8,2) e*2>" 37 .off(1/8, add(7)) 38 .note().piano().slow(2)`} 39 client:idle 40/> 41 42Reverse in one speaker: 43 44<MiniRepl 45 tune={`"<c*2 a(3,8) f(3,8,2) e*2>" 46 .off(1/8, add(7)) 47 .note().piano() 48 .jux(rev).slow(2)`} 49 client:idle 50/> 51 52Let's add another layer: 53 54<MiniRepl 55 tune={`"<c*2 a(3,8) f(3,8,2) e*2>" 56 .off(1/8, add(7)) 57 .off(1/8, add(12)) 58 .note().piano() 59 .jux(rev).slow(2)`} 60 client:idle 61/> 62 63- added slow(2) to approximate tidals cps 64- n was replaced with note, because using n does not work as note for samples 65- legato 2 was removed because it does not work in combination with rev (bug) 66 67## Arpeggios from chords 68 69TODO