The basic format for making sound in Tidal looks like this
d1 $ sound "drum"
You can stop making a sound using
d1 $ silence
Pick a different sound from the same set, with `:`
d1 $ sound "drum:1"
Some of the samples which come with Tidal are listed below. Try some out!
flick sid can metal future gabba sn mouth co gretsch mt arp h cp cr newnotes bass hc tabla bass0 hh bass1 bass2 oc bass3 ho odx diphone2 house off ht tink perc bd industrial pluck trump printshort jazz voodoo birds3 procshort blip drum jvbass psr wobble drumtraks koy rave bottle kurt latibro rm sax lighter lt arpy feel less stab ul
You can see what other sounds there are (or add your own) by looking in the Dirt-Samples folder. You can find it via the SuperCollider menu: 'File > Open user support directory > downloaded-quarks > Dirt-Samples'.
Make a sequence
d1 $ sound "bd hh sn hh"
The more steps in the sequence, the faster it goes:
d1 $ sound "bd bd hh bd sn bd hh bd"
This is because of the way Tidal handles time. There is a universal ‘cycle’ (sort of like a musical 'bar') which is always running. Tidal will play all of the sounds between the speech marks in one cycle, unless we tell it not to (we’ll learn how to do that later). You’ll also notice Tidal will space the sounds out evenly within the cycle Which means we can end up with polyrhythmic structures (more on those later).
We can change the length of the cycle using `cps` (cycles per second) - this is a bit like bpm (beats per minute).
You can use d1, d2, d3...d9 to play multiple sequences at the same time
d2 $ sound "sn sn:2 sn bd sn"
You can stop all the running patterns with
You can pause everything by changing the cycle length to a negative number (remember to put negative numbers in brackets).
Start it up again with a positive number
Or you can `solo` one channel - but be warned, you can’t 'unsolo' (...but this is coming to the next version of tidal!)
d1 $ sound "arpy cp arpy:2" d2 $ sound "sn sn:2 bd sn" solo $ d2 $ sound "sn sn:2 bd sn"
Let add some more variety to our sequences.
Add a silence/rest with
d1 $ sound "bd ~ sn:3 bd sn:5 ~ bd:2 sn:2"
Fit a subsequence into a step with square brackets:
d1 $ sound "bd [bd cp] bd bd" <syntaxhighlight> This can make for flexible time signatures: <syntaxhighlight lang="Haskell"> d1 $ sound "[bd bd sn:5] [bd sn:3]"
You can put subsequences inside subsequences:
d1 $ sound "[[bd bd] bd sn:5] [bd sn:3]"
d1 $ sound "[[bd [bd bd bd bd]] bd sn:5] [bd sn:3]"
You can repeat a step with
d1 $ sound "bd sd*2"
This works with subsequences too:
d1 $ sound "bd [sd cp]*2"
Or you can do the opposite using
d1 $ sound "bd sn/2"
d1 $ sound "bd [sn cp]/2"
* works by 'speeding up' a step to play it multiple times.
by 'slowing it down'.
We can also schedule patterns across cycles using
d1 $ sound "bd <sd cp arpy>"
d1 $ sound "<bd sn> <sd [cp cp]> <bd [cp cp]>"
Tidal has lots of effects we can use to change the way things sound.
vowel is a filter which adds a vowel sound -- try a, e, i, o and u
d1 $ sound "drum drum drum drum" # vowel "a"
We create patterns of effects in much the same way we create patterns of sounds. We call these effect and sound patterns 'control patterns'. So
d1 $ sound "drum drum drum drum" # vowel "a o e e"
Remember that we can use "<>" to schedule across cycles
d1 $ sound "drum drum drum drum" # vowel "<a o e e>"
You can add a non-vowel letter to pause the vowel effect
d1 $ sound "drum drum drum drum" # vowel "a o p p"
Tidal does its best to map patterns across to one another
d1 $ sound "drum drum drum drum" # vowel "a o e"
The structure comes from the left - try swapping the parameters
d1 $ vowel "a o ~ i" # sound "drum"
Health warning - This is one of the changes coming up in the new Tidal - you will be able to control which side the structure comes from. . Or combine structure from both sides.
gain changes the volume of different sounds
d1 $ sound "bd hh sn:1 hh sn:1 hh" # gain "1 0.7 0.5"
note are used for pitching samples.
speed affects the speed of playback, e.g. 2 = up an octave
d1 $ sound "numbers:1 numbers:2 numbers:3 numbers:4" # speed "1 1.5 2 0.5"
Or we can take the pattern from the
d1 $ speed "1 2 4" # sound "jungbass:6"
note pitches the sample up in semitones, e.g. 12 = up an octave
d1 $ up "0 ~ 12 24" # sound "jungbass:6"
Pan allows us to create stereo effects - 0 = left, 0.5 = middle, 1 = right
d1 $ sound "numbers:1 numbers:2 numbers:3 numbers:4" # pan "0 0.5 1"
shape adds distortion (but be careful - it also makes the sound much louder)
d1 $ sound "kurt:4 kurt:4" # shape "0 0.78" # gain "0.7"
feeling brave ?
Try more effects: http://tidalcycles.org/patterns.html#effects
syntaxhighlight lang="Haskell" inline>cutoff</syntaxhighlight> /
sine is a continuous pattern following a sine curve from 0 to 1 and back
d1 $ sound "bd*32" # gain sine
You can also try