Hello,
Have you had a chance to read this and watch the video included?
What is happening there? Can you describe this setup? So strange and dope hehe
Since I am neither the author of the post nor the YouTube videos, I do not know how they work. I would like to examine how he did it, but the source has not yet been made available.
Hi! I’m the author of ClaudeCollider. Amazingly cool to see this shared here!
The first half to ClaudeCollider is an MCP (Model Context Protocol) server that basically starts an scsynth process over stdio and sends it messages, parses the response, munges it and sends it back to the LLM. This should work with any LLM that supports MCP, but Claude is my LLM of choice so that’s what I went with.
The second half to ClaudeCollider is the Quark. While Claude can write pretty much anything in sclang on the fly, we can shift a lot of that code into the Quark and save Claude some thinking. Things like prebaked, parameterized synths and effects and lazy loaded samples.
The video you saw is the first demo I put out there, and it’s using Claude Desktop to write music via SuperCollider code. As you can see it’s pretty slow, and I presume that’s because it’s more of a thinking and answering application (probably some internal prompt that makes it more conversational, etc.). Lately I’ve been using Claude Code and I find the results much faster, probably because it’s a coding application, a really good one. Near the end of the video, Claude is simply sending the patterns over MIDI to control the synthesizers, pretty easy in SC.
I’ve made a few more demos since then. Here’s the YouTube playlist. I hope you enjoy the switch to Claude Code, I love seeing the generated code and the thinking behind it.
I’ve also open sourced it: GitHub - jeremyruppel/claude-collider: Claude Collider 🎵
Please feel free to contribute! I’d especially love human eyes on the Quark as I’m far less literate in sclang than I am in Typescript.
My takeaway so far is Claude comes up with some really clever ideas sometimes, like I would actually call it “creative”. I’d imagine different LLMs produce different results, and there are plenty of other coding models out there, so I’m excited to see what the others come up with.
Again super stoked this is of interest and I’m happy to answer any questions. Cheers!
Hey all!
Just came by to announce the 0.2.0 release of Claude Collider. A couple of notable additions since this was shared last:
- I’ve been working on a “tape” format to let Claude transcribe its compositions and reliably play them back later. The format that seems to work the best for LLMs is a pair of files: one markdown file (example) that gives the LLM a high level, human-readable overview, and a second that contains SuperCollider synth defintions, routing, and whatever else it takes to set up the song (example).
- A CCArrangement class that is basically a DSL over scheduling section transitions for a song arrangement. MIDI clock sync integration to keep hardware in sync.
- A CCBreakbeat class that lets you chop up a drum break and hot swap it while playing.
- Claude skills, including a songwriting skill that includes music theory, techniques, and more. Accompanying CCMotif, CCPhrase and CCMelody classes to programmatically define musical rules and patterns.
…and probably some other stuff I’m forgetting.
Check out Claude Code playing back a tape of its song Pressure Drop on a few meatspace synths here: https://youtu.be/PcMeN4wbtv8?si=50mqsUYsiGzmLGcC