back
104 comments
For those wondering what it actually is, as I was:

https://sonic-pi.net/

"Sonic Pi is your free code-based music creation and performance tool."

Reminds me of ChucK: https://chuck.cs.princeton.edu.
I love Sonic Pi. I am a terrible musician but I really enjoy finding chords for a song and then putting them into a sonic pi buffer and messing around. U2 started as a cover band, right, so maybe this is a path to becoming musical someday.

The one thing that confuses me about Sonic Pi is the buffers/editor. I always wish I could replace the UI with my own embedded editor (emacs in my case). I would then be able to manage all my songs as files. Right now I hunt for "least crowded" buffer window, comment out the code for the song or songs, and then add my new song. If I had my own embedded editor (like emacs), I could rename buffers to be songs, have an unlimited amount (rather than just ten), integrated version control, etc.

Am I missing something simple about how others use sonic pi?

The big breakthrough of sonic pi is representing music as a highly readable text file. I assume I don't know how to use the built in editor and buffer system because I feel a lot of friction there.

If you look in the source code you’ll find an example REPL which serves as a great minimal example of how you can build your own interface.

You essentially need to spawn a process, read the session’s port numbers and then send messages via OSC over the local network loopback.

This could easily done from your favourite editor of choice (e.g. Emacs).

You can save/load the contents of a single buffer or all buffers. For a single buffer, select the buffer you want to save, then go to the Live menu and choose "Save Buffer As". To load a file into a buffer, choose the buffer you want to load it into and then go to the Live menu and select "Load into Buffer"

You can also save off all the buffers together (e.g. if you've put different parts of the same song into different buffers) by going to the Live menu and choosing "Save Set As" (or just "Save Set" if you want to overwrite what was previously in your last saved set e.g. you made changes to your song and you want to replace the previous version).

So to achieve a workflow similar to what you're describing, you construct your song (in up to ten buffers) and then save the set and clear the buffers or load a different set to work on another song. True, it doesn't give you infinite buffers, but it does give you a way to "manage all [your] songs as files".

You can then use e.g. Magit to version control the files just as you would if you were working in Emacs itself.

The sets are also saved as text files in a very human readable format; basically just all of the buffers dumped out one after another with some delimiters. You could even use Emacs to edit them and then load them into Sonic Pi to run them! (That said, I'm not sure there's a good sonic-pi-mode for things like indentation and autocomplete yet. Hopefully someday; I would love to have my custom evil-mode Emacs keybindings while working in Sonic Pi, but I get that it's not really a priority right now ;) )

Firstly, don't be too self critical of your music making. Doing something is key. You're doing it. You are finding your path. Your path is unique to you, and everything you bring to it and discover along the way shapes how that path meanders. Use what you got and just keep doing.

Second, take a look a PureData. Specifically the variant called PlugData, because it is a little easier to use because of the extensions that it includes, nicer UI, and it can run as a plug-in and integrate with other your DAW, or other software.

I've been using Pd off and on for about 20 years and I still feel I don't know it. I learn just enough to get done what I need to get done. I use it for control system for drone motors that I use to make music, both using a rotary magnetic bow, and as servo drumming actuators. I've also used it for sound and rhythm synthesis for performances.

PureData is an incredible tool for creative building. I'm also using it for a project at a university lab to make an assistive guitar for disabled musicians by running compiled PureData on a Bela Gem Multi. You can even use Pd on a Daisy Seed to make custom effects pedals or synth modules. Anyhoo, check it out. It is a wonderful playground for the mind.

> I always wish I could replace the UI with my own embedded editor (emacs in my case)

Consider his his older project instead? https://overtone.github.io/

He even used to perform using emacs before he created Sonic Pi.

Sonic Pi v5 is released.

Sonic Pi is now more friendly, more accessible, more powerful and more fun.

There's something to excite everyone - from the friendlier error messages, to the pro-audio config, to the new dynamic visuals for performance.

Enjoy!

I've been playing with it the last few weeks, great software and really fun to use. Fantastic timing. Thanks for all the hard work that went into the release.

I'm particularly happy to see keyboard shortcut preferences in the release notes, that's been a real pain point.

Thanking you kindly, sir.

Congrats on the release Sam! Looking forward to checking it out. What's your favorite new feature?
I tried it. but the Flatpak seems to be missing some of the documentation.
if you want to attract more userbase that's probably the least meaningful copy-text someone can provide. Not only doesn't even in one sentence what sonic pi v5 is but also doesn't explain whats difference between v4 and v5 - I mean what it means more friendly/accessible/fun really?
Every time I click a HN post with the Something Pi naming convention my graybeard brain expects to see an SBC. This is something just about as interesting! I grew up on (and still use) trackers for sequencing. It might be fun to try a similar workflow in this!
The SBC in question here is the Raspberry Pi — Sonic Pi was one of the early pieces of educational that made up the RPi ecosystem, and Sam Aaron was sponsored by the Raspberry Pi Foundation to write it.
Oh my pi! (Same here, yesterday I came to the conclusion that I dont understand any of the front page links. Thanks for commenters clearing it up also!)
I blame Mario for ruining me until a year ago Pi was RPi or 3.142... but yeah this is nice, I have been using daws and have written my own small piano roll app because bosca ceoil vanished a couple years ago, but this is nice too.

I think that app(bosca ceoil) is now back around among us, though I don't recall what had happened back in the day.

How does it compare to https://strudel.cc/ ?
For starters, strudel runs in the browser while Sonic Pi is a stand alone application.
The primary difference to me is that strudel's license is so restrictive that it's impossible to use on anything. This is MIT.
Sonic allows you to plug straight to midi. Strudel is web based.
I donate to this software because it's so much fun to play around with. My wife (of 30 years as of today) knows way more about music than I do and this is one way for me to connect a little bit with her hobby.
Congratulations on you anniversary! I’m so happy to hear that Sonic Pi helps you connect together with music. It makes me smile :-)

Thanks also for your kind support.

Congrats on the 30 years of marriage!
Since my first pi I've always been blown away by sonic pi's capacity and it's price. Surely worth the cost of the Pi itself and then some.

It's so good I feel the rare guilt of not using it enough especially as I see myself as lifelong musically-inclined (skill level is another topic tho ...)

Genuinely grateful to Aaron and everyone who helps keep this project going. Damn near a public good IMHO

This looks like a lot of fun. I wish they'd name it better though, the name makes me think it's a raspberry pi related thing. or a piece of hardware.
Sonic Pi was originally written for the Raspberry Pi and shipped on their OS for many years - hence the name :-)
In the defense of Sonic Pi, the first version of it and the Raspberry Pi were released in the same year. Obviously one went on to become more popular
Yeah, immediately confused with Zynthian, which is a RPi-based hardware and software platform.

