ableton-auto-mix-mcp
{
"answer": "This MCP server provides AI-powered auto-mixing and mastering for Ableton Live, with or without Ableton running. Here's what you can do:\n\n- Style profiles — list_styles and get_style browse 11 built-in genre profiles (techno, hip-hop, pop, lo-fi, ambient, trance, breaks, dubstep, drum & bass, trap, balanced), each with target spectral curves, LUFS/LRA, instrument balance, compression, and FX recommendations.\n- Ableton status — get_ableton_status verifies connectivity to a running Ableton Live instance via AbletonOSC and returns basic project info.\n- Audio analysis — analyze_audio measures a single WAV (LUFS/LRA, RMS, peak, spectral band energy, stereo width), while analyze_render_dir batch-analyzes an entire folder of bounced tracks.\n- Auto-mix — auto_mix compares renders against a chosen style and produces per-track corrections (volume, pan, EQ band deltas, compression hints). Run as dry_run for a report only, or apply directly to Ableton Live via OSC.\n- Mastered preview mix — preview_mix sums corrected tracks with sidechain ducking, HPF, mud-cut EQ, soft-clipping, LUFS normalization, true-peak limiting (4× oversampling), and TPDF dither — outputting a master-ready stereo WAV without opening Ableton.\n- Style suggestion — suggest_style analyzes your renders and recommends the best-fitting style profile.\n- Frequency conflicts — analyze_conflicts finds track pairs fighting over the same band (e.g., bass vs. sub, snare vs. bass) and suggests fixes (high-pass, EQ cuts, ducking).\n- Release check — release_check gates your mix against top-label targets (LUFS, LRA, true peak, RMS, spectral tilt) and returns a ready or needs_work verdict with per-metric breakdowns."
}
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ableton-auto-mix-mcp Mix the renders from renders/ in a techno style, show what to change"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MusicMixCode Desktop

