Blog 7

For my final official week studying Tidal, I’ll be looking at a few more functions  and seeing what I can put together using what I’ve learned. My concern at the moment is trying to make my loops less, well, loopy.

First off, degrade is a function which I find really interesting. It randomly removes events from a pattern about 50% of the time which has the effect of making the music less samey. I found it worked really well applied to the melody in last weeks live-code example.

Degrade can be used on individual elements of a pattern rather than the entire pattern by adding a ? after each element that you want to have the potential to degrade.

Pick is a function which takes a pattern of sounds and a pattern of folder indexes and on each cycle chooses a number from the list of indexes and plays each sound in the pattern using the assigned index.

e.g. d1 $ sound (pick <$> “bd sn can*3 cp” <*> slow 2 “0 1 2 3 4”) will pick a number (n) between 0 and 4, then proceed to play “bd:n sn:n can:n*3 cp:n”. This process is repeated on each cycle.

within can be used to apply a function to only part of a pattern and takes in a start point an an end point as a decimal. For example, feeding in 0.75 and 1 will lead the effect to be applied to the last 25% of the pattern.

Using these new features and some of the ones I’ve learnt along the way through practice and experimentation, I’ve come up with this.

d1 $ density 1.5 $ stack [
append'(every 4 (|*|up “2”) $ sound $ slow 2 $ (fit 3 [“arpy”, “arpy:5”, “arpy:3”, “arpy:1”, “casio”] “0 [~ 1] 2 1”))
(every 2 rev $ sound $ (fit 3 [“arpy:1”, “arpy:4”, “arpy:6”, “arpy:3”, “arpy:2”] “0 [~ 1] 2? 1”))|+|shape “1” |+|gain “0.5”,
sound (brak $ (pick <$> “[jvbass [jvbass jvbass]] jvbass” <*> “0 1 3”)),
sound (brak “[sn[sn sn]] sn”) |+|gain “0.75”,
every 4 rev $ within (0, 0.5) (|+|shape “1”) $ sound (pick <$> “bd sn can*3 sn” <*> slow 2 “0 1 2 3 4”) |+|vowel “a” |+|gain “0.75”,
degrade $ sound “[casio casio:1] casio:3?” |+|gain “0.75”

It ended up being a nice sounding little track and I feel like I now know enough of the features of Tidal to go forth and try to make game music. I need a little more practice so I can improve my update speed, as I’m still relatively slow with some of the newer or more structurally complex features and the code I put together for game music will only be a skeleton of what it’ll hopefully become in the performance.