Deep Algebra for Deep Beats

ArsTechnica has a great article this weekend on various people who use live coding to make live music.  You can read the article here. I thought it would be fun to turn people on to it, and to talk a little bit about the live coding music movement.

I have to be honest, when you think about live music, watching someone on stage live programming it is not the first thing that comes to mind.  At least for most people.  For the people directly in the movement, it’s just how they approach it.

The live coding music movement has been around in some form for a long time.  In the beginning, it was really only associated with what I will call stereotypical academic computer music.  But over the years, it has really expanded, and now a wide variety of different people in vastly different musical generes are experimenting and embracing it.

The article points out a number of different software packages that different people use.  I love how Carl Stone is shown touring with an old Mac SE.  Which he did so that he could continue to run old music software like Music Mouse, Jam Factory and Upbeat.

These days Carl uses Max, which is a great environment for building custom synths, custom audio processing,  etc.  Again, Max started out in the academic computer music scene. Originally developed by Miller Puckette at IRCAM in 1985, it was later picked up and commercialized by David Zicarelli at Opcode in 1990. After OpCode crashed and burned, David started Cycling74 to further develop it as a commercial product.

Miller Puckette went on to create the Pure Data (Pd) open source tool.  This is another very popular live coding and prototyping environment for music synthesis and audio processing work.

Cycling74 is a great example of a small successful company built on what would seem to many as a very esoteric piece of software that would appear to have limited appeal.  OpCode was considering canceling it as a product before David acquired the rights from them, and a venture capital business person would have looked at that and said this idea is not worth pursuing.  

But Cycling74 is a great example of how to take a great tech idea, build and grow a company around it, and eventually get acquired into something much bigger.  It turns out Ableton (developer of the very popular Ableton Live DAW software application) was originally prototyped in Max, before being rewritten using more conventional programming techniques into the vastly successful commercial music product it is today.  Cycling74 was purchased by Abelton in 2017, and is now a direct part of their company.

Another group of musicians featured in the article use an open source software package called SuperCollider.  

Fun fact, my old digital audio company OSC had worked a deal with SuperCollider developer James McCartney to tun it into a commercial product for OSC.  But that was right before MacroMedia acquired OSC, and MacroMedia had no interest in SuperCollider at all, so it ended up as an open source project instead.

Another musician profiled in the article uses a software package called REAPER.  It includes a plug-in sdk called JSFX.  I have not personally used REAPER or JSFX, but i did want to point them out as another option to explore.

Another option for people interesting in programming their own audio widgets is the Juce.  Juce was developed by Julian Storer to create the Tracktion DAW package.  He then released it to the public as a dual PGL/commercial license sdk, so that other developers could use it.  Juce was acquired by ROLI in 2020.  It was later sold to PACE this year.

Juce is a very interesting C++ sdk and development environment.  You can use it to build all kinds of different software, but it has extensive audio feature already built into it.  Here's some more info on Juce.

If you are interested in developing a commercial audio software product in C++, i would highly recommend checking out Juce.

I also had not heard of TidalCycles, but it sounds interesting.  It doesn't make sound itself.  It allows you to make patterns with code.  It's embedded in Haskell, but you don't have to learn Haskell to use it.  You can use Open Sound Control or Midid output from TidalCycles to hook up to synths to make sound, or to connect to other software like SuperCollider.

If you would like to learn more about live coding for making music (or live visuals), there is a special organization called TOPLAP you can check out for more info.  There is also a directory of live coding environments at All Things Live Coding.

When i was checking out the TOPLAP site, i saw a mention of an old friend of mine, Nick Collins.  Nick used to play gigs at a performance space in San Francisco right around the corner from the old Synthetik loft in SOMA when i lived there in the 90's.  I was blown away the first time i saw him play his modified trombone.


Popular posts from this blog

Pix2Pix: a GAN architecture for image to image transformation

CycleGAN: a GAN architecture for learning unpaired image to image transformations

Smart Fabrics