AI-powered mixing and mastering — both as an MCP server for AI agents and a standalone desktop app.
What's Inside
Layer | Stack | What it does |
Desktop App | Tauri 2 + React + TypeScript | Visual mixing interface with waveform, EQ, 3D spatializer |
Backend API | FastAPI (Python 3.10+) | REST API for analysis, preview render, export |
MCP Server | stdio/OSC | 13 tools for AI agents (opencode, Claude Code) |
DSP Engine | numpy + scipy | Full mastering chain: EQ, compression, sidechain, limiting |
Related MCP server: Ableton DJ MCP
Desktop Features
Waveform Editor — visual track import, drag & drop, volume/pan per track
Style Profiles — 18 genre presets (techno, hip-hop, ambient, jazz, metal, R&B...)
AI Recommendations — RAG-powered suggestions for compression, sidechain, EQ
Master Preview — render mastered mix to WAV with full DSP chain
Live Spectrum — real-time FFT visualization during playback
3D Spatializer — binaural head-tracking positioning per track
EQ Editor — interactive frequency curve with drag handles
Export — Ableton Live (.als), JSON (universal), or WAV/FLAC/MP3 format conversion
i18n — English & Russian
Auto-Update — via GitHub Releases
Quick Start
Desktop App
# Windows
cd desktop
npm install
npm run tauri dev # development
npm run tauri build # release build → src-tauri/target/release/bundle/
# macOS (requires Xcode CLI tools)
cd desktop
npm install
npm run tauri dev
npm run tauri build # → DMGBackend Only (API / MCP Server)
pip install -e ".[dev]"
python -m ableton_auto_mix # MCP server
python -m uvicorn ableton_auto_mix.api_app:app --port 8787 # REST APIArchitecture
desktop/src-tauri/
├── src/main.rs # Tauri entry point
└── tauri.conf.json # App config, bundling, auto-update
desktop/src/
├── components/
│ ├── WaveformEditor.tsx # Track waveform + per-track controls
│ ├── MixPanel.tsx # Main mixing interface
│ ├── LiveSpectrum.tsx # Real-time FFT via WebAudio
│ ├── Spatializer3D.tsx # Binaural positioning
│ ├── EqCurveChart.tsx # Interactive EQ editor
│ ├── ReferencePlayer.tsx # A/B reference playback
│ ├── ExportDialog.tsx # Export to Ableton/JSON/Audio
│ └── ui/ # Glassmorphism UI primitives
├── lib/api.ts # FastAPI client
└── i18n/ # en.json, ru.json
src/ableton_auto_mix/
├── analyzer.py # LUFS/LRA, spectrum, stereo width
├── mixer.py # Style-based corrections engine
├── preview.py # Mastering chain render
├── reference_store.py # RAG reference database
├── ai_recommender.py # AI mixing recommendations
├── ableton_export.py # .als + JSON export
├── logging_utils.py # Structured logging
├── ableton_client.py # AbletonOSC bridge
├── dsp/ # Biquad filters, EQ, compression, spatial
└── styles/ # 18 genre profiles (JSON)Style Profiles (18)
Electronic: techno, trance, breaks, dubstep, drum_n_bass, trap, lo_fi
Pop/Hip-Hop: pop, hip_hop, rnb
Rock/Metal: rock, metal
Jazz/Soul: jazz, funk, country, classical
Ambient/Cinematic: ambient
General: balanced
Each defines: target LUFS/LRA, spectral curve (6 bands), per-role levels, HPF, sidechain, compression, FX recommendations.
MCP Tools
Tool | Description |
| List all available style profiles |
| Full profile details |
| Check Ableton Live connection |
| Metrics for one WAV |
| Metrics for all renders |
| Corrections (dry-run or apply) |
| Best-fitting style for material |
| Render mastered preview WAV |
| Frequency clashes between tracks |
| LUFS/TP/LRA vs label targets |
Export Modes
Mode | Description |
Ableton (.als) | Full session with audio tracks, gain, pan, EQ Eight |
JSON | Universal format for any DAW via scripting |
Apply to Live | Push corrections directly via AbletonOSC |
Audio | WAV (16/24/32-bit), FLAC, MP3 (128–320kbps) |
Tests
python -m pytest tests/test_core_units.py -q # 16 unit tests
python -m pytest tests/test_rag.py -q # 13 RAG tests
python -m pytest tests/test_preview_harness.py -q # 9 e2e testsCI/CD
CI (
.github/workflows/ci.yml) — Python 3.10–3.12, ruff, mypy, frontend buildRelease (
.github/workflows/release.yml) — Windows NSIS + macOS DMG (Intel + ARM)Pre-commit — ruff lint/format, mypy
To trigger a release build:
git tag v0.1.0
git push origin v0.1.0
# → GitHub Actions builds Windows .exe + macOS .dmg
# → Creates draft release with artifactsLicense
MIT © 2026 MusicMixCode / HighVoltSound
Available Tools
10 toolsanalyze_audioARead-onlyIdempotent
Analyze a rendered WAV file into mix metrics: loudness (LUFS/LRA), RMS, peak, spectral band energy and stereo width.
Read-only. Use on a single bounced render. For a whole folder of renders, use analyze_render_dir instead.
Inputs: path (required). Returns: object
analyze_conflictsARead-onlyIdempotent
Analyze the rendered tracks and report which pairs are fighting for the same frequency band (e.g. bass vs sub, snare vs bass). Each conflict comes with an actionable suggestion (high-pass, EQ cut, ducking).
Read-only diagnostic. Run before auto_mix to plan EQ/ducking decisions.
Inputs: pattern, render_dir. Returns: object
analyze_render_dirARead-onlyIdempotent
Analyze every WAV in a directory of rendered tracks. Point this at the folder where you bounced the Ableton tracks (one WAV per track).
Read-only, batch variant of analyze_audio. Run this before auto_mix or preview_mix so the renders are measured against the style profile.
Inputs: directory. Returns: result
auto_mixADestructive
Auto-mix rendered tracks toward a musical style.
Args: style: style name (see list_styles) render_dir: folder containing one WAV per track (bounced from Ableton) dry_run: True returns recommendations without touching Ableton; False applies the volume/pan corrections to the Live set. pattern: glob for audio files inside render_dir
Returns: Per-track corrections (levels, pan, EQ band deltas) and master notes.
Call with dry_run=True first to review the recommendations; only use dry_run=False to apply them to the Live set. Requires Ableton Live + AbletonOSC for dry_run=False; the dry run works offline.
Inputs: style (required), dry_run, pattern, render_dir. Returns: object
get_ableton_statusARead-onlyIdempotent
Check connection to Ableton Live and return basic project info.
Inputs: no named parameters. Returns: object
get_styleARead-onlyIdempotent
Get the full profile for a style, including spectral curve, track balance, compression and FX recommendations.
Read-only. Call list_styles first to see the available names, then pass one here to fetch its detailed profile.
Inputs: style (required). Returns: object
list_stylesARead-onlyIdempotent
List all available mixing styles with their targets.
Read-only. Call this first to discover style names; pass one to get_style, auto_mix or preview_mix.
Inputs: no named parameters. Returns: result
preview_mixAIdempotent
Apply the style corrections to the rendered WAVs and bounce a stereo preview mix you can listen to WITHOUT Ableton: volumes + pans are applied to the audio directly, tracks are summed, and the result is normalized to the style's target loudness. Returns the path to the preview WAV.
Args: style: style name (see list_styles) render_dir: folder containing one WAV per track pattern: glob for audio files inside render_dir output_path: where to write the preview (default: <render_dir>/preview_.wav) max_duration: cap preview length in seconds. When renders have mismatched lengths (loops vs full arrangement), pass the loop length so the preview stays a tight section. If None, all tracks are trimmed to the shortest render. manual_gain: extra per-file volume in dB, keyed by the render file name without extension, e.g. {"snt2": -4.0}. sidechain_db: duck all non-snare tracks by this many dB when a snare hits, e.g. -4.0 for a light pump. None disables it.
Works fully offline (no Ableton needed) as long as the render WAVs exist. Use this to listen to the mix before applying anything in Live; for recommendations only, use auto_mix with dry_run=True.
Inputs: style (required), pattern, render_dir, manual_gain, +3 more. Returns: object
release_checkAIdempotent
Run the mix through a label-style quality gate.
If output_path is not given, it re-renders the preview for the requested style (or reuses the existing preview file) and measures it against top-label targets: LUFS, LRA, true peak, RMS and spectral tilt. Returns a ready/needs_work verdict with per-metric results.
Read-only for your audio files; it may write a preview WAV when output_path is omitted. Run this last, after preview_mix, to decide whether the mix is release-ready.
Inputs: style, pattern, render_dir, output_path. Returns: object
suggest_styleARead-onlyIdempotent
Analyze the rendered tracks and suggest which style profile fits best.
Read-only. Use this before auto_mix when you are unsure which style to pick; the returned profile name can then be passed to auto_mix or preview_mix.
Inputs: pattern, render_dir. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes: querying status, listing/fetching styles, analyzing audio in two forms, auto-mixing, previewing, suggesting styles, analyzing conflicts, and release checking. The two analyze tools (analyze_audio vs analyze_render_dir) could be confused at first glance, but descriptions clearly differentiate single-file vs directory batch, so boundary is well-defined.
All tool names follow a consistent verb_noun snake_case pattern: get_ableton_status, list_styles, get_style, analyze_audio, analyze_render_dir, auto_mix, preview_mix, suggest_style, analyze_conflicts, release_check. There are no deviations in style or mixed conventions.
Ten tools is firmly in the well-scoped range for an audio mixing server. Each tool maps to a distinct workflow step (discover, analyze, suggest, preview, apply, verify), and none feels redundant or placeholder.
The surface covers the full workflow: style discovery, audio analysis, auto-mixing, offline preview, style suggestion, conflict diagnostics, and a final release gate. Minor gaps include the absence of a tool to apply or revert individual mix corrections outside of auto_mix, and no explicit way to manage/edit style profiles—but these are secondary to the core mixing workflow.
Maintenance
Related MCP Connectors
AI mixing and mastering: analyze your mixes, run DSP autofix, render stems, and master tracks.
Compose, mix, master and export in Logic Pro, REAPER or Ableton Live by talking to an AI engineer.
AI mixing and mastering in the chat: check a song, mix your stems, change the mix in plain words.
AI music production assistant — audio profiling, AI mixing sessions, and service inquiries.
Related MCP Servers
- AlicenseBqualityCmaintenanceConnects Ableton Live to AI through MCP, enabling prompt-assisted music production with extended tools and a 33-personality style system for generating parts in various artist styles.6243 PyPI5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI-assisted electronic music production in Ableton Live, with built-in genre theory for indie dance, tech house, melodic techno, and house music.8GPL 3.0
- AlicenseNot gradedqualityDmaintenanceBridges AI assistants with Ableton Live, enabling real-time control, offline project analysis, version tracking, and rack/preset parsing for music production workflows.MIT
- AlicenseBqualityDmaintenanceEnables AI-powered music production in Ableton Live through natural language, with tools for composition, arrangement, mixing, and sound design.52MIT