Claude Code Music

https://async2026.daz.is

Mi-03 Bassline

The MI-03 bassline synth

C++ Audio Plugin, years of DSP research, 3 years of building, released 2024

One prompt

make a cool looking music page using web audio that uses my mi03 bassline synth as inspiration. I will eventually think about compiling that C++ to wasm but for now just use web audio. Needs to have a step sequencer bass synth with filter, resonance, mod, and attack controls (inspired but simplified 303) with a simple step sequencer for acid bass line pattern. and then a 909 sounding simple drum machine pattern sequencer. all on one standalone html page please

It went looking

  1. Project folder: empty
  2. find ~/dev -iname '*mi03*'
  3. Read the product page: mi_web/templates/mi03.html
  4. Looked at a screenshot and read the manual

It never found or read any C++ source. The look and the sequencer design came from the product page, one screenshot and the manual.

It also read outside the project folder without asking.

One prompt

I made this thing a long time ago and it's really out of date: https://github.com/tone-lab/tone-lab It's on an old version of angular. Can you make it a standalone file like the other synth in this repo? Use a dynamic workflow to research plan and implement efficiently.

It works!

But let's give it a better design...

But can it drum and bass?

How did you do that?

Claude Code error: Opus 5.5's safeguards flagged this message, details reasoning_extraction

How it makes a patch

  1. Settle the genre, tempo and modules to feature
  2. Look up each module's params and ports. No guessing.
  3. Write the patch as JSON
  4. Check it loads clean, and that every part reaches the mixer
  5. Render it, and level each channel against similar starters

That's the /tone-lab-patch skill.

Claude can't hear

But it can see FFT plots, and analyse audio files with tools

Spectrograms of the crash cymbal before and after the fix, beside a recorded crash
Before
After
A real crash

Claude can't hear

But it can see FFT plots, and analyse audio files with tools

Spectrograms of the ride cymbal before and after the fix, beside a recorded ride
Before
After
A real ride

More features

Audio glitches

The more features I added, the more it glitched

So rearchitect around a Web Audio worklet

Prototyped twice

Both sound good

A parity tool compared their output: they matched within -144 dB

Rust is faster

Rust against JS
Chrome1.4 to 1.9×
Firefox3.2 to 3.9×
WebKit1.5 to 2×

In Firefox, the stress patch fell from 11.8% to 3.0% of a CPU core

Claude picks JS

I want Rust

Claude's reasons for JS

Easy to refute

More spikes

One prompt

use a dynamic workflow to progress the work described in task 2 of @docs/todo.md launch multiple dynamic workflows in series to complete the work. commit after each batch of work to keep a log but make as much progress as possible without getting stuck in endless testing and verification. we can do more intense testing at the end, for now progress using multiple workflows as much as possible. toward getting a working v2 rust Tone Lab that exceeds where we got to with v1 (but backward compatibility is not required).

Workflows in progress

Claude Code's list of dynamic workflows: one running and five completed, each with its time, agent count and tokens

Final stats

TimeWorkflowsAgentsTokens written
Session 17h 08m4483.7M
Session 24h 45m1251.8M
Total11h 53m5735.5M

Two sessions, because the first crashed and I restarted it.