Aerodynamic by Daft-Punk in 100 lines of code with Sonic Pi
aimxhaisse.com
aimxhaisse.com
Some examples: https://t.co/51cezrD9aZ https://t.co/bUfCcAnSqX https://t.co/FyBHSbeAaT https://t.co/3r9FkxlguM
Why do you modify your code as it plays? Could you simplify and abstract your expressions to call them along a predictable flow pattern? This reminds me of Knuth's beautiful representation of recurrence relations: https://en.wikipedia.org/wiki/The_Complexity_of_Songs
(Aside: His later work on Constraint Based Music Composition https://news.ycombinator.com/item?id=9512962 also offers some interesting insight as to what could come from algorithmic musical composition.)
When I gig with Sonic Pi all I do is modify the code on-the-fly. It allows me to react to the crowd, the environment and my feelings :-)
Am I missing something about how the tactile control works, or is it really just shifting text around with a keyboard and mouse?
It's a case where the Edit, Compile, Run Cycle doesn't fit the medium well :)
It's a free PDF download but you can buy it to support them: https://www.raspberrypi.org/magpi
See page 48 (page 50 of the PDF): https://www.raspberrypi.org/magpi-issues/MagPi42.pdf
He is a very good speaker and got me excited to try to do some of this with my 9 year old daughter.
Wish I spoke that well, I'm not bad anymore but I'm also not that fluid.
Can anyone suggest how to choose which one to invest some time in?
Also general comments about things like quality, extendibility, community, momentum, learning curve, level of fun, reliability etc. would be really helpful - thanks!
ChucK I've had the least experience with of those more mature toolkits (I didn't even know it was still actively maintained or developed), however I'd thoroughly recommend Supercollider due to the emphasis on live coding, mature community and integration with many languages.
Unfortunately I cannot speak to the qualities of Sonic Pi, this being the first I've heard of it, although I must say it looks great!
SuperCollider is much more general - you have a server that can build and execute graphs of unit generators, and a language that has a ton of convenience features for interacting with the server, and abstractions for scheduling events. (sidenote, I'm starting to build an audio patching environment using SuperCollider. It doesn't do anything yet but I'm hoping to have something soon https://github.com/YottaSecond/Triggerfish)
SuperCollider also has a great community - questions on the mailing list are usually answered within a couple of hours, and there's a team of people furiously working on the upcoming 3.7 release.
I love Pure Data to death, it has an amazing community and is actively being developed, but I have some trouble recommending it because of the aging Tcl/Tk interface.
ChucK looks really interesting. In most environments you need to write unit generators in C/C++ to actually do low-level audio processing. ChucK uses a "strongly-timed" programming model, where you can actually use the same language to process sound sample-by-sample and schedule things at real musical intervals.
Extempore is also worth looking into if you aren't afraid of lisp.
So yeah, it depends largely on what you want to do. The live-coding languages like SonicPi are probably the best for getting music going quickly, but the others all have unique things to offer.
Edit: Tidal is great for both live-coding and static-composition scenarios. In my opinion, it's ideal for live coding performance because minimal code is needed to get sound going quickly.
sc is probably the biggest and most open and developed sound language. pd is in the same ballpark, with a different culture.
It's also worth learning web audio, because then you can build toys for the web.
The others are more niche. I'd written off Csound, but I discovered recently that some of the newest Csound music has better than usual production values, which makes me wonder if it's having a revival and breaking out of the academic ghetto these projects tend to get trapped in.
I will admit that I haven't tried Sonic Pi yet though.
Livecoding seems to be growing more and more with a lot of hardware toys to go along with it. Exciting times.
[1] http://extempore.moso.com.au/
[2] https://www.youtube.com/watch?v=xpSYWd_aIiI
[3] http://commonmusic.sourceforge.net/
[4] https://github.com/jasonlevine/The-Nature-of-LivecodingGreat work, this is super cool!
I especially liked how the author visualized sounds to be able to replicate them. I always assumed you just had to have a good ear.
Really impressive stuff, thanks.
Prewrite some code, play around with it live...love it. Is there a curated list of people using this for live performances? I'd love to attend one of those.
Just looked at the cheat sheet. I would image all of these programs would be playing out MIDI.
http://www.cl.cam.ac.uk/projects/raspberrypi/sonicpi/media/s...
Also check out alda: https://github.com/alda-lang/alda
[1]: http://www.osar.fr/protoplug/api/examples/midi-chordify.lua....
https://www.youtube.com/playlist?list=PLA7obRrq8OgRX3y0yO0PI...
Very impressive - not only work itself but also your feeling of rhythm.
You should tweet this to Daft Punk and see what they think!
Knowing nothing about this space, is there already a program that uses (wave based) sound simulation to allow music programming in an arbitrary 3d environment? This could go beyond mono and stereo :)
I once worked with a brilliant audio developer/wizard who used Ambisonics (among other things).
Watching him position his desk when we switched to a new (large and open) office space is something I'll never forget. He walked around in the middle-ish of the room, snapping his fingers and listening. Suddenly he said "This is it, I'll sit here", and so he did. :)