First few lines of the tutorial linked above the fold:
> Welcome to Sonic Pi. Hopefully you’re as excited to get started making your own sounds as I am to show you. It’s going to be a really fun ride where you’ll learn all about music, synthesis, programming, composition, performance and more.
> But wait, how rude of me! Let me introduce myself - I’m Sam Aaron - the chap that created Sonic Pi. You can find me at @samaaron on Twitter and I’d be more than happy to say hello to you. You might also be interested in finding out more about my Live Coding Performances where I code with Sonic Pi live in front of audiences.
> If you have any thoughts, or ideas for improving Sonic Pi - please pass them on - feedback is so helpful. You never know, your idea might be the next big feature!
In an older age, I might have thought this overly flowery or indulgent, but it's SO refreshing to see technical prose that's so clearly written by a real human with an individualized voice, tone, writing style, etc. I'm by no means anti-LLM, but I'm becoming incredibly fatigued at seeing the same style of marketing speak as the intro text to nearly all the new software I come across. Kudos to being a human and injecting your voice into an increasingly impersonal space.
The rest of the tutorial that I read below that doesn't disappoint, I intend to run through it despite my not so Copious Spare Time. I've really been looking to get into programmed music and this seems as good as a time and tool as any.
Cheers!
ghusbands 18 hours ago [-]
It's even more fatiguing to see so many comments about whether something is LLM-written or human-written. I hope we get past this stage, soon.
Krssst 16 hours ago [-]
I don't want to read LLM written text (EDIT: just replying to parent comment, not implying at all that the tutorial might be written that way; it definitely does not look like it). It would be nice if people could just disclose when they used LLMs for their writing and how, then people who care can skip and people who don't can read. Of course this would have to come with not shaming the people who disclose actual use of LLM, otherwise we're back to square one.
samaaron 16 hours ago [-]
For the record I didn’t use LLMs to write this tutorial.
Krssst 14 hours ago [-]
Ah, sorry, I was only replying to the above comment but did not mean to imply that the tutorial might be AI-written; it very much looks human-written and generally a nice read :-)
abirch 17 hours ago [-]
Is it worth a human reading it or not? There are many, insipid human-writers (me included). Historically I got a lot of value of reading info posted on HN.
saghm 1 days ago [-]
I can't say I agree with this is take; it's never occurred to me "how rude of this author of the tutorial not to plug their Twitter handle before teaching me the thing I came for". I have no reason to suspect this is from an LLM (I don't have much confidence in my ability to spot anything other than the most obvious examples) but I also don't see any reason to assume that someone couldn't just say something like "add an introduction paragraph plugging my Twitter and live performances in a friendly voice" and get something like this pretty quickly.
onion2k 23 hours ago [-]
I have no reason to suspect this is from an LLM (I don't have much confidence in my ability to spot anything other than the most obvious examples) but I also don't see any reason to assume that someone couldn't just say something like "add an introduction paragraph plugging my Twitter and live performances in a friendly voice" and get something like this pretty quickly.
Fair enough! I think my meta-point still stands though; I don't see any fundamental reason to assume that an LLM wouldn't generate something similar to this without needing a ton of effort in prompting.
mellosouls 20 hours ago [-]
One notable user of Sonic Pi is DJ Dave who streams her live coding now and then.
Short example (I don't know if she's using pi/strudel/whatever here but you get the idea):
Sonic Pi looks nice. But as with Elixir, which I for most parts love, I really hate the `do end` syntax and I've never understood why someone would design something where you would have to type those words instead of using on pinky to press `shift` and another pinky to press either `{` or `}`.
`{ }` is just so instantly recognizable as a scope.
Also, Sonic Pi was designed for teaching - the language priorities for professional programmers that touch-type are quite different to those for a learner. Lots of strict and unusual syntax can be a considerable and confusing barrier.
Also, Sonic Pi is implemented in Ruby, so you can totally use `{ }` just fine if that's your preference :-)
chrisjj 12 hours ago [-]
> Sonic Pi was designed for teaching
... coding. There many alternatives founded more in music.
makapuf 18 hours ago [-]
Some Pascal influences ?
chrisjj 12 hours ago [-]
Not Sonic Pi, but Strudel. Chalk and cheese.
lawik 1 days ago [-]
Love Sonic Pi. I can't make music but watching someone who can is fantastic. We had Sam (the creator of Sonic Pi) on stage at Goatmire Elixir and it was glorious. This year he comes back with a free 4 hour workshop, a talk and a DJ set at the end. It is going to be a blast.
Can't wait to hear his stuff in a venue where people are actually primed to move. Something very satisfying about code turning into music live.
markkitti 1 days ago [-]
If you are interested in a live demo / performance, see minute 7:13 from JuliaCon 2024 / PyData Eindhoven 2024:
I'm now working on a new audio DSP engine building on this learning which combines my favourite aspects of scsynth and Erlang which I'll be discussing and revealing over on my Patreon over the coming months (https://patreon.com/samaaron)
dirkk0 20 hours ago [-]
Got it, great to hear that! On your Patreon now, and I sponsored via GitHub.
samaaron 20 hours ago [-]
Oh amazing - thank-you so much for your kind and generous support! I can only do this work because of people such as yourself. Thanks!
127 22 hours ago [-]
Is there alternative syntax? I don't want to be typing "end" everywhere. Stack based, declarative, sexp, indentation, anything?
chris_j 22 hours ago [-]
Overtone [0] is a precursor to Sonic Pi that uses Clojure. Sam used to work on it before he created Sonic Pi. I remember having great fun playing with it at a Clojure meetup in about 2011. Overtone appears to still be going if you want to check it out.
Right now it is based on mix of Three.js (for visuals) and Tone.js (for audio). I playing with the idea to rewrite the synth/sequencing part on WASM. But the live music scripting language will remain to be ClojureScript. As I see the Lisp language family to be much superior in expressiveness. Less syntax rules, more code as data
poulpy123 16 hours ago [-]
There are many languages like sonic pi now, search for "livecoding". The most prominent currently is strudel
guytv 21 hours ago [-]
Did anyone have claude read the syntax, and start generating music from english prompts, yet?
Please post results!
20 hours ago [-]
vegnus 17 hours ago [-]
I was working on a music programming language inspired by lisp
www.quadracollision.com/MeScript
Bluestein 17 hours ago [-]
I like the GUI/TUI.-
PS. Perhaps having it load a default file - and or offering sample files to load would be nice :)
vegnus 17 hours ago [-]
examples is definitely a good idea, thanks for taking a look
Bluestein 17 hours ago [-]
Happy to. It has a very "tracker" feel to it. Neat.-
Saw him way over 10 years ago presenting it a Rubycon, it was incredible to watch and even thought I do understand a bit about music it's really hard for me to transport this concept to code event thought ruby is my language of choice. Tried it a few times since.
Maybe I should try again with some LLM help
roflmaostc 1 days ago [-]
I always wanted to test it out but it's really hard to get it run under Linux (e.g. Arch Linux) even though it runs fine on a Raspberry Pi
I used to have this issue as the package in AUR had some issues but they should be resolved now?
kuil009 1 days ago [-]
I've seen this software before. I'd like to know what caught your attention about it again.
riffraff 1 days ago [-]
V5 seems to have been released about a month ago.
y1n0 1 days ago [-]
Sonic Pi was done in clojure once upon a time. Looks like ruby now?
chris_j 22 hours ago [-]
Sam previously worked on Overtone, which is a Clojure library for driving the Supercollider synthesiser. I understand that he decided to create Sonic Pi in Ruby in order to make it more accessible to beginners. (And Ruby was all the rage back then.)
That must be what I was remembering. Thanks for the link.
riffraff 1 days ago [-]
It's been ruby for a long time.
I recall at some point the author started working on yet another version which used its own language instead of a ruby DSL but I don't know what happened with that
I'm now working on a new audio DSP engine which builds on all this learning which combines my favourite parts of scsynth and Erlang. I'll be discussing and sharing progress over on my Patreon (https://patreon.com/samaaron).
As a sneak peek - here's an experimental prototype of the kind of direction I'm headed in: https://sonic-pi.net/tau
suprjami 1 days ago [-]
So this is like OpenSCAD (code-based 3D modelling) but for music?
> Welcome to Sonic Pi. Hopefully you’re as excited to get started making your own sounds as I am to show you. It’s going to be a really fun ride where you’ll learn all about music, synthesis, programming, composition, performance and more.
> But wait, how rude of me! Let me introduce myself - I’m Sam Aaron - the chap that created Sonic Pi. You can find me at @samaaron on Twitter and I’d be more than happy to say hello to you. You might also be interested in finding out more about my Live Coding Performances where I code with Sonic Pi live in front of audiences.
> If you have any thoughts, or ideas for improving Sonic Pi - please pass them on - feedback is so helpful. You never know, your idea might be the next big feature!
In an older age, I might have thought this overly flowery or indulgent, but it's SO refreshing to see technical prose that's so clearly written by a real human with an individualized voice, tone, writing style, etc. I'm by no means anti-LLM, but I'm becoming incredibly fatigued at seeing the same style of marketing speak as the intro text to nearly all the new software I come across. Kudos to being a human and injecting your voice into an increasingly impersonal space.
The rest of the tutorial that I read below that doesn't disappoint, I intend to run through it despite my not so Copious Spare Time. I've really been looking to get into programmed music and this seems as good as a time and tool as any.
Cheers!
The text has been there since 2018. BERT wouldn't have been able to write like that. https://web.archive.org/web/20180312062205/http://sonic-pi.n...
Short example (I don't know if she's using pi/strudel/whatever here but you get the idea):
https://youtube.com/shorts/pKs7NehiszY
Sonic Pi looks nice. But as with Elixir, which I for most parts love, I really hate the `do end` syntax and I've never understood why someone would design something where you would have to type those words instead of using on pinky to press `shift` and another pinky to press either `{` or `}`.
`{ }` is just so instantly recognizable as a scope.
Also, Sonic Pi was designed for teaching - the language priorities for professional programmers that touch-type are quite different to those for a learner. Lots of strict and unusual syntax can be a considerable and confusing barrier.
Also, Sonic Pi is implemented in Ruby, so you can totally use `{ }` just fine if that's your preference :-)
... coding. There many alternatives founded more in music.
Can't wait to hear his stuff in a venue where people are actually primed to move. Something very satisfying about code turning into music live.
https://youtu.be/g1Jsk3p_9O0?t=433&is=fXBtVdS6R178V7Lm
https://news.ycombinator.com/item?id=49208296
[22 days ago]
And thanks for your work!!
I ported SuperCollider's scsynth to Web Audio workouts (https://sonic-pi.net/supersonic/demo.html) late 2025, built an experimental spike called Sonic Tau (https://sonic-pi.net/tau). Then I wrapped SuperSonic in a native audio framework and used it to replace scsynth in Sonic Pi v5 (https://github.com/sonic-pi-net/sonic-pi/releases/tag/v5.0.0)
I'm now working on a new audio DSP engine building on this learning which combines my favourite aspects of scsynth and Erlang which I'll be discussing and revealing over on my Patreon over the coming months (https://patreon.com/samaaron)
[0] https://github.com/overtone/overtone
https://tidalcycles.org is built in Haskell
https://strudel.cc is a Javascript REPL
Live: https://tmythicator.github.io/tritoncha/
Right now it is based on mix of Three.js (for visuals) and Tone.js (for audio). I playing with the idea to rewrite the synth/sequencing part on WASM. But the live music scripting language will remain to be ClojureScript. As I see the Lisp language family to be much superior in expressiveness. Less syntax rules, more code as data
www.quadracollision.com/MeScript
PS. Perhaps having it load a default file - and or offering sample files to load would be nice :)
Clickable:
- https://www.quadracollision.com/MeScript
Maybe I should try again with some LLM help
https://flathub.org/en/apps/net.sonic_pi.SonicPi
I haven't used Overtone in many years but it looks like it's still going: https://github.com/overtone/overtone
I recall at some point the author started working on yet another version which used its own language instead of a ruby DSL but I don't know what happened with that
https://www.patreon.com/samaaron/posts/announcing-sonic-1126...
I'm now working on a new audio DSP engine which builds on all this learning which combines my favourite parts of scsynth and Erlang. I'll be discussing and sharing progress over on my Patreon (https://patreon.com/samaaron).
As a sneak peek - here's an experimental prototype of the kind of direction I'm headed in: https://sonic-pi.net/tau
https://news.ycombinator.com/item?id=46052478