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"