Skip to content

Studio

A production plan might call for a new bass layer, a dry guitar print, a changed transition, and a candidate master. Each need belongs to a different tool role. Studio keeps those roles replaceable while Riffmaw retains the music, its acceptance, and its recoverable history.

Closed-loop production

brief + admitted sources + takes or jam
→ MusicProductionPlan@1
→ generate, capture, or separate candidates
→ analyze musical and measurable facts
→ arrange and render a multitrack revision
→ mix and master under declared targets
→ listen, measure, accept, repair, or stop
→ assets, editable session handoff, or MusicAssetBundle@1

Every iteration names parents and consumes a bounded attempt while accepted sources/takes remain unchanged. Model ranking, measured facts, and Magus acceptance stay distinguishable. Music follows permitted finishes and bounded repair.

Sessions follows live deadlines and epoch recovery against ClockDomainMap@1. The Scroll owns execution and termination; the plan owns musical direction. Once Jam closes, its accepted captured material can enter a slower offline Invocation.

Production roles

Role Owes Riffmaw Does not own
Planner A versioned MusicProductionPlan@1 containing creative form, track roles, desired source placements, prompts, edits, and acceptance criteria. Executable topology, implementation choice, budgets, grants, checkpoints, retry, cancellation, or stopping law; the exact Scroll and Resolution Lock own those.
Generative processor Music, continuation, variation, cover, repaint, conversion, production-effect, or separated-source artifacts from an exact engine and model profile with controls and receipts. Arrangement acceptance, authorship judgment, native-stem claims, or the production session. Speech synthesis enters through Echo's admitted tts contract; dialogue within a source-aligned timed-language edition remains Language Edition work.
Analysis worker Attributed tempo, beat, onset, pitch, chord, section, similarity, loudness, clipping, and quality observations with uncertainty. Creative approval or permission to transform its source.
Offline studio renderer A pinned timeline and processing graph with tracks, clips, MIDI, routing, automation, processors, intermediate renders, node captures, and master buses. Capture, live monitoring, creative mix decisions, the brief, source rights, performer consent, or publication.
Live graph and monitor host A realtime-safe audio graph, device and route lifecycle, direct monitoring, latency and xrun evidence, output fence, and emergency bypass. Model planning, recording permission, or a promise that remote peers are sample-locked.
Timebase coordinator Explicit mappings among sample frame, monotonic time, musical beat and bar, MIDI or network tempo, epochs, clock-rate divergence, and uncertainty. Authority to retime an accepted performance or treat tempo phase as audio transport.
MIDI connector and machine-player scheduler Attributed MIDI/UMP events and deadline-fenced future audio or MIDI entrances against one clock epoch. Permission to read arbitrary devices, admit SysEx, or emit stale responses.
Capture writer Immutable pre-fader audio, MIDI and discontinuity manifests without blocking the realtime callback. Analysis, transformation, retention beyond the admitted policy, or the canonical session record.
Remote-jam transport Authenticated audio/MIDI carriage, codec and jitter state, latency, loss, clock-rate divergence, reconnect epochs, acknowledgements, and local-monitor policy. Recording consent, a shared sample clock, or Composition authority.
DSP and instrument host Allowlisted processor binaries, instruments, presets, ports, automation, latency compensation, tails, crash isolation, safe bypass, state, and rendered output. Ambient plug-in discovery or silent substitution of a missing processor.
Mastering worker A target-bound final processing revision and measurable loudness, peak, dynamics, stereo, sample-rate, and format facts. Musical acceptance merely because numerical targets passed.
Media utility Bounded decode, encode, resample, trim, join, metadata, waveform, and conformance operations. Semantic interpretation or application finish.
Human DAW projection Portable assets, tempo and marker maps, automation or mix notes, and enough lineage to continue manually. The canonical Riffmaw record or authority to mutate it behind the handoff.

MusicProductionPlan@1 is a neutral creative record. The exact Spell implementation compiles only the creative fields admitted at its pinned placement into a tool dialect. The plan cannot be executable Python, a Scroll, a DAW session, or a provider request by implication. Failure settles the implementation; another declared exact branch or forward Invocation may try different craft without changing the current Resolution Lock.

A human handoff must name what can be continued: portable assets, MIDI, maps, processing receipts, and notes. It must not promise lossless plug-in/automation round trips merely because two programs can open a project format.

Current candidate map

The following ledger retains the study reviewed 2026-08-26. Its dated observations are selection inputs, not delivery or promotion receipts. Before a trial, each candidate still needs licence admission, exact engine/model profile where applicable, pinned Rune, hardware/latency measurements, hostile-input bounds, fixtures, restart behavior, and a bake against the role above. Fast-changing availability and APIs must be checked again at selection time.

