
Australians making music with computer code - angrygoat
https://www.abc.net.au/news/2019-07-21/live-coding-australia-music-computer-code/11301114
======
jarmitage
Andrew Sorensen is the creator of Extempore:
[https://github.com/digego/extempore](https://github.com/digego/extempore)

His PhD thesis about it (2018) is worth reading for anyone interested in live
programming of any sort, music or otherwise: [https://openresearch-
repository.anu.edu.au/handle/1885/14460...](https://openresearch-
repository.anu.edu.au/handle/1885/144603)

~~~
folkstack
Extempore was almost my jam when I got started with code-music in 2014, but
javascript was just good enough, and the web audio API soon had a script
processor, so I started building my own stack in the browser and never looked
back.

But I was impressed, and envied the processing power. However, digital musical
interfaces are really what inspired me to code music in the first place, the
idea of building them (which I do now).

I actually installed and tried extempore, and that almost got me into emacs,
b/c the author had integrated it. Smdh. Luckily, I abandoned both, and have
used vim ever since. I had looked at all the weird code music editor systems,
deemed extempore the best, but ultimately I had to go raw and work my way up.

------
abathur
Adding ORCA
([https://100r.co/pages/orca.html](https://100r.co/pages/orca.html)) to the
list.

Earlier this year I stumbled onto Hundred Rabbits, which happened to have
recently released ORCA (described as "an open-source visual programming
language, designed to create procedural sequencers on the fly, and control
other applications.")

At the time I didn't really know what that live-coding was _a thing_ in terms
of musical performance and just invented my own explanation for what they must
mean and intend it for.

About a month ago I stumbled onto a reference to _algorave_ , and then looked
up a short documentary, in which I saw a few quick frames of someone doing a
live show with ORCA (and, of course, encountered the term live-coding).

I guess it's a little bit more like a puzzle than some of the other
languages/environments, but I like that it's possible to directly visually
enjoy an orca program operating in the way you can't with the others I've seen
(without generative visualizers of some sort...)

~~~
agentwiggles
YES!! I've been trying to remember this for months. I remember seeing ORCA
coming across HN a while ago, and I was interested in checking it out, but
forgot what it was called. Thanks for jogging my memory, looking forward to
playing with ORCA.

~~~
officeplant
I'd link some tutorial videos a friend did on ORCA but I'm not sure if that's
kosher on HN. Look around on youtube there are some tutorials for it sprining
up out there. Although some of the tutorials are a tad out of date now that
there has been some changes in ORCA.

------
redka
Since no one mentioned it. Sonic Pi[0] is probably the easiest to learn and
quite powerful[1]. You program in Ruby and both the IDE and the API are quite
simple to start with.

[0] [https://sonic-pi.net/](https://sonic-pi.net/)

[1]
[https://youtu.be/vz9oXcmwKP4?t=29m35s](https://youtu.be/vz9oXcmwKP4?t=29m35s)

~~~
stuntkite
It’s an easy to use and pretty wrapper around Supercollider. Which is neat
because once you get deep you can graduate to more custom SC setups. I spent a
lot of time with PureData. It sucks that it’s no longer maintained.
Supercollider and Sonic Pi are very worthy successors.

Here’s one of my fave public PureData patches, even though it’s dated.
Generative dubstep that builds towards a drop that is triggered when you hit
the drop button.

[https://github.com/dropship/special-
delivery](https://github.com/dropship/special-delivery)

~~~
spacechild1
> It sucks that it’s no longer maintained.

huh, why do you think that? [https://github.com/pure-data/pure-
data](https://github.com/pure-data/pure-data)

Maybe you've been thinking about Pd extended - which is indeed unmaintained.
There is a kind of successor called PurrData, but it's not 100% compatible
with Pd Vanilla.

BTW, Pd 0.50 will probably be released in a couple of weeks (I'm a regular
contributor)

~~~
stuntkite
Huh. This is all very interesting. Thank you! I'll look into it!

------
thundergolfer
I went to a presentation by Sorensen at a functional programming conference.
At the start I thought, “ok great, you’ve made a alternating tone...”, but by
then end what he’d built up in front of you was quite awesome and impactful.
It wasn’t so much the the music, it was nice but nothing on what a producer
like Flume can do with time and equipment. It was the process of seeing
basically noise become music all with code in a text editor. Would definitely
go see live-coding again.

------
craigsmansion
Some other Free Software programs for live-coding, as the practice is called:

Fluxus ([https://www.pawfal.org/fluxus/](https://www.pawfal.org/fluxus/)) with
scheme

Tidal Cycles
([https://tidalcycles.org/index.php/Welcome](https://tidalcycles.org/index.php/Welcome))
with Haskell

~~~
jcelerier
shameless plug - the visual language I've worked on during my thesis :
[https://ossia.io](https://ossia.io)
([https://www.theses.fr/2018BORD0037.pdf](https://www.theses.fr/2018BORD0037.pdf))

In comparison to other common musical vlangs (Pd, Max, etc), it offers a
visual syntax for loops, triggers and conditions and is time-centric instead
of dataflow-centric (so, better for making shows & songs than making
instruments).

------
oysterfish
Uhhh as someone who loves electronic music, and code: i really hated what that
sounded like.

~~~
TheOtherHobbes
Like most procedural/generative art, it's a lot more about the tools than the
product.

~~~
theon144
Hard disagree, a great deal of procedural art is pleasing and artistically
worthwhile even if you don't consider the method it came to be - although
usually it's fairly apparent.

I think I'd invoke Sturgeon's law instead?

[https://en.wikipedia.org/wiki/Sturgeon%27s_law](https://en.wikipedia.org/wiki/Sturgeon%27s_law)

~~~
TheOtherHobbes
Hard disagree with your disagree. Very few procedural artists seem to have a
good feel for the medium they're working in, or know much about art/music
history and current trends.

They either have a very shallow understanding ("I made an image" = "I made
art"; "I played some samples in a browser or trained a GAN" = "I made music")
or they have an academic misunderstanding, based on a decent technical
understanding of the grammars of the medium, but limited insight into how
creative originators can use grammars expressively.

There are exceptions, especially in visuals, so you have a point about
Sturgeon's Law. But there are still far too many people treating generative
media as a technical exercise, and too few using them for impressive original
creativity.

~~~
abathur
I want to mount a small defense (softly? narrowly? I agree with most of your
specifics) of the state of the art(s). Not looking for a fight. :)

Procedural art is both new, and it isn't.

There's already a reasonably rich (if still fairly new in the sweep of art
history) tradition of procedural art within the broader category of conceptual
art. Some simple, accessible examples are Raymond Queneau's _Cent mille
milliards de poèmes_ , Sol LeWitt's line drawings, and Yoko Ono's
_Grapefruit_.

These aren't quite procedural in the sense you mean, but they _are_
instructions designed to produce art when compiled and/or executed. They
(along with many other examples) shatter traditional-art assumptions more
profoundly and thoroughly (well, _I_ think so...) than the cubists, dadaists,
and abstract expressionists. They fully-realize conceptual art. If a natural
reaction to Duchamp's readymades or a Pollock painting is an exasperated _but
I /my kid could do that_, these works hand art-observers the blueprint and
call their bluff.

They foreground the gaps between the concept/idea of a piece, our
interpretation of the idea, any given instantiation of the idea, and our
experience of any instantiation. They highlight the difference between the
traditional roles of the artist-as-thinker, the artist-as-
craftsman/technician, and observer-as-interpreter--at the same time as they
invite (or even demand) all parties to cross and blur roles. They expose the
absurdity of the cults of the Author and the Original Object in a way that
foreshadows what digital re-/production has forced most creative spheres to
reckon with.

With this as a lens, it's possible to expand the family tree. Composed sheet
music (most purely if a band/orchestra/choir interprets it _from the
instructions_ without listening to how it's "supposed" to sound) smells like
procedural art to me. Screenplays and stage-plays (which are, of course,
_scripts_ ) have similar features. A decent slice of performance art--even if
not openly published as one--can still be distilled to a repeatable set of
instructions.

Maybe it's hair-splitting, but from this perspective I see procedural art as a
fairly rich tradition full of artists with a good feel for their media and the
broad arc of their traditions. From here, I think it's easier to see modern-
computer-aided procedural/generative art as a somewhat natural outgrowth of
existing traditions--intersected with new technologies that I don't think
we've caught up with yet.

I'll artificially cut myself off here; I have too many thoughts on what the
hurdles are to put a bow on. In short: it seems fair to say computer-aided
procedural art(s) are immature and have a skewed technician:artist ratio, but
I think it feels about right given the sheer amount of work+play+interplay
that it takes to establish radically new creative practices. A significant
fraction of computational-creatives are still hand-rolling their own
toolchains. I'm not even sure the sun has risen.

~~~
tripzilch
> Screenplays and stage-plays (which are, of course, scripts)

except when these scripts are interpreted, they do not lack performance ;-)

~~~
abathur
You can read them without performing them, no? :)

------
antfarm
The predecessor of Extempore: Impromptu
[http://impromptu.moso.com.au/](http://impromptu.moso.com.au/)

------
crispinh
Does anyone know of any livecode music recordings that they'd recommend,
ideally ones that are more musically impressive than technically impressive?
I've had a couple of short goes at it but without knowing the end results I
found it hard to get anywhere.

~~~
sideb0ard
Here's a couple I'd recommend from AAAssembly -

Kindohm -
[https://www.youtube.com/watch?v=RiEq_h5UQJM](https://www.youtube.com/watch?v=RiEq_h5UQJM)
Renick Bell -
[https://www.youtube.com/watch?v=6pks_BSqHB0](https://www.youtube.com/watch?v=6pks_BSqHB0)
Algobabez -
[https://www.youtube.com/watch?v=2GTN8ELL75g](https://www.youtube.com/watch?v=2GTN8ELL75g)
Sebastian Camens -
[https://www.youtube.com/watch?v=Zu4dHW04W9Y](https://www.youtube.com/watch?v=Zu4dHW04W9Y)

------
fragmede
[https://gibber.cc/](https://gibber.cc/) by Charlie Roberts also fits under
this category.

~~~
sideb0ard
Charlie Roberts live at Algorithmic Art Assembly - super good stuff!
[https://www.youtube.com/watch?v=VnqS8hQVhXA&t=7s](https://www.youtube.com/watch?v=VnqS8hQVhXA&t=7s)

------
rahimnathwani
Wow, not just any computer code, but Lisp code!

~~~
cutler
The code contains car so is probably Scheme which surprised me considering the
popularity of Overtone, written in Clojure.

~~~
Qwertystop
Common Lisp also uses car. But looking at source of
[https://github.com/digego/extempore](https://github.com/digego/extempore) ,
yeah, Scheme.

------
wtdata
Is there any of these live music programming languages that uses python?

Can't get my head around lisp/clojure.

~~~
yaxu
Yes today is your lucky day! [https://foxdot.org/](https://foxdot.org/)

------
commandersaki
I was doing this with qbasic back in the day.

------
billfruit
I thought csound was a pretty competent package for generating music with
computers. A lot of these newer music packages seems keen to evolve
independently than build upon the considerable amount of work done on csound
for decades.

~~~
stuntkite
Most of them still leverage csound in some if not many ways. Anyone serious
about this stuff hasn’t left csound behind.

~~~
billfruit
I haven't seen any mention of csound in this articles or in the couple other
recent similar packages which popped up in HN.

