What I got out of it was that it's a language which is meant to be both fully featured and easy for kids to pick up, to get interested in music, programming, or both. Maybe not so much programming as just "computational thinking". It has less incidental complexity than EDSLs (like Overtone) or traditional tools which expose more of the synthesis pipeline. Compared to most video game/graphics frameworks, which are also used in education, you can get to more polished content faster.
nested with_synth and with_fx calls seem less intuitive than an object oriented approach, which mirror traditional circuits. (synth.connect(fx1) fx1.connect(output)). what was the reasoning behind this? i only ask because i could see it making a difference in terms of education. and, what makes this more suitable for schools than ChucK, Supercollider, etc.?
that aside, i really wish someone would make a language agnostic livecoding VST so we can start incorporating stuff like Sonic Pi into our real workflows. i sense an integration like that would also gain some attention from people who previously ignored livecoding. i'm sure a lot of students screw around with Fruity Loops or Ableton and would find livecoding much more accessible if it tapped into the tooling they already understood.
There's a basic problem with live coding, which is defining the problem domain.
Live coding systems are only really good for building teeny tiny little toy automata, which usually do simple stuff with note lists, and maybe apply a bit of randomness or some simple repeating functions to a parameter or five.
Weapons-grade commercial music is much more complicated. The sounds are richer, the arrangements and mixes are immensely complex (even for simple songs), and generally there's a ridiculous amount of care and detail.
But... if you start building in machine learning, database searches, and super-complex DSP patches, and the stuff you really need to make non-trivial music, you're not really live coding any more - you're plugging pre-existing modules and data together by typing.
Also, watching people typing is kind of dull.
I think there are solutions to both problems, but REPL-music systems are only ever going to be a step on the way to them.
I'd be surprised if live coding ever makes it into the mainstream in the way that (say) eSports almost have.
The closest I've seen to this in reality is Max for Live. The speed of development is astounding, and the results are professional in quality, and quite robust. It would be brilliant if the resulting product could be "VST-ized".
It's just a pity it's not cheap (around $700 to $800 for Live Studio with Max). I can see this hampering it's potential as an education tool outside of anything but specialist audio training organizations.
I think Bret Victor underplays the importance of liveness ("almost worthless", eh?), and doesn't touch on the possibilities of making programming a shared experience, that is itself culturally meaningful, inclusive activity, e.g. musical. This is what Sam Aaron and other live coders have been working on for the past decade. It's a totally different approach really, through making music together, nonstop for years.. Sonic Pi is impressive and successful because it's grounded in actual arts practice, not extrapolations from rigged demos.
For a long long time I have wanted to do a language for programming music. I like how easy this is to get started with it almost feels like the old tracker days.
How is your conception of what is involved in 'do[ing] a language for programming music' different to super-colider or ChucK or puredata? Not being aggressive just interested in how you see the problem.
I'm glad someone mentioned EarSketch. As it's more focused on teaching programming and computing principles by making music, as opposed to a general purpose computer music language/environment like Chuck, Pure Data, and Supercollider. I was involved with the project during Grad school when it was completely attached to a DAW (Reaper), but it can now run in a browser. I'm usually not that excited about audio applications in a browser, but I think this is a great use case.
This is great. As someone who's tried to get into coded music, the biggest hurdle for me has always been getting the pipeline set up properly (including learning VIM commands). This handles all of that.
[+] [-] gracenotes|11 years ago|reply
https://www.youtube.com/watch?v=3_zW63dcZB0
The whole talk is stimulating, but the parts relevant to Sonic Pi are its Overtone (http://overtone.github.io/) lineage at about 9:05, a demo at about 17:36, and the experience using it in schools (http://www.raspberrypi.org/sonic-pi-live-summer-school/) at about 26:48.
What I got out of it was that it's a language which is meant to be both fully featured and easy for kids to pick up, to get interested in music, programming, or both. Maybe not so much programming as just "computational thinking". It has less incidental complexity than EDSLs (like Overtone) or traditional tools which expose more of the synthesis pipeline. Compared to most video game/graphics frameworks, which are also used in education, you can get to more polished content faster.
[+] [-] catshirt|11 years ago|reply
nested with_synth and with_fx calls seem less intuitive than an object oriented approach, which mirror traditional circuits. (synth.connect(fx1) fx1.connect(output)). what was the reasoning behind this? i only ask because i could see it making a difference in terms of education. and, what makes this more suitable for schools than ChucK, Supercollider, etc.?
that aside, i really wish someone would make a language agnostic livecoding VST so we can start incorporating stuff like Sonic Pi into our real workflows. i sense an integration like that would also gain some attention from people who previously ignored livecoding. i'm sure a lot of students screw around with Fruity Loops or Ableton and would find livecoding much more accessible if it tapped into the tooling they already understood.
[+] [-] TheOtherHobbes|11 years ago|reply
Live coding systems are only really good for building teeny tiny little toy automata, which usually do simple stuff with note lists, and maybe apply a bit of randomness or some simple repeating functions to a parameter or five.
Weapons-grade commercial music is much more complicated. The sounds are richer, the arrangements and mixes are immensely complex (even for simple songs), and generally there's a ridiculous amount of care and detail.
But... if you start building in machine learning, database searches, and super-complex DSP patches, and the stuff you really need to make non-trivial music, you're not really live coding any more - you're plugging pre-existing modules and data together by typing.
Also, watching people typing is kind of dull.
I think there are solutions to both problems, but REPL-music systems are only ever going to be a step on the way to them.
I'd be surprised if live coding ever makes it into the mainstream in the way that (say) eSports almost have.
[+] [-] Intermernet|11 years ago|reply
It's just a pity it's not cheap (around $700 to $800 for Live Studio with Max). I can see this hampering it's potential as an education tool outside of anything but specialist audio training organizations.
EDIT: I completely forgot about SynthEdit (http://www.synthedit.com/). It can export VSTs.
[+] [-] zalmoxes|11 years ago|reply
Bret Victor's criticism of KhanAcademy is just as relevant here http://worrydream.com/LearnableProgramming/
[+] [-] yaxu|11 years ago|reply
[+] [-] ThomPete|11 years ago|reply
Sonic Pi is just that the Turtle of music programming environments. It doesn't start with abstraction but with a ground in playability.
[+] [-] ThomPete|11 years ago|reply
[+] [-] keithpeter|11 years ago|reply
[+] [-] dmoo|11 years ago|reply
Python + music
[+] [-] zeitpolizei|11 years ago|reply
[+] [-] glial|11 years ago|reply
[+] [-] zapt02|11 years ago|reply
[+] [-] jweather|11 years ago|reply
Or build it yourself: https://github.com/samaaron/sonic-pi/blob/master/INSTALL.md#...
[+] [-] keithpeter|11 years ago|reply
I'll experiment with the .tgz file for that.
[+] [-] MichaelMcQuirk|11 years ago|reply
[+] [-] ArthurClemens|11 years ago|reply
[+] [-] jimiwen|11 years ago|reply
[+] [-] Ashuu|11 years ago|reply
[+] [-] jweather|11 years ago|reply
[deleted]