49 comments

[ 0.20 ms ] story [ 7.6 ms ] thread
I've seen this software before. I'd like to know what caught your attention about it again.
V5 seems to have been released about a month 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?
So this is like OpenSCAD (code-based 3D modelling) but for music?
Sonic Pi was done in clojure once upon a time. Looks like ruby now?
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

https://www.patreon.com/samaaron/posts/announcing-sonic-1126...

I nerd-sniped myself porting SuperCollider's scsynth audio DSP engine for that Tau5 project. This then turned into SuperSonic (https://sonic-pi.net/supersonic/demo.html). I then wrapped SuperSonic back into a native form and used it to replace scsynth in v5 of Sonic Pi (https://github.com/sonic-pi-net/sonic-pi/releases/tag/v5.0.0).

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

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.)

I haven't used Overtone in many years but it looks like it's still going: https://github.com/overtone/overtone

That must be what I was remembering. Thanks for the link.
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!

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.
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.

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...

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.
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.
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.
I don't want to read LLM written text. 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.
I hope we don’t, or that if we do it’s because either it has become impossible to hide or everyone became honest about it.

Tons of conversations are fatiguing, such as climate change, the rise of totalitarianism, the erosion of rights, mass surveillance… These conversations will only cease when we fix the problems or give up on trying to fix them.

I feel your pain, I too am fatigued at these. But I’d rather criticise the ones causing the problem than the ones pointing it out.

(comment deleted)
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.

Is there alternative syntax? I don't want to be typing "end" everywhere. Stack based, declarative, sexp, indentation, anything?
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.

[0] https://github.com/overtone/overtone

I am working on live coding WebDAW, written with ClojureScript (so a Lisp dialect): https://github.com/tmythicator/tritoncha

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

There are many languages like sonic pi now, search for "livecoding". The most prominent currently is strudel
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

Sonic Pi is fantastic for live coding sessions. Used it once for a small demo, really intuitive and fun to noodle with.
Did anyone have claude read the syntax, and start generating music from english prompts, yet? Please post results!
Wow. What an infinite rabbit hole to get lost in…
(comment deleted)
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):

https://youtube.com/shorts/pKs7NehiszY

I've only seen her using Strudel.

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.

Some Pascal influences ?
Here's DJ Dave using Sonic Pi: https://www.youtube.com/watch?v=w2s1DK1w3WI

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 :-)

I was working on a music programming language inspired by lisp

www.quadracollision.com/MeScript