Candidate Candidate office Present reading
audio.cpp, evaluated at 0.5 Inference engine for music-generation and separation profiles Local route for explicitly supported ACE-Step, Stable Audio, Demucs and RoFormer families. A Riffmaw profile admits only proved musical operations; server API and pipelines remain experimental, loaded sessions live until process exit, and Apache-2.0 runtime terms do not admit a model's weights. Keep exact families in isolated, lifecycle-reclaimable workers.
MiniMax Music 3 Offline generative-processor model profile Direct long-form song candidate conditioned on lyrics plus a detailed music description. The upstream card exposes SGLang-Omni and Diffusers routes; the Comfy-Org pack supplies a ComfyUI-shaped route. Each pack, component, structured-caption transform, language, duration, precision, offload plan, cancellation behavior, and licence closure needs an exact bake; no route becomes Riffmaw truth or speech TTS.
MiniMax hosted Music Generation Portal generative-processor candidate A separate provider API currently names music-3.0 and accepts prompt plus lyrics. It is not presumed byte-, model-, output-, or policy-equivalent to the open-weight Music 3 profile. The provider's August 2026 notice restricted paid Music/Lyrics API access to existing paying users from August 20 and announced discontinuation of the free music APIs. Recheck eligibility and terms before every trial; no local failure may replay here automatically.
DawDreamer Isolated offline renderer and DSP/instrument host First candidate for processor DAGs, audio and MIDI, timing, automation, VST and FAUST, and simultaneous graph-node captures. It is GPLv3 and Alpha, has no capture or live-jam contract, and emits no persistent human-editable DAW session; its “stems” are selected graph outputs.
FFmpeg Media utility and conformance probe Conversion, resampling, channel, packaging, and two-pass loudness-normalization route when the exact binary, build flags and sample format are pinned. Target compliance is not mastering judgment.
librosa Initial analysis library ISC-licensed first route for a bounded tempo and onset proving fixture. It is an analysis implementation, not a realtime clock or production decision-maker.
PortAudio with python-sounddevice First bounded capture worker Small first route for one explicitly armed audio take. It does not supply the multiclient graph, musical clock, remote jam, or full studio session.
PipeWire with JACK compatibility Live graph, MIDI and monitor host candidate Linux route for low-latency ports, links, MIDI, transport, latency and xrun evidence. It is host infrastructure rather than another inference engine and still needs a Riffmaw capture, epoch and output-fence adapter.
Ableton Link Optional LAN tempo and phase bridge Provides musical tempo, beat and phase agreement. It is not audio transport, recording consent, or sample-clock authority.
JackTrip Remote-jam transport candidate First research-bake candidate for low-latency network audio. Authentication, encryption, jitter, recording consent, clock-rate divergence, failure and local monitoring remain Riffmaw admissions rather than consequences of connection.
DAWproject Neutral human-handoff candidate MIT interchange schema for project structure and device state where a target DAW supports it. Canonical handoff remains raw and rendered assets, MIDI, tempo and markers because not every workstation round-trips the format.
Essentia Optional broad analysis worker Broad MIR coverage, but the open path is AGPLv3, commercial alternatives exist, and upstream learned-model terms can be non-commercial or no-derivatives. Do not make it the default first dependency.
Matchering Watched reference-guided final processor GPLv3 optional reference treatment whose latest packaged release is old. It matches one target's measurable spectrum, level, peak and stereo properties to a reference; it neither mixes stems nor proves musical mastering quality.
Ardour Human DAW and watched mature renderer FOSS workstation for capture, sessions and stem export. Lua, OSC and libardour utilities deserve a later bake, but headless/API parity with complex GUI editing is not promised and arbitrary plug-ins are not sandboxed.
Diff-MST Ineligible research reference for automatic mixing Predicts interpretable reference-conditioned gain, pan, EQ and compression, but has no stable package or API and its code is CC-BY-NC-SA. It cannot enter the FOSS Core path under the present policy.
ACE-Step DAW Design reference Its sequential “LEGO” generation and scriptable browser state resemble Riffmaw's desired loop, but it is an AGPL WIP browser/Tone.js application with IndexedDB state, no releases, and no versioned remote agent contract.

Minimum first proofs

Workbench records the agent/human edit-render-listen requirements and finite engineering-worker plan. That trial supplies technical recipes and receipts; native application admission, Comfy Soulstone management, musical acceptance and Jam keep their separate proofs.

The proposed offline proof chooses one baked music profile. The dated study selects MiniMax Music 3 through an immutable allowlisted ComfyUI preset as the first long-form candidate, with audio.cpp as the alternative family road. It also calls for a separated-source profile, isolated DawDreamer with allowlisted processors, pinned FFmpeg, librosa tempo/onset probes, and a LychD sample-accurate compiler from creative plan placements into the exact render graph.

That proof may establish assets_only and bounded assisted_session. Its human return is stems, MIDI, tempo/markers, processor receipts, and mix notes—not a native DawDreamer project. Add PortAudio only for the separate armed-take proof.

The live proof starts again from its own contract: PipeWire/JACK graph and clock evidence, MIDI scheduling, capture writer, output-deadline fence, then a machine player. Scheduled symbolic MIDI precedes any realtime ACE-Step audio claim. Remote Jam and automatic mix control remain later bakes. New tools enter only when they close a missing musical role.