It’s the full SuperCollider synth, without the installation. You can add it to any site (self-hosted). It performs seamlessly via WebAssembly. But most importantly, it’s fun, colorful, and comes with examples and an OSC API so it can interface with live coding tools like Tidal (or your favorite). And you can mess around with it right now, for free.
Now, we are talking about the synth — SuperCollider users, know that this is scsynth, not the companion sclang, though there are clients already that fill that purpose. To non-SuperCollider users, the basic idea is one of the great synthesis engines is now running in a browser in a way that’s finally more or less on the level of the desktop version, which opens up a lot of possibilities (and portability).
You won’t need to know SuperCollider to use this, if you don’t want to. It may just wind up being a back-end for another tool — as simple as choosing “Prophet” or 303 in that dropdown. To understand what that means without any technical knowledge, load the demo, hit that big blue “boot” button, and then drag around with the mouse. Check out the other engines under “synth,” and play with the controls. But the full scsynth capabilities, for those who do know SC.
This is more than just another synth demo in your browser. This is like suddenly your bicycle is also a 747 jumbo jet.
Sam Aaron of Sonic Pi fame — and that Tau5 project I wrote up lately — has hit it out of the park with this one. And this really shouldn’t be possible. How it came about, what prior work it builds on, and how Sam managed to make it work are all covered in a blog post from late last month:
Introducing SuperSonic – SuperCollider’s audio engine in a Web AudioWorklet.
I’ve been meaning to write this up since then, but my slowness has a little added benefit — he’s added synth, samples, and effects, all in a fun, neon-colored interface. You do not need to know anything about code to fire this up, which means it’s a great entry point if you’re new or trying to demonstrate this to non-coders.
This is also the start of something really big, as Sam plans to use this as a core synth for Tau5. That means if you didn’t really grasp what Tau5 was about, this makes it a lot more tangible.
But as a development tool, as a teaching tool, as a collaboration and art tool — this is just a huge breakthrough. It’s also easy to imagine relevance to projects like P5.js, the Web/JavaScript successor to the Processing creative coding environment. I would even wager there’s a new relevance to learning creative coding and not just leaning on AI to do that work for you. But the challenge was often not the coding itself, but frankly, software installation, troubleshooting, and the limitations of the Web for sound, etc. That’s why this looks really exciting.
If you are a developer, you’ll have fun at the code base here:
https://github.com/samaaron/supersonic
But everyone should take a beat and go enjoy this pretty site. From there, you can also support Sam’s Patreon and track his other projects:
https://sonic-pi.net/supersonic/demo.html
More on today’s update and how this ties into Tau5 on Patreon (unlocked post): SuperSonic is Ready for Tau5
It’s a gloomy, rainy day here in Berlin, and the world is bleak, but inside SuperSonic, it feels like your brain is making everything colorful and beepy again. I am hugely excited about what this means for removing barriers to people getting into synthesis, sound, and live coding.
Oh yeah and once you’ve read that — this can be a hub for other environments, too. So in addition to this joint, you should check out the likes of:
- Fragment audiovisual environment
- Strudel (really the direct Web version of TidalCycles, though now this means you could combine this with a SuperCollider synth engine!)
- Gibber audiovisual environment (which also plays nice with others)
- Synthesine, also an Audio Worklet-based synth
- and the mighty Hydra video synth!
(plus there is a JavaScript client for SuperCollider, too, which as far as I know could talk to this synth!)
Not a complete list, but those are some of my favorites, for sure, and they’re all free and open source.
Previously:
AI in the process: It’s always worth asking questions about AI and ethics. In this case, Sam is fully transparent about prior art, other code, and the way he employed machine learning models as part of a larger, four-month-long research and development process. He talks about how the model here was useful in generating the solution — which is a fascinating read for the curious. Like other hacks, prototypes, and what-if scenarios, it also allowed him to test a theory and generate a proof of concept.
This is also an individual development effort, and it’s not yet classified as production or release software. If this were not disclosed, or the results weren’t reviewed and tested, that’d be a big problem. But here, the code is open and available for review, and it hasn’t been submitted to a larger project, meaning there’s no added workload for maintainers. (I heard from a Python maintainer about why they don’t review AI-generated code, and there, it makes sense.) Also, it doesn’t disrupt the SuperCollider API. For a parallel, look at the Heavy project’s benefits for Pure Data, and that’s with only a subset of Pd vanilla’s objects, unlike the fully compatible scsynth here.
This is not to discount concerns about reliance on big tech as a provider, or the ethical and environmental issues that it raises. And I do hope it triggers a conversation about these tools enabling agents, which I know the livecoding community may oppose.
If we start attacking every use of the technology, my concern is that we lose the ability to define precisely where ethical lines lie. Or stigmatizing it entirely could simply encourage people to avoid transparency about how they worked. It seems like we benefit from projects like Sam’s to act as best-practice models for coders who are employing these techniques. That’s my take, anyway — if I missed something, let me know.