Hacker News new | past | comments | ask | show | jobs | submit
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.

See https://github.com/samaaron/supersonic

Hi, Sam! I have to say that's a strange statement. SuperSonic still uses scsynth as its synthesis engine. How is that a "complete replacement"?

I see that you are trying to circumvent the GPL, with somewhat dubious arguments. I'm pretty sure that running scsynth in an AudioWorklet creates a combined program and not an aggregate. (I'm not the only one who has raised this concern.)

Since scsynth is the foundation of Sonic Pi, why not respect the intention of its author?

Sorry if it came across as strange. I’m just making sure people don’t confuse the two as SuperSonic isn’t an official SuperCollider project and I don’t want to cause any confusion.

I’m also definitely not wanting to circumnavigate the GPL! I have wholeheartedly embraced it as whilst I would argue it isnt scsynth it is most definitely a derivative work with a lot of shared code. There’s also a lot that is different/new.

Instead I’m only attempting to uphold the same network boundary that has existed since v3 of SuperCollider. When used over a network using an open and documented protocol that doesn’t tend to be considered a derivative work. This is observed in other software is such as databases.

Oh and in Sonic Pi’s case I am not running anything in an audioworklet. SuperSonic is built and shipped in its native form as a totally separate process. No js or browsers involved.

Sorry for any confusion.

loading story #49250967
Hi! why a port and not contribution to the original project? What were the reasons? Will this be 100% compatible in the future? Thanks!!
SuperSonic started life as an experiment side project and was the first successful AudioWorklet port of scsynth. When I got it working I shared it with the SuperCollider community with the hope that some form of contribution collaboration might happen but there didn’t seem to be much interest - and mostly friction possibly due to the fact that I had made use of LLMs to navigate and study the original code base. They then built their own audioworklet version which they merged into mainline. That was a signal for me to continue independently which I did - subsequently adding native and embedded targets to SuperSonic.

Sonic Pi uses the native version which includes substantial improvements specifically for the use case for Sonic Pi (schools and beginner ergonomics) vs pro audio workflows.

Also I definitely intend to keep things compatible where feasible and have already done this since November 2025.

It seems that SuperSonic also uses GPL, no?
Yep, as it’s a derivative work. But I have put effort into making the interface purely network shaped so it’s possible to use it from non-gpl projects without them being considered a derivative work and triggering the gpl.
loading story #49249085
Darn, you're right. Looks like there's still no hope here.