"Sonic Pi is your free code-based music creation and performance tool."
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.
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 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 ;) )
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.
Consider his his older project instead? https://overtone.github.io/
He even used to perform using emacs before he created Sonic Pi.
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'm particularly happy to see keyboard shortcut preferences in the release notes, that's been a real pain point.
Thanking you kindly, sir.
I think that app(bosca ceoil) is now back around among us, though I don't recall what had happened back in the day.
Thanks also for your kind support.
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
Congratulations and thank you for your hard work all these years!
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.
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/.
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.
Suggest you drop the Pi name in your next project.