News for hackers. Stuff that matters.
Re:Tidal Cycles – Live coding music with Algorithmic patterns by zimpenfish on Thursday August 03, 2023 @07:55AM (#36984547)
An easy way to experiment with this is via Strudel[1], a JS port that plays in-browser (annoyingly, works better with Chrome than Safari.)

[1] https://strudel.tidalcycles.org

Re:Tidal Cycles – Live coding music with Algorithmic patterns by chaosprint on Thursday August 03, 2023 @12:43PM (#36988258)
try https://glicol-tidal.netlify.app/

an alternative audio engine for Strudel with Glicol

Re:Tidal Cycles – Live coding music with Algorithmic patterns by zimpenfish on Thursday August 03, 2023 @01:20PM (#36988829)
Oh, neat, ta.
Re:Tidal Cycles – Live coding music with Algorithmic patterns by rprospero on Thursday August 03, 2023 @09:07AM (#36985374)
Met Alex and played with Tidal Cycles a few years back. It was an mind bending experience and I need to find more time to go back to tidal again.
Re:Tidal Cycles – Live coding music with Algorithmic patterns by FireInsight on Thursday August 03, 2023 @09:19AM (#36985500)
Re:Tidal Cycles – Live coding music with Algorithmic patterns by r9295 on Thursday August 03, 2023 @09:51AM (#36985915)
Re:Tidal Cycles – Live coding music with Algorithmic patterns by Hunpeter on Thursday August 03, 2023 @12:28PM (#36988058)
Also (kinda) similar: https://100r.co/site/orca.html
Re:Tidal Cycles – Live coding music with Algorithmic patterns by mxmilkiib on Tuesday August 08, 2023 @06:31PM (#37056365)
Got a few others also listed on https://wiki.thingsandstuff.org/Creative_coding
Re:Tidal Cycles – Live coding music with Algorithmic patterns by jarmitage on Thursday August 03, 2023 @09:22AM (#36985528)
I’ve been making pop music with Tidal for almost 10 years:

https://youtube.com/@LilData

https://instagram.com/lildata.music

Re:Tidal Cycles – Live coding music with Algorithmic patterns by bongobingo1 on Thursday August 03, 2023 @09:54AM (#36985964)
Do you have any opinions on Tidal vs supercollider on its own, or other systems like PD, max/msp?
Re:Tidal Cycles – Live coding music with Algorithmic patterns by nutate on Thursday August 03, 2023 @12:05PM (#36987735)
jarmitage is a legend (in my eyes), so I'm sure he has his own opinions, but TidalCycles (as it is now known) depends on supercollider for both Midi and Sample playback. It communicates to supercollider through the OSC protocol, so it's conceivable supercollider could/can be swapped out for another engine. As is I think the install a bunch of Haskell stuff + install an editor plugin + install supercollider is the largest blocker to getting folks started with tidal. In the pre-tidalcycles era, Tidal played samples (only afaicr) through its own Dirt sample player which was still a separate process, but included with tidal itself. Now it uses SuperDirt which depends on supercollider.

Compared to PD and max/msp, Tidal is far more focused on the pattern language and the magic that can come out of that. Any 'programming as programming' has to be done with Haskell and loaded in as its own functions. Puredata and max/msp both are full (graphical) programming environments with their own quirks and special tricks, but in a way a bit more like Supercollider in that they can speak midi and do playback inside their own engines (afaik).

Re:Tidal Cycles – Live coding music with Algorithmic patterns by jarmitage on Thursday August 03, 2023 @12:58PM (#36988478)
Personally I've never been attracted to writing SuperCollider code, especially not in a live context, largely due to its syntax, but also its complexity.

So-called 'visual programming languages' I don't find interesting for performance, since they rely on the mouse for program manipulation.

For me Tidal's mini-notation is the greatest music sequencing tool of all time, bar none. Every time someone shows me a sequencer I can usually write the Tidal code in my head on the spot, and save $1000s on redundant hardware. It could only be beaten by being turned into a physical instrument, something I've tried to do in the past: https://github.com/jarmitage/Stenophone.

That being said, even though I'm evidently a big Tidal fan I would still call attention to ICLC and HLCI, where amazingly creative and interesting new systems and approaches are being proposed every year:

https://iclc.toplap.org/

https://hybrid-livecode.pubpub.org/

Re:Tidal Cycles – Live coding music with Algorithmic patterns by yowlingcat on Thursday August 03, 2023 @12:52PM (#36988383)
I've followed your music (and PC Music) forever, and I love what you do with Tidal. AG Cook's work through PC Music and your own work has been a huge influence around where I've evolved my approach as a composer, so I want to say thank you for opening my eyes. I'll end this with a question -- what made you settle on Tidal vs other similar packages in different languages IE Sonic Pi (Ruby) and FoxDot (Python)? Is there something about Tidal/Haskell that fits your workflow or style better?
Re:Tidal Cycles – Live coding music with Algorithmic patterns by jarmitage on Thursday August 03, 2023 @01:55PM (#36989331)
Thanks, I never expected to hear anything like this when I started out, so it means a lot!

I started around 2014 or so, when there were fewer systems available. I saw Alex McLean perform with Tidal and that was enough for me, although I like to think I would have ended up using it anyway.

The main thing that initially grabbed me was the arbitrary subdivision of time in the mini-notation, something I’d spent countless hours doing painfully by hand in a DAW. I love the terse syntax and simple yet powerful philosophies underlying Tidal.

Re:Tidal Cycles – Live coding music with Algorithmic patterns by r9295 on Thursday August 03, 2023 @09:53AM (#36985949)
Tidal Cycles communicating with Ableton through MIDI makes for an extremely fun composition experience. The power of simple, declarative sequencing combined with predictive randomness has transformed how I write basslines and riffs
Re:Tidal Cycles – Live coding music with Algorithmic patterns by chaosprint on Thursday August 03, 2023 @01:22PM (#36988857)
Some readings:

[1] Dean, Roger T. The Oxford handbook of algorithmic music. Oxford University Press, 2018.

[2] Blackwell, Alan F., et al. Live coding: a user's manual. MIT Press, 2022.

[3] Kirkbride, Ryan Philip. Collaborative interfaces for ensemble live coding performance. Diss. University of Leeds, 2020.

[4] Roberts, Charlie, et al. "Rethinking networked collaboration in the live coding environment Gibber." (2022).

After experimenting with PD, Csound, SC, Tidal, and Glicol for several years, I am now working on a time-stretching/pitch-shift algorithm, together with some FM synthesis with LLM: https://github.com/chaosprint/glicol/discussions/139

What I want to say is that there are also many underlying algorithmic patterns in sound itself. In digital music, it's the sample-level pattern. It's fascinating to think about it, especially in the context of collaboration.

Re:Tidal Cycles – Live coding music with Algorithmic patterns by jarmitage on Thursday August 03, 2023 @02:01PM (#36989405)
Interestingly you can do audio rate patterning with Tidal, I’ve tried it up to around 10kHz!
Re:Tidal Cycles – Live coding music with Algorithmic patterns by ruuda on Thursday August 03, 2023 @02:18PM (#36989624)
I've been to some algoraves where people livecode this, it's amazing to experience live.
Re:Tidal Cycles – Live coding music with Algorithmic patterns by nologic01 on Thursday August 03, 2023 @04:11PM (#36991119)
quickscanning through docs i didn't see anything about using more conventional music notation (e.g abc) for the notes strings (as alternative to mini notation)
Re:Tidal Cycles – Live coding music with Algorithmic patterns by chaosprint on Thursday August 03, 2023 @04:35PM (#36991441)
Re:Tidal Cycles – Live coding music with Algorithmic patterns by nologic01 on Friday August 04, 2023 @01:54AM (#36995956)
Was thinking more melody lines, eg

note(`[ [ [e5 [b4 c5] d5 [c5 b4]] [a4 [a4 c5] e5 [d5 c5]] [b4 [~ c5] d5 e5] [c5 a4 a4 ~] [[~ d5] [~ f5] a5 [g5 f5]] [e5 [~ c5] e5 [d5 c5]] [b4 [b4 c5] d5 e5] [c5 a4 a4 ~] ],[ [[e2 e3]4] [[a2 a3]4] [[g#2 g#3]2 [e2 e3]2] [a2 a3 a2 a3 a2 a3 b1 c2] [[d2 d3]4] [[c2 c3]4] [[b1 b2]2 [e2 e3]2] [[a1 a2]*4] ] ]/16`)

Versus

<score lang="ABC"> X:1 T:The Legacy Jig M:6/8 L:1/8 R:jig K:G GFG BAB | gfg gab | GFG BAB | d2A AFD | GFG BAB | gfg gab | age edB |1 dBA AFD :|2 dBA ABd |: efe edB | dBA ABd | efe edB | gdB ABd | efe edB | d2d def | gfe edB |1 dBA ABd :|2 dBA AFD |] </score>

One could probably write a parser that would convert between these