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.
For those wondering what it actually is, as I was:
"Sonic Pi is your free code-based music creation and performance tool."
Aha so I suppose 80s synth sounds?
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).
Hi Sam, big fan of you and your work!
Does this mean I just don't understand how to use the existing UI? I'm often messing around with a bunch of chords and sounds and I quickly run out of scratch space. Does that mean I'm doing it wrong?
What do you mean by “running out of scratch space?”
Do you mean your code was too long that Sonic Pi refused to run it? If so this has been addressed in v5 with much larger buffer sizes supported.
Or do you mean you ran out of buffer? In which case v5 helps again as you can now save and load all the buffers to and from a single save-file :-)
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.
A bit confusing that `<something> Pi` developed two meanings:
- `<brand/line> Pi` as a brand/line of SBCs, with Raspberry Pi being the original
- `<anything> Pi` as a software package targeting Raspberry Pis or SBCs generally
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.
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 love the new Link Audio which lets you stream and receive audio on the local network with any other Link Audio capable software such as Ableton Live.
I also like the new QuickStart Cards as a way to get started that doesn’t require reading the built-in tutorial.
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
That’s because Sonic Pi was originally built specifically for and in collaboration with Raspberry Pi :-)
Was thinking the same.
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!
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.
How exactly does the license matter if you just want to make music?
I want to embed the player into standalone video game binaries that don't require internet access to download the restrictively licensed files. I'm not looking to embed music file outputs, I want the music to remain customizable on the fly.
Seems like a pretty special use-case.
I think the underlying Supercollider sound engine uses the more restrictive GPL, though...
Actually v5 no longer uses SuperCollider’s scsynth engine.
I completely replaced it with my own port called SuperSonic - which targets native (used in this Sonic Pi release), WASM and embedded.
Darn, you're right. Looks like there's still no hope here.
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!
Get Claude to come up with ideas and generate .scd files which you can launch with supercollider. Ask it to build a gui with parameters. It’s pretty good at it.
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.
I'd be really curious for this particular sample to go to court because unless The Winstons have been aggressively enforcing this copyright they may have already lost it to the public domain.
Pretty sure that aggressive defense is required for trademarks and not copyright. However it may be interesting whether or not it's still protected by copyright.
It would need to be defended in court yeah, but the absence of that defence doesn't automatically make it so it falls under the GPL and can be included in MIT licensed code just because the copyright holder doesn't know about it to defend it or refuse to be part of your software. Maybe you can argue the technicality but certainly not in the spirit of open source. There would be hundreds of other breakbeats you could include and give away under your MIT license if that were the case.
Is there any (somewhat) known artist who uses Sonic Pi in their actual work?
https://m.youtube.com/@dj_dave____
she started with Sonic Pi back in ~ 2020 but i guess she uses other stuff by now
Her opening set for Github Universe 2020 that used Sonic Pi is still so great. https://youtu.be/LaKT3pli5EQ
Yeah those recent videos are all Strudel. Pretty amazing stuff btw.