
TidalCycles – A language for the Live Coding pattern - bojo
https://tidalcycles.org
======
eggy
Tidal (they added cycles when the Tidal music service came afterwards) is
great fun. I was hoping to get Hylogen working with it.

Hylogen is an EDSL for livecoding shaders in Haskell [1]

My weapon of choice is Extempore by Andrew Sorensen [1]. Dual languages in one
system available for blistering speed in livecoded graphics and sound/music.

    
    
      [1] https://github.com/sleexyz/hylogen
    
      [2] http://extempore.moso.com.au/

~~~
visarga
Andrew Sorensen's demo makes me wonder if classical music could be
"decompiled" as a series of recursive functions, giving us a clear conceptual
explanation of what is happening. Then, we could reverse the process to
generate similar music, or explore variations.

~~~
ClashTheBunny
There are very few classical pieces written devoid of a narrative.

------
kindohm
I produced this album with TidalCycles:
[http://shop.conditional.club/album/risc-
chip](http://shop.conditional.club/album/risc-chip). Controlled samples and
hardware synths (via tidal-midi) from code.

------
jarmitage
I have been using Tidal for my live show (and more recently composition) for a
few years and have played at some pretty big clubs in LDN, LA, etc. It's been
a revelation and I will not be going back to DJing or 'controllers' any time
soon.

If anyone is in London I will be giving a talk about using Tidal soon at this
free event: [http://www.musichackspace.org/events/music-hackspace-
present...](http://www.musichackspace.org/events/music-hackspace-presents-
first-london-tidalcycles-meetup/)

~~~
bphogan
I'm interested in how you're using it for composition. There are some things I
feel I'm missing. I'm not so much interested in creating noise with it; that's
never been my thing. But I'd love to see some examples of how you're using it
for composing, if you could share.

~~~
jarmitage
Feel free to email me jarm at jarm dot is

I will hopefully find time to write something public at some point!

------
tudorw
If you get to see someone perform live coded music as I did at EMF 2014 (Yaxu
(Alex McLean) it's a blast, watch in real time as the code is edited, glitches
out then drops back in, if the coding is projected you can predict where the
music is going :) I could not find the EMF show I saw, but this gives a feel
[https://www.youtube.com/watch?v=3HXcb5_RuNg](https://www.youtube.com/watch?v=3HXcb5_RuNg)

------
bamdadd
Check this out if you are if you are interested in live coding, its a great
abstraction for live coding for overtone :
[https://github.com/ctford/leipzig](https://github.com/ctford/leipzig)
[http://ctford.github.io/klangmeister/composition](http://ctford.github.io/klangmeister/composition)

------
andybak
Did the title get modded to remove the reference to music? It's a terribly
unclear title as it stands.

~~~
kindohm
No, I think it has always been "a language for live-coding pattern". I might
agree that it is a bit unclear. Music is the the most common use case, but it
can do a lot more:
[https://www.youtube.com/watch?v=TMrv_wEFdqE](https://www.youtube.com/watch?v=TMrv_wEFdqE)

------
dates
Tidal has a MIDI add on which makes playing with MIDI instruments quite fun! I
get patterns of notes playing and then fiddle on the knobs of the synths. So
much fun :-)

------
mezod
I'll just leave this here... :p

Sonic Pi: [http://sonic-pi.net/](http://sonic-pi.net/) On GH:
[https://github.com/samaaron/sonic-pi](https://github.com/samaaron/sonic-pi)
Aerodaynamic:
[https://www.youtube.com/watch?v=cydH_JAgSfg](https://www.youtube.com/watch?v=cydH_JAgSfg)

~~~
petra
For beginners(assuming some programming knwoldge), what is the easiest way to
improvise electronic music: live-coding ? or or a keyboard based software
studio application, like fruity loops ? or are there any others ?

~~~
kindohm
I don't think there's a right answer, but I think it might come down to
budget. If you want to pay $1000 for an off-the-shelf drum machine, sequencer,
or synth, modern musical hardware is pretty easy to use and you can go far.
However, live-coding software is free software and open source. As for ease-
of-use, I think it really depends on the person. If you have some programming
experience, then a live-coding musical environment might be fairly easy. It's
a different set of challenges.

------
beaconstudios
this reminds me of Bret Victor's talk, "stop drawing dead fish", which takes a
similar concept of live-performance programming and applies it to the world of
animated storytelling:

[https://vimeo.com/64895205](https://vimeo.com/64895205)

------
Dangeranger
This seems interesting. I'd like to know if people have used Overtone [0] in
Clojure for this and how it worked out.

[http://overtone.github.io/](http://overtone.github.io/)

------
shae
My favorite use of TidalCycles is in the Canute performances:
[http://canute.lurk.org/](http://canute.lurk.org/)

------
yaxu
You can find out more about live coding in the performing arts here
[http://toplap.org](http://toplap.org)

------
filleokus
Related question: Are there any nice videos demoing this kind of music
artistry in a different genre? I'm thinking of stuff like
[https://www.youtube.com/watch?v=yY1FSsUV-8c](https://www.youtube.com/watch?v=yY1FSsUV-8c)
or maybe something with vocal sampling?

------
empath75
I know this sort of goes against the live coding thing, it is it possible to
do a hybrid sort of thing where you use frp to manage inputs from sequencers?

------
slackstation
Making anything related to music and naming it Tidal (a multi-million dollar
music company) is a recipe for a bad time.

~~~
kindohm
It was named long before the music service came out.

------
vittore
This is beautiful and I think haveing tool like that can improve generated
music for lounges and also games.

------
EGreg
You need a visual interface with knobs. Not text. This guy needs to see more
Bret Victor!

[https://vimeo.com/36579366](https://vimeo.com/36579366)

~~~
yaxu
Text is a visual interface, if you look really closely you can see each letter
is actually a little picture.

~~~
EGreg
Umm

Can you use text to move a slider?

~~~
yaxu
(FWIW I have watched and enjoyed all Bret Victor's videos, and am looking
forward to his big reveal. I've also experimented with visual front-ends to
tidalcycles, so agree with you to some extent.. But text is really good for
describing pattern.)

------
krautsourced
Slightly unfortunate naming choice maybe, considering the Tidal music
streaming service?

~~~
midgetjones
This Tidal was around first. The more well known Tidal is what got the
'Cycles' part added to the name I think.

------
goldenkey
Another one? So how is this one different than all the languages that do this
(like Chuck or Overtone) AND the libs for C++/all other languages that
generate audio as well? The original THX sound was generated in C.

I would be inclined to use a language that had more signal processing built
in, ie Mathematica:

[https://reference.wolfram.com/language/guide/SoundAndSonific...](https://reference.wolfram.com/language/guide/SoundAndSonification.html)

[https://reference.wolfram.com/language/guide/SignalProcessin...](https://reference.wolfram.com/language/guide/SignalProcessing.html)

~~~
sandbags
If i understand what they are doing then it's not really equivalent as this
seems to be a DSL for transforming textual patterns into music, rather than a
general purpose music language. While you can dive under the covers it's not
required. Getting to this point in Overtone would be some work, so here you
can just get started playing with it. Chuck i have less experience with enough
to think the same thing applies.

The pedant in me already observes that any programming language is "a DSL for
transforming textual patterns into..." but i hope my sense in representing the
difference is clear enough.

~~~
yaxu
Yes it's for exploring patterns. It's not unique in this (cf supercollider
patterns, foxdot, isobar, gibber patterns, ixilang etc) but is fairly unique
in its purist focus on pattern.

~~~
fragmede
This gibber? [http://gibber.mat.ucsb.edu](http://gibber.mat.ucsb.edu)

(I have yet to run into anyone else that's heard of the thing I linked, and I
think it's really awesome.)

~~~
yaxu
Yes! Gibber is indeed ace.

