You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Music producers who want AI assistance face a binary choice: opaque generative models that produce full tracks they cannot edit, or manual DAW work with no AI support. Neither is right. A producer needs an AI that understands musical intent, generates transparent symbolic artifacts (MIDI, automation, vocal stems), and keeps the DAW as the final source of truth.
2. Solution
Serenade is a Claude Code copilot for Ardour producers. Claude plans and edits songs through a local MCP server; Ardour remains the authoritative session host. The AI never "owns" the song — it issues change plans that compile into Ardour-visible artifacts: MIDI regions, track templates, plugin presets, automation envelopes, and vocal stems from SoulX-Singer.
3. Goals
G1 — Claude can bootstrap a full Ardour session from a SongSpec JSON in one command.
G2 — Claude can compose MIDI (harmony, bass, drums, melody) deterministically with no music foundation model.
G3 — Claude can render lead vocals and harmonies via SoulX-Singer zero-shot synthesis.
G4 — Human edits inside Ardour are preserved across incremental MCP reconcile operations.
G5 — The MCP server ships with a conservative local-only security posture by default.
G6 — All contracts are schema-validated and testable without a running Ardour instance.
4. Non-Goals
NG1 — No generative music foundation model (Suno, Udio, MusicGen, etc.). MIDI is always symbolic.
NG2 — No cloud MCP exposure. stdio by default; loopback HTTP for debugging only.
NG3 — No Windows-native Ardour integration in v0 (WSL2 Linux target only).
NG4 — No real-time audio processing inside the MCP server.
NG5 — No per-speaker voice training in v0 (SoulX zero-shot only; RVC/so-vits-svc in v1).
5. Users
Persona
Need
Producer-songwriter
Wants to describe a chord progression or song structure and get a playable Ardour session.
Beatmaker
Wants drum patterns, bass lines, and synth leads wired to plugins without manual track setup.
Vocal arranger
Wants to align lyrics to a melody and render with a voice reference, without hiring a vocalist.
Hobbyist
Wants to make music with minimal DAW expertise; uses natural language to drive the session.
6. Functional Requirements
6.1 MCP Tools (all 10 in v0)
Tool
Requirement
system.health
Returns live status of Ardour OSC connection, SoulX availability, and project root.
session.bootstrap
Creates or reconciles an Ardour session from SongSpec; reconcile-not-recreate by default.
tracks.create
Creates missing tracks from TrackDef[]; skips existing tracks by name.
markers.create
Adds named markers at beat or sample positions; no duplicate names.
midi.upsert_region
Creates or replaces a MIDI region on a target track; validates time bounds.
audio.import_file
Imports a WAV/FLAC file onto a target track at a given sample offset.
plugins.apply_mapping
Applies a plugin chain from the category registry or an explicit override.
automation.write
Writes an automation lane (gain, pan, plugin param) from a list of time-value points.
vocals.render_soulx
Renders a vocal stem via SoulX-Singer subprocess given a VoiceProfile + target metadata.
mix.export
Exports the session to WAV/FLAC mix (and optionally stems) via SimpleExport.
6.2 MIDI Generation
Chord plans from Roman numerals or explicit chord names via music21.
Bass lines (root/5th, octave, arpeggiated) from chord plans.
Drum patterns from human-readable JSON grid (kick/snare/hat/etc.) → GM MIDI.
Optional rule-based monophonic melody from scale degrees.
Lyric syllable → note alignment for vocal metadata generation.
All generators are deterministic given the same SongSpec.