My audio engineer is Claude Code + Ableton MCP + ffmpeg
2026-05-17
Intro
I love making music. The mixing part, less so. It's where you stop being creative and start being a technician, fighting frequency clashes and phasing issues that only show up on phone speakers.
I figured AI can help there. Claude Code drives Ableton via MCP, ffmpeg measures what's actually coming out (frequencies, loudness, peaks), and I get to act like Rick Rubin.
Here's how it works, using house and disco mixing as the example.
0:00 / 0:00
This is how the final loop sounds like
Installation
You need an agent running in your terminal. I'm using Claude Code, but any agent that speaks MCP should work.
Install the Ableton MCP bridge and register it with your agent. Daniel Raffel's setup guide covers it in a few minutes.
Install ffmpeg. We'll use it for spectrum analysis between mix iterations. Old habit, but it's the right tool.
If everything's wired up, you should be able to ask your agent something like "list the tracks in my Ableton project" and get a real answer back.
The Technique
Export each track from Ableton as an unprocessed .wav to a working folder. Name them so the agent can match stems to tracks in the project. I use track1_drums.wav, track2_bass.wav, track3_keys.wav for tracks named Drums, Bass, and Keys.
0:00 / 0:00
track1_drums.wav
0:00 / 0:00
track2_bass.wav
0:00 / 0:00
track3_keys.wav
Open Claude Code in that folder. First, get the agent oriented:
Analyze the frequency profile and loudness of each .wav in this folder using ffmpeg. Hold the results as context for the mix we're about to do.
Set the brief:
You have access to Ableton via the MCP bridge. We're mixing these three tracks. Target playback: smartphone speakers. Keep everything mono-compatible below 200Hz and watch for phasing.
Start with gain staging and panning. Tell the agent what's foreground and what's support — the master shouldn't be clipping:
Do initial gain staging and panning. Drums forward, bass supporting under them, keys slightly wide. Keep the master below 0dB.
Bounce the current state of the mix from Ableton (File > Export Audio) back into the same folder. If you want to A/B as you go, name them incrementally: mix1.wav, mix2.wav, and so on.
Have the agent listen with its eyes:
Analyze mix1.wav with ffmpeg. Flag muddiness, clipping, quiet regions, and any frequency ranges that are getting crowded.
This is the pattern you'll repeat after every stage: bounce, analyze, give feedback, move on.
Then walk the plugin chain, one stage at a time. The order matters. Each plugin acts on the signal the previous one shaped.
This is the chain I happen to use. I mix house and disco, and this is what works for me. The point of the post isn't this specific chain; it's the workflow of running an agent through whatever chain makes sense for what you're making.
Filter → EQ → Unmasker → Transient shaper → Compressor → Saturator → Width adjuster (mono-maker on the low end)
The agent loads each plugin onto the right track through the MCP bridge and sets the parameters itself. Cutoff frequencies, ratios, thresholds, makeup gain. You don't touch the Ableton UI. After each stage, it bounces the mix, re-runs the ffmpeg analysis from step 6, identifies issues (bass dominating the low-mids, busy ranges around 2kHz, transients getting squashed), and either applies fixes to the current stage or adjusts gain staging before moving to the next plugin.
This is the propose-verify-steer loop: the agent proposes parameters, ffmpeg verifies against measurable targets, and I arbitrate on taste.
Your job in the loop is steering, not diagnosing. Listen to the bounces. Push back when the result doesn't sound like you. "This is too clean, I want more grit." "The kick is sitting too polite." The agent is good at finding problems; you're the one deciding which problems are actually problems. This is where the work happens, and it's the part where your taste comes in.
When the mix sits right, hand it to mastering. A reference track helps:
Master the mix. Here's a reference: reference.wav. Analyze its loudness, dynamics, and frequency balance with ffmpeg, then push the master toward the same profile.
Bounce the master. One more pass:
Analyze the master. Anything off — loudness, clipping, frequency balance? Compare against the reference.
Repeat until it lands.
On Taste
This workflow works best if you stay in the loop. Give feedback between steps. Tell the agent when something doesn't sound like you. Pushier, dirtier, more space, less polish. The agent handles the frequencies. You handle the character.
Sometimes your best work is the worst mixed. The agent won't know that. You do.