DAEMONV12GIVE AGENTSINSTRUMENTS.

A headless music production engine built for agents.

Public beta · v0.6

GLASS//FIRE · 24.000 s · 160 BPM · 16 barsMusic composed by an agent through DaemonV12 MCP · GLASSHOUSEMotion synced to the real stems · Remotion · 60 fps

01What it is

Coding agents have code tools.They should have instruments too.

DaemonV12 is a headless composition and rendering engine exposed through MCP. Agents author structured music projects, arrange instruments and samples, apply production processing, render stems and analyze the result, without opening a DAW.

Not a generator
There is no model inside. The agent writes every note as data; DaemonV12 plays it exactly where it was written.
Deterministic
Same project, same tool versions, same bytes. Every render records input, asset, tool and output SHA-256 hashes.
Safe tool surface
Edits are validated, revision-checked transactions inside one workspace. Agents can’t run commands or choose output paths.

Capabilities

  • 9MCP toolsstdio server: create, patch, validate, render, analyze
  • 128GM voicesGeneral MIDI through FluidSynth and a SoundFont
  • 2Original sound packsgenerated in the repo, CC0-1.0
  • STEMSWAV / MP3 / MIDIsample-aligned per-track stems
  • GAIN/PANAutomationin musical or wall-clock time
  • FXProcessingHPF · LPF · delay · compressor · reverb · saturation · VO ducking
  • EXACTTimelinesoutput lengths in bars, musical time or seconds
  • SHA-256Deterministic rendersa provenance manifest for every render
  • 0.25–4×Sample performanceper-note rate · glides · source offsets

02Built by using it

Not designedin isolation.

Each release came out of a real piece of music that needed it.

  1. Shoot the MoonFilm score

    A 24-bar cinematic score composed by an agent through the MCP tools against a locked picture timeline: a sync map from the opening drone to the final chord, with one measured revision after a written critique.

    • 57.600 s exact delivery
    • 100 BPM · 24 bars
    • 14 tracks / stems
    • Orbital Foundry + 4 GM voices
    • −16.95 LUFS
    0.021.657.6 S
    25 locked sync points across the reel
  2. Shoot the MoonAdaptive game audio

    Built for a layered soundtrack where gameplay state decides what plays: every layer shares tempo, meter and an exact bar boundary, so the game can bring layers in and out without drift. The game does the switching; DaemonV12 renders layers that line up to the sample.

    • 4 bars @ 100 BPM = 423,360 frames
    • tails cut at the boundary
    • aligned stems
    SURFACETHREATCOMBATCLAIMBAR 1423,360 FRAMES
    Layers locked to one boundary
  3. GLASS//FIREElectronic showcase

    A 24-second electronic piece composed by an agent through DaemonV12 using the GLASSHOUSE sound pack, then synchronized to motion graphics from the real stems and onsets. Authored, edited, validated, rendered and analyzed solely through MCP.

    • 24.000 s · 160 BPM · C# minor
    • all 10 GLASSHOUSE sounds
    • 15 stems
    • Remotion · 60 fps
    HOOK · IGNITION · DROP 1 · FAKEOUT · DROP 2 · PAYOFF

03V0.6 · Sample performance

One sample.Performed.

Sampler and drum-kit notes can play faster or slower, glide between speeds and start from inside the WAV. One source becomes pitched chops, risers, dives and tape stops, with no pre-rendered derived assets.

  • playbackRatePer-note rate, 0.25–4×. Two octaves either way.
  • glideLinear rate moves from the onset: bends, spin-ups, dives, tape stops.
  • offsetSecondsStart reading inside the source, to the nearest frame.

Rate changes pitch and length together, like tape or a turntable. It is not time-stretching.

Source · GLASSHOUSE ghost-vox · 0.95 s · C#4
GHOST//SHIFT pitch trace: one ghost-vox source performed as a hook, an octave-up double, risers, bass dives and a tape stop over 12 seconds
GHOST//SHIFT: the pitch of every ghost-vox voice over the 12-second demo, drawn from examples/ghost-shift.json.hookoctave uprisers · tape stopbass dives
  • 14 playback rates
  • 21 source offsets
  • 3 upward · 6 downward glides
  • 1 source WAV

Bit-exact on every platform. Each performed trigger records its rate, glide, offset and voice length in the render manifest. Still nine MCP tools. Projects without the new fields render byte-identical audio to 0.5.0. Try it: npm run demo:ghost-shift.

04Sound packs

Original sounds,made for agents to read.