https://zynthian.org/

This is one of my favorite software projects. I have played a bit with it a few years ago, and I often recommend others to play with it. I would love to have more musical knowledge, but even with my limited resources, I can do some cool stuff.

Congratulations and thank you for your hard work all these years!

I was just working on a music improv app for the MacBook trackpad [1] and tried to use Sonic Pi 4 for the backing track (muse) generator but it was too clunky to run a full fledged second GUI alongside the app and control it through OSC.

I had to do sample retrieval, decoding, native CoreAudio logic to get acceptable latency. A programmable synth would have made my life so much easier.

supersonic-scsynth in Pi 5 feels more fit now, it’s the first time I tried a JS frontend for a macOS app but if it lets me import this and use it so easily, it already paid its dividends.

[1] https://lowtechguys.com/meander

I remember years and years ago getting a Raspberry Pi from my father. We were going to use it for something or other, but that plan fell through, and I ended up using it to "deploy" my first programming project when I was around 12 or so, which was a home assistant that I was really proud of. I remember using Sonic Pi to come up with what I think was an excessive 30 or so different sounds and indicator tones for it, and a little startup jingle. Good times.
Is there any (somewhat) known artist who uses Sonic Pi in their actual work?
Congratulations on your release, Sam!

Are you still considering hardware demos, such as those on Raspberry Pi?

If anyone here also wants to try a different syntax, check out http://glicol.org/.

I keep wanting to learn Supercollider but I never get to. Maybe I'm more enamored of the idea of live coding than actually wanting to play this way. Sonic Pi could finally convince me!
I was at a final session of Code Mesh many moons ago in London, beer in hand, Sam + Joe Armstrong on stage banging out beats with Sonic Pi - good times.
As mentioned before, the license needs to be GPL since the audio engine is clearly a derivative of SuperCollider/scsynth. I also asked the original author jmc and he is also not agreeing w/ your "network barrier" interpretation to avoid GPL.

One more thought: it might be worth checking in with people before running AI agents over their GPL code, especially in a creative coding environment.

Sonic Pi or Strudel? Which is better for a music noob?
Yesss. I have been here for years. Love to see v5 finally get released. Well done, Sam! Here's to many more years. \m/
The ChucK comparison holds for the language, but Sonic Pi's draw was always the live-coding loop with a beginner-friendly editor bundled in.
I tried it for a few seconds but there is a huge lag between pressing a button and the sound, and half the time the button press does nothing. It's basically unusable.
why is the Amen Brother breakbeat included in this software as if it's open source and GPL / MIT license? Just because something has been stolen a million times, that doesn't make it public domain, it's still under copyright and owned by its publisher, who I'm pretty certain has never given it away under a free license.
Sweet. Going to make Pi help make Pi music. Just have to vibe code some method but this will be enjoyable.
Someone needs to introduce this to an AI model. Have agents recreate music from scratch! :)
ud expect an open source / free software project to have some dignity and not link direct to patreon. times are changing.
Is it just me or does the “Pi” branding give the connotation of “underpowered, expensive and hobbyist quality”?

Suggest you drop the Pi name in your next project.