The 50th Tidal Pattern

Today I produced the 50th pattern of my 365 Tidal Patterns project:

For those late to the show, since November 2013 I've been getting acquainted with a live-coding environment called Tidal - which is a Haskell-based DSL used to produce pattern-based sound/audio/noise/music.

My intention with this project was to create a pattern a day. If I were to play by my own rules, I should be on about #37 today, not #50. I plan to keep going for a full year, try to create a pattern each day, and at minimum produce 365 patterns.

I've gotten to know Tidal pretty well over the past 37 days. Making a Tidal pattern each day, and trying to do it well, has forced me to understand Tidal better though obvious means such as reading documentation, referring to examples, and asking questions. More surprisingly, I've come to understand Tidal better through creative forces.

Constraints Breed Creativity

Creating something every day with the same tool forces you to look at what you're doing in new ways. In my case, I want to create a unique sound that is different from the past 49, but I have to use the exact same toolbox as the day before.

Eventually you get to a point where you run out of toolbox features to exploit and you have to start looking at your creation process differently. Using what you already know, you take a different approach. If you're lucky, you'll learn something new about the tool in the process, and the creative cycle repeats itself.

After this 365 Tidal Patterns project is done, I look forward to a new thing-a-day project because I've been pleasantly surprised at what I've learned with Tidal. Some ideas for the future (not all original):

I've considered "do-a-thing-a-week" projects, like learn a new programming language, but personally I'm afraid that I wouldn't stay committed. A small thing a day is a good amount of scope. A bigger thing that takes multiple days... I can see myself putting it off and not getting it done.

What I've Learned About Tidal

I've learned that Tidal resonates with me because it is a very rhythmic sound-creation tool; I am a drummer and I also love dense drill-n-base electronic music. It is also great for producing noise. Tidal caters to my interests.

My favorite feature of Tidal is striate, which is used to chop up an audio sample into pieces and then play back those pieces (sometimes in order, sometimes in a different order). striate opens up all kinds of possibilities for time stretching, granulation, slicing, and transforming an innocent little wav file into a sonic monster.

Maybe the most powerful feature of Tidal is its ability to create sound in terms of expressions rather than explicit patterns, named samples, or notes. Arguably, this is also the best part about live-coding environments in general.

Take the inner-most part of the 50th pattern, for example:

sound ( pick <$> "uldrums*8" <*> density 3 (run 8))

This lets me specify just a small set (e.g. a directory) of samples and tell Tidal to play them all in a linear sequence of eight. Then I use density to speed up the rate at which it picks the next sample to play, without changing the rhythm of the original pattern. It allows me to automate creation of a pattern and not be verbose about it.

The Next 328 Days

My intention is to keep producing a pattern a day. I have a feeling that these first 37 days are going to feel easy compared to when I reach pattern #100!

← Home