if it fits the Norns hardware format, of course I’m interested! Totally was a throwaway comment, but I’m happy it led you someplace interesting xD

2 Likes

Having live coding in a non-computer would be awesome @junklight

3 Likes

I can’t say whether or not I’d use such a thing to musical ends, but I’m definitely curious what a little stack based midi language in rust looks like, if you’re planning on sharing the implementation :slight_smile:

Nice coverage of the live coding community in Australia.

2 Likes

Hey All,
I’m just beginning my journey with live coding via Tidal Cycles. I’m pretty amazed with the power of it. It’s a lot to wrap my head around, which isn’t a problem in and of itself but will take some time.

I also just took at look at Gibberwocky, which looks insane in terms of its integration into MaxMSP (which I use a lot) and Live. I realize that I’m discovering a lot of these languages pretty late and that some of these threads were started years ago. I’m curious what the landscape looks like in 2020. Is there somewhere to get a birds eye overview of the plusses and minus to them, the state of their development (and if it’s been abandoned), etc? Or does anyone care to give me their quick assessment of the modern live-coding landscape?

I appreciate it thanks.

1 Like

Hey @Deru, I saw you over at the Tidal Club! This repo contains a ton of links to languages, documentaries, etc.: https://github.com/toplap/awesome-livecoding

The single best place to talk is https://chat.toplap.org/home There are a lot of active channels there (especially Tidal and Supercollider).

Gibberwocky is awesome. @charlieroberts is the creator, and a member here. Another really popular and active language is ORCA by @neauoire. It has two huge threads here (one for the web/desktop/terminal versions, the other for norns).

7 Likes

Hey @trickyflemming! Nice to see you here, and thanks for this.
Orca has definitely been on my radar.

I’ve checked out that GitHub list as well. It’s a bit overwhelming and hard to tell the pros and cons to them there though (it’s also hard to tell how active and up to date the development of the languages are).

I guess I’m not really sure what I’m asking for, but I’m curious to get people’s opinions about their strengths and weaknesses. My knowledge is currently so shallow. All I’ve got is:

Tidal is proving really powerful for generating interesting rhythms that would otherwise be hard to produce. Getting a full grasp on it is going to take a lot of time.

Gibberwocky appears pretty quick to use and learn and its integration looks like a big advantage. I haven’t spent any time with it yet to know more though.

Anyway, I guess at this point I’m just talking out loud but I’d be glad if anyone wants to indulge this overview.

Ben

2 Likes

Here’s a quick attempt to group live coding systems by popularity / usage in the live coding / algorave community (apologies if I offend anyone, this is super informal, quick & coarse guesstimate):

First Tier
TidalCycles, Orca, Sonic Pi, Hydra, SuperCollider
Second Tier
Gibber/Gibberwocky, FoxDot, Extempore, Estuary, KodeLife, ChucK, Cyril, Fluxus, Veda, ixi lang
Third Tier
so many great systems! clive, live csound, praxis live, la habra, the list goes on forever.

A lot of it depends on what you’re trying to do. I have my biases, but it’s objectively true that gibberwocky enables live coding practices in Max that would be impossible to achieve in any other existing systems (live coding gen~ expressions, for example). TidalCycles is incredibly powerful/fun, has an amazing community and is actively maintained… by more than one person (the downfall of many live coding systems). Sonic Pi has the widest adoption in education, but is also used by many experienced live coding performers. Hydra is soooooo fun sooooo fast. FoxDot has great collaborative performance affordances and lets you use Python to control SuperCollider. Orca gives a completely different live coding experience that has attracted lots of people in the llllllll community.

11 Likes

Incredibly helpful to get your opinions of the overview, thank you @charlieroberts

1 Like

Hello all, I am commited to use a livecoding language with MAX/MSP. I want to choose a livecoding language that is the most versatile, has the largest base, and is the most rebust. Below are some languages, but I dont know what seems to be the best. I am drawn to ORCΛ, but it seems to be a bit like white whale. But what is the most robust? What can I compose ambient soundtracks on when mixing with MAX/MSP?

