Studio

In plain words: Riffmaw: production tools

Designed 7 min read 9 glossary terms 6 connected pages
The short version written for the Snayu team

The production loop and the replaceable tool roles (planner, generator, analyzer, renderer, live host, mastering and so on), plus a dated map of candidate tools like MiniMax Music 3, DawDreamer and PipeWire.

Why read it: Read when choosing or integrating music tools, models or audio libraries for Riffmaw.
  1. 1A neutral production plan drives tools; it is never executable code or a DAW session.
  2. 2The candidate map (reviewed 2026-08-26) lists selection inputs, not delivered integrations.
  3. 3First proofs: offline render with one music model, then a separate live-graph proof.

Designed Tool roles and candidates are planned; no production integration delivered.

Words on this page, decoded click one for its card

The original text Underlined words open their plain-English card.

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

For each iteration, name the parent material and charge one bounded attempt. Accepted sources and takes remain unchanged, so a proposed repair can be compared with the work it seeks to improve. Keep model ranking, measured facts, and MagusYou, the Operator acceptance distinguishable throughout. Music explains which finishes and repairs the request permits.

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

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 ScrollWorkflow Version 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 EchoVoice'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 CompositionApp 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.

These tool roles act on MusicProductionPlan@1 as a neutral creative record. At each pinned placement, the exact SpellStep implementation compiles only the admitted creative fields into its tool dialect. The plan itself does not become executable Python, a ScrollWorkflow Version, a DAW session, or a provider request.

If an implementation fails, settle that attempt first. Another declared exact branch or a forward InvocationJob Request may then try different craft. This preserves the current Resolution Lock instead of silently changing the tools underneath the same casting.

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 RuneService Config File, 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 PortalCloud Model 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 SoulstoneLocal Model management, musical acceptance and Jam keep their separate proofs.

Start the proposed offline proof by choosing 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.

The rest of the proof must cover the other production roles: a separated-source profile, isolated DawDreamer with allowlisted processors, pinned FFmpeg, librosa tempo/onset probes, and a LychD sample-accurate compiler that turns 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.