Sonic Pi is a code-based music creation and performance tool

  • Sam Aaron [1], the creator of Sonic-Pi, just released v3.2.0 [2].

    I've only played around with Sonic-Pi a bit but I find it exceptional. It has the sound quality that I would expect from a more professional tool while still being accessible to the beginner and being programmer friendly. It's also completely free/libre/open source.

    There's a good community over at the discussion forum `in_thread` [3]. Sam Aaron also has many videos of him practicing, live streaming, etc., complete with code in the background to see what he's doing [4].

    I'm a bit light on the details but I think Sonic-Pi uses `supercollider` [5] "underneath" as the audio synthesis engine.

    I've heard that Sam Aaron offsets some of his income by doing live gigs and talks. COVID-19 has put a damper on that so I would encourage people to donate to his Patreon [6] if they can.

    [1] http://sam.aaron.name/

    [2] https://in-thread.sonic-pi.net/t/sonic-pi-v3-2-tau-released/...

    [3] https://in-thread.sonic-pi.net/

    [4] https://www.youtube.com/user/samaaronuk/videos

    [5] https://github.com/samaaron/sonic-pi/wiki/Sonic-Pi-Internals

    [6] https://www.patreon.com/samaaron

  • Sonic Pi is an instrument designed for optimal usability by a ten year old, while using text-based syntax just like a normal programming language.

    I have seen a 9-year old reinventing nested loops with it, just because that's what she needed to make a tune.

    The install and learning curve is as flat as it gets, there's no excuse for not trying it if you are curious.

  • I know Sam (the creator) and can vouch that he's a good guy and a bit of a legend.

    He hasn't had the easiest of rides when it comes to sustainable support for his work. I'd encourage folks to contribute here: https://www.patreon.com/samaaron (he'll certainly do wonderful things with such support).

  • Did anyone get this running on Ubuntu/Mint? When I `sudo apt get install sonic-pi` and start sonic-pi (even with root privileges) the loading screen appears and nothing happens. There are no logged error-messages in the terminal either.

  • There's also a _great_ talk from the creator (Sam Aaron) on Sonic Pi, including live-coding examples and some wonderful insights on how computer science is taught in schools:

    https://www.youtube.com/watch?v=OLLwG_SN8oo

  • This reminds me a great deal of Supercollider, which is pretty robust and time-tested.

    One of the things that bothers me about Supercollider is its weird server architecture and esoteric language. I'll take Ruby over that, but these things really beg for APIs that let you hook in with other languages.

  • Looks really nice, I'll be sure to try it out!

    For people interested in this, there's also a recent project https://github.com/overtone/overtone which looks similar, using Clojure though (which seems to deem itself better to live programming).

  • > Powerful enough for professional musicians.

    Having worked with professional electronic musicians, I will say this is likely really useful for getting some interesting layers, but is not a professional environment in and of itself.

    I don't mean to say this isn't fun, or that you can't make some really cool stuff. It's just not that there's wayyy more programmers involved with VSTs and DAWs than in this one project, and there's ultimately no competition from a professional perspective.

  • I will definitely show that to my daughter.

    It looks like a nice way to introduce kids to coding.

    Specially if you are into IDM.

  • I would feel remiss not pointing out Sam Aaron’s prior project Overtone which while similar in spirit to Sonic-Pi is much more oriented toward the programmer/musician and less to the musician/programmer. It’s interface language is Clojure which probably tells a lot.

    Both projects are amazing, but, after playing with Sonic-Pi, I’ve stuck with Overtone as my coded music synthesis toolset.

  • Sonic Pi is really fun to play around. However, the editor is fucking abysmal and turns me off every time I try to use it, since I can't use my muscle memory to copy/paste/multiselect and have to otherwise learn another set of keybinding that make no sense whatsoever (instead of CTRL-X to cut you have ALT-X, for example). I wish I were able to use VSCode. I know an extension exists, but it only sends the current file to the Sonic Pi session and has no autocompletion, which is fairly necessary during a live-coding music session to keep the tunes flowing. If I'll ever get around to understand how to develop an extension I'll try my hand at it, I guess.

    But otherwise yeah, it's some good stuff and has lots of unexplored potential.

    https://www.youtube.com/watch?v=KJPdbp1An2s

  • What's the advantage of a "code-based" music creation respect of the classic one musicians use?

  • The is doing a/some sessions for githubs conference in a couple of days.

  • Oo! I will maybe check this out. I've explored Supercollider and thought that was v interesting, though a bit tedious to jump into actual music making with for me personally.

  • It seems really fun watching others, but I guess my lacking music theory knowledge makes everything I try to result in awful noise instead of anything resembling music

    Anyone out there have any good resources for using Sonic-Pi (or anything else) as a hands on way to to learn more about music theory?

    Do you think doing any MOOC in music theory can help? Or is it something that I just have to put hours on and just keep fiddling and trying?

  • Didn't Joe Armstorng use this to DJ at a Erlang User Conference? Can't find it now, but at least there is this talk from a years ago: https://www.youtube.com/watch?v=4SUdnOUKGmo

  • For those who are interested in making music with Java Programming, check out : http://www.jfugue.org

  • How does it compare to csound?

  • One wonders what the great classical composers would have done with these tools?

  • Has anyone had any luck getting this running on a non-Raspbian Linux distro?

  • This is awesome - I have it set up to play my synth over midi

  • I really hope that it has python api

  • Can you program tempo envelopes?

  • This kind Man brought my Lover back In less than 3 days, i saw wonders, my Lover came back to me and my life got back just like a completed puzzle… am so happy.. thanks to Robinsonbucler@ { gmail }. com for saving my life. Mr Robinson is the best I’ve ever met! Thanks, thanks thanks_____________