SuperCollider platform for audio synthesis and algorithmic composition Smalltalk-like (SClang)
Sonic Pi complete open source programming environment originally designed to explore and teach programming concepts Ruby
Overtone open source audio environment designed to explore new musical ideas from synthesis and sampling to instrument building, live-coding and collaborative jamming Clojure
TidalCycles language for live coding of pattern Haskell
Alda music programming language for musicians Alda/Clojure
Gibber live coding environment for the web browser Javascript
Extempore cyber-physical programming environment Scheme-like
FoxDot pre-processed Python programming environment that provides a fast and user-friendly abstraction to SuperCollider Python
ORCΛ esoteric programming language designed to quickly create procedural sequencers JavaScript
Punkt live coding music library/environment for Kotlin, for software developers who want to dive into live coding music Kotlin
3 Likes

I don’t know how well would TidalCycles play with Max/MSP (it uses SuperCollider as backend) but I had very good experience while using it to livecode music on the fly both at my home and during gigs. As you already mentioned it is mostly pattern oriented but you can also do ambient with it. And community was very responsive when asking various questions.
ORCA is also really nice (and has active community here at lines) albeit you need to pair with something which will generate sound (there are few things which work out of the box like https://github.com/hundredrabbits/Pilot) or you could probably just send OSC messages straight to Max

1 Like

perhaps you can elaborate on what you want to do with max/msp and how it integrates (or not) with the livecoding experience?

3 Likes

@karol thanks for this… I did not know about pilot, will start to play with this today :slight_smile:

@tehn Thanks for this question. I am interested in generating 3 objectives.

  1. I score documentaries as my job, so I would like to be able to program soundscapes that are flexible and allow me to score music in the moment to what I see on screen. I am thinking minimalist symphonies/ambient soundscapes
  2. I would like to bring this functionality into MAX/MSP which plays nice with Monome gear and allows me to create my own instruments.
  3. I also need a coding language where I can play with what some audio-visualities. When you use BANG function to trigger video or animation (or modify them with sound rules). MAX/MSP/JITTER allows for this so something that allows me to lean into this in a cool way would be great.

Thanks all!

1 Like

For audio-visual live coding I would recommend looking into hydra for visuals and web synth technology for audio. This will be a web based system written in JavaScript.

Here’s an example:

3 Likes

Here’s a wonderful ambient performance using gibberwocky to control Max by @_mark (gibberwocky is kinda gibber, but integrates with either Live or Max/MSP/Jitter):

It is certainly not the most stable / widely used option out there, but it does nicely integrate with Max. Let me know if you have questions about it.

6 Likes

Max is itself a live coding language. I haven’t used it myself, but judging by the results, it can be really nice for interactive algorithmic composition.

2 Likes

What do you like to do most with MaxMSP, sequencing or synthesis?

Timo Hoogland has created a live-coding environment right there within Max/MSP, it’s called mercury:


i’ve used the one called ‘commandline.livecoding’ (there’s also a newer ‘texteditor.livecoding’ i haven’t tried yet) and found it very easy to start with, (plus add my own language/opcodes to extend to music and beyond), they’re available here for free:

here’s more of a description on the entire project.

I enjoy the synthesis. I also use Monome kit, so it is nice to have that interface.

The idea is to have a live-coding interface for procedural and general composition, and the monome kit as a fine paintbrush.

1 Like

I was doing something else (read: I was supposed to be doing something else, not procrastinating with synths), and had norns running Blippoo in the background, with NTS-1 providing reverb plus an arp sequence. The arp got distractingly boring after a while, so I live-coded a teeny tiny movement for it.

Norns allows programming on the REPL while scripts are running. I wrote the following:

arp = midi.connect()
arp_note = 40
arp_move = function() new_arp = arp_note + math.floor(math.random() * 10); print(new_arp); arp:note_on(new_arp) end
m = metro.init(arp_move, 10)
m:start()

Simple, but that’s a whole afternoon’s worth of generated music right there.

This shifts the arp sequence randomly between MIDI notes 40 and 50 every 10 seconds while I try to get to do that thing that I was actually doing, which wasn’t norns programming, nor posting to llllllllines :wink:

This is, literally, house music, right?

4 Likes