Generated in the repository and dedicated to the public domain, each with a machine-readable catalog of roles, tuning and suggested use. The outlines below are drawn from the actual WAVs.

  • Orbital Foundry

    Industrial · mechanical · cinematic

    Twelve sounds, from sub pulse, mechanical kick and metallic strike to low boom, cinematic impact, tension riser, dark drone and alarm energy.

    12 sounds7-hit kitCC0-1.0

    Browse the pack (opens in a new tab)
    • Mechanical kick
    • Cinematic impact
    • Tension riser
    • Dark drone
  • GLASSHOUSE

    Glass · synthetic voice · low end · percussion

    One glass identity and one vocal identity: glass hit, reverse, crush and prism impact; ghost vox and vox chip; a phase-locked punch/sub pair; clap and hat.

    10 soundstuned to C#7-hit kitCC0-1.0

    Browse the pack (opens in a new tab)
    • Glass hit
    • Glass reverse
    • Ghost vox
    • Prism impact

05How it works

How it works

  1. Connect

    Register the stdio server with one workspace root.

    instruments_listdrumkits_list

  2. Compose

    Create a project; add tracks, patterns and clips in validated, revision-checked batches.

    project_createproject_patchproject_read

  3. Process

    Gain, pan and automation; filters, delay, compression, reverb, saturation, ducking.

    project_patchproject_validate

  4. Render

    WAV, MP3, MIDI, aligned stems and a provenance manifest. Offline, no audio device.

    render

  5. Analyze

    Peak, RMS, integrated LUFS, loudness range, true peak, clipping. Hashes on request.

    analyzerender_info

9 MCP tools · stdio · one operator, one workspace

  • daemonv12_project_create
  • daemonv12_project_read
  • daemonv12_project_validate
  • daemonv12_project_patch
  • daemonv12_instruments_list
  • daemonv12_drumkits_list
  • daemonv12_render
  • daemonv12_analyze
  • daemonv12_render_info

06One prompt

An agent example

Create a 16-bar industrial cue at 100 BPM using Orbital Foundry. Render WAV, MP3 and stems, then analyze it.

  1. 01 Project

    {
      "title": "Foundry Cue",
      "bpm": 100, "bars": 16,
      "key": "D minor",
      "tracks": [{
        "id": "rhythm",
        "instrument": {
          "type": "drumkit",
          "kit": "assets/orbital-foundry/kit.json"
        }
      }, {
        "id": "drone",
        "instrument": {
          "type": "sampler",
          "sample": "assets/orbital-foundry/10-dark-drone.wav"
        }
      }, …]
    }
  2. 02 Render

    • .daemonv12-renders/render-…/
    • foundry-cue.wav
    • foundry-cue.mp3
    • foundry-cue.mid
    • foundry-cue.render.json
    • foundry-cue.stems/

    Paths come back to the agent; audio bytes never go through MCP.

  3. 03 Stems

    • rhythm.wav
    • drone.wav
    • riser.wav
    • impact.wav

    Sample-aligned with the master. Then: duration, integrated LUFS and true peak.

From the README: a scripted run of the six tool calls behind a prompt like this produced a 38.4-second cue with WAV, MP3, four stems and analysis in 12 seconds. The JSON is an excerpt; the lanes show real Orbital Foundry outlines.

07Try it

Clone it.Hand it to your agent.

Public beta · v0.6. Runs from a GitHub clone today; it is not published to npm yet. Needs Node 22.18 or newer.

  • Sample and drum-kit projects need only Node.
  • General MIDI voices need FluidSynth and a GM SoundFont.
  • MP3, effects and analysis need FFmpeg.
  • Codex CLI and other MCP clients: MCP client guide (opens in a new tab).
View GitHub (opens in a new tab)

shellfrom README.md

git clone https://github.com/mataindustries/daemonv12.git
cd daemonv12
npm ci
npm run demo:share     # renders the best demo your machine supports

node bin/daemonv12.js init ~/daemonv12-music
claude mcp add --transport stdio daemonv12 -- \
  "$(command -v node)" "$PWD/bin/daemonv12-mcp.js" \
  --root ~/daemonv12-music

08Support DaemonV12

Fund the next instrument.

DaemonV12 is being built independently. If the project is useful to you, you can help fund new instruments, sound packs and agent workflows.

Support developmentOpening soon

09Request a sound pack

Need a sound DaemonV12 doesn’t have?

Game, film, product, weird machine, brand identity: send the target sound and constraints. Strong ideas may become custom or public DaemonV12 packs. Scope first; pricing follows once it’s understood.

Request a packRequests open soon