Manipulating samples
So far we've just used short samples. Longer samples can cause us some problems if we’re not careful. Let’s see what happens with a long sample
d1 $ sound "bev"
-- wait a bit, then..
hush
As you can hear, Tidal will keep triggering the sample each cycle, even if it’s very long. Even if you stop the pattern playing, you will still need to listen while the samples play out.
You can use cut
to truncate the sample when the next one is triggered
d1 $ sound "bev" # cut 1
The number in ‘cut’ define a group, so you can play with interference across different patterns
d1 $ sound "bev ~" # cut 1
d2 $ slow 4 $ sound "pebbles ~" # cut 1
legato
also truncates samples, but using a fixed length
d1 $ sound "bev ~ bev ~" # legato 1
We can also chop
samples for a ‘granular synthesis' effect
d1 $ chop 32 $ sound "bev"
striate
is similar to chop
but organises the playback in a different way
d1 $ slow 4 $ chop 4 $ sound "arpy:1 arpy:2 arpy:3 arpy:4"
d1 $ slow 4 $ striate 4 $ sound "arpy:1 arpy:2 arpy:3 arpy:4"
randslice
chops the sample into pieces and then plays back a random one each cycle
d1 $ randslice 32 $ sound "bev"
We can also use loopAt
to fit samples to a set number of cycles:
d1 $ loopAt 8 $ sound "bev"
As always we can add patterns and transformations to these functions, or combine them for interesting effects
d1 $ loopAt "<8 4 16>" $ chop 64 $ sound "bev*4" # cut 1
d1 $ rev $ loopAt 8 $ chop 128 $ sound "bev"