Tidal Fights

Tidal is a scripting language (created by @yaxu) for livecoding music.

It’s most often used in tandem with the Supercollider based synthesizer SuperDirt, but can also be used to control external hardware and plugins via midi.

Installation guide and more details here (and here).

Rules of the game:

  • Choose your opponent. (eg. I call out @dan_derks)

  • If they agree, you’ll both engage in a 3 round turn based competition (posting 20-140 character tidal microscripts)

  • Battle ends within 36hrs.


  • final stage: participants post audio results based on the 6 scripts

  • code switch: if both artists agree, another scripting language can be the basis of the game


@glia, this is great.

challenge accepted! :rotating_light:

suggested caveat: fight lasts for 36 hours from first script posted. that way, there’s some buffer time for international bouts. also, not gonna be by my computer for a while.

let the games begin!

1 Like

[quote=“Dan_Derks, post:2, topic:5830”]
not gonna be by my computer for a while.
[/quote]same here

longer window is a great idea
the clock starts when 1st code string drops

1 Like

ok here we go

used two lines but it fits within 140
i’ll try to hashtag too under #tidalfights


realized it’d be pretty fun to build off each other’s. maybe we end up with a collaborative track or two out of this process, rather than 6 individual chunks!

toggle ‘d4 silence’ for performative element, unless there’s a way to build silences into a pattern?

1 Like

[quote=“Dan_Derks, post:5, topic:5830”]
toggle ‘d4 silence’ for performative element, unless there’s a way to build silences into a pattern?
[/quote]there’s a way, haven’t really tried conditionals for variation yet and might look it up now

btw collabs are fine

just to clarify, since i’m starting round 2, are yours and my 1st entry above to be evaluated at the same time?

1 Like

i wrote mine to be added to yours (using voices 3 and 4 to your 1 and 2), so that we ended up with five lines of code that can be played together. i consider it sparring: see what moves you make, make moves in response, for the exercise and to learn from your style. no winners, just personal evaluation and adaptation.

round 2 could feasibly continue to add to the piece, taking advantage of compositional cues for silence and solos, or it could start a whole new dialogue.

i await your move. :sunglasses:


ok nice

thanks for the explanation

One of the things I always loved about http://www.layertennis.com/ was the play-by-play. With every volley the “announcer” would explain what just happened, usually with some tongue-in-cheek silliness along the way.


i’ll comment on whats happening…but it’s unlikely to be witty :wink:

also this

thanks and welcome @yaxu!!


d6 $ sound " hh hh hh ~" # vowel “[e a ,i]”

this is a simple clave type thing which fits the 1st round when overlapped
also could be the catalyst for a new rtm

you choose


went with that as new start. add these to yours!

bps (65/120)

d5 $ chop 16 $ sound “[bass:02?, casio]” # crush “4” # gain “0.85” # room “1”


  • my first line dictates new tempo
  • the ‘chop’ function acts as a slight rhythmic granulator.
  • added a little bit crush and reverb. idk what it’ll be like on your machine, but the dry/wet was eventually modulating during my listens and it was wild. reverb is a global setting, it seems.
1 Like

[quote=“Dan_Derks, post:12, topic:5830”]
bps (65/120)

d5 $ chop 16 $ sound “[bass:02?, casio]” # crush “4” # gain “0.85” # room “1”

weirdest way i’ve ever collaborated or composed
and i love it

  • this adds two lines of drum textures which cat squeezes together

alone it sounds like this

your slower bpm, chop, and reverb spread things out nicely, theyre perfect companions for the rtm

1 Like

YEUP. same. this is great!

d2 $ striate 2 $ n “0? 2 3” # s “arpy” # pan “0.25 0.55 0.75?” # gain “0.85” # speed “-1.5 0.5 -2”

took your last one as a standalone, added the above to it.

  • ‘striate’ is rad. patterned granular slices. creates the effect of a reverb or delay, but can get real weird.
  • made some of the ‘arpy’ triggers and pan positions variable with the ‘?’ function.

when let to run, plays nicely with your rhythm, which has such a cool shuffle to begin with.

we’ve got three tracks! want to record the results to share?


[quote=“Dan_Derks, post:14, topic:5830”]
we’ve got three tracks! want to record the results to share?

i did some variations but will send those later


A couple of links to TidalCycles for anyone who was as confused as me about what the heck this is about:


ah thanks
my bad i’ll edit the OP to clarify

put together a (MacOS) Tidal/Ableton integration video for the curious:



Excellent work Dan…

1 Like

Anyone fancy a fight? I don’t know who to call out - anyone else successfully installed tidal, squeaked a few bleeps & lurking on the thread?