Hi James and welcome back =).
While I don't know about specific educational resources for learning live
coding, I have been exploring it myself quite a lot: especially over the
past year-ish. I certainly echo your concerns about feeling not wanting the
audience to sit and wait while you figure out how to make something happen.
Here are some of my thoughts and approaches (whether anyone finds them
useful or not). I'm also hoping this spawns a larger discussion on the
topic since it's something that seems to have growing interest.
"All out live coding" is really hard. Yes there are some insanely talented
ninjas with 9000+ wpm that can make some amazing things happen from an
empty file, but for the rest of us I recommend having a handful of starting
code. This could be skeletons of things, complete code that you intend to
extend/tweak, infrastructure for effects, whatever is appropriate. If
anyone complains about that, tell them to go live code in Assembly.
Since you brought up jazz and conservatory training, regular practice
helps. Also having some general idea, goal, form, timbres, etc. in mind is
quite helpful, as with all music.
One big issue is the amount of typing needed to make something happen (as
mentioned before). Even if you have some prefab code ready, navigating and
editing it can be rough. I switched to vim for my live coding work (emacs
is just as suitable to *hopefully* prevent a flame war from bringing up
vim) because I found it far easier to get around, and really like some of
the customization that the IDE just doesn't have (yet).
That still doesn't change how much typing you need though. SC, which
totally awesome and crazy powerful, is rather verbose when it comes to live
coding. If you look at other live coding languages (ixi, tidal, lich) they
are built from the ground up to be the shortest distance between thought
and compile (with the trade off of plenty of flexibility but that's part of
the deal). I've been hacking on an utility to make Pdef feel a little more
like these languages if you are interested:
This is still very rough but I have performed with it. The idea is that I
add methods to Symbol to replace a lot of the extra typing of Pdef and
Pbindef. Here's an example
// the following both produce the same Pdef
\example +> (
It's a small difference but ends up being on average 30% less typing. This
somewhat assumes you will be using lots of Pseq but that's not a
requirement. Things just start looking much more like a normal Pdef if you
want to do other things.
That's all I've got for now.
Post by ddw_music
Hi -- I'm inching my way back into the SC online communities, for now as more
of an asker than answerer. It's been very helpful to relieve myself of the
(self-imposed) pressure to answer questions just because they're there.
Now I have a question. I started playing with JITLib while preparing for a
workshop, and that led to some experiments with live coding. I ran into some
challenges with that pretty quickly, and I think they're the sorts of
challenges that more experienced live coders have already dealt with. The
main one is expressing control routines (sequencing) efficiently. I'm good
with patterns, but... they're a lot of typing when an audience is waiting
for you to do something cool. And that was even using Pbindef to build up
the complexity item by item.
I'm wondering about research and training materials. Like, my conservatory
department also houses the jazz major, and the students learn improvisation
from teachers and from established workbooks. But if I want to learn to
improvise in code, I feel like I have to be an auto-didact, figuring
everything out for myself even though other people figured it out before me.
I'm fully aware that nobody gets good at live coding without individual
practice, but continuing the jazz analogy - the teachers at my school give
the students skills to practice, and practice methodologies.
I had a quick look at the toplap wiki, but didn't see much in the way of
research papers explaining solutions to the (thorny) problems of expressive
but compact code. I did see the page for practice exercises, but it seemed
to me these are intermediate-level, and when it comes to live coding, I'm
very much a beginner.
Sent from the SuperCollider Users New (Use this!!!!) mailing list archive at Nabble.com.
sc-users mailing list
DMA Music Composition - University of Colorado at Boulder
MFA Electronic Music and Recording Media - Mills College
BM Music Composition - University of the Pacific