When was TidalCycles born?

I didn’t set out to make Tidal, it emerged over an extended period of time, through my creative practice. Still, it would be nice if we could celebrate its birthday, even though it didn’t have one.

There’s some history here, “It started around 2006, with a DSL to explore pattern rotation”. Screencasting wasn’t much of a thing back then, but I did upload a video of this, 30 Jul 2006:

Pattern rotation still exists in tidal as the <~ and ~> operators, known as early and late in Strudel (now backported to tidal as aliases). They are super fun to play with,, although I don’t know how often people use them with fractions? Due to the frequent use of $ rather than parenthesis in Tidal, it’s actually quite fiddly to use operators like <~ and ~>. Anyway I digress..

I uploaded a second ‘haskell music’ video 23 November 2006, showing something that looks a lot like the mininotation, heavily inspired by Bernard Bel’s polymetric syntax in the Bol Processor:

So uploading that video is another contender for a birthday.

This would be a couple of years after the founding of TOPLAP in 2004 (I’d been live coding in a Perl-based system I made called feedback.pl since), and six years before the first ‘Algorave’ in 2012.

It seems I didn’t do much more work on Haskell stuff for a couple of years. But by May 2009 you can see that pattern rotation and mini-notation had been integrated, with different effects being patterned separately. The timing sounds a lot better too.

By September 2009 you can see some videos popping up looking more like Tidal, with it growing into a combinator library of pattern manipulations, plus mininotation.

and then this strange visual interface popped up in November 2010, giving us a kind of counterfactual of what Tidal could have become (and hopefully still might do someday!):

I’m not sure when exactly Tidal switched to rational time, and from data structure to functions of time. These features I think have become pretty central to what we now know as Uzu languages. I should have a look at what source code (svn and darcs) archives I can pull together from before I started using git.. That could help us find the earliest line of code that still exists now.. Although I have quite a lot of total rewrites over the years, maybe something has survived through copy and pasting.

One more video, this one from 4th April 2011. I think there’s no argument that this is definitely tidal by this point!

I think though there is no single point where Tidal began existing as the first uzulang, it happened nonlinearly, backwards and forwards over many years, inspired by other pre-existing systems. So maybe we can just pick that 30 July 2006 video upload as some kind of starting point? Or maybe it should be when the second person started using it, which was many years later.. Although I’d have uploaded the code online, this was just my personal live coding system for a long while (I think most live coders just had their own at the time)..

Ideas welcome!

Leave a Reply

Your email address will not be published. Required fields are marked *