What advantages are there to using Sonic-Pi instead of directly using Supercollider IDE?


I’m looking to build a hardware instrument and have been evaluating Supercollider and Pure Data as possible sound/sequencing engines.

I have been leaning toward Supercollider and recently found Sonic Pi.
I’m curious to know what advantages the Sonic Pi environment offers over working directly in Supercollider.

Thanks so much for your input.


Think of Sonic-Pi as a window with a view on SuperCollider. The big plus is that you don’t have to write everything yourself to trigger a sound. You already have everything you need to play with some SynthDefs, PBinds, etc. All these things are presented in a complete new and simplified way: the Sonic-Pi syntax. You can still write your own SythDefs and include them in Sonic-Pi if you want.

You also have a powerful I/O for MIDI and OSC. Instead of writing your own, or instead of tweaking things, you have a shortcut to be immediately ready to make some music. Sonic-Pi is using SuperCollider as a sound server. You can’t do everything you want directly in Sonic-Pi, but you can prepare things and trigger them with Sonic-Pi later.

PS: I’m curious. If you want to build a hardware instrument, why are you looking at Sonic-Pi? Sonic-Pi cannot be used to develop software or to design electronic instruments.


What makes you so sure this is the case?

Sonic Pi is great for both of those things - assuming the semantics it provides matches the requitements of the thing you’re building. For example it’s great at routing OSC and MIDI to drive synths…


Hey Sam. I wasn’t trying to say it so abruptly, maybe I failed to nuance my words or the nuance got lost in translation.

Of course it’s great for routing OSC and MIDI and I said it in my previous post. For me, Sonic-Pi might be the most powerful I/O tool that I ever used to make music. I was simply talking about hardware synth architecture and design.

If I were trying to build a standalone brick type synthesizer, I would buy a Bela, a few knobs and I would code something with a MIDI / OSC input so I can trigger it with Sonic-Pi but I would not include Sonic-Pi directly in the hardware architecture. I was just expressing an opinion about what would be my way to do it.

EDIT : I think that we need to define more clearly what we are talking about. Are we talking about using Sonic-Pi as a control tool or as a sound engine type of thing?


The idea is to build a self contained drum synth and sequencer. The buttons and sensors on the hardware unit will send midi values to a Raspberry Pi running Sonic-Pi/Supercollider internally.

Is there an issue with the licensing of Sonic-Pi that would forbid this type of usage?


I wasn’t trying to be defensive - apologies if I came across in this manner. I was just curious as to why you would think that Sonic Pi cannot be used to develop software or to design electronic instruments :slight_smile:

I totally see a valid use case for Sonic Pi being the brain of a small electronic instrument running on a Bela. I also see people using the audio server directly via the OSC interface and eschewing the GUI for a variety of different purposes. Of course, there are many situations where Sonic Pi wouldn’t be the best approach, but I would definitely argue there are some useful and valid situations for using it.