# Euterpe → SOTA, Industry-Leading DAW — Gap Analysis (2026-06-07)

> **Question (standing goal):** _Are there any gaps left in Euterpe being the
> most SOTA, industry-leading DAW — in AI integration & utilization, UI/UX, and
> all other aspects of a DAW?_
>
> **How this was produced:** a 47-agent research workflow run on 2026-06-07
> HEAD. Three axes — (A) **internal truth**: 13 code-grounded current-state
> audits re-verified against HEAD (the prior
> `EUTERPE_SOTA_DAW_REMAINING_WORK_2026-06-06.md` baseline was treated as stale,
> since 82 commits landed after it); (B) **external SOTA benchmark**: 6
> web-research passes on the 2026 flagship-DAW field (Ableton 12, Logic Pro 11,
> FL Studio 2025, Cubase 14, Pro Tools 2025, Bitwig 5.3, Studio One 7, Reaper 7)
> and the AI-music frontier (Suno/Udio/Lyria, Demucs/Moises, iZotope/Sonible,
> C2PA/SynthID); (C) **gap synthesis + adversarial verification**: every
> headline "missing" claim was handed to a separate skeptic agent that tried to
> _refute_ it against the code (17 claims were corrected from "missing" to
> "partial" on the deeper read). This document supersedes the 06-06 analysis as
> the current baseline.

---

## 0. The verdict (TL;DR)

**Yes — meaningful gaps remain. Euterpe is a genuinely deep, AI-native,
music-theory-aware web DAW that has closed its prior central blocker (the linear
arrangement/timeline engine now exists, Rust + wasm + reducer + UI, 92 tests) —
but it is not yet SOTA on any of the three pillars.**

> **Critic's bottom line:** Yes — meaningful gaps remain; Euterpe is an
> impressive, genuinely-deep DAW that is not yet SOTA on any of the three
> pillars. Headline gaps, consistent across dimensions: (1) **AI-native
> credibility** — export provenance is only a one-line text _label_, not a
> signed C2PA manifest or imperceptible PCM/SynthID watermark (the single
> most-repeated P0, appearing in 5 dimensions), and the AI surface is
> realtime-stream-only with no one-shot text→editable-clip and no
> agent-writes-MIDI-to-arrangement; (2) **UX parity** — no Session/Clip-launch
> View (missing across 6 dimensions), no bus/aux mixer architecture, no unified
> modulation matrix, no take-comping; (3) **everything-else** — NO cloud-storage
> or real-time-collaboration backend at all, no native VST3/AU/CLAP plugin
> hosting (a web-platform boundary), and a large _unwired-library_ debt where
> ~20 substantial `@euterpe` libraries (film/game scoring, conservatory,
> podcast, video, spatial, distribution, analytics) exist but the DAW imports
> only 5 of ~25. Of the 15 prior "entirely-missing" areas, seven have moved from
> _absent_ to _partial_ because the capability now exists as an unwired library;
> notation, control-surface (MCU/HUI/OSC), modular, multi-window,
> batch-processing, sample-pack-management, sound-design, and i18n remain fully
> absent.

This pass catalogs **186 residual gaps** (P0 15 · P1 79 · P2 67 · P3 25). The
most important structural fact about that backlog: **120 of 186 are `local`** —
pure web/wasm work that is buildable and unit-testable _now_, with no external
blocker — and **47 are `present-unwired`**: real, tested capability that already
exists in an `@euterpe/*` library but was never wired into the DAW product. The
dominant remaining work is **wiring and surfacing existing capability**, not
inventing it. Only 14 gaps are native-desktop-bound (plugin hosting,
CoreAudio/ASIO) and 26 are backend/cred-bound (cloud, collaboration, external AI
providers).

**Three-pillar verdict (from the completeness critic):**

- **AI integration & utilization — not yet SOTA.** NOT yet SOTA. The foundation
  is genuinely strong and differentiated: on-device MRT2 realtime generation is
  wired live into the DAW mixer (generator-panel.tsx, fail-closed), plus
  transcribe and genesis. But three defining AI-native capabilities are missing
  in-product: (1) one-shot text-to-music producing an editable clip (AI-8, P0);
  (2) an agentic copilot that writes editable MIDI into the arrangement (AI-N1,
  P0); (3) real C2PA + audio watermark on AI-touched exports — currently only a
  text LABEL (RIGHTS-1/2, AI-19, P0). Plus neural stem separation
  (ARR-N1/UX-25/REC-N1) and polyphonic pitch-correction (AI-4) are unwired.
  SINGLE BIGGEST BLOCKER: provenance is a one-line string, not a signed C2PA
  manifest + imperceptible PCM watermark — an AI-native DAW that cannot
  cryptographically attribute or watermark its own AI output is not credible as
  SOTA.

- **UI/UX — not yet SOTA.** NOT yet SOTA. The linear-arrangement DAW UX is solid
  and broad (25 real components: arrangement-view, piano-roll, channel-strip,
  synth/sampler panels, automation lanes, master EQ/multiband, command palette,
  customizable keymap, a11y-aware). But the modern-DAW-defining nonlinear
  surface is entirely missing: no Session/Clip-launch View
  (ARR-7/UX-23/IO-N5/REC-4, P0), no take-comping lanes (UX-10/FX-18/REC-2), no
  bus/aux mixer architecture (MIX-2, P0), no unified modulation UI (UX-5, P0),
  no dockable/saveable screensets (UX-1), no notation editor, no semantic asset
  browser (UX-7), no i18n, single-window only. SINGLE BIGGEST BLOCKER: the
  absence of a Session/Clip-launch View — the one surface that separates a
  tracker/linear editor from a modern performance-capable DAW (Ableton/Bitwig/FL
  parity).

- **All other DAW aspects — not yet SOTA (most gaps live here).** NOT yet SOTA,
  and this pillar carries the most gaps. Engine internals are strong (Rust
  dsp-graph, f64 paths, real master/loudness/dither/goniometer, DAWproject I/O).
  But the structural debt dominates: ~20 substantial @euterpe libraries
  (score/film+game-audio, conservatory, podcast, video, spatial, distribution,
  analytics, samples, collab) are NOT wired into the product — the DAW imports
  only 5 of ~25 libs. Native-bound gaps (VST3/AU/CLAP hosting FX-11/IO-4;
  CoreAudio/ASIO ENG-1/PLAT-2; multicore scheduler ENG-4) cap pro parity on the
  web target. And there is NO cloud/collaboration layer at all (COLLAB-1/2 P0:
  no project store, no multiplayer). SINGLE BIGGEST BLOCKER: the absence of any
  cloud-storage + real-time-collaboration backend — every other 'other' gap is
  incremental, but a modern DAW with zero cloud project persistence or
  co-editing cannot claim SOTA.

---

## 1. ⚠️ Critical finding — the served audio-worklet bundle is stale

The adversarial verification of `ARR-8` surfaced a real correctness/build bug
that is **not a feature gap but invalidates several "shipped" features in the
running app**:

> The compiled wasm/AudioWorklet bundle that the DAW actually loads is **stale
> relative to the Rust source**. Recently-landed DSP — clip fades /
> auto-crossfade (ARR-8), per-clip tempo multiplier (MIDI-19), the new
> trig-conditions (MIDI-17), and other `dsp-graph` changes — exists and is
> tested in Rust, but **never reaches the engine the browser runs** until the
> worklet bundle is rebuilt and re-served.

**Action (do this first — it is `S` effort and silently un-breaks multiple
committed features):** rebuild the `dsp-wasm` / `@euterpe/audio-engine-web`
worklet artifact and re-vendor it into `apps/euterpe-studio-web`, then add a
CI/build check (or a build-hash assertion at engine init) so a stale bundle
fails loudly instead of silently shipping last week's DSP. Until then, any
in-browser verification of post-06-05 DSP features is testing old code.

---

## 2. What changed since the 2026-06-06 baseline

P0 arrangement engine closed; 82 commits. The prior analysis's **central P0
finding — "Euterpe has no clip-based arrangement/timeline; it is a
step-sequencer + pattern generator, not a linear DAW" — is now CLOSED.** Nine
separate prior P0 entries (ARR-1/2/3, FX-17, UX-9, REC-1, IO-10, PLAT-7, AI-11)
all pointed at the same missing spine; a single real stack now satisfies them.

**Notable prior-P0/P1 closures (verified at file:line):**

| Prior ID(s)   | What shipped                                                                                                              | Evidence                                                                                                                                                                            |
| ------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ARR (9 P0s)` | Nine prior P0 arrangement-timeline entries (ARR-1/2/3, FX-17, UX-9, REC-1, IO-10, PLAT-7, AI-11) closed by one real stack | clip.rs ArrangementClip 219 advance_sampler 374 fade_gain 301; track.rs advance_arrangement 551; engine.rs 981/705; daw-session.ts addClip 1747; arrangement-view.tsx 103; 92 tests |
| `IO-1`        | DAWproject import/export completed                                                                                        | dawproject.ts; 9792683428                                                                                                                                                           |
| `MIX-23`      | Master multiband / dynamic-EQ real DSP                                                                                    | multiband.rs; 935d6da751                                                                                                                                                            |
| `ARR-8`       | Audio crossfades / auto-crossfade                                                                                         | clip.rs fade_gain 301                                                                                                                                                               |
| `ENG-9`       | Time-stretch real WSOLA                                                                                                   | eccfd07d05                                                                                                                                                                          |

Per-dimension activity since 06-06 (82 commits total): **ARR** (timeline
P0+clips) · **ENG** (f64/metering) · **MIX** (automation/multiband) · **FX**
(synths/inserts) · **MIDI** (trig/groove) · **MASTER** (export/loudness) ·
**IO** (DAWproject/SMF) · **UX** (palette/undo) · **PLAT** (a11y) · **REC**
(count-in) · **AI** (copilot) · **COLLAB** (autosave) · **RIGHTS** (none).

---

## 3. Aggregate residual-gap statistics

**186 residual gaps** across the 13 dimensions, after adversarial verification.

| By severity                |   n |     | By pillar |   n |     | By actionability         |   n |     | By effort |   n |
| -------------------------- | --: | --- | --------- | --: | --- | ------------------------ | --: | --- | --------- | --: |
| P0 (table-stakes/blocking) |  15 |     | AI        |  33 |     | `local` (web/wasm now)   | 120 |     | S         |  14 |
| P1 (expected by pros)      |  79 |     | UX        |  57 |     | `browser` (web APIs)     |  26 |     | M         |  67 |
| P2 (valuable)              |  67 |     | Other     |  96 |     | `native-desktop` (Tauri) |  14 |     | L         |  75 |
| P3 (nice-to-have)          |  25 |     |           |     |     | `backend` (server)       |  18 |     | XL        |  30 |
|                            |     |     |           |     |     | `cloud-cred` (API keys)  |   8 |     |           |     |

**Status mix:** missing 84 · partial 53 · **present-but-unwired 47** · polish 2.
The 47 "present-unwired" gaps are the single most actionable cluster: the
algorithm/engine work is already done and tested in a library; only the DAW
wiring is missing. Combined with 120 `local` gaps, the headline is that **most
of the distance to SOTA is web/wasm wiring, not external blockers** — the
genuinely-hard boundaries are concentrated in just three areas: native plugin
hosting + drivers (web-platform limit), a cloud/collaboration backend (no server
today), and a handful of cloud-cred AI providers.

---

## 4. Consolidated headline themes

The 15 P0 gaps and the heaviest P1 clusters collapse into a small set of
recurring themes (several appear in multiple dimensions — e.g. Session View
recurs across ARR/UX/REC/IO, plugin hosting across FX/IO/MIX):

1. **AI-native provenance is only a text label, not real attribution.** The
   single most-repeated P0 (5 dimensions): export provenance returns a one-line
   string; there is no signed **C2PA Content Credentials** manifest and no
   imperceptible PCM/**SynthID**-style watermark on AI-touched exports.
   `RIGHTS-1/2`, `AI-19`, `MASTER-N2`. _AI · local · L._ For an AI-native DAW
   this is the highest-leverage credibility gap.
2. **No Session / Clip-launch View.** The one surface that separates a linear
   editor from a modern performance DAW (Ableton/Bitwig/FL/Studio One all ship
   it): scenes, launch grid, follow-actions, capture-to-timeline. `ARR-7`,
   `UX-23`, `REC-4`, `IO-N5`. _UX · local · XL._
3. **AI surface is realtime-stream-only.** No one-shot **text→editable-clip**
   (`AI-8`) and no **agentic copilot that writes editable MIDI into the
   arrangement** (`AI-N1`) — the copilot today emits transport/mix DawActions,
   not musical content. _AI · local/cloud-cred · M._
4. **Neural stem separation.** Today's on-device separation is HPSS + mid/side
   (2-band); the 2026 baseline (Logic Stem Splitter, Ableton 12.3, Moises) is
   on-device 4-way (drums/bass/vocals/other). `ARR-N1`, `IO-N4`, `UX-25`. _AI ·
   local · XL._
5. **No bus/aux mixer architecture.** Routing is hardwired (track → inserts →
   fader → fixed reverb/delay sends → master); no user-created summing buses, no
   patch bay, no VCA groups surfaced. `MIX-2` (+ routing-matrix P1). _UX/Other ·
   local._
6. **No unified modulation system.** Only a fixed cutoff-LFO + static macros;
   SOTA (Bitwig, Cubase 14 modulators) is any-source→any-target mod-matrix with
   free LFOs and envelope followers. `UX-5`, `FX-7`. _UX · local · XL._
7. **AI Master Assistant is unwired.** `@euterpe/master` `recommendChain` exists
   but the one-click full-chain master recommendation (Logic Mastering Assistant
   / Ozone parity) is not surfaced. `MASTER-N1`. _AI · local · M._
8. **Third-party plugin hosting (VST3/CLAP/AU).** Only built-in devices; a Tauri
   sidecar host is the path. `FX-11`, `IO-4`, `MIX-22`. _Other · native-desktop
   · XL — a genuine web-platform boundary._
9. **No cloud/collaboration layer at all.** No project store, no real-time
   multi-user co-edit. `COLLAB-1/2`. _Other · backend · XL._
10. **Polyphonic pitch correction (Melodyne-class)** and **in-DAW notation/score
    editing (MusicXML staff)** remain absent in-product. `AI-4`, `MIDI-2`.
    _AI/Other · local._
11. **The ~20-library "unwired debt."** The DAW imports ~5 of ~25 `@euterpe/*`
    libraries; substantial real engines for film/game scoring, podcast, video,
    spatial, distribution (DDEX/ISWC), conservatory/education, and analytics
    exist off-DAW. Seven of the prior "entirely-missing" capability areas are
    really "present-but-unwired." _Other · mostly local wiring._

---

## 5. Residual P0 + P1 roadmap

All P0 and P1 gaps, after verification, sorted by severity then dimension. (Full
P2/P3 catalog in Appendix B.)

| Sev | ID          | Pillar |      Act.      | Eff | Dimension     | Gap                                                                                                                                  |     Status      |
| :-: | ----------- | :----: | :------------: | :-: | ------------- | ------------------------------------------------------------------------------------------------------------------------------------ | :-------------: |
| P0  | `ARR-7`     |   UX   |     local      | XL  | Arrangement   | Clip-launch grid / Session View (scenes, launch buttons, follow actions, clip aliases)                                               |     missing     |
| P0  | `ARR-N1`    |   AI   |     local      | XL  | Arrangement   | Neural stem separation (4-way drums/bass/vocals/other)                                                                               |     partial     |
| P0  | `MIX-2`     |   UX   |     local      | XL  | Mixing        | Bus / aux architecture (user-created summing buses with inserts/sends)                                                               | present-unwired |
| P0  | `FX-11`     | Other  | native-desktop | XL  | Effects       | External plugin hosting (VST3 / CLAP / AU)                                                                                           |     missing     |
| P0  | `AI-19`     |   AI   |     local      |  L  | AI Generation | C2PA Content Credentials + SynthID watermark on export                                                                               |     partial     |
| P0  | `AI-8`      |   AI   |     local      |  M  | AI Generation | One-shot text-to-music (full prompt → editable DAW clip)                                                                             | present-unwired |
| P0  | `AI-N1`     |   AI   |     local      |  M  | AI Generation | Agentic copilot writes editable MIDI to the arrangement                                                                              |     partial     |
| P0  | `UX-23`     |   UX   |     local      | XL  | UX            | Session / clip-launch grid (scenes + follow actions + capture)                                                                       |     missing     |
| P0  | `UX-5`      |   UX   |     local      | XL  | UX            | Unified assignable modulation system (mod-matrix / free-running LFOs / envelope followers)                                           |     partial     |
| P0  | `COLLAB-1`  | Other  |    backend     | XL  | Collaboration | Real-time multi-user WebSocket project sync (multiplayer co-editing)                                                                 | present-unwired |
| P0  | `COLLAB-2`  | Other  |    backend     |  L  | Collaboration | Cloud project storage & retrieval (DB + object store)                                                                                |     missing     |
| P0  | `IO-4`      | Other  | native-desktop | XL  | Interop       | Third-party plugin HOSTING (VST3 / CLAP / AU load)                                                                                   |     missing     |
| P0  | `MASTER-N1` |   AI   |     local      |  M  | Mastering     | AI Master Assistant — one-click full-chain recommendation (recommendChain unwired)                                                   | present-unwired |
| P0  | `RIGHTS-1`  |   AI   |     local      |  L  | AI Provenance | C2PA Content Credentials manifest generation & embedding on AI-touched exports                                                       |     partial     |
| P0  | `RIGHTS-2`  |   AI   |     local      |  L  | AI Provenance | Imperceptible audio watermark embedding on real PCM at export                                                                        | present-unwired |
| P1  | `ARR-12`    | Other  |     local      |  M  | Arrangement   | Groove extraction & application (extract timing/velocity signature into reusable template)                                           | present-unwired |
| P1  | `ARR-14b`   | Other  |     local      |  M  | Arrangement   | Per-clip automation envelopes (gain/pan/send curves), not just static gain                                                           | present-unwired |
| P1  | `ARR-4`     | Other  |     local      |  M  | Arrangement   | Slip / slide / ripple edit modes wired into the DAW                                                                                  | present-unwired |
| P1  | `ARR-5`     | Other  |     local      |  L  | Arrangement   | Non-destructive warp markers / elastic per-clip time-stretch playback                                                                |     missing     |
| P1  | `ARR-7b`    | Other  |     local      |  L  | Arrangement   | Take lanes / comping (multi-take composites)                                                                                         |     missing     |
| P1  | `ARR-9`     | Other  |     local      |  L  | Arrangement   | Tempo map & time-signature track                                                                                                     |     missing     |
| P1  | `ARR-N2`    |   UX   |    browser     |  M  | Arrangement   | Retrospective / capture (background) recording                                                                                       |     missing     |
| P1  | `ARR-N3`    | Other  |     local      |  L  | Arrangement   | Wire the comprehensive @euterpe/studio clip-editing & timeline library into the DAW                                                  | present-unwired |
| P1  | `MIDI-1`    |   UX   |     local      | XL  | MIDI          | MPE / per-note expression layer (pitch-bend, pressure, timbre curves) in the DAW                                                     |     missing     |
| P1  | `MIDI-13`   |   AI   |     local      |  L  | MIDI          | Deep / real-time generative MIDI Session Player (genre models, reacts to chord track)                                                |     partial     |
| P1  | `MIDI-18`   |   UX   |    browser     |  M  | MIDI          | MIDI learn / CC + controller mapping to parameters                                                                                   |     missing     |
| P1  | `MIDI-2`    |   UX   |     local      |  L  | MIDI          | Notation / score editor in the DAW + MusicXML round-trip of the clip model                                                           |     partial     |
| P1  | `MIDI-7`    |   AI   |     local      |  L  | MIDI          | MIDI-effects device chain (insertable note FX: arp/randomizer/transposer/scale/chord)                                                |     partial     |
| P1  | `ENG-1`     | Other  | native-desktop | XL  | Audio Engine  | Native low-latency audio I/O driver (CoreAudio/ASIO/WASAPI)                                                                          |     missing     |
| P1  | `ENG-21`    |   UX   |    browser     |  M  | Audio Engine  | MIDI-learn / hardware CC parameter binding                                                                                           |     missing     |
| P1  | `ENG-3`     | Other  |     local      |  M  | Audio Engine  | Plugin delay compensation (PDC) framework                                                                                            |     missing     |
| P1  | `ENG-4`     | Other  | native-desktop | XL  | Audio Engine  | Multicore / work-stealing graph scheduler                                                                                            |     missing     |
| P1  | `ENG-7`     | Other  |    browser     |  L  | Audio Engine  | Disk/OPFS-streamed sample playback                                                                                                   |     missing     |
| P1  | `ENG-N1`    | Other  |    browser     |  L  | Audio Engine  | SharedArrayBuffer lock-free transport (COOP/COEP isolation)                                                                          |     missing     |
| P1  | `MIX-1`     |   UX   |     local      |  L  | Mixing        | VCA faders (group fader scaling member channels)                                                                                     | present-unwired |
| P1  | `MIX-26`    |   UX   |     local      |  M  | Mixing        | Touch / Latch / Trim automation modes                                                                                                |     missing     |
| P1  | `MIX-27`    |   UX   |     local      |  L  | Mixing        | Per-insert sidechain input + sidechain filter                                                                                        |     missing     |
| P1  | `MIX-28`    | Other  |     local      | XL  | Mixing        | Surround / immersive audio + Dolby Atmos ADM authoring/export                                                                        | present-unwired |
| P1  | `MIX-29`    | Other  | native-desktop | XL  | Mixing        | VST / AU / CLAP third-party plugin hosting                                                                                           |     missing     |
| P1  | `MIX-3`     |   UX   |     local      |  L  | Mixing        | Flexible routing matrix / patch bay                                                                                                  | present-unwired |
| P1  | `MIX-35`    |   AI   |     local      |  L  | Mixing        | C2PA Content Credentials + SynthID on DAW export (export carries provenance as text-label only)                                      |     partial     |
| P1  | `MIX-4`     |   UX   |     local      |  L  | Mixing        | Flexible send routing (pre/post-fader, pre/post-insert, per-send pan/mute, arbitrary destinations)                                   |     missing     |
| P1  | `FX-18`     |   UX   |     local      |  L  | Effects       | Take comping (multi-take lanes, swipe-to-select)                                                                                     |     missing     |
| P1  | `FX-7`      | Other  |     local      |  L  | Effects       | Unified source→target modulation matrix                                                                                              |     partial     |
| P1  | `AI-12`     |   AI   |   cloud-cred   |  L  | AI Generation | Voice cloning + text-to-singing synthesis                                                                                            | present-unwired |
| P1  | `AI-14`     |   AI   | native-desktop | XL  | AI Generation | On-device neural inference (live candle forward-pass + weights)                                                                      |     partial     |
| P1  | `AI-4`      |   AI   |     local      |  L  | AI Generation | Polyphonic pitch correction (Melodyne/Auto-Tune-class) wired into the DAW                                                            | present-unwired |
| P1  | `AI-7`      |   AI   |    backend     |  L  | AI Generation | Audio (waveform) inpainting / regenerate-region                                                                                      |     missing     |
| P1  | `AI-N2`     |   AI   |     local      |  L  | AI Generation | Cross-channel / inter-track masking-aware EQ (smart:EQ-class)                                                                        |     missing     |
| P1  | `AI-N5`     |   AI   |     local      |  M  | AI Generation | AI accompaniment band beyond a 55-LOC local helper (accompany/virtuoso unwired)                                                      | present-unwired |
| P1  | `UX-1`      |   UX   |     local      |  L  | UX            | Resizable / dockable panel workspace + saveable screensets                                                                           |     missing     |
| P1  | `UX-10`     |   UX   |     local      |  L  | UX            | Take comping & loop-recording (multi-take composites)                                                                                |     missing     |
| P1  | `UX-15`     | Other  | native-desktop | XL  | UX            | VST3 / CLAP / AU plugin hosting (or in-browser WAM hosting)                                                                          |     missing     |
| P1  | `UX-22`     | Other  |    backend     | XL  | UX            | Real-time multiplayer collaboration (CRDT co-editing + presence)                                                                     |     missing     |
| P1  | `UX-24`     |   UX   |     local      |  L  | UX            | MPE / per-note expression (pressure / pitch-glide / timbre data model + edit)                                                        |     missing     |
| P1  | `UX-25`     |   AI   |     local      |  L  | UX            | Neural stem separation (4-way drums/bass/vocals/other)                                                                               |     partial     |
| P1  | `UX-26`     |   AI   |     local      |  L  | UX            | AI style 'session players' — chord-reactive / live-following bass/drums/keys with intensity controls                                 |     partial     |
| P1  | `UX-7`      |   AI   |     local      |  L  | UX            | Unified semantic asset / sample / preset browser (embeddings + similarity + drag-drop)                                               |     partial     |
| P1  | `REC-12`    | Other  |    browser     |  M  | Recording     | Multi-track simultaneous recording                                                                                                   |     missing     |
| P1  | `REC-2`     |   UX   |    browser     |  L  | Recording     | Take comping with loop-recording multi-take lanes                                                                                    |     missing     |
| P1  | `REC-4`     |   UX   |     local      | XL  | Recording     | Session / clip-launch view with scenes & follow-actions                                                                              |     missing     |
| P1  | `REC-6`     |   UX   |    browser     |  M  | Recording     | Hardware MIDI learn & control-surface mapping                                                                                        |     missing     |
| P1  | `REC-8`     | Other  |    browser     |  S  | Recording     | Input monitoring / headphone cue mix                                                                                                 | present-unwired |
| P1  | `REC-N1`    |   AI   |     local      | XL  | Recording     | Neural AI stem separation (4-way drums/bass/vocals/other)                                                                            |     partial     |
| P1  | `REC-N2`    |   AI   |     local      |  M  | Recording     | AI Session Players: drum styles + complexity/intensity + real-time chord-track reactivity & commit-during-performance                |     partial     |
| P1  | `REC-N3`    |   UX   |    browser     |  M  | Recording     | Expressive MIDI capture (CC / pitch-bend / aftertouch / MPE)                                                                         |     missing     |
| P1  | `COLLAB-19` | Other  |    browser     |  L  | Collaboration | Full PWA / offline-first persistence (service worker + OPFS + sync-on-reconnect)                                                     |     partial     |
| P1  | `COLLAB-3`  | Other  |     local      |  L  | Collaboration | Project versioning, branching & 3-way merge UI (git-for-music)                                                                       | present-unwired |
| P1  | `COLLAB-4`  | Other  |    backend     |  M  | Collaboration | Shareable project links with expiry & permission levels                                                                              | present-unwired |
| P1  | `COLLAB-5`  |   UX   |    backend     |  M  | Collaboration | Multi-user presence & live cursors in the DAW                                                                                        | present-unwired |
| P1  | `COLLAB-6`  |   UX   |    backend     |  M  | Collaboration | Inline comments / timestamped annotations on tracks, clips & timeline                                                                | present-unwired |
| P1  | `COLLAB-8`  |   UX   |     local      |  M  | Collaboration | Conflict resolution UI & selectable merge strategies                                                                                 | present-unwired |
| P1  | `COLLAB-9`  | Other  |    backend     |  M  | Collaboration | Granular access control & permission enforcement for projects                                                                        | present-unwired |
| P1  | `IO-11`     |   UX   |    browser     |  L  | Interop       | Take / comp loop recording (swipe comping, punch, playlists)                                                                         |     missing     |
| P1  | `IO-3`      | Other  |    browser     |  L  | Interop       | MIDI 2.0 / MPE / per-note expression / UMP                                                                                           |     missing     |
| P1  | `IO-N1`     | Other  | native-desktop | XL  | Interop       | ARA2 deep-edit host integration (Melodyne / RX-grade in-place audio editing)                                                         |     missing     |
| P1  | `IO-N2`     |   UX   |     local      |  L  | Interop       | Per-clip arrangement warp markers / grid-following time-stretch (VariAudio-class)                                                    |     partial     |
| P1  | `IO-N3`     | Other  |     local      |  M  | Interop       | DAWproject export fidelity (automation, audio-clip fades/crossfades, plugin state, note-expression, sends; session-derived time-sig) |     partial     |
| P1  | `IO-N4`     |   AI   |     local      |  L  | Interop       | Neural-quality on-device stem separation (Demucs/Spleeter-class 4-stem)                                                              |     partial     |
| P1  | `IO-N5`     |   UX   |    browser     |  L  | Interop       | Clip-launcher / Session View (scene-based nonlinear performance)                                                                     |     missing     |
| P1  | `PLAT-1`    |   UX   |    browser     |  L  | Platform      | MIDI CC / control-surface mapping + MIDI Learn + MPE                                                                                 |     partial     |
| P1  | `PLAT-2`    | Other  | native-desktop | XL  | Platform      | Native low-latency audio I/O (CoreAudio/ASIO/ALSA)                                                                                   |     missing     |
| P1  | `PLAT-5`    | Other  |    browser     |  L  | Platform      | Service worker + OPFS offline-first PWA                                                                                              | present-unwired |
| P1  | `PLAT-9`    |   UX   |     local      |  L  | Platform      | Screen-reader keyboard-navigable piano-roll/automation (treegrid)                                                                    |     partial     |
| P1  | `MASTER-11` | Other  |     local      |  L  | Mastering     | Dolby Atmos / ADM BWF authoring + binaural metadata (spatial lib unwired)                                                            | present-unwired |
| P1  | `MASTER-18` | Other  |     local      |  M  | Mastering     | DDEX ERN 4.3 + ISWC/UPC + MEAD AI-disclosure flags in export metadata (distribution lib unwired)                                     | present-unwired |
| P1  | `MASTER-9`  | Other  |     local      |  L  | Mastering     | Lossy/lossless codec export (MP3/AAC/FLAC/Ogg)                                                                                       |     missing     |
| P1  | `MASTER-N2` |   AI   |     local      |  M  | Mastering     | C2PA Content Credentials + SynthID propagation on AI-touched exports                                                                 |     partial     |
| P1  | `RIGHTS-11` |   AI   |     local      |  M  | AI Provenance | Provider watermark verification on import & on generation                                                                            | present-unwired |
| P1  | `RIGHTS-15` |   AI   |     local      |  M  | AI Provenance | Post-generation melody/lyric copyright similarity scan                                                                               | present-unwired |
| P1  | `RIGHTS-3`  |   UX   |     local      |  L  | AI Provenance | Rights clearance & licensing UI (sample / interpolation / cover / sync)                                                              | present-unwired |
| P1  | `RIGHTS-4`  |   UX   |     local      |  L  | AI Provenance | Royalty split-sheet authoring & tracking UI                                                                                          | present-unwired |
| P1  | `RIGHTS-5`  |   AI   |     local      |  M  | AI Provenance | Pre-generation copyright & safety prompt filtering in the generator UI                                                               | present-unwired |
| P1  | `RIGHTS-N1` | Other  |     local      |  M  | AI Provenance | DDEX AI-disclosure flag + ISWC/UPC in export metadata                                                                                |     missing     |

---

## 6. Per-dimension deep dive

Each section is the code-grounded current state + residual gaps for one
dimension, after adversarial verification (the verification notes at the end of
each section record any claim that was corrected on a second look).

### 6.1 Arrangement & Audio/Clip Editing (ARR)

_16 residual gaps — P0:2 P1:8 P2:5 P3:1_

Euterpe's arrangement dimension has leapt forward, and the prior 2026-06-06
analysis is badly stale: the three P0 items it called "missing/partial" — the
arrangement timeline UI, the multi-clip data model, and the per-clip scheduling
engine — are all fully built and wired end-to-end at HEAD (verified in code).
The DAW now has a genuine song-arrangement timeline: an SVG `ArrangementView`
(one lane per track, bar/beat grid, engine-synced playhead, capture-based
drag/resize, multiple snap modes including magnetic-to-transients, marquee
multi-select, and a keyboard workflow) mounted in `daw-app.tsx`; a real
`ClipState` model carrying
`startBeat/lengthBeats/offsetBeats/loopWithin/notes/gainDb/fadeInBeats/fadeOutBeats/tempoMult`;
a full reducer
(`addClip/moveClip/resizeClip/splitClip/duplicateClip/setClipGain/setClipFade/setClipLoop/setClipTempo/autoCrossfade/markers`,
each emitting an engine command); and a true per-clip Rust scheduler in
`dsp-graph` (`clip.rs` with per-clip gain, equal-power `sin` crossfade,
loop-within, offset, and a 0.0625–16× tempo multiplier — `advance_arrangement`
drives both MIDI synth notes and loaded samples). Markers, per-clip static gain,
split-at-playhead, smart selection, undo/redo, MIDI note thumbnails, an honest
classic-DSP HPSS + Mid/Side stem separator, a WSOLA whole-sample warp in the
sampler, and a generative session-player accompaniment are all wired. On the
linear-arrangement core, Euterpe is at or near parity. The residual gaps cluster
in four areas: a build-artifact hygiene gap (not, on re-verification, a live
runtime regression), a large unwired SOTA editing library, several
genuinely-absent flagship features, and an AI-stem-separation parity gap.

Two headline claims from the draft were corrected on adversarial re-verification
(see Verification notes): ARR-8 was **downgraded** (the stale public worklet is
auto-resynced from the 17-array source by `predev`/`prebuild`, so a real
`pnpm dev`/`pnpm build` does NOT ship the 11-array bundle — the residue is a
stale checked-in artifact plus a missing CI arity guard, not a feature that is
dead at runtime), and ARR-5's evidence was **corrected** (WSOLA time-stretch IS
wired, but only as a destructive whole-sample sampler warp; the non-destructive
per-clip warp-marker / elastic-playback capability remains absent). All other
headline gaps were **confirmed**.

#### Remaining gaps

**P0 — table stakes / blocking**

| id     | title                                                                                  | pillar | status  | actionability | effort | gap vs SOTA                                                                                                                                                                                                                                                                                                                                |
| ------ | -------------------------------------------------------------------------------------- | ------ | ------- | ------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ARR-7  | Clip-launch grid / Session View (scenes, launch buttons, follow actions, clip aliases) | UX     | missing | local         | XL     | `arrangementMode` is only a label toggle — no clips×scenes grid, launch buttons, scene column, follow-actions, or clip aliases. Ableton Live 12 Session View / Bitwig 6 Clip Aliases / Studio One 7 Integrated Launcher are the reference. The biggest UX moat gap.                                                                        |
| ARR-N1 | Neural stem separation (4-way drums/bass/vocals/other)                                 | AI     | partial | local         | XL     | The wired separator is HPSS + Mid/Side (harmonic/percussive + center, honestly labelled "not a neural Demucs"); the `samples` SOTA lib's `separateEightStems` is band-energy planning math, not a wired neural separator. On-device neural 4-way un-mix is now table stakes in Logic 11, Ableton 12.3, Studio One 7, FL Studio, Pro Tools. |

**P1 — expected by pros**

| id      | title                                                                                 | pillar | status          | actionability | effort | gap vs SOTA                                                                                                                                                                                                                                                                            |
| ------- | ------------------------------------------------------------------------------------- | ------ | --------------- | ------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ARR-4   | Slip / slide / ripple edit modes wired into the DAW                                   | Other  | present-unwired | local         | M      | Real `extendClipStart`/`trimClip`/`nudgeClip` exist in `@euterpe/studio` but only `libs/calliope/muse` imports the lib (the `aiFeatures` submodule) — the DAW supports move/resize only. Pro Tools/Cubase/Reaper edit modes.                                                           |
| ARR-5   | Non-destructive warp markers / elastic per-clip stretch                               | Other  | missing         | local         | L      | WSOLA `time_stretch` is wired, but only as a destructive whole-sample sampler warp (`loadSampleWarped`); no per-clip warp markers / elastic arrangement playback. Ableton Warp / Cubase AudioWarp.                                                                                     |
| ARR-9   | Tempo map & time-signature track                                                      | Other  | missing         | local         | L      | Single static `tempoBpm`, only literal `4/4`. Tempo curves + meter track are baseline in Cubase/Logic/Pro Tools/Studio One/Reaper.                                                                                                                                                     |
| ARR-7b  | Take lanes / comping (multi-take composites)                                          | Other  | missing         | local         | L      | No take-lane/comp model; recorder commits a single take. Reaper Swipe Comping, Pro Tools playlists, Studio One ARA-Melodyne comping.                                                                                                                                                   |
| ARR-14b | Per-clip automation envelopes (gain/pan/send), not just static gain                   | Other  | present-unwired | local         | M      | Only static `gainDb`/fades; real `ClipAutomationLane` API exists in the studio lib, imported nowhere. Ableton clip envelopes, Bitwig detachable Automation Clips.                                                                                                                      |
| ARR-12  | Groove extraction & application                                                       | Other  | present-unwired | local         | M      | `groove-clip.ts` only re-exports quantize/humanize; a `GrooveTemplate` catalogue + `matchGrooveTemplate` exist in `theory/groove` but no `extractGroove`/`applyGroove` at all, and the lib is unwired in the DAW. Logic/Cubase groove templates, Ableton Groove Pool.                  |
| ARR-N2  | Retrospective / capture (background) recording                                        | UX     | missing         | browser       | M      | No rolling MIDI input buffer; recorder records only when armed. Ableton Capture, Reaper Retroactive MIDI, Cubase Retrospective Record.                                                                                                                                                 |
| ARR-N3  | Wire the comprehensive `@euterpe/studio` clip-editing & timeline library into the DAW | Other  | present-unwired | local         | L      | `clip-editing.ts` (consolidate/join/slip/time-stretch/automation) + `timeline.ts` are real and tested but imported by no app; the DAW re-implements a thinner parallel model (its reducer has split/crossfade/fade but no consolidate/join), leaving SOTA features as dead capability. |

**P2 — valuable**

| id     | title                                                                      | pillar | status  | actionability  | effort | gap vs SOTA                                                                                                                                                                                                                                                                                                                                                   |
| ------ | -------------------------------------------------------------------------- | ------ | ------- | -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ARR-8  | Checked-in worklet artifact is stale (11 vs 17 arrays) + no CI arity guard | Other  | polish  | local          | S      | The committed `public/audio` bundle calls `set_track_arrangement` with 11 arrays vs source's 17, but `sync-engine-assets.mjs` (wired to `predev`/`prebuild`) auto-resyncs the 17-array source bundle before any dev/build — so a built app is NOT missing fades/crossfade/tempo. Residue: stale tracked artifact + no test asserting the served-bundle arity. |
| ARR-16 | Real audio-waveform clip thumbnails (peak overview)                        | UX     | partial | local          | S      | Audio clips draw a flat midline; only MIDI clips get a real thumbnail. Every DAW renders a peak overview on audio clips.                                                                                                                                                                                                                                      |
| ARR-11 | Freeze & bounce-in-place                                                   | Other  | partial | local          | M      | Whole-track + master bounce are wired, but no reversible track freeze and no per-clip-region bounce. Logic/Cubase/Ableton/Pro Tools Freeze.                                                                                                                                                                                                                   |
| ARR-17 | VST/AU/CLAP plugin hosting                                                 | Other  | missing | native-desktop | XL     | Built-in Rust DSP only; browser-blocked. A Tauri shell could host CLAP — the wedge for a WASM DAW.                                                                                                                                                                                                                                                            |
| ARR-N4 | DAWproject round-trip parity for the new arrangement model                 | Other  | partial | local          | M      | Must confirm the new `ClipState` (fades/tempoMult/markers) serialises losslessly through `dawproject.ts`. DAWproject is the emerging cross-DAW standard (Cubase 14, Studio One).                                                                                                                                                                              |

**P3 — nice to have**

| id     | title                                    | pillar | status  | actionability | effort | gap vs SOTA                                                                                                                                           |
| ------ | ---------------------------------------- | ------ | ------- | ------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| ARR-18 | Spectral (frequency-domain) clip editing | Other  | missing | local         | XL     | Only analysis-side FFT; no spectral repair UI. RX/SpectraLayers-class niche, not table stakes — the HPSS STFT/iSTFT machinery is reusable if pursued. |

#### Where Euterpe leads

Euterpe's per-clip Rust scheduler is genuinely strong: an equal-power `sin`
crossfade whose two overlapping clips sum to constant power, a per-clip tempo
multiplier spanning 0.0625–16× that re-schedules note content polyrhythmically
against the song without time-stretch, and a single scheduler that drives BOTH
MIDI-synth and audio-sample clips on one timeline — all behind a clean 17-array
wasm encoding (and, contrary to the original draft, that 17-array encoding does
reach a properly-built app, because `predev`/`prebuild` resync the served
bundle). The equal-power auto-crossfade and the magnetic snap to detected
transients (spectral-flux onset detection feeding clip-edge magnetism) are at
the level of, or ahead of, the mainstream field. And as a browser/WASM DAW it
already carries native-quality built-in DSP, which is precisely the dimension
the cloud-collab DAWs (BandLab/Soundtrap) cannot match — leaving the
multiplayer-collab + neural-AI axes (ARR-7, ARR-N1) as the place to press the
advantage. The chief caveat is now an architectural one rather than a runtime
one: several editing capabilities already exist as unwired library code
(ARR-4/5/12/14b/N3) — the fastest wins are wiring, not greenfield.

#### Verification notes

- **ARR-8 — partial-exists (CORRECTED, downgraded P0/partial → P2/polish).** The
  committed public bundle is genuinely stale
  (`public/audio/euterpe-engine-processor.js:942/1695` passes 11 arrays vs
  source
  `libs/euterpe/audio-engine-web/wasm/euterpe-engine-processor.js:976/1791`
  passing 17), and `daw-app.tsx:83/121` loads `/audio`. BUT
  `scripts/sync-engine-assets.mjs:24-27` copies the fresh 17-array source bundle
  into `public/audio`, and `package.json:7/9` wire it to BOTH `predev` and
  `prebuild` — so a real `pnpm dev`/`pnpm build` resyncs the served bundle and
  the fades/crossfade/tempo features DO reach the running engine. The TS reducer
  already emits all 17 arrays (`daw-session.ts:138/147-149/195-197`). The real
  residue is the stale checked-in artifact plus the absence of any test/CI
  asserting the served-bundle arity (none found). The draft's "dead-on-arrival
  in the running app" framing was overstated.
- **ARR-7 — confirmed-absent.** `arrangementMode` (`types.ts:437`) is a label
  toggle only (`arrangement-view.tsx:465-471`; reducer effect
  `daw-session.ts:1760-1769/1970` just flips clip-vs-note-clip playback). Zero
  matches for followAction/sessionView/clipLaunch/clipAlias/scene-launch. Gap
  stands.
- **ARR-N1 — confirmed-absent.** Wired separator is classic HPSS+M/S
  (`daw-app.tsx:19/721`, `stem-separation.ts:2-10`). The `samples`
  `separateEightStems` (`stem-separation-sota.ts:227`) is band-energy → mask/SDR
  planning math, not a neural separator, and is imported by no app. Gap stands
  (partial: classic present, neural absent).
- **ARR-4 — confirmed-absent.** `extendClipStart`/`trimClip`/`nudgeClip` exist
  (`clip-editing.ts:563/527/299`); only `libs/calliope/muse` imports
  `@euterpe/studio` (the `aiFeatures` submodule). DAW Drag mode is
  `'move' | 'resize'` only (`arrangement-view.tsx:53`). Gap stands as
  present-unwired.
- **ARR-5 — partial-exists (evidence CORRECTED).** Per-clip warp markers /
  elastic arrangement playback are absent (no `warpMarker`/`warpPoint`;
  `ClipState` has no warp fields). However WSOLA time-stretch IS wired
  destructively at whole-sample scope (`daw-app.tsx:707` `warpSample` →
  `loadSampleWarped`; `sampler-panel.tsx:400-445`; `timestretch.rs:95/176`,
  `dsp-wasm/src/lib.rs:1297/1303`). Status changed missing-headline retained;
  evidence updated to acknowledge the wired destructive path.
- **ARR-9 — confirmed-absent.** Single static `tempoBpm` (`types.ts:316`); only
  literal `4/4` (`generate-clip.ts:206/246`, `dawproject.ts:142`). No tempo map
  / meter track. Gap stands.
- **ARR-7b — confirmed-absent.** No
  takeLane/comping/compLane/swipeComp/takeFolder anywhere; "take" hits are BWF
  metadata, a recorded buffer name, and `mixer.take()`. `ClipRecorder` commits
  one take. Gap stands.
- **ARR-14b — confirmed-absent.** `ClipState` has static `gainDb`/fades only
  (`types.ts:196/198/200`); the breakpoint/lane types (`types.ts:91-124`) are
  track-level. Studio `ClipAutomationLane` (`clip-editing.ts:1288/1331`)
  imported by no app. Gap stands as present-unwired.
- **ARR-12 — confirmed-absent.** `groove-clip.ts` re-exports quantize/humanize
  only; `theory/groove.ts` has
  `GROOVE_TEMPLATES`(:433)/`matchGrooveTemplate`(:999) but no
  `extractGroove`/`applyGroove` and is unimported by the DAW. Gap stands as
  present-unwired.
- **ARR-N2 — confirmed-absent.** No
  retrospective/captureRecord/backgroundRecord; "ring buffer" hits are
  visualizer + AI-stream buffers. `ClipRecorder` records only when armed. Gap
  stands.
- **ARR-N3 — confirmed-absent.** `clip-editing.ts`
  (split/join/consolidate/crossfade/timeStretch/pitchShift/repeatToFill) +
  `timeline.ts` are real but only `libs/calliope/muse` imports
  `@euterpe/studio`; the DAW reducer re-implements a thinner model (has
  split/crossfade/fade, no consolidate/join). Gap stands as present-unwired.

---

### 6.2 MIDI & Composition

_10 residual gaps — P0:0 P1:5 P2:3 P3:2_

Euterpe's MIDI & Composition layer has closed most of the editing-fundamentals
gap and now sits at or near parity with the flagship field on the core symbolic
axis. Verified-wired end-to-end this window (UI -> reducer -> Rust engine, with
domain-correct tests): per-note ratchet/trig-probability/trig-conditions
including if-prev/if-not-prev (deterministic SplitMix64 + Elektron-style
condition table in `clip.rs:32-102`, tests `clip.rs:426-573`), clip-level tempo
multiplier, an in-clip arpeggiator, strum/note-repeat/flam, partial-strength
quantize+swing, scale-degree transpose, chord-voicing presets
(close/open/drop2/drop3/shell), velocity ramp/randomize, humanize, one-click AI
generate/vary/harmonize/inpaint from `@euterpe/genesis`, Standard-MIDI-File
format-0/1 import+export, live Web-MIDI hardware input, and a Euclidean step
sequencer. Two capabilities the brief listed as missing are in fact already
present and wired, just shallow: an **AI Session Player** (`session-player.ts`
`generateAccompaniment` -> `daw-session.ts:1620` -> `step-grid.tsx:136`) that
lays bass/arp/block-chord parts from chord symbols, and **DAWproject
(.dawproject) import+export** (`dawproject.ts` -> `daw-app.tsx:335,966`), though
the latter currently round-trips only notes+velocity+mixer vol/pan/mute. The
remaining gaps are expressivity, notation, controller-mapping, and interop depth
— the high-effort SOTA-bar items.\n\nOne adversarial-verification correction
this pass: the prior draft claimed Euterpe \"cannot read or write MusicXML.\"
That is false at the monorepo level —
`libs/euterpe/theory/src/notation/notation.ts` ships a real (non-stub) MusicXML
4.0 writer and parser (`generateMusicXML:108`, `parseMusicXML:272`) plus
LilyPond/ABC. The genuine gap is narrower: that converter operates on a notation
`Score` model and `@euterpe/theory` is **not imported anywhere in the DAW app**,
so there is no clip-model round-trip and no staff render. MIDI-2 is accordingly
downgraded from _missing_ to _partial_ and rescoped to DAW wiring + a staff view
(see Verification notes).\n\n#### Remaining gaps\n\n| ID | Gap | Pillar | Sev |
Status | Effort | Action
|\n|----|-----|--------|-----|--------|--------|--------|\n| MIDI-1 | MPE /
per-note expression (bend/pressure/timbre curves) in the DAW | UX | P1 | missing
| XL | local |\n| MIDI-18 | MIDI-learn / CC + controller mapping to params | UX
| P1 | missing | M | browser |\n| MIDI-2 | Notation/staff view in the DAW +
MusicXML round-trip of the clip model | UX | P1 | partial | L | local |\n|
MIDI-7 | MIDI-effects device chain (non-destructive note FX rack) | AI | P1 |
partial | L | local |\n| MIDI-13 | Deep/real-time generative Session Player
(genre models, reacts) | AI | P1 | partial | L | local |\n| IO-2 | DAWproject
round-trip depth (expression/automation/sends/warp) | Other | P2 | partial | L |
local |\n| MIDI-16 | Dedicated drum rack/sequencer (named pads, per-pad lanes) |
UX | P2 | partial | M | local |\n| MIDI-9 | Chord track with
chord-symbol-on-timeline driving parts | UX | P2 | partial | M | local |\n|
MIDI-5 | Microtuning (Scala .scl/.kbm, MTS-ESP, temperaments) | Other | P3 |
missing | L | local |\n| MIDI-14 | MIDI 2.0 / UMP + high-resolution CC | Other |
P3 | missing | L | browser |\n\n**P1 (expected by pros).** **MPE / per-note
expression (MIDI-1)** is the biggest expressivity hole — the DAW `ClipNote`
carries only velocity (`types.ts:142-162`), SMF/Web-MIDI import discards
pitch-bend (`web-midi.spec.ts:29-30`, `midi-import.ts:146`), and there is no
expression lane or per-note synth modulation input; Ableton 12, Bitwig, Logic
and Cubase all edit MPE, and DAWproject v1.0 treats note-expressions as
first-class. (An isolated `configureMpe` channel-strip helper exists in
`libs/euterpe/studio/runtime-sota` but is not wired into the DAW; it can seed
the controller-zone mapping but is not the editing layer.) **MIDI-learn
(MIDI-18)** is the highest value-to-effort fix: `web-midi.ts:37` returns null
for CC/bend/aftertouch, so no hardware knob can drive any param — a capability
universal across the field and a few days' work on the parser plus a binding
store. **Notation/MusicXML (MIDI-2)** — the converter already exists in
`@euterpe/theory` (`generateMusicXML`/`parseMusicXML`), so the pragmatic first
step is a thin DAW `NoteClipState <-> Score` adapter plus Export/Import actions
(unit-testable now) before any staff rendering; Cubase 14's Dorico-powered Score
Editor sets the long-term bar. **MIDI-effects chain (MIDI-7)** exists only as
destructive one-shot clip transforms plus the live arp; Ableton MIDI Tools and
Logic's MIDI-FX slots are a non-destructive, ordered, pre-instrument rack —
Euterpe has all the transform bodies but no chain model. **Session Player
(MIDI-13)** is wired but rule-thin (root/cycle/block-chord, equal slices,
offline; `session-player.ts:19-55`); Logic 11's Bass Player has 8 styles with
complexity/intensity dials reacting to the chord track in real time, and there
is no Markov/probabilistic melodic layer in genesis (`melody-gen` is rule-based
chord-tone probability, not a transition matrix).\n\n**P2 (valuable).**
**DAWproject depth (IO-2)** — the round-trip works but is lossy
(notes+velocity+vol/pan/mute only), dropping the automation, sends, fades, warp,
and note-expressions the v1.0 spec carries. **Drum rack (MIDI-16)** — drum
synthesis is real and wired but routed through the generic single-row sampler
grid; Cubase 14's Drum Machine, Bitwig 5.3's drum devices + Stepwise, and
Ableton's Drum Rack all offer per-pad multi-lane grids with choke groups.
**Chord track (MIDI-9)** — voicings and `ChordSymbol` parsing exist, but there
is no chord-symbol-on-timeline lane driving parts the way Logic/Studio
One/Cubase chord tracks do.\n\n**P3 (nice-to-have).** **Microtuning (MIDI-5)** —
the engine is hard 12-TET; Scala/MTS-ESP support is a sound-design/experimental
nicety. **MIDI 2.0 / UMP (MIDI-14)** — best deferred until MPE and CC-mapping
land, since UMP is their high-res transport and browser Web-MIDI UMP support is
still nascent.\n\n#### Where Euterpe leads\n\nOn per-note probabilistic
sequencing Euterpe is at or beyond the mainstream bar: the clip engine
implements deterministic, reproducible per-note trig probability, ratcheting,
and a full Elektron-style trig-condition table including if-prev/if-not-prev
recurrence (`clip.rs:32-102`) with state-reconciliation playback —
Elektron-grade conditional sequencing that most flagship DAWs expose only via
third-party Max/MIDI-tool add-ons. Its one-click, in-piano-roll AI operations
(generate diatonic melody, eight melodic transforms, harmonize counter-melody,
symbolic Regen-½ inpainting) backed by the 2194-line genesis generator put
symbolic generation directly in the editing surface rather than behind a
separate device, which is a cleaner integration than several leaders' generator
panels.\n\n#### Verification notes\n\n- **MIDI-1 (MPE / per-note expression) —
confirmed-absent (gap stands, evidence enriched).** DAW `ClipNote`
(`apps/euterpe-studio-web/src/daw/types.ts:142-162`) has no bend/pressure/timbre
fields; `web-midi.ts:37`, `web-midi.spec.ts:29-30`, and `midi-import.ts:145-146`
all discard CC/pitch-bend/aftertouch. The `configureMpe`/`MpeConfig` helper in
`libs/euterpe/studio/src/runtime-sota/runtime-sota.ts:341` + `types.ts:201-210`
is real but is **not imported anywhere under `apps/euterpe-studio-web/src`**
(grep clean) and is a controller channel-strip config, not a note-expression
editing layer.\n- **MIDI-18 (MIDI-learn / CC mapping) — confirmed-absent (gap
stands).** `parseMidiMessage` (`web-midi.ts:23-38`) handles only note-on/off;
everything else returns null (`web-midi.ts:37`); `midi-import.ts:146` ignores
CC/aftertouch/program; no `ccMap`/MIDI-learn module or binding table exists in
the app.\n- **MIDI-2 (Notation / MusicXML) — partial-exists (CORRECTED: was
_missing_).** REFUTED headline: `generateMusicXML`
(`libs/euterpe/theory/src/notation/notation.ts:108-236`) and `parseMusicXML`
(`notation.ts:272-317`) are a real MusicXML 4.0 writer+parser (plus
LilyPond/ABC), so Euterpe _can_ read+write MusicXML. The surviving gap: they
operate on the theory `Score` model (`notation/types.ts:107`), `@euterpe/theory`
is **not imported into the DAW app** (grep clean), there is no
`ClipNote -> Score` bridge, and no staff render. Status downgraded missing ->
partial, effort XL -> L, recommendation rescoped to a clip<->Score adapter wired
to the existing converter + a later staff view.\n- **MIDI-7 (MIDI-effects chain)
— confirmed-absent (status `partial` retained).** No `MidiEffect`/`NoteFx` type,
no pre-engine `noteChain`/`applyNoteEffects` path in `daw-session.ts`,
`insert-rack.tsx` hosts only audio inserts (`types.ts:11-26`); destructive
transform bodies exist but no non-destructive ordered rack.\n- **MIDI-13
(Session Player depth) — partial-exists (status `partial` retained).** Wired
(`session-player.ts:19-55` -> `daw-session.ts:24,1620-1625` ->
`step-grid.tsx:136`) but only 3 styles, equal slices, offline; genesis
`melody-gen` is rule-based chord-tone probability (`melody-gen/types.ts:89`),
not a Markov/transition-matrix generator (the markov/transition hits are
confined to `genesis/arrangement` section-planning and `sfx-foley`).

---

### 6.3 Audio Engine & Performance (ENG)

_16 residual gaps — P0:0 P1:6 P2:6 P3:4_

Euterpe's audio engine is, on the merits, a real and well-tested Rust/WASM DSP
stack — not the thin shim the prior pass implied. Across `dsp-core` (24 modules,
134 domain-correct unit tests asserting values like LUFS = −3.01 dBFS at 0
dBFS/997 Hz), `dsp-graph` (84 tests) and `dsp-wasm` (48 tests), all 266 Rust
tests pass, and I verified the recent batch against the code: denormal flush
(ENG-6), windowed-sinc oversampling (ENG-8), BS.1770-4 true-peak (ENG-12),
click-free mute + insert-bypass crossfades (ENG-13), live EBU-3342 LRA (ENG-15),
auto make-up gain (ENG-16), a real CPU-load meter (ENG-20) and a selectable pan
law (MIX-17, superseding ENG-10) are all genuinely wired through the worklet
snapshot into the React UI. The signal path is allocation-free after
construction with explicit subnormal flushing in every recursive feedback line,
and the f64-internal path now covers biquad coefficients/state, the delay
feedback line and the reverb comb/allpass stores. The metering and
DSP-correctness story is close to SOTA.

The residual gaps are architectural and platform-level, and they verify cleanly
against the source. The engine is WebAudio-only and stereo-only: there is no
native driver crate (no `cpal`/CoreAudio/ASIO/WASAPI anywhere in any of the nine
`Cargo.toml` files — `mrt2-native` is a napi-rs _Node_ bridge for the generative
engine, not an audio I/O driver), control flows over `postMessage` rather than a
SharedArrayBuffer lock-free ring buffer, there is no WASM SIMD, the graph
processes tracks in serial `for` loops (no `rayon`/work-stealing), the sampler
holds whole files in a `Vec<f32>` (no OPFS/disk streaming into a voice), there
is no plugin-delay-compensation pass despite latent inserts already existing,
MIDI is input-only with no CC-learn binding, and automation is evaluated once
per 128-frame block rather than per-sample. These are the things that separate a
strong web DSP library from a flagship DAW engine.

#### Remaining gaps

| Severity | ID     | Gap                                                          | Pillar | Status  | Actionability / Effort |
| -------- | ------ | ------------------------------------------------------------ | ------ | ------- | ---------------------- |
| P1       | ENG-1  | Native low-latency I/O driver (CoreAudio/ASIO/WASAPI)        | Other  | missing | native-desktop / XL    |
| P1       | ENG-N1 | SharedArrayBuffer lock-free transport (COOP/COEP)            | Other  | missing | browser / L            |
| P1       | ENG-4  | Multicore / work-stealing graph scheduler                    | Other  | missing | native-desktop / XL    |
| P1       | ENG-7  | Disk/OPFS-streamed sample playback                           | Other  | missing | browser / L            |
| P1       | ENG-3  | Plugin delay compensation (PDC) framework                    | Other  | missing | local / M              |
| P1       | ENG-21 | MIDI-learn / hardware CC parameter binding                   | UX     | missing | browser / M            |
| P2       | ENG-N2 | WASM SIMD vectorization of the DSP hot path                  | Other  | missing | local / M              |
| P2       | ENG-N3 | Immersive / surround / Dolby Atmos output                    | Other  | missing | local / XL             |
| P2       | ENG-9  | Elastique/Rubber-Band-class time-stretch                     | Other  | partial | local / L              |
| P2       | ENG-2  | Sample-accurate sub-block automation                         | Other  | partial | local / M              |
| P2       | ENG-18 | Per-track sidechain routing matrix                           | Other  | partial | local / M              |
| P2       | ENG-11 | Large-session scaling profiled & SIMD-summed                 | Other  | partial | local / L              |
| P3       | ENG-8  | Oversampling across all nonlinear effects + sampler resample | Other  | partial | local / S              |
| P3       | ENG-14 | Selectable FFT window/size for spectral metering             | UX     | partial | local / M              |
| P3       | ENG-17 | Master soft-clip mode + latching clip-history LED            | UX     | partial | local / S              |
| P3       | ENG-19 | Lookahead buffers for limiter/dynamics                       | Other  | missing | local / S              |

The defensible near-term wins are the local-actionable P1s: **PDC (ENG-3)** is
the most glaring — Euterpe already ships latent inserts (oversamplers report
`latency()`) but `engine.rs` never compensates (verified: no
latency/compensate/predelay anywhere in it), so inserting an oversampled effect
time-shifts that track against the mix. **SharedArrayBuffer transport (ENG-N1)**
and **OPFS streaming (ENG-7)** are pure-web/browser work that close the gap to
openDAW/Soundation-class web DAWs — and both have usable scaffolding already (a
capability-negotiation predicate for SAB, a `buildOpfsLayout` path layout + a
proven worklet ring-buffer producer/consumer for the AI-generator stream) that
the real implementations can build on. **MIDI-learn (ENG-21)** is table-stakes
UX buildable on the Web MIDI plumbing that already exists. The true XLs —
**native I/O (ENG-1)** and **multicore scheduling (ENG-4)** — are gated on a
Tauri/native shell and only matter together; they define the latency-and-scale
ceiling but are not locally unit-testable today.

#### Where Euterpe leads

Euterpe's broadcast-grade metering is at or above the bar most DAWs expose
in-stock: a single streamed snapshot carries integrated/short-term/momentary
LUFS, sample-peak, BS.1770-4 4× true-peak (dBTP), inter-channel correlation,
live EBU-3342 LRA and an honest CPU-load fraction at ~23 Hz — a more complete
loudness picture than the default meters in several flagship DAWs, and all
computed from real f64 integrators rather than approximations. The
DSP-correctness discipline (134 tests asserting known-correct values, forbidden
`unsafe`, explicit denormal flushing in every feedback path) is genuinely strong
and is the foundation the missing architecture should be built on, not replaced.

#### Verification notes

I adversarially re-checked all six headline P1 gaps against the source,
defaulting to skepticism that each might already be wired. **All six are
confirmed-absent — no gap was refuted or downgraded.** Two evidence refinements
were made where adjacent infrastructure exists but does not satisfy the claim:

- **ENG-1 (native I/O) — confirmed-absent.** Grep for
  cpal/coreaudio/asio/wasapi/jack/alsa/portaudio across all nine `libs/euterpe`
  `Cargo.toml` files returned nothing. `mrt2-native/Cargo.toml` is a napi-rs
  Node bridge (deps mrt2-core/mrt2-engine/napi/serde) for the generative engine
  — explicitly not an audio driver.
- **ENG-N1 (SharedArrayBuffer transport) — confirmed-absent; evidence refined.**
  Worklet transport is `port.onmessage`/`port.postMessage`
  (engine-processor.template.js:37/38/453/509). The only SharedArrayBuffer
  references (`shell-runtime.ts:194/200`) are a _capability-negotiation
  predicate_ gating a "multi-track" feature on host support, **not** a lock-free
  command/meter ring buffer; no Atomics/crossOriginIsolated/COOP/COEP anywhere.
  Gap stands.
- **ENG-4 (multicore) — confirmed-absent.** `engine.rs` track processing is
  serial `for` loops (:313/:422/:430/:782/:856/:870/:978/:993); no
  `par_iter`/`rayon`/`thread::spawn`; no rayon/crossbeam in any Cargo.toml.
- **ENG-7 (disk/OPFS sample streaming) — confirmed-absent; evidence refined.**
  `sampler.rs:20` holds `data: Vec<f32>` and `load()` (:70) replaces the whole
  Vec. The existing ring-buffer "streaming track" (`audio-engine.ts:677` /
  `realtime-stream-bridge.ts`) is a _live AI-generator PCM_ feed, not disk-file
  streaming; `shell-runtime.ts:391 buildOpfsLayout` only returns directory path
  strings + quota accounting — scaffolding, not a streamed sampler voice. Gap
  stands; recommendation updated to reuse that scaffolding.
- **ENG-3 (PDC) — confirmed-absent.** `latency()` exists only on
  `Oversampler`/`FirLowpass` (oversample.rs:67/142); `engine.rs` has zero
  latency/compensate/predelay references; the `align` hits in dsp-graph are an
  unrelated bypass-vector comment (track.rs:1122) and clip-loop alignment
  (clip.rs:371).
- **ENG-21 (MIDI-learn) — confirmed-absent.** `web-midi.ts` decodes only
  note-on/off and explicitly returns `null` for control-change; no
  0xB0/learn/CC-binding store. The "learn" in daw-session.ts:550 is "learn the
  track index" (creation order); other "cc" hits are `clearNoteClip` substrings.

---

### 6.4 Mixing, Routing & Metering (MIX)

_14 residual gaps — P0:1 P1:8 P2:4 P3:1_

At HEAD (2026-06-07) Euterpe's mixing and metering surface is at or near
flagship parity on the per-channel and metering axes, and trails the SOTA bar
only on structural routing, immersive audio, plugin hosting, and the deeper
automation/sidechain/send flexibility that mixing pros expect. The native DAW
(apps/euterpe-studio-web/src/daw/daw-session.ts + the Rust/WASM
libs/euterpe/audio-engine) ships a real channel strip (gain, constant-power pan,
mute/solo, a 3-law pan selector wired to dsp_core::PanLaw, post-fader
reverb+delay sends with automation, a reorderable 10+ insert rack), a master
chain (5-band EQ + stereo-linked compressor with a sidechain key-track, a 3-band
Linkwitz-Riley multiband-dynamics processor, limiter, and M/S width), and a
metering suite that is genuinely SOTA-adjacent and fully live end-to-end:
BS.1770-4 4x-oversampled true-peak, phase correlation,
integrated/short-term/momentary LUFS, app-side LRA, DSP CPU load, a
goniometer/vectorscope, a log-FFT spectrum, and a scrolling loudness-history
graph. A heavy recent wave closed roughly a dozen items the prior doc marked
missing — per-insert-parameter automation incl. EQ band-gain (MIX-7), automation
Write mode (MIX-6), the non-destructive monitor section (MIX-11), master
multiband (MIX-23), the pan-law selector (MIX-17), the goniometer (MIX-14) and
correlation meter (MIX-13), short-term/momentary LUFS (MIX-5), loudness history
(MIX-24), mix snapshots with A/B (MIX-8), track folders (MIX-25), per-clip gain
(MIX-10), and the true-peak/LRA/CPU meters (ENG-12/15/20).

The decisive structural finding: libs/euterpe/studio/src/mixer/mixer.ts is now a
real 2003-line, unit-tested (mixer.spec.ts) implementation of VCA groups
(createVCAGroup, line 1229), bus channels (createBusChannel, line 754), a
routing matrix with feedback detection (createRoutingMatrix, line 1081 /
wouldCreateFeedbackLoop, line 1201), and surround pan (calculateSurroundPan,
line 332) — but the DAW app never imports @euterpe/studio (verified: the app's
only @euterpe/\* imports are audio-engine-web, core, genesis, master,
transcribe; the lone '@euterpe/studio' string in app src is a doc-comment for
the unrelated @euterpe/studio-web package). So the routing layer that would lift
Euterpe to parity already exists as tested library code and is purely a wiring
job, not new DSP. The remaining true gaps cluster into routing (present-unwired,
local), immersive audio + plugin hosting (XL, native), and
automation/sidechain/send depth + provenance-on-export.

#### Remaining gaps

**P0 — table stakes**

| id    | gap                                                                                                                                   | pillar | status          | action | effort |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------- | ------ | --------------- | ------ | ------ |
| MIX-2 | User-created summing buses / aux with their own inserts, sends, metering (only two fixed reverb/delay buses exist; folders don't sum) | UX     | present-unwired | local  | XL     |

**P1 — expected by pros**

| id     | gap                                                                                                                                                 | pillar | status          | action         | effort |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | --------------- | -------------- | ------ |
| MIX-1  | VCA faders scaling grouped channels (mixer.ts createVCAGroup unwired)                                                                               | UX     | present-unwired | local          | L      |
| MIX-3  | Flexible routing matrix / patch bay (mixer.ts createRoutingMatrix unwired)                                                                          | UX     | present-unwired | local          | L      |
| MIX-4  | Flexible sends: pre/post-fader, pre/post-insert, per-send pan/mute, arbitrary destinations (sends are fixed post-fader reverb+delay)                | UX     | missing         | local          | L      |
| MIX-26 | Touch / Latch / Trim automation modes (only read/write)                                                                                             | UX     | missing         | local          | M      |
| MIX-27 | Per-insert sidechain input + sidechain filter (master-comp only)                                                                                    | UX     | missing         | local          | L      |
| MIX-28 | Surround / immersive + Dolby Atmos ADM authoring (engine stereo-only; @euterpe/spatial unused)                                                      | Other  | present-unwired | local          | XL     |
| MIX-29 | VST/AU/CLAP third-party plugin hosting (first-party inserts only)                                                                                   | Other  | missing         | native-desktop | XL     |
| MIX-35 | C2PA Content Credentials + SynthID on export (DAW export carries only a text label; no signed manifest/watermark bound to render; no ISWC/UPC/DDEX) | AI     | partial         | local          | L      |

**P2 — valuable**

| id     | gap                                                                                                  | pillar | status  | action  | effort |
| ------ | ---------------------------------------------------------------------------------------------------- | ------ | ------- | ------- | ------ |
| MIX-30 | Mid/Side per-insert (and per-track) processing (only master width uses M/S)                          | UX     | missing | local   | M      |
| MIX-31 | Control-surface integration: MIDI-learn / CC mapping / OSC / hardware faders (note-input only)       | UX     | missing | browser | L      |
| MIX-32 | Per-band / spectrogram / per-band-LUFS metering (instantaneous FFT bars only)                        | UX     | partial | local   | M      |
| MIX-33 | Per-platform loudness preview + reference-monitor A-B panel (reference matching is export-time only) | UX     | partial | local   | M      |

**P3 — nice to have**

| id     | gap                                                                                                                                       | pillar | status  | action | effort |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | ------ | ------ |
| MIX-34 | Mix-snapshot coverage: capture master EQ/comp/multiband + per-insert params (currently only gain/pan/mute/solo/sends + master gain/width) | UX     | partial | local  | S      |

#### Where Euterpe leads

Euterpe's metering suite is unusually deep for a browser DAW and competitive
with dedicated tools (iZotope Insight, Voxengo SPAN): true-peak (BS.1770-4
4x-oversampled), integrated + short-term + momentary LUFS (the full EBU R128
I/S/M set), live LRA, phase correlation, goniometer/vectorscope, log-spaced FFT,
scrolling loudness history, and a DSP CPU-load readout — all computed in a real
Rust/WASM engine and pulled live by the worklet, not approximated in JS. The
3-band Linkwitz-Riley master multiband, the selectable pan-law (incl. the -4.5
dB compromise law many DAWs omit), per-insert-parameter automation down to
individual EQ band-gain, and the offline-render-then-measure Auto-Mix driving
the real @euterpe/master assistant are all genuinely strong. The gap to the
leaders is concentrated in structure (buses/VCA/routing — which already exists
in mixer.ts and just needs wiring), immersive audio, and native plugin hosting,
not in the signal-processing or metering core.

#### Verification notes

All nine headline claims were adversarially re-checked against the codebase;
every gap stands. One evidence correction.

- MIX-2 — confirmed-absent. createBusChannel (mixer.ts:754) is real + tested
  (mixer.spec.ts:51,797) but @euterpe/studio is never imported by the app (only
  doc-comment in index.ts:2 for the different @euterpe/studio-web). Engine has
  exactly two fixed shared aux buses (engine.rs:45-56); folders don't sum
  (daw-session.ts:2006-2076, 'audio unchanged → no engine command').
- MIX-1 — confirmed-absent. createVCAGroup/addChannelToVCA/setVCAFader
  (mixer.ts:1229/1242/1259) real + tested (mixer.spec.ts:82), zero real VCA refs
  in app src (only an unrelated 'vcall' in piano-roll.spec.tsx:64).
- MIX-3 — confirmed-absent. createRoutingMatrix/wouldCreateFeedbackLoop
  (mixer.ts:1081/1201) real + tested (mixer.spec.ts:71,1005), no
  routingMatrix/patchBay in app.
- MIX-4 — confirmed-absent. channel-strip.tsx:178-195 has exactly two fixed
  post-fader sends (Reverb/Delay); engine.rs:274/289 both post-fader;
  setSendType lives only in unwired mixer.ts:701.
- MIX-26 — confirmed-absent. types.ts:455 automationMode is exactly 'read' |
  'write' (setAutomationMode action types.ts:620 likewise); no touch/latch/trim
  tokens.
- MIX-27 — confirmed-absent. Sidechain key bus exists only on the master comp
  (engine.rs:57/304-305); no sidechain in insert-rack.tsx; dsp-core compressor
  has no sidechain input (only a tremolo.rs:2 doc-comment mentions 'sidechain').
- MIX-28 — confirmed-absent. libs/euterpe/spatial
  (ambisonics/atmos/binaural/spatial-upmix/vr-audio) + mixer.ts:332
  calculateSurroundPan exist but are unused by the app; bwf.ts has no
  5.1/7.1/multichannel/ADM.
- MIX-29 — confirmed-absent. Insert factory in daw-session.ts is all first-party
  DSP; no vst/clap/plugin-host refs (the 'clap' hits are the drum-synth clap
  voice).
- MIX-35 — partial-exists, EVIDENCE CORRECTED. The DAW-export-relevant claim
  stands: daw-app.tsx export (387/510/593) writes only the one-line provenance
  label + ISRC (metadata-tags.ts:37,176 — no ISWC/UPC/DDEX), and binds no signed
  manifest/watermark to the render. But the prior draft's 'no C2PA manifest
  writer … anywhere / only doc-comment mentions' was overstated: a real but
  hash-modeled (not crypto-signed JUMBF) buildC2paManifest/verifyC2paManifest
  exists in
  libs/euterpe/elevenlabs/src/inpaint-finetune/inpaint-finetune.ts:736-795
  (explicitly 'models a detached signing key with no live network or key
  material'), and C2PA/SynthID benchmark/eval infra exists in
  libs/euterpe/evals/ (provider-benchmarks.ts:837, automated-eval.ts:755). None
  of it is wired to the DAW export and there is no SynthID watermark writer in
  the app or audio engine — so the gap holds as partial; the title/evidence now
  scope the claim to the DAW export path and acknowledge the unwired manifest
  builder.

---

### 6.5 Effects, Instruments & Plugin Hosting (FX)

_8 residual gaps — P0:1 P1:2 P2:3 P3:2_

Euterpe's FX dimension has effectively closed the build-out gap from the prior
(2026-06-06) audit and now sits at or near built-in-effects parity with the
flagship field. Synthesis is wired end-to-end natively in Rust — not through the
(real but unused) `@euterpe/synth` or the broader `@euterpe/studio` TS
libraries: an 8-voice subtractive PolySynth plus FM phase-modulation and
single-cycle wavetable voice modes (`dsp-core/src/voice.rs`), additive synthesis
as 16 harmonic drawbars, formant/vowel-morph riding that additive path, a real
overlapping-grain granular cloud on the Sampler (`sampler.rs`), and
TS-synthesized drum one-shots — all confirmed reachable through
`synth-panel → reducer → session-rebuild → worklet → dsp-wasm → dsp-core`.
Built-in inserts grew from 10 to 15 (tremolo, saturator, flanger, autowah,
ringmod, each a dedicated Rust DSP module with per-param sliders) plus a master
3-band Linkwitz-Riley multiband compressor / dynamic-EQ, with
oversampling/anti-aliasing and auto-makeup gain on the drive effects. The
previously-"missing" FX-8 macros, FX-10 preset libraries (synth + FX-chain,
factory + user save/load), and the P0 FX-17 arrangement timeline are all shipped
and wired.

A structural caveat now sharpened by this verification pass: there exists a
**large, parallel, present-unwired `@euterpe/studio` TS library**
(`libs/euterpe/studio/src/{instruments,effects,runtime-sota,...}`) that already
contains a zone-mapped `SampleMapping`, a `ModulationRoute` type,
carrier/modulator vocoders, and CLAP/VST3/AUv3/AAX/ARA _host-planning_
functions. Although `@euterpe/studio` is listed as a workspace dependency and
transpiled, the running DAW (`apps/euterpe-studio-web/src`) imports **none** of
these modules — it reimplemented its engine in `src/daw` + Rust `dsp-core`. So
those library capabilities do **not** satisfy the gaps below; they are
blueprints/donor code, not wired features. The genuine residual gaps remain the
**plugin-hosting cluster** and a handful of deep sound-design / tracking
features.

#### Remaining gaps

**P0 — table stakes for pro adoption**

| id    | gap                                                                                                                                                                                                                                                                                                                     | pillar | status  | actionability  | effort |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | -------------- | ------ |
| FX-11 | External plugin hosting (VST3 / CLAP / AU) — Euterpe's Tauri `commands.rs` is file-I/O only; `runtime-sota` host functions are pure capability _math_, not a host; real CLAP/VST3 hosts exist only in the separate **Neith** domain (`libs/neith/{clap,vst3}-host`), unbridged; `euterpe-instrument` is plugin _export_ | Other  | missing | native-desktop | XL     |

**P1 — expected by professionals**

| id    | gap                                                                                                                                                                                                                              | pillar | status  | actionability | effort |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | ------------- | ------ |
| FX-7  | Unified source→target modulation matrix (LFO/env/MSEG/random/MIDI → any param). Running engine has only a cutoff-only voice LFO + the static macro fan-out; a `ModulationRoute` type exists in the unwired `@euterpe/studio` lib | Other  | partial | local         | L      |
| FX-18 | Take comping — multi-take lanes + swipe-to-select composites; `clip-recorder` records a single clip per capture                                                                                                                  | UX     | missing | local         | L      |

**P2 — valuable**

| id    | gap                                                                                                                                                                                                             | pillar | status  | actionability | effort |
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | ------------- | ------ |
| FX-9s | Spectral / STFT effects (vocoder, spectral gate, spectral freeze) — every running insert is time-domain; no STFT engine in `dsp-core` (a vocoder exists in the unwired `@euterpe/studio`/`@euterpe/voice` libs) | Other  | missing | local         | L      |
| FX-5  | Multi-zone sampler (key/velocity zone mapping, round-robin, SFZ import) — running Sampler is single-buffer; a full `SampleMapping` zone schema sits unwired in `@euterpe/studio/instruments`                    | Other  | missing | local         | M      |
| FX-14 | Sampler slicing / slice-to-MIDI — ARR-6 onset markers already exist; missing the map-to-keys / slice-to-clip step                                                                                               | UX     | partial | local         | M      |

**P3 — nice to have**

| id    | gap                                                                                                                                                      | pillar | status  | actionability | effort |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | ------------- | ------ |
| FX-N1 | Portable preset/device interchange — presets are localStorage-only; no file export; a `.dawproject` _reader_ exists but carries no built-in device state | Other  | partial | local         | M      |
| FX-N2 | Per-note / MPE polyphonic expression into synth voices — voices keyed by note only, no per-note pressure/slide/pitch                                     | Other  | missing | local         | M      |

#### Where Euterpe leads

- **Genuinely native DSP, not a wrapper.** Every built-in synth voice mode and
  all 15 inserts are hand-written Rust with documented transfer functions (LR4
  magnitude-flat multiband reconstruction, tube even-harmonic saturation, WSOLA
  time-stretch), compiled to WASM and unit-tested for domain correctness — a
  stronger first-party-effects story than DAWs that lean on bundled third-party
  plugins.
- **Synthesis breadth in the box.** Subtractive + FM + wavetable + additive +
  formant + granular + drum synthesis are all wired into one running web DAW —
  coverage that several flagship DAWs only reach via paid add-on instruments.
- **Provenance-aware exports.** `provenance.ts` already labels AI-authored
  material for the 2026 disclosure regimes (EU AI Act Art. 50, CA SB 942), ahead
  of the curve for the cross-dimension C2PA/SynthID work — though that
  AI-provenance maturity belongs to the AI dimension, not FX.

#### Verification notes

- **FX-11 (plugin hosting) — verdict: confirmed-absent, evidence sharpened.**
  Euterpe's Tauri commands are file-I/O only
  (`apps/euterpe-studio-web/src-tauri/src/commands.rs:36,48,60,89`) and its
  shell `Cargo.toml` pulls in no host crate and no Neith. Two refutation
  candidates were chased and dismissed: (1)
  `libs/euterpe/studio/src/runtime-sota/runtime-sota.ts`
  `planClapHost`/`planVst3Host`/`planAuV3Host`/`planAaxHost`/`planAraHost`
  (lines 98/146/173/198/222) are **pure capability-planning math** — no
  `process`/`scan`/`instantiate`/`dlopen`, and not imported by the DAW (zero
  `from '@euterpe/studio'` imports in app `src`); (2) **real** CLAP+VST3 hosts
  exist as `libs/neith/clap-host` + `libs/neith/vst3-host`
  (dlopen/`clap_entry`/factory/lifecycle) but are a **separate Neith domain**,
  unbridged into Euterpe (grep `neith` in euterpe `Cargo.toml`s = empty).
  Recommendation upgraded to _bridge the existing Neith host_ rather than write
  one from scratch.
- **FX-7 (modulation matrix) — verdict: partial-exists, status unchanged.**
  Running engine modulation is only the cutoff sine LFO
  (`dsp-core/src/voice.rs:36-40,165`) + FM + filter env; macros are a static
  fan-out. A `ModulationRoute {source,destination,amount}` type and
  `LFOConfig`/`LFOShape` do exist at
  `libs/euterpe/studio/src/instruments/types.ts:71,63,33` but the whole module
  is present-unwired (no app import), so it doesn't close the gap. Evidence
  updated to credit the donor schema.
- **FX-18 (take comping) — verdict: confirmed-absent, status unchanged.**
  `clip-recorder.ts:32-71` accumulates one `ClipNote[]` and `finish()` returns a
  single clip; the only "comping" grep hits are chord-voicing harmony comping
  (`chord-voicings.ts:66`), unrelated. Gap stands.
- **Cross-cutting correction (affects FX-5, FX-9s, FX-N2 evidence):** the
  audit's recurring "Euterpe lacks X" claims for the FX dimension are all scoped
  to the **running DAW** (`apps/euterpe-studio-web/src/daw` + `dsp-core`). The
  verification confirmed the parallel `@euterpe/studio`/`@euterpe/voice`
  libraries already contain zone-mapped sampling (`instruments/types.ts:80-95`),
  vocoders (`studio/effects/effects.ts:1864`, `voice/vocal-processing.ts:2361`),
  and MPE config — but **none are imported by the DAW**, so the gaps stand. Each
  affected gap's evidence now names the unwired donor so the eventual fix can
  port rather than reinvent.

---

### 6.6 AI Generation & Assistance (AI)

_16 residual gaps — P0:3 P1:6 P2:7 P3:0_

Euterpe's AI dimension has moved close to 2026 parity, and the picture is
materially better than the 2026-06-06 doc: roughly 30 commits since then closed
items previously marked partial or missing. Verified WIRED in the DAW are the
full symbolic-generation core (melody-from-key, eight melodic variations,
counter-melody harmonization, and context-conditioned clip inpainting flowing
from `piano-roll.tsx` into `@euterpe/genesis/melody-gen` +
`@euterpe/genesis/inpainting`), a real fail-closed Anthropic LLM copilot
(`app/api/copilot/route.ts` with server-side `validateActions` and a 34-action
whitelist), and — the biggest correction — realtime MRT2 generation streamed
**into the master mix** via `realtime-stream-bridge.ts` and a Rust
`StreamSource` ring buffer, so generated audio passes through
inserts/sends/automation like any source. Also wired: classic HPSS stem split,
Krumhansl-Schmuckler key + autocorrelation tempo detection, audio→MIDI
transcription, mix-assistant auto-leveling, reference-track tone matching, genre
mastering + LUFS targeting, per-platform format masters with compliance
verdicts, and master multiband dynamics. The adversarial stub scan over the DAW
app surface returned zero actionable stubs.

The residual gaps cluster into three kinds. First, several large, real
generation libraries exist but are **not imported by the DAW** —
`@euterpe/genesis/text-to-music` (2651 LOC, barrel-exported at
`genesis/src/index.ts:8`, zero app imports), `@euterpe/voice` (cloning +
singing), `@euterpe/accompany`/`virtuoso`, genesis
style-transfer/sfx-foley/stems, and — newly corrected — the **`@euterpe/studio`
pitch-correction** engine (`effects.ts:1577-1799`
`createPitchCorrection`/`processPitchCorrection`), which the app never imports.
So these capabilities are built but unreachable. Second, genuinely absent SOTA
features with no implementation anywhere in the DAW path: audio/waveform
inpainting, cross-channel masking-aware EQ, comping take-lanes, speech-to-text,
spatial/Atmos, external-plugin hosting, and real-time collaboration. Third — and
most credibility-critical — provenance is a **label-only string**
(`provenance.ts:30-44`), with no cryptographic C2PA manifest on export and no
SynthID watermark, even though the export path already writes BWF `bext`/`iXML`
chunks (`bwf.ts`); SynthID/C2PA exist in the repo only as provider _scoring_
fields in `libs/euterpe/evals`, not as an export-side manifest writer. Two
architectural limitations also surfaced: the copilot cannot write editable MIDI
notes to the arrangement (its 34-action whitelist stops at
chords/patterns/arrangement-mode; the genesis melody generators are reachable
only via the piano-roll UI), and the realtime AI stream is downmixed to mono
(`realtime-stream-bridge.ts:25-32`) before entering the engine, discarding the
generator's stereo image.

#### Remaining gaps

**P0 — table stakes / blocking**

| id    | title                                                   | status          | actionability | effort | recommendation                                                                                                                                                                                      |
| ----- | ------------------------------------------------------- | --------------- | ------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AI-19 | C2PA Content Credentials + SynthID watermark on export  | partial         | local         | L      | Build signed C2PA manifests into the WAV/MP4 export (extend `bwf.ts`) from `summarizeProvenance` + per-track origin; detect and propagate MagentaRT's SynthID instead of stripping it.              |
| AI-8  | One-shot text-to-music → editable clip                  | present-unwired | local         | M      | Wire `@euterpe/genesis/text-to-music` (already barrel-exported, zero DAW imports) behind a `generateClipFromText` action + copilot entry, writing an editable clip via existing `generate-clip.ts`. |
| AI-N1 | Agentic copilot writes editable MIDI to the arrangement | partial         | local         | M      | Add copilot actions (generateMelody/bassline/harmonize/placeClip) that delegate to the already-imported genesis generators + arrangement reducer; re-validate in `validateActions`.                 |

**P1 — expected by pros**

| id    | title                                                                   | status          | actionability  | effort | recommendation                                                                                                                                                                                                       |
| ----- | ----------------------------------------------------------------------- | --------------- | -------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AI-4  | Pitch correction wired into the DAW (`@euterpe/studio` exists, unwired) | present-unwired | local          | L      | Wire the existing `processPitchCorrection` as a scale-locked audio-track insert (lib already built); upgrade its documented cents-shift to a real formant-preserving PSOLA/phase-vocoder; DNA-class polyphony later. |
| AI-12 | Voice cloning + text-to-singing                                         | present-unwired | cloud-cred     | L      | Add a VoicePanel wiring `@euterpe/voice` (enroll → text+melody → sung clip); fail-closed for any ElevenLabs path.                                                                                                    |
| AI-7  | Audio (waveform) inpainting / regenerate-region                         | missing         | backend        | L      | Region select → diffusion inpainting (Stable Audio 2.5 for license safety, fail-closed) → equal-power crossfade splice.                                                                                              |
| AI-N2 | Cross-channel masking-aware EQ (smart:EQ-class)                         | missing         | local          | L      | Cross-track spectral-overlap analyzer emitting complementary dynamic-EQ actions; pure DSP, unit-testable.                                                                                                            |
| AI-N5 | Reactive AI accompaniment band (`accompany`/`virtuoso` unwired)         | present-unwired | local          | M      | Replace the 55-LOC local session-player with `@euterpe/accompany` backing-band/drums — chord-track-reactive, style/complexity, editable MIDI.                                                                        |
| AI-14 | On-device neural inference (live candle/MLX forward-pass)               | partial         | native-desktop | XL     | Implement the candle/MLX forward-pass in `mrt2-engine` + ship quantized weights; route realtime on-device with BFF fallback.                                                                                         |

**P2 — valuable**

| id    | title                                                 | status          | actionability  | effort | recommendation                                                                                              |
| ----- | ----------------------------------------------------- | --------------- | -------------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| AI-N3 | Speech-to-text / dialogue transcription               | missing         | cloud-cred     | M      | Whisper-class local or cloud ASR (fail-closed) → time-aligned word tokens for search + text-trim.           |
| AI-N4 | ARA-grade comping / multi-take lanes                  | missing         | local          | L      | Take-lane model + swipe-comp UI with auto crossfades.                                                       |
| AI-1  | Cloud Suno/Udio/Stable-Audio async import UI          | present-unwired | cloud-cred     | M      | Enqueue→poll→import panel over the existing fail-closed BFF executor; default to Stable Audio 2.5.          |
| AI-N6 | AI generator stream preserves stereo (currently mono) | partial         | local          | S      | Make `StreamSource` stereo and drop the `interleavedStereoToMono` downmix; recovers generator stereo width. |
| AI-20 | Spatial / Dolby Atmos mastering                       | missing         | local          | XL     | Object panner + binaural render + ADM BWF; large, partly native-bound.                                      |
| AI-22 | External VST3/AU/CLAP guest-plugin hosting            | missing         | native-desktop | XL     | Requires a Tauri/native shell; not pure-web buildable.                                                      |
| AI-16 | Real-time multiplayer collaboration (CRDT)            | partial         | backend        | L      | Yjs/CRDT over the reducer + WebSocket relay; orthogonal to AI-native positioning.                           |

#### Where Euterpe leads

Euterpe's realtime MRT2 generation flowing through the **actual mix graph**
(track inserts → sends → automation → master) rather than a re-imported MP3 is
genuinely ahead of the cloud-round-trip pattern most consumer tools still use,
and matches the 2026 "intelligence in the timeline" thesis. The fail-closed,
server-re-validated LLM copilot is architecturally sound (no fabricated audio,
no client-trusted actions). Per-platform format masters with real compliance
verdicts (Spotify/Apple/YouTube/TikTok/club/CD/vinyl) and the reference-track EQ
match are at or near the iZotope/LANDR assisted-mastering bar. The
honest-by-construction provenance model (re-marking hand-edited patterns as
`manual`) is the right semantic foundation — it just needs the cryptographic
C2PA/SynthID layer (AI-19) on top to be credible against 2026's converged
standard.

#### Verification notes

Adversarial re-verification of the nine headline gaps against the codebase
(`libs/euterpe` + `apps/euterpe-studio-web/src`), citing file:line:

- **AI-19 (C2PA/SynthID) — confirmed-absent (gap stands).**
  `provenance.ts:30-44` returns only a label string; `daw-app.tsx:387,510,593`
  stamp only that label into the export comment; `bwf.ts:3-35` writes only EBU
  `bext`/`iXML` chunks (no C2PA/JUMBF). The only SynthID/C2PA code in the repo
  is provider _scoring_ in
  `libs/euterpe/evals/src/provider-benchmarks/{types.ts:257-260,provider-benchmarks.ts:808-845}`
  — not an export manifest writer.
- **AI-8 (text-to-music) — confirmed-absent / present-unwired.** Barrel-exported
  `genesis/src/index.ts:8` (`textToMusic`, 2651 LOC); zero app imports. App
  imports genesis only via `melody-gen` (`generate-clip.ts:21`,
  `piano-roll.tsx:27`) and `inpainting` (`clip-inpaint.ts:9`).
- **AI-N1 (copilot writes MIDI) — confirmed partial.** `copilot.ts:17-52` is
  exactly 34 actions; no melody/bassline/harmonize/placeClip/generateClip. The
  genesis generators are reachable only from `piano-roll.tsx:17-18,235,303`.
- **AI-4 (pitch correction) — CORRECTED: missing → present-unwired.** A real
  implementation exists in libs
  (`libs/euterpe/studio/src/effects/effects.ts:1577-1799`
  `createPitchCorrection`/`processPitchCorrection`; `effects/types.ts:303-322`;
  also `libs/euterpe/voice/src/vocal-processing` + `voice-conversion`), but the
  DAW app never imports `@euterpe/studio` and `INSERT_KINDS`
  (`copilot.ts:54-70`) has no pitch node. Caveat noted in evidence:
  `effects.ts:1763` documents the lib retune is a cents-shift approximation (not
  yet PSOLA/phase-vocoder) and monophonic; DNA-class polyphony exists nowhere.
  Status, evidence, title, and recommendation updated accordingly.
- **AI-12 (voice cloning/singing) — confirmed present-unwired.**
  `libs/euterpe/voice/src/{voice-cloning,text-to-singing}` real; zero app
  imports.
- **AI-7 (audio/waveform inpainting) — confirmed-absent.** Only symbolic MIDI
  inpainting wired (`clip-inpaint.ts:28` on `MusicNote[]`,
  `piano-roll.tsx:303`).
- **AI-N2 (cross-channel masking EQ) — confirmed-absent.** No analyzer in app or
  DAW libs surface; grep hits are unrelated (telemetry-launch, a spec string).
- **AI-N5 (accompany/virtuoso) — confirmed present-unwired.**
  `session-player.ts` is 55 LOC (wired `daw-session.ts:24`);
  `@euterpe/accompany`/`@euterpe/virtuoso` have zero app imports.
- **AI-14 (candle forward-pass) — confirmed partial.**
  `mrt2-engine/src/lib.rs:13-16` + `weights.rs:49` parse safetensors headers
  only; forward pass gated by `INFERENCE_BACKEND_LINKED`, reports
  `not_configured` until linked; realtime path runs through the BFF
  MagentaRtProvider.

Net change to the gap list: no gaps were already-present (none removed). One
status correction — **AI-4** downgraded from `missing` to `present-unwired` (a
real `@euterpe/studio` pitch-correction lib exists, just unwired) with
title/evidence/recommendation adjusted to "wire the existing engine" rather than
"build from scratch." All other eight headline claims confirmed as drafted.

---

### 6.7 UX/UI & Workflow (UX)

_15 residual gaps — P0:2 P1:8 P2:4 P3:1_

The 2026-06-06 picture is now substantially out of date: across the ~30
intervening commits, nearly every UX item that doc flagged as
missing/partial/polish has shipped and is wired into the live DAW
(`apps/euterpe-studio-web/src/components/daw/daw-app.tsx`, 1622 LOC). The three
former P0 gaps are done — a real 895-LOC clip arrangement timeline
(`arrangement-view.tsx`: drag/move/resize, magnetic + transient + selectable
grid snap, markers, loop region, split-at-playhead, duplicate, box-select, MIDI
export), a fuzzy command palette over a 24-command registry
(`command-palette.tsx` + `daw-commands.ts`), and fully customizable keyboard
shortcuts with a rebind/conflict-detection panel (`keybindings.ts`,
`keyboard-shortcuts-panel.tsx`). Also confirmed wired and production-grade:
per-track macros, a linear undo-history navigator (honestly self-documented as
non-branching), a contextual help overlay plus ~124 inline tooltips, project
templates, three themes including a WCAG-AAA high-contrast set, a deep
accessibility layer (Okabe-Ito palettes, contrast utilities, reduced-motion,
haptics, ARIA), automation lanes with shape presets and Write mode, local
autosave/restore, count-in, MIDI-region regeneration in the piano roll, a
whitelisted-tool LLM copilot, real generative MIDI (`generate-clip.ts`), a real
(classical-DSP) stem separation module, and — newly confirmed in this
verification pass — a wired AI Session Player (named bass/arp/chords
accompaniment personas in `step-grid.tsx`, dispatched through the reducer). On
the pure-UX cluster — actions, keyboard, help, theming, accessibility, timeline,
macros, undo, templates — Euterpe is now at or near parity with mainstream
desktop DAWs, and on a few axes (global command palette, WCAG-AAA, an honest
accessibility tree) it meets or beats them. The residual gaps are the
heavier-architecture surfaces.\n\n#### Remaining gaps\n\n**P0 — table stakes
still missing**\n\n| id | gap | pillar | status | actionability | effort
|\n|----|-----|--------|--------|---------------|--------|\n| UX-23 | Session /
clip-launch grid (scenes + follow-actions + capture) | UX | missing | local | XL
|\n| UX-5 | Unified assignable modulation system (mod-matrix / free LFOs /
followers) | UX | partial | local | XL |\n\nThe \"session mode\" toggle in the
arrangement view is only a boolean playback toggle (song-arrangement vs
step-grid), not an Ableton-style clip×scene launcher — there are no launch
cells, scene column, follow-actions, or retrospective capture. And while macros
and automation lanes are done, there is still no modulation _source_ (free LFO,
envelope, step-mod, follower) routable to arbitrary parameters; only a fixed
per-synth cutoff LFO exists and the macro resolver is a static linear map. Both
are the clearest \"behind the SOTA bar\" items.\n\n**P1 — expected by
pros**\n\n| id | gap | pillar | status | actionability | effort
|\n|----|-----|--------|--------|---------------|--------|\n| UX-1 | Resizable /
dockable workspace + saveable screensets | UX | missing | local | L |\n| UX-24 |
MPE / per-note expression (pressure / glide / timbre) | UX | missing | local | L
|\n| UX-7 | Unified semantic asset/sample/preset browser (embeddings +
similarity) | AI | partial | local | L |\n| UX-10 | Take comping &
loop-recording | UX | missing | local | L |\n| UX-15 | VST3 / CLAP / AU (or
in-browser WAM) plugin hosting | Other | missing | native-desktop | XL |\n|
UX-25 | Neural 4-way stem separation | AI | partial | local | L |\n| UX-26 | AI
session players — _chord-reactive / live-following_, intensity controls,
drums/keys personas | AI | partial | local | L |\n| UX-22 | Real-time
multiplayer (CRDT) collaboration | Other | missing | backend | XL |\n\nThe left
work column is a hard-coded 380px with no resize/dock/screenset persistence;
notes carry no continuous per-note expression and Web MIDI input collapses all
channels to one track (so MPE input is precluded too); the sampler still loads
via a raw file picker (no unified browser, no similarity search — the current
branch is `feat/hestia-epicure-embeddings`, so embedding infra may be a wire-up
away); recording is single-pass (no take lanes/comping); the insert chain is
Euterpe-native only; stem separation is classical HPSS 2-way rather than neural
4-way; and there is no live co-editing. **Correction vs the draft:** UX-26 is
_not_ an absence of session players — a real wired Session Player with
bass/arp/chords personas already ships (`session-player.ts` → `step-grid.tsx` →
reducer); the genuine residual is that it is one-shot over a hard-coded
I–V–vi–IV progression with no chord-track reactivity, complexity/intensity
controls, live-follow mode, or drummer/keys personas. Status is correctly
_partial_, but the recommendation is now to _promote the existing wired player_,
not build one from scratch.\n\n**P2 / P3 — valuable to nice-to-have**\n\n| id |
gap | pillar | status | actionability | effort
|\n|----|-----|--------|--------|---------------|--------|\n| UX-27 | In-DAW
notation / score editor | Other | missing | local | L |\n| UX-11 | Touch /
multitouch / pen-pressure input | UX | partial | browser | M |\n| UX-12 |
Multi-window / multi-monitor detached editors | UX | missing | native-desktop |
L |\n| UX-28 | Wire (or retire) the unimported studio / studio-runtime libs |
Other | present-unwired | local | M |\n| UX-29 | DAWproject open-interchange
round-trip in the UI | Other | partial | local | S |\n\nUX-28 is an
internal-coherence finding: `libs/euterpe/studio` and
`libs/euterpe/studio-runtime` are real, substantial view-model/runtime libraries
(timeline/automation/mixer, plus a creator-experience
onboarding/idea-board/export-wizard/coproducer-copilot suite) that are imported
nowhere in the app — the shipping DAW reimplements these self-contained in
`src/daw`. They should be wired into the shell or formally deprecated so
\"present\" doesn't read as \"shipped.\"\n\n#### Where Euterpe leads\n\nOn the
UX axis Euterpe already meets or exceeds mainstream desktop DAWs in several
places the benchmark itself flags as field gaps: a **global fuzzy command
palette** (Cubase users are still requesting one as of v15; Studio One only has
a command box), a **complete keyboard command surface + ARIA/accessibility
tree** built in from day one (Reaper needs the third-party OSARA project to
approach this), **WCAG-AAA high-contrast theming** with color-blind-safe
Okabe-Ito palettes and reduced-motion/haptics, and an **honest, fully-navigable
linear undo history** (most DAWs hide undo behind a menu; true branching undo is
absent field-wide, and Euterpe's is at least a first-class, clickable
navigator). For a browser/WASM DAW it also already ships real on-device DSP
(HPSS separation, mastering, generative MIDI) plus a wired generative session
player, rather than the cloud-only stem/master story of the BandLab/Soundtrap
tier.\n\n#### Verification notes\n\nEach headline claim was re-checked against
`libs/euterpe` + `apps/euterpe-studio-web/src` with citations:\n\n- **UX-23
(session/clip grid) — confirmed-absent.** `arrangementMode` is a single boolean
(`types.ts:437`, action `types.ts:587`) documented as a playback toggle
(`arrangement-view.tsx:95-101`), not a launcher. No
sceneLaunch/launchClip/followAction/retrospective/capturePerformance hits. Gap
stands.\n- **UX-5 (modulation) — partial-exists, draft accurate.**
`macros.ts:33 resolveMacroValue` is a static linear map; only the fixed
per-synth cutoff LFO (`types.ts:44/46`) + static FM ratio (`types.ts:53`) exist;
no mod-matrix/free-LFO source. Status/evidence kept.\n- **UX-1 (screensets) —
confirmed-absent.** `daw-app.tsx:1505` hard-codes `width:380, flexShrink:0`; no
screenset/resizable/splitter. Gap stands.\n- **UX-24 (MPE) — confirmed-absent.**
No noteExpression/aftertouch model; `web-midi.ts:19-20` explicitly _ignores the
channel nibble_ (every channel → selected track), which precludes MPE input.
Evidence strengthened.\n- **UX-7 (asset browser) — partial-exists, draft
accurate.** Preset libs exist; `folders-panel.tsx` is a track-grouping layer
(MIX-25), not a browser; no similarity/embedding search. Kept.\n- **UX-10 (take
comping) — confirmed-absent.** `clip-recorder.ts` has no take/comp/loop;
`audio-capture.ts` 'take' is a single recording. Gap stands.\n- **UX-15 (plugin
host) — confirmed-absent.** No VST3/CLAP/AU/WAM anywhere (only the unrelated
'clap' drum-synth). Gap stands.\n- **UX-25 (neural stem) — partial-exists, draft
accurate.** `stem-separation.ts:2` self-documents HPSS-not-Demucs; output is
2-way harmonic/percussive (`stem-separation.ts:53-55,63`). Kept.\n- **UX-26
(session players) — partial-exists, CLAIM CORRECTED.** Contrary to the draft's
\"no persistent style-player / no bass/keys personas,\" a real Session Player IS
wired: `session-player.ts:10` (bass/arp/chords personas) → UI in
`step-grid.tsx:122-147` → reducer `daw-session.ts:1620-1641` → export
`daw/index.ts:41`. The gap was rewritten to the narrower true residual (one-shot
over hard-coded I–V–vi–IV at `step-grid.tsx:138`; no chord-track reactivity,
intensity controls, live-follow, or drums/keys personas), and the recommendation
now says \"promote the existing wired player,\" not build one.\n- **UX-22 (CRDT
collab) — confirmed-absent.** No yjs/automerge/crdt; the 'presence' hits are
EQ-band labels (`mix-assistant-bridge.ts:43`, `format-master.ts:165`) + a
billing flag; `@euterpe/collab` is not in the app's import set. Gap stands.

---

### 6.8 Recording & Performance (REC)

_17 residual gaps — P0:0 P1:8 P2:7 P3:2_

Euterpe's Recording & Performance surface has advanced well past what the
2026-06-06 audit recorded, and several items that doc marked "missing"/"partial"
are verified shipped and wired at HEAD. The **arrangement timeline (REC-1)** is
fully built: `ArrangementView` (`arrangement-view.tsx`, ~38KB) renders a
bar/beat ruler with clip drag/resize, marquee multi-select, bar/beat/magnetic +
transient snap, per-clip gain/fades/color and a playhead, mounted at
`daw-app.tsx:1554` and flowing through `setArrangement` into the Rust
`ArrangementClip` scheduler (`clip.rs:219`), with auto-crossfade (ARR-8) and
transient-snap (ARR-6). Core tracking is real end-to-end — audio capture
(`getUserMedia` → `ScriptProcessor` → `CaptureBuffer` → `engine.loadSample`,
fail-closed on permission denial, `daw-app.tsx:792-847`) and polyphonic MIDI
recording into `ClipRecorder`. **Count-in (REC-7)**, **automation Write-mode
live capture (REC-15)**, **automation shape presets (REC-20)**,
**glide/portamento (REC-19)**, **mix snapshots (REC-18)**, **the two-tone
metronome (REC-10)** and **undo/redo (REC-16)** are all shipped and wired. **A
real AI Session Player (REC-N2) is also shipped and wired** —
`session-player.ts` `generateAccompaniment` lays bass/arp/chords parts from
chord symbols using `@euterpe/core` voicings, dispatched from "Session player"
buttons in `step-grid.tsx:136`, handled in `daw-session.ts:1620`, and
unit-tested (`daw-session.spec.ts:1339`); its residual vs Logic is drum/keys
styles, complexity/intensity, live chord-track reactivity and
commit-during-performance. Beyond the REC list Euterpe also carries WSOLA warp
(independent time-stretch + pitch-shift), HPSS + Mid/Side stem separation
(honestly labelled classic DSP), and real generative MIDI (functional-harmony
melody/chord generation + clip regeneration). The residual gaps cluster in three
areas: pro recording workflows (comping, punch, multi-track, monitoring), the
live-performance paradigm (Session/clip-launch view, looper, control surfaces),
and AI-for-recording where the field has moved on (neural stem separation,
richer AI Session Players, speech-to-text). One root cause is structural: the
Web MIDI parser handles note-on/off only (`web-midi.ts`;
`web-midi.spec.ts:29-30` asserts CC/pitch-bend `toBeNull`), which simultaneously
blocks MIDI-learn, control surfaces, and expressive-controller capture.

#### Remaining gaps

**P1 — expected by pros / table-stakes the field has converged on**

| id     | gap                                                                                                             | pillar | status                                                                                  | actionability | effort | SOTA reference                                                               |
| ------ | --------------------------------------------------------------------------------------------------------------- | ------ | --------------------------------------------------------------------------------------- | ------------- | ------ | ---------------------------------------------------------------------------- |
| REC-4  | Session / clip-launch view with scenes & follow-actions                                                         | UX     | missing                                                                                 | local         | XL     | Ableton Session View, Bitwig Clip Launcher, Studio One 7 Integrated Launcher |
| REC-2  | Take comping with loop-record multi-take lanes                                                                  | UX     | missing                                                                                 | browser       | L      | REAPER Swipe Comping, Studio One 7 ARA comping, Pro Tools playlists          |
| REC-N1 | Neural 4-way stem separation (drums/bass/vocals/other)                                                          | AI     | partial (HPSS+M/S only; conservatory 4-stem is a quality model, not an audio separator) | local         | XL     | Logic Stem Splitter, Ableton 12.3/12.4, Studio One 7, FL, Pro Tools          |
| REC-N2 | AI Session Players: drum styles + complexity/intensity + real-time chord reactivity & commit-during-performance | AI     | partial (bass/arp accompaniment shipped & wired; missing the rest)                      | local         | M      | Logic Session Players (AI Bass/Keys), Pro Tools AutoBeat Lite                |
| REC-6  | Hardware MIDI learn & control-surface mapping                                                                   | UX     | missing                                                                                 | browser       | M      | MIDI Learn (all DAWs), Ableton Push 3 / Launchpad                            |
| REC-8  | Input monitoring / headphone cue mix                                                                            | Other  | present-unwired (muted gain)                                                            | browser       | S      | direct/software monitoring (all DAWs)                                        |
| REC-12 | Multi-track simultaneous recording                                                                              | Other  | missing (entitlement label only, no capture impl)                                       | browser       | M      | Pro Tools Ultimate multi-input tracking                                      |
| REC-N3 | Expressive MIDI capture (CC / pitch-bend / aftertouch / MPE)                                                    | UX     | missing                                                                                 | browser       | M      | MPE controllers (ROLI/LinnStrument/Push), all DAWs                           |

**P2 — valuable**

| id     | gap                                            | pillar | status  | actionability  | effort | SOTA reference                                            |
| ------ | ---------------------------------------------- | ------ | ------- | -------------- | ------ | --------------------------------------------------------- |
| REC-3  | Punch-in/out with auto-crossfade               | UX     | missing | browser        | M      | REAPER / Pro Tools / Cubase auto-punch                    |
| REC-5  | Looper / live-looping overdub                  | UX     | missing | browser        | L      | Ableton Looper, loop-pedal workflows                      |
| REC-N4 | Speech-to-text transcription for dialogue/post | AI     | missing | local          | L      | Pro Tools 2025.6+ Speech-to-Text                          |
| REC-9  | Latency / plugin-delay compensation (PDC)      | Other  | missing | local          | L      | automatic PDC (all flagship DAWs)                         |
| REC-N5 | Retroactive / background MIDI capture          | UX     | missing | local          | M      | Ableton Capture, Cubase Retrospective, REAPER Retroactive |
| REC-13 | VST3 / CLAP plugin hosting                     | Other  | missing | native-desktop | XL     | desktop plugin hosting (cannot run in-browser)            |
| REC-14 | MCU / HUI / EUCON control surfaces             | Other  | missing | browser        | L      | MCU/HUI lingua franca, Avid EUCON                         |

**P3 — polish**

| id     | gap                                                      | pillar | status  | actionability | effort | note                                                           |
| ------ | -------------------------------------------------------- | ------ | ------- | ------------- | ------ | -------------------------------------------------------------- |
| REC-7  | Count-in: offer 4 bars + surface live pre-roll countdown | UX     | polish  | local         | S      | selector offers only off/1/2; `count_in_active()` not surfaced |
| REC-16 | Undo/redo coverage for take/comp ops                     | UX     | partial | local         | S      | blocked on REC-2/3/5 existing                                  |

#### Where Euterpe leads

Euterpe is at or near parity on the linear-arrangement core and ahead of where
the prior audit placed it. Its arrangement timeline with transient snap +
auto-crossfade, samples-accurate engine-side count-in, Write-mode automation
capture with shape presets, a real (RMS-tested) metronome click, WSOLA
independent time/pitch warp, and per-voice glide are all genuinely wired — not
fixtures. Its generative-MIDI stack (functional-harmony melody/chord generation,
counter-melody/variation, region regeneration) and a **wired, UI-surfaced AI
Session Player** (bass/arp accompaniment from chord symbols) plus
honestly-labelled HPSS/M-S separation give it a real head start toward the AI
gaps (REC-N1/N2/N4): the generator substrate already exists, so a richer Session
Player and on-device neural separation are extensions rather than greenfield.
The frontier the field has pulled ahead on is the non-linear/live paradigm
(Session view, looper, control surfaces) and AI-for-recording — those are the
real residual gaps.

#### Verification notes

Eight headline claims were adversarially re-checked against the code at HEAD;
cited file:line for each:

- **REC-4 — confirmed-absent.** No clip-launch grid/scenes/follow-actions. grep
  for sessionview/cliplaunch/clipslot/followaction is empty; 'scene' hits are
  only `daw-controller.ts:139` `defaultSceneActions` (a starter two-synth-track
  setup) and BWF/dawproject `<SCENE>` XML; the only arrangement surface is the
  linear `ArrangementView` (`daw-app.tsx:1554`). Gap stands.
- **REC-2 — confirmed-absent.** No takes[]/comp-lane/loop-record; all 'TAKE'
  hits are BWF iXML metadata. `RecordingSession` holds a single `this.track`;
  `daw-app.tsx:800-803` overwrites one capture buffer per track. Gap stands.
- **REC-N1 — confirmed-absent (partial status correct).** `stem-separation.ts`
  is HPSS + M/S only (header literally "not a neural Demucs"). The only 4-stem
  "separator," `libs/euterpe/conservatory/reference-ear-training.ts`
  `splitStems` (line 176), is a **quality model** returning
  `estimatedSdrDb`/`energyFraction` metadata, **not** an audio separator. No
  demucs/onnxruntime/spleeter in the app. Gap stands.
- **REC-N2 — CORRECTED to partial-exists (status/title/evidence updated).** A
  real style-parameterized AI Session Player **is shipped and wired**:
  `session-player.ts` `generateAccompaniment` (bass/arp/chords via
  `@euterpe/core` voicings) → action `types.ts:550` → handler
  `daw-session.ts:1620` (real `PatternState` + `setPattern` command) → "Session
  player" buttons `step-grid.tsx:136` → tested `daw-session.spec.ts:1339`. The
  gap was retitled/rescoped to the genuine residual (drum/keys styles,
  complexity/intensity, live chord reactivity, commit-during-performance) and
  effort downgraded L→M. The prior draft's evidence understated the existing
  wiring.
- **REC-6 — confirmed-absent.** `parseMidiMessage` decodes 0x90/0x80 only;
  `web-midi.spec.ts:29-30` asserts 0xB0 and 0xE0 `toBeNull()`. No
  midi-learn/ControlMapping anywhere. Gap stands.
- **REC-8 — confirmed-absent (present-unwired status correct).**
  `daw-app.tsx:837-840` sets `sink.gain.value = 0` with the comment "pulls
  without monitoring the input back to the speakers"; the capture graph is fully
  built, only the monitor return is silenced; no `monitorMode`/`cueMix` toggle.
  Gap stands.
- **REC-12 — confirmed-absent.** `RecordingSession.arm()` sets a single track
  and rejects a second arm (`audio-capture.spec.ts:55`); one `getUserMedia`
  source per record. A `multitrack-record` Feature enum
  (`identity-billing/types.ts:136`) and a `multi-track` shell-runtime capability
  gate exist but are **labels with zero capture-side implementation** (the
  Feature enum has no `.tsx` usage). Evidence amended to note these labels. Gap
  stands.
- **REC-N3 — confirmed-absent.** Same root as REC-6: CC/pitch-bend/aftertouch
  return null; `ClipRecorder` captures pitch+velocity+timing only; no
  MPE/channel-per-note. Gap stands.

---

### 6.9 Collaboration & Cloud (COLLAB)

_15 residual gaps — P0:2 P1:7 P2:4 P3:2_

Euterpe remains a fundamentally single-user, local-first DAW sitting on top of
an exceptionally large, real, but almost entirely **unwired**
collaboration/cloud library substrate. Two things shipped recently that move the
needle locally: the **COLLAB-19 autosave + restore slice** (commit `63fbcf4f3c`,
2026-06-07) — `daw/local-autosave.ts` persists the serialized project to
`localStorage`, debounced ~1s after each edit (`daw-app.tsx:1266`), with a
`↺ Restore` transport button (`transport-bar.tsx:748`) — and the single-user
**realtime cloud/streaming seam** (`@euterpe/api` `realtimeStreaming` wired into
the BFF `/v1/generation/realtime` route, `realtime-music-route.ts:14,49-53`,
fail-closed). Both are genuinely wired and genuinely valuable, but neither is
multiplayer: the realtime route is producer→single-DAW AI generation streaming,
not project co-editing.

The defining finding holds and was re-verified by grep: there are **zero
production imports** of `@euterpe/collab`, `@euterpe/projects`, or
`@euterpe/distribution` anywhere in `apps/euterpe-studio-web/src` (only
doc-comment mentions). The substrate is SOTA-grade and idle — `sync-engine.ts`
has working OT (`transformOT:366`), CRDT merge (`mergeSequence:320`), conflict
resolution (`resolveConflict:473`) and presence (`createPresence:510`);
`projects/versioning-lineage.ts` is a real git-like VCS (1359 LOC: FNV-1a +
Merkle content hashing, commit DAG, LCA 3-way merge, semver, tamper-evident
export chains) imported only within its own package; `rights-mgmt.ts` +
`distribution-sota.ts` implement split sheets, PRO/IPI registration and royalty
accrual (zero app imports). None of it has a transport, a server replica, or a
UI. The collab BFF stores that exist (`yemaya/presence-store`,
`cursor-transform-store`, `crdt-merge-store`, `bellona/sync-conflict-store`,
`library/share-policy-store`) are real but admin-gated `/v1/admin/*` consoles
bound to Yemaya/Bellona/library journeys — none link to Euterpe. Net: this is
the single largest unwired surface in the product — a near-complete
collaboration engine with no plumbing.

One correction to the prior PWA framing (COLLAB-19): the **PWA manifest is
already wired** — `app/layout.tsx` declares `manifest:'/manifest.webmanifest'`
and `public/manifest.webmanifest` is a complete, real manifest (192/512/maskable
icons, shortcuts, `.eup`/`.wav`/`.midi` file*handlers, `web+euterpe`
protocol_handler, window-controls-overlay display_override) — and
`shell-runtime` \_is* imported by a component (`app/page.tsx` uses
`resolveLayout` for responsive panel layout). What remains genuinely unwired is
the **offline runtime**: no service-worker registration exists anywhere (no
`serviceWorker.register`, no `sw.js`), and `shell-runtime`'s
OPFS/precache/recovery functions (`buildOpfsLayout:391`,
`buildPrecacheManifest:422`, `resolveRecovery:846`, `selectRecoveryPoint:994`,
`evaluateInstallEligibility:448`) are called by no component. So COLLAB-19 stays
**partial**, but the remaining work is the SW + OPFS runtime, not the manifest.

#### Remaining gaps

| ID        | Gap                                                                  | Pillar | Sev | Status          | Effort | Action     |
| --------- | -------------------------------------------------------------------- | ------ | --- | --------------- | ------ | ---------- |
| COLLAB-2  | Cloud project storage & retrieval (DB + object store)                | Other  | P0  | missing         | L      | backend    |
| COLLAB-1  | Real-time multiplayer WebSocket project sync                         | Other  | P0  | present-unwired | XL     | backend    |
| COLLAB-5  | Multi-user presence & live cursors in the DAW                        | UX     | P1  | present-unwired | M      | backend    |
| COLLAB-3  | Project versioning / branching / 3-way merge UI                      | Other  | P1  | present-unwired | L      | local      |
| COLLAB-19 | Full PWA / offline-first (service worker + OPFS + sync-on-reconnect) | Other  | P1  | partial         | L      | browser    |
| COLLAB-9  | Granular access control & permission enforcement                     | Other  | P1  | present-unwired | M      | backend    |
| COLLAB-4  | Shareable project links with expiry & permission levels              | Other  | P1  | present-unwired | M      | backend    |
| COLLAB-6  | Inline comments / timestamped annotations                            | UX     | P1  | present-unwired | M      | backend    |
| COLLAB-8  | Conflict resolution UI & merge strategies                            | UX     | P1  | present-unwired | M      | local      |
| COLLAB-21 | Neural / cloud stem separation (Demucs/HTDemucs)                     | AI     | P2  | partial         | M      | cloud-cred |
| COLLAB-7  | Cloud rendering / offload of tracks & stems                          | Other  | P2  | missing         | L      | backend    |
| COLLAB-14 | Rights management & split-sheet panel                                | Other  | P2  | present-unwired | L      | local      |
| COLLAB-10 | Workspace & team management (invite/accept)                          | Other  | P2  | present-unwired | M      | backend    |
| COLLAB-11 | In-app WebRTC video conferencing + DAW audio                         | Other  | P3  | present-unwired | L      | browser    |
| COLLAB-12 | Activity feed & project analytics                                    | Other  | P3  | present-unwired | M      | backend    |

**Critical path.** Everything chains off two backend unlocks. **COLLAB-2**
(cloud project store: Postgres metadata + MinIO/S3 blobs, content-addressed via
the already-built `storage-indexing.computeCasKey`) and **COLLAB-1** (a
project-sync WebSocket with an authoritative server replica that broadcasts
`sync-engine.transformOT` ops into the `daw-session` reducer). Once those land,
COLLAB-5/6/8/9/4 are mostly UI + rebinding the existing admin stores to the
Euterpe namespace. Two P1s are buildable **locally now** with no server:
**COLLAB-3** (wire `versioning-lineage` into a single-user History panel) and
**COLLAB-8** (a conflict dialog over `resolveConflict`) — strong incremental
wins. **COLLAB-19** is the one already-partial item; the manifest is done, so
finishing it means registering a service worker and wiring `shell-runtime`'s
OPFS/recovery functions (currently called by no component).

#### Where Euterpe leads

The substrate is well ahead of where most web DAWs _start_: a real OT+CRDT
engine, a tamper-evident git-like VCS with Merkle hashing and 3-way merge,
in-DAW split sheets with PRO/IPI registration and royalty accrual, and
content-addressed storage — capabilities BandLab/Soundtrap/Soundation mostly
**don't** expose (split sheets and per-project version DAGs in particular are
differentiators, not parity items). The gap is entirely **wiring**, not
algorithms: when COLLAB-1/2 land, Euterpe can leapfrog the incumbents on version
control and rights, where they are weakest. The local autosave/restore + the
fail-closed realtime AI-generation streaming seam are also genuinely shipped and
correct.

#### Verification notes

Every headline claim was adversarially re-checked against `libs/euterpe` +
`apps/euterpe-studio-web/src` + `apps/oshun/bff/src`:

- **COLLAB-2 — confirmed-absent.** No BFF Euterpe project route; the only
  `euterpe` references in `apps/oshun/bff/src` are the 4
  generation/realtime-music files. `storage-indexing` imported only by the
  package barrel. Local-only persistence (`local-autosave.ts` + `project-io.ts`)
  confirmed.
- **COLLAB-1 — confirmed-absent (present-unwired stands).** `sync-engine.ts`
  `transformOT:366`/`mergeSequence:320` verified; zero app imports (the
  `app/daw/page.tsx:11` hit is an unrelated asset-sync doc comment); no
  project-sync WS; `daw-session.ts` has no remote-op path.
- **COLLAB-5 — confirmed-absent.** Zero presence/cursor/`createPresence`
  references in any DAW component.
- **COLLAB-3 — confirmed-absent (present-unwired stands).**
  `versioning-lineage.ts` is real VCS code (FNV-1a:60, Merkle hash
  §38.38.3.1:112), imported only within its own package; no version/branch/merge
  UI (`undo-history.tsx` is just an undo stack).
- **COLLAB-19 — partial-exists, TWO claim corrections.** Corrected: the PWA
  manifest _is_ already wired (`app/layout.tsx` +
  `public/manifest.webmanifest`), and `shell-runtime` _is_ imported by
  `app/page.tsx` (`resolveLayout`). Still genuinely unwired: no service-worker
  registration, and the OPFS/precache/recovery functions are called by no
  component. Status remains **partial**; the recommendation was updated to drop
  "add a manifest" and focus on the SW/OPFS runtime.
- **COLLAB-9 — confirmed-absent (present-unwired stands).**
  `identity-billing.ts:346` maps `collaboration→pro` (tested) but is imported by
  no DAW component/module — no entitlement gate enforced.
- **COLLAB-4 — confirmed-absent.** No share UI in the DAW and no Euterpe share
  route in the BFF.
- **COLLAB-6 — confirmed-absent.** No comment/annotation UI in the DAW.
- **COLLAB-8 — confirmed-absent.** `resolveConflict:473` exists; no conflict
  dialog in the DAW.

---

### 6.10 Interop, Formats & Ecosystem (IO)

_18 residual gaps — P0:1 P1:7 P2:7 P3:3_

The 2026-06-06 audit is materially stale for interop: a string of items it
called "missing"/"partial" have since shipped and are wired into the DAW UI.
Euterpe now has full **DAWproject (.dawproject) import + export**
(`dawproject.ts`, wired `daw-app.tsx:337`/`:966`), **Broadcast WAV** with a real
EBU-Tech-3285 `bext` + iXML chunk, **export dithering** (TPDF + 2nd-order noise
shaping to the 16-bit grid), **distribution metadata** (RIFF INFO / iXML USER /
ID3v2.4 sidecar / validated ISRC), **platform-format mastering chains** (Spotify
−14, Apple −16, YouTube, TikTok, club, CD Red Book, vinyl/RIAA) with a measured
BS.1770 compliance verdict, **batch multi-format export**, **per-track stem
export** (web + native Tauri folder), **SMF format-1 import/export** for both
patterns and the arrangement timeline, **Web-MIDI** hardware input,
**symbolic/MIDI region AI-inpainting** via `@euterpe/genesis`, a fail-closed
**MRT2 realtime cloud/on-device generator track**, a **v2 JSON project format
with a real arrangement timeline**, an **HPSS + M/S stem separator**, a wired
**AI mix-assistant + reference-match master**, a real **WSOLA sampler warp**
(time-stretch + pitch-shift, `timestretch.rs` → `loadSampleWarped` → sampler
UI), and an **LLM copilot DAW-control route** with a 37-action server-validated
whitelist. Lossy codecs are honestly refused with a fail-loud comment — a
correct seam, not a stub. The residual gaps are now concentrated on the
_ecosystem_ side, where the SOTA bar is high.

#### Remaining gaps

**P0 — table stakes**

| id   | gap                                           | status  | why it blocks                                                                                                                                                                                                                                                                                                                                                        | SOTA reference                                                                                                     |
| ---- | --------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| IO-4 | Third-party plugin **HOSTING** (VST3/CLAP/AU) | missing | Euterpe ships _as_ a CLAP/VST3 plugin (`instrument/src/plugin.rs`) but cannot _load_ one; the insert chain is a hardcoded 15-type DSP list (`insert-rack.tsx:14-30`). The only host references are unwired `planClapHost`/`planAraHost` _descriptors_ in `@euterpe/studio` runtime-sota. A DAW that can't load the user's plugins isn't adoptable as a primary tool. | Bitwig/Reaper/FL/Studio One host VST3 (now MIT) + CLAP (~15 hosts; u-he/FabFilter/TAL); JUCE 9 adds CLAP authoring |

**P1 — expected by pros**

| id    | gap                                                                                                                                      | status  | evidence                                                                                                                                                                                                                                                                                                       | SOTA reference                                                                |
| ----- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| IO-N1 | ARA2 deep-edit host (Melodyne / RX in-place)                                                                                             | missing | no ARA in the app; only an unwired `planAraHost` descriptor in `@euterpe/studio`                                                                                                                                                                                                                               | Pro Tools, Logic, Cubase, Studio One, Reaper, Waveform                        |
| IO-N2 | **Arrangement-clip** warp markers / grid-following stretch                                                                               | partial | WSOLA stretch+pitch is wired **for the sampler** (`timestretch.rs`→`loadSampleWarped`→sampler UI) but there are no per-clip warp markers on arrangement audio clips                                                                                                                                            | Cubase VariAudio+AudioWarp, REAPER 7 polyphase, FL 2025 per-instance stretch  |
| IO-11 | Take / comp loop recording                                                                                                               | missing | `clip-recorder.ts` is single-take (one `done[]`); no take lanes/comp/punch/loop-record                                                                                                                                                                                                                         | REAPER 7 Swipe Comping, Pro Tools playlists, Studio One 7 ARA comping         |
| IO-3  | MIDI 2.0 / MPE / per-note expression / UMP                                                                                               | missing | `web-midi.ts:19` _discards the channel nibble_ (fatal for MPE) + decodes note-on/off only; `midi-import.ts:146` ignores CC/pitch-bend/aftertouch                                                                                                                                                               | Windows 11 MIDI Services UMP stack; CLAP per-note modulation; MPE controllers |
| IO-N3 | DAWproject export **fidelity** (automation, audio-clip fades/crossfades, plugin state, note-expression, sends; session-derived time-sig) | partial | `dawproject.ts` writes tracks/channels/note-clips **+ a `<Transport>`/`<Tempo>` and an (empty) `<Scenes/>`** — but no `<Automation>`/`<Fades>`/`<Device>`/`<Send>` despite the engine modelling sends (`types.ts:279-282`) and automation breakpoints (`types.ts:304-306`); time-sig is hardcoded 4/4 (`:142`) | Dawproject v1.0 round-trips all of these (Cubase 14, Studio One, Nuendo 14)   |
| IO-N4 | Neural-quality 4-stem separation                                                                                                         | partial | `stem-separation.ts:2` is HPSS + M/S (2-band), honestly "not a neural Demucs"; no ONNX/Demucs in-app                                                                                                                                                                                                           | Logic 11 Stem Splitter, Ableton 12.3/12.4 (Moises), Studio One 7 un-mix       |
| IO-N5 | Clip-launcher / Session View                                                                                                             | missing | linear timeline only; the only grid is `step-grid.tsx`; no scene/cell/follow-action model in `types.ts`                                                                                                                                                                                                        | Ableton Session View, Bitwig Clip Launcher, Studio One 7 Integrated Launcher  |

**P2 — valuable**

| id    | gap                                                        | status          | SOTA reference                                                                                                                                               |
| ----- | ---------------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| IO-2  | AAF / OMF / FCP-XML / MXF post interchange                 | missing         | AAF is the picture↔sound standard (Pro Tools/Nuendo/Media Composer); `@euterpe/studio` importer is an unwired `JSON.parse` stub                              |
| IO-N6 | Immersive **ADM-BWF** (Dolby Atmos / Netflix BWAV)         | present-unwired | Atmos DSP lives in `@euterpe/master` (`convertStemsToAtmos`) but zero wiring in the app; export is stereo only                                               |
| IO-6  | FLAC / Opus / AAC / ALAC encoders                          | missing         | `format-master.ts:11` fail-loud refuses lossy; clear codec lanes are universal                                                                               |
| IO-9  | SFZ / Decent Sampler / Kontakt import + Splice/Loopmasters | missing         | sampler is `decodeAudioData` local-file only; SFZ is the open interchange pivot                                                                              |
| IO-13 | Real-time CRDT collaboration                               | present-unwired | `@euterpe/collab` exists but unwired; only local autosave is live                                                                                            |
| IO-N7 | In-DAW notation + MusicXML export                          | missing         | Cubase 14 Dorico Score Editor; MusicXML 4.0 is universal notation interchange                                                                                |
| IO-N8 | AI mastering-assistant UX + AI saturation                  | partial         | mix-assistant + reference-match are wired; no one-click Mastering Assistant panel or ChromaGlow-style saturation (Logic 11 Mastering Assistant + ChromaGlow) |

**P3 — nice to have**

| id    | gap                                     | status  | SOTA reference                                                                             |
| ----- | --------------------------------------- | ------- | ------------------------------------------------------------------------------------------ |
| IO-N9 | Speech-to-text / dialogue transcription | missing | `transcribe.ts` is audio→MIDI pitch, not ASR; Pro Tools 2025.6 Speech-to-Text, VoiceWunder |
| IO-8  | General REST / OSC control API          | missing | only the LLM copilot route; no GET-state/POST-action/OSC; Reaper action API, OSC/MCU       |
| IO-7  | ReaScript / Python / Lua scripting      | missing | only the LLM copilot path; ReaScript, Max for Live                                         |

#### Where Euterpe leads

Euterpe is genuinely _ahead_ of the field on **distribution-and-delivery
interop**: the platform/format mastering chains
(Spotify/Apple/YouTube/TikTok/club/CD/vinyl) ship a **measured BS.1770
loudness + true-peak compliance verdict** on export with a one-click batch pack
— most flagships make you target loudness manually or via a separate plugin. Its
**Broadcast WAV** is a complete EBU-Tech-3285 `bext` (64-bit TimeReference, v2
loudness block, UMID, CodingHistory) + iXML implementation, matching
field-recorder-grade metadata. And it is **DAWproject-native on both import and
export** — putting it in the small adopter club (Bitwig, Cubase 14, Studio One,
Nuendo, n-Track) that Logic/Ableton/Pro Tools/FL are conspicuously _outside_ of.
The honest fail-loud refusal of fake codecs (`format-master.ts:11`) is also a
correctness posture most DAWs don't bother to make explicit. The work to close
the headline gaps is plugin **hosting** (IO-4), arrangement-clip **warp + comp**
(IO-N2/IO-11), **MIDI 2.0/MPE** (IO-3), and lifting **DAWproject fidelity**
(IO-N3) from a partly-lossy subset to a real round-trip.

#### Verification notes

An adversarial pass tried to refute each P0/P1 headline by finding the
capability in code (Grep/Read across `libs/euterpe` +
`apps/euterpe-studio-web/src`). Verdicts:

- **IO-4 (plugin hosting) — confirmed-absent.** `insert-rack.tsx:14-30`
  hardcodes 15 built-in DSP insert types with no "load plugin" slot. The only
  host references are the unwired `@euterpe/studio` runtime-sota helpers:
  `planClapHost` (`runtime-sota.ts:98`) and `planAraHost` (`:218`) return _plan
  descriptors_ (version gates + thread-pool math), not real hosts, and are never
  imported by the app (`index.ts:2` is a `@module` docblock only). Gap stands.
- **IO-N1 (ARA2) — confirmed-absent.** No ARA in `apps/euterpe-studio-web/src`;
  only the unwired `planAraHost` descriptor + `types.ts:14,130` docs in
  `@euterpe/studio`. Gap stands.
- **IO-N2 (warp/time-stretch) — corrected to partial.** The prior draft's "no
  warp anywhere" headline was **wrong**: a real WSOLA
  `time_stretch`/`pitch_shift` (`dsp-core/src/timestretch.rs:95,176`) is wired
  through `audio-engine.ts:666 loadSampleWarped` → `daw-app.tsx:707 warpSample`
  → `sampler-panel.tsx:400-454` Warp UI. The genuine remaining gap is **per-clip
  warp markers on arrangement audio clips** (none in
  `arrangement.ts`/`types.ts`) and grid-following stretch —
  title/status/evidence corrected accordingly (status → partial, effort → L).
- **IO-11 (take/comp) — confirmed-absent.** `clip-recorder.ts` (73 lines, read
  in full) is single-take; the `take`/`comp`/`punch` hits elsewhere are
  unrelated (compressor sidechain, BWF `<TAKE>` metadata, a "punch" FX-preset
  alias, chord "comping"). Gap stands.
- **IO-3 (MIDI 2.0/MPE) — confirmed-absent.** `web-midi.ts:19` explicitly
  _ignores the channel nibble_ (fatal for MPE) and decodes only note-on/off;
  `midi-import.ts:146` ignores CC/pitch-bend/aftertouch. Gap stands.
- **IO-N3 (DAWproject fidelity) — partial, evidence corrected.** Two prior
  sub-claims were **wrong**: `dawproject.ts` _does_ emit `<Transport>`/`<Tempo>`
  (`:141`, round-tripped on import `:216-219`) and _does_ emit a `<Scenes/>`
  element (`:152`, though empty). The real lossy items remain: `<Automation>`,
  audio-clip `<Fades>`/`<Crossfade>`, `<Device>`/plugin-state, note-expression,
  and `<Send>` entries — all **modelled by the engine** (sends
  `types.ts:279-282`, automation breakpoints `types.ts:304-306`) but not
  serialized; `<TimeSignature>` is hardcoded 4/4 (`:142`). Gap kept as partial
  with corrected title/evidence.
- **IO-N4 (neural stems) — partial confirmed.** `stem-separation.ts:2` is real
  Fitzgerald-2010 HPSS + M/S (2-band), honestly labelled "not a neural Demucs";
  no ONNX/Demucs in-app (the 4-stem refs are a separate ear-training/video
  domain). Gap stands as partial.
- **IO-N5 (clip launcher) — confirmed-absent.** No
  session-view/scene/follow-action component or model; the only grid is
  `step-grid.tsx`. Gap stands.

---

### 6.11 Platform, Accessibility & Hardware (PLAT)

_14 residual gaps — P0:0 P1:4 P2:7 P3:3_

Accessibility moved decisively this window, and via a cleaner path than the
prior doc predicted: the shipped a11y lives in app-local modules
(`daw/accessibility.ts`, `daw/daw-a11y.ts`), not the still-unwired
`@euterpe/access` library. Reduced-motion now gates the spectrum/goniometer rAF
loops, an Okabe-Ito color-blind selector overlays accent tokens onto the live
theme, haptics fire on record-arm, the high-contrast theme was tuned to WCAG AAA
with a contrast-asserting spec, and ~145 ARIA attributes plus several
`aria-live` status regions (transport-bar, arrangement-view,
keyboard-shortcuts-panel) give moderate screen-reader coverage.
Mono-compatibility is genuinely shipped (a master mid/side fold in the Rust
engine with a passing test, plus a monitor mono/dim path). On platform, a real
Tauri v2 desktop shell with unit-tested native file I/O, COOP/COEP for
SharedArrayBuffer/WASM threads, a rebindable keymap + command palette + help
overlay, Web MIDI note input, and a PWA manifest are all in place. Crucially —
and missing from the input bundle — interop is not absent: `daw/dawproject.ts`
ships both export and import (wired into the toolbar and command palette),
alongside MIDI import/export and BWF metadata. So Euterpe is a credible
near-native web DAW; the residual gaps cluster in native I/O latency, true
offline, deep interop coverage, hardware control, and blind-producer parity.

#### Remaining gaps

| ID      | Gap                                                                                                                                                        | Pillar | Sev | Status          | Effort | Action         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | --- | --------------- | ------ | -------------- |
| PLAT-2  | Native low-latency audio I/O (CoreAudio/ASIO/ALSA) — Web Audio only, no buffer/driver picker; Tauri core crate has zero audio deps                         | Other  | P1  | missing         | XL     | native-desktop |
| PLAT-5  | Service worker + OPFS offline-first PWA — data-builders exist in shell-runtime but the barrel is imported by no component; next.config sets only COOP/COEP | Other  | P1  | present-unwired | L      | browser        |
| PLAT-1  | MIDI CC / control-surface mapping + MIDI Learn + MPE — decoder drops everything but note-on/off                                                            | UX     | P1  | partial         | L      | browser        |
| PLAT-9  | Screen-reader keyboard-navigable piano-roll/automation (treegrid) + skip-link — zero grid roles, piano-roll note grid is pointer-only                      | UX     | P1  | partial         | L      | local          |
| PLAT-N1 | DAWproject depth — only vol/pan/mute + notes; no automation/plugin-state/fades/clip-launcher                                                               | Other  | P2  | partial         | M      | local          |
| PLAT-N2 | Lossless/streaming export codecs (FLAC/Opus/MP3) — export is WAV-only                                                                                      | Other  | P2  | partial         | M      | local          |
| PLAT-N4 | Tempo/timecode sync (Ableton Link / MTC / LTC) — transport is standalone                                                                                   | Other  | P2  | missing         | L      | browser        |
| PLAT-N5 | VST3/CLAP/AU plugin hosting — Euterpe is a plugin, hosts none                                                                                              | Other  | P2  | missing         | XL     | native-desktop |
| PLAT-3  | Internationalization framework — `lang` hard-coded `en`, strings inline                                                                                    | UX     | P2  | missing         | L      | local          |
| PLAT-4  | Responsive / mobile layout — shell-runtime `resolveLayout` resolver unimported                                                                             | UX     | P2  | present-unwired | L      | browser        |
| PLAT-12 | Audio-device / output-interface enumeration UI — input-capture only                                                                                        | UX     | P2  | missing         | M      | browser        |
| PLAT-N3 | Notation / MusicXML score export — MIDI export exists, no engraving handoff                                                                                | Other  | P3  | missing         | M      | local          |
| PLAT-N6 | Keymap profile-switching (Ableton/Logic/Pro Tools sets) — sets authored in shell-runtime, unwired                                                          | UX     | P3  | present-unwired | S      | local          |
| PLAT-N7 | Real-time / CRDT collaborative editing — single-user local                                                                                                 | Other  | P3  | missing         | XL     | backend        |

The highest-leverage, locally-buildable wins are the ones where the data layer
already exists but is unimported: registering a service worker over
`shell-runtime.buildPrecacheManifest`/OPFS (PLAT-5), wiring `resolveLayout` for
responsive widths (PLAT-4), and exposing the authored Ableton/Logic/Pro Tools
shortcut profiles (PLAT-N6). PLAT-2 (native audio via cpal in the Tauri core) is
the single biggest latency unlock but is XL and desktop-only. PLAT-9 (treegrid
piano-roll) is the gap that separates Euterpe from Reaper+OSARA gold-standard
blind-producer parity and is pure-DOM/ARIA, locally testable.

#### Where Euterpe leads

Euterpe is at or near parity on several platform axes that many DAWs lag on: the
SharedArrayBuffer + WASM/SIMD (Rust-on-the-audio-thread) architecture with
COOP/COEP isolation is exactly the 2025-26 SOTA web-DAW pattern
(openDAW/Soundation/web-synth), and it ships DAWproject import/export — an
interchange format the conspicuous flagships (Logic, Ableton, Pro Tools, FL)
still do not support at all. Its app-local accessibility (reduced-motion,
Okabe-Ito color-blind mode, AAA-verified high-contrast, contrast-asserting
tests) is more deliberate than the typical web DAW, and the master/monitor
mono-compatibility audition with an engine-level mid/side fold is a touch most
browser DAWs lack.

#### Verification notes

All four headline claims were adversarially re-checked against the source; every
one stands. No gap was removed or downgraded to polish.

- **PLAT-2 (Native low-latency audio I/O) — confirmed-absent.**
  `src-tauri/Cargo.toml` depends only on `tauri-plugin-dialog/fs/opener` (+
  serde/base64/euterpe-desktop-core). The desktop-core crate
  (`src-tauri/core/Cargo.toml`) depends on ONLY `serde`+`serde_json` and is
  self-described as 'No Tauri/OS deps'; its sole `lib.rs` does path-safety +
  project-file validation, not an audio thread. Repo-wide grep for
  cpal/coreaudio/asio/alsa/wasapi = zero hits. Gap unchanged.
- **PLAT-5 (Service worker + OPFS PWA) — confirmed present-unwired.** No
  `serviceWorker.register`/workbox/next-pwa/`self.addEventListener` anywhere;
  `next.config.mjs` only sets COOP/COEP headers. The shell-runtime builders
  (`buildPrecacheManifest`/`buildOpfsLayout`/`resolveLayout`) are re-exported
  solely by the `shell-runtime/index.ts` barrel, and that barrel is imported by
  NO DAW component (the only external 'shell-runtime' reference is a doc-comment
  at `src/index.ts:8`). `shell-runtime.ts:452` still reports `no-service-worker`
  as an install blocker. Evidence corrected: the recommendation now cites
  `buildOpfsLayout` (the actual exported name) rather than `OpfsLayout`. Gap
  unchanged.
- **PLAT-1 (MIDI CC/Learn/MPE) — confirmed partial.** `web-midi.ts:23-38`
  decodes only 0x90/0x80; `web-midi.spec.ts:29` asserts a CC message decodes to
  `null`; `midi-import.ts:146` comment confirms CC/pitch-bend/aftertouch/program
  are ignored. No MIDI-Learn/MPE/control-surface code exists. Gap unchanged.
- **PLAT-9 (treegrid piano-roll + skip-link) — confirmed partial.** Repo-wide
  grep for
  `role=treegrid`/`role=grid`/`aria-rowindex`/`aria-colindex`/`skip-link` = zero
  hits. `piano-roll.tsx` carries `aria-label` only on toolbar selects; its note
  grid is pointer-only (`onPointerDown/Move/Up` at 555-557) with no
  `onKeyDown`/`tabIndex`/grid role. aria-live status regions DO exist
  (transport-bar 135/549, arrangement-view 643, keyboard-shortcuts-panel 168) so
  general a11y is real, but blind-producer keyboard note editing is not met.
  Minor input-summary correction: there are at least three (not two) `aria-live`
  regions and ~145 (not ~141) aria attributes. Gap unchanged.

---

### 6.12 Mastering & Distribution (MASTER)

_14 residual gaps — P0:1 P1:4 P2:7 P3:2_

Euterpe's mastering and export chain is now one of the more complete dimensions
in the DAW, and a burst of MASTER commits on 2026-06-06/07 closed most of what
older docs flagged as missing. The shipped export flow
(`daw-app.tsx::masterExport`) is a real end-to-end chain — offline render,
10-genre `masterBounce`, optional reference tone-match (octave-band FFT +
`matchEq` + RBJ biquads), then either a 7-target platform delivery chain
(Spotify/Apple/YouTube/TikTok/Club/CD/Vinyl, each a real BS.1770-4 loudness +
true-peak + format-conditioning chain returning a measured compliance verdict)
or a true-peak-clamped LUFS normalize, then TPDF + 2nd-order noise-shaping
dither to 16-bit, then WAV / Broadcast-WAV (real EBU 3285 bext + iXML) with RIFF
LIST/INFO + validated-ISRC + ID3v2.4-sidecar metadata. Live BS.1770-4 master
metering is fully wired and real (integrated/short-term/momentary LUFS,
4×-oversampled true-peak dBTP, phase correlation, EBU-3342 LRA) with a
loudness-history graph, a master EQ + compressor panel, a multiband-dynamics
panel, a Mixing-Assistant report with an apply-fixes bridge, batch multi-format
`.zip` export with per-target verdicts, and per-track stem export (browser +
native Tauri). The residual gaps are not in the core loudness/format pipeline —
they are AI assist, immersive audio, provenance, and codec/distribution reach,
several of which are _already built in the shared libraries and merely
unimported by the app_.\n\nAn adversarial re-verification of the five headline
gaps (MASTER-N1/11/N2/18/9) confirms all five stand. The app's `@euterpe` import
census is only five libraries — `audio-engine-web`, `core`, `genesis`, `master`,
`transcribe` — so both `@euterpe/spatial` (ADM-BWF) and `@euterpe/distribution`
(DDEX ERN, ISWC) are genuinely unimported; and within `@euterpe/master` the app
calls exactly two `frontierMastering.*` members (`allLoudnessPresets`,
`matchEq`), so
`recommendChain`/`dynamicEqResponse`/`masterStems`/`checkLoudnessCompliance` are
all genuinely uncalled. The C2PA/SynthID surface exists only as eval scoring
fields, never as an export writer, and there is no lossy/lossless codec
dependency anywhere in the app, the libs, or `node_modules`. One evidence
correction: the DDEX ERN creator in `@euterpe/distribution` is exported as
`createDdexErn` (not `createErn`) — corrected in MASTER-18.\n\n#### Remaining
gaps\n\n| ID | Gap | Pillar | Sev | Status | Effort
|\n|----|-----|--------|-----|--------|--------|\n| MASTER-N1 | AI Master
Assistant — one-click full-chain recommendation (`recommendChain` exists in
`@euterpe/master`, app only uses `matchEq`/`allLoudnessPresets`) | AI | P0 |
present-unwired | M |\n| MASTER-11 | Dolby Atmos / ADM-BWF authoring +
Near/Mid/Far binaural metadata + Apple-Atmos validator (`@euterpe/spatial` real,
never imported) | Other | P1 | present-unwired | L |\n| MASTER-N2 | C2PA Content
Credentials manifest + SynthID propagation on AI-touched exports
(`provenance.ts` is a label-only badge, nothing signed/embedded) | AI | P1 |
partial | M |\n| MASTER-18 | DDEX ERN 4.3 + ISWC/UPC + MEAD AI-disclosure flags
(`@euterpe/distribution` has `createDdexErn`/`validateIswc`, unimported; app
tags ISRC/RIFF/ID3 only) | Other | P1 | present-unwired | M |\n| MASTER-9 |
Lossy/lossless codec export — MP3/AAC/FLAC/Ogg (WAV/PCM only; no encoder dep
anywhere) | Other | P1 | missing | L |\n| MASTER-6 | Broadcast/podcast/audiobook
chains — EBU R128 / ATSC A/85 / ARIB / OP-59
(`masterForBroadcast/Podcast/Audiobook` real, not in `EXPORT_TARGETS`) | Other |
P2 | present-unwired | S |\n| MASTER-N3 | Streaming coverage gap (no
Amazon/Tidal/Deezer) + no −2 dBTP universal-master option | Other | P2 | partial
| S |\n| MASTER-17 | Offline-render progress / ETA / cancel UI (`renderOffline`
awaited with no progress callback) | UX | P2 | missing | M |\n| MASTER-15 |
Mastering-chain parameter automation over time (master
multiband/limiter/loudness-target lanes) | Other | P2 | missing | L |\n|
MASTER-N4 | Live multi-platform compliance dashboard — per-platform pass/fail
badges off the live meter (`checkLoudnessCompliance` unused live) | UX | P2 |
partial | M |\n| MASTER-8 | Dedicated stem-mastering workflow —
isolate/process/recombine (`masterStems` unwired; distinct from per-track
export) | Other | P2 | present-unwired | M |\n| MASTER-N5 | Dynamic / spectral
EQ on the master (`dynamicEqResponse` unwired; master EQ is static bands) |
Other | P2 | present-unwired | M |\n| MASTER-12 | Distribution-platform
integration (DistroKid/TuneCore/CD Baby) | Other | P3 | missing | L (cloud-cred)
|\n| MASTER-7 | Bundled curated genre-reference library (reference match is
user-upload only) | UX | P3 | partial | M |\n\nThe single most strategic gap is
**MASTER-N1**: `frontierMastering.recommendChain` already constructs a full
ordered mastering chain (EQ → dynamic-EQ → multiband → exciter → imager →
limiter) with rationales from a source-vs-reference gap analysis — an
Ozone-Master-Assistant-class flow — yet the app never calls it. Wiring it (plus
`dynamicEqResponse`, MASTER-N5) is pure web work and would move Euterpe from
\"manual master with good metering\" to \"AI-native master\" in one slice. The
next tier (MASTER-11/N2/18) are the immersive-audio and provenance/distribution
table-stakes that 2026 flagships and the hardening AI-disclosure regimes assume;
notably the spatial ADM-BWF and DDEX ERN code already exist in the libs and only
need importing.\n\n#### Where Euterpe leads\n\nFor _stereo loudness mastering
and standards compliance_, Euterpe is at or near parity with flagship DAWs and
ahead of many: a fully real BS.1770-4 metering suite
(integrated/short-term/momentary LUFS, 4× true-peak, correlation, EBU-3342 LRA)
with a loudness-history graph; seven real per-platform delivery chains each
returning a _measured_ compliance verdict; real TPDF + 2nd-order noise-shaping
dither; genuine Broadcast-WAV (EBU 3285 bext + iXML); validated-ISRC + RIFF/ID3
metadata; and batch multi-format export — all wired into the transport UI rather
than living in a separate cloud tool. The mix-assistant-with-apply-fixes bridge
is a credibly AI-assisted touch already in place. The gaps above are about
_reach_ (immersive, codecs, distribution, provenance) and _surfacing
already-built AI/library power_, not about the soundness of the core mastering
pipeline.\n\n#### Verification notes\n\n- **MASTER-N1 (recommendChain unwired) —
CONFIRMED-ABSENT.** `recommendChain` is exported at
`libs/euterpe/master/src/frontier-mastering/frontier-mastering.ts:153` (barrel
`index.ts:19`). A full census of `frontierMastering.*` calls in
`apps/euterpe-studio-web/src` returns exactly two members — `allLoudnessPresets`
(`daw/loudness-target.ts:20`) and `matchEq` (`daw/reference-match.ts:142`);
`grep -rcn recommendChain` across all app src = zero. Gap stands.\n- **MASTER-11
(spatial ADM-BWF unwired) — CONFIRMED-ABSENT.** `generateAdmXml`
(`libs/euterpe/spatial/src/atmos/atmos.ts:959`, emits `ITU-R_BS.2076-2`) and
`exportAdmBwf` (`atmos.ts:1064`) are real and barrel-exported
(`spatial/src/index.ts:8`), but the app's `@euterpe` import census lists only
`audio-engine-web/core/genesis/master/transcribe` — zero `@euterpe/spatial`
import. Gap stands.\n- **MASTER-N2 (C2PA/SynthID) — PARTIAL-EXISTS (status
already 'partial', kept).** `provenance.ts:30-44` is label-only; consumed as a
UI badge at `transport-bar.tsx:326`. No C2PA/SynthID/manifest in the export path
(`daw-app.tsx`, `wav.ts`, `metadata-tags.ts`); C2PA/SynthID exist only as eval
scoring fields (`libs/euterpe/evals/.../provider-benchmarks.ts:812-845`). Gap
stands as 'partial'.\n- **MASTER-18 (DDEX/ISWC unwired) — PARTIAL-EXISTS /
evidence corrected.** Lib code real: `DDEX_ERN_SCHEMA_VERSION='4.3'`
(`distributor/index.ts:394`), ERN creator `createDdexErn`
(`distributor/index.ts:586` — the draft's `createErn` name was wrong, now
corrected), `validateIswc` (`metadata/index.ts:1296`). App has ISRC only
(`metadata-tags.ts:36`); zero `@euterpe/distribution` import. The unwired-by-app
claim is fully confirmed; status kept 'present-unwired'.\n- **MASTER-9 (codec
export missing) — CONFIRMED-ABSENT.** No lame/fdk/flac/opus/vorbis
implementation in app or libs; no codec dependency in any `package.json` or
`node_modules`; `AudioCodec` is a type-only union at
`libs/euterpe/distribution/src/dsp-integration/index.ts:21`. Gap stands.

---

### 6.13 AI Provenance, Rights & Monetization (RIGHTS)

_13 residual gaps — P0:2 P1:6 P2:3 P3:2_

Euterpe's RIGHTS dimension is unchanged since the 2026-06-06 audit —
code-verified, nothing in provenance/chain/distribution/protect shipped between
that doc and HEAD (the only in-window commits were adjacent DAW work: ENG-5 f64
delay/reverb, ARR-6 transient-snap, MIDI-17 trig conditions, MIX-7 EQ
automation). The picture remains two non-intersecting worlds. **World A** is a
genuinely large, real library layer
(`libs/euterpe/{provenance,chain,distribution,protect,agents}`) with passing
specs and real domain algorithms — verified directly: spread-spectrum watermark
embed/detect (`watermark-capture.ts:516/555`), a JUMBF hashed-URI C2PA manifest
builder (`buildC2paManifest`, `:765`), on-chain rights registration
(`chain/rights-registry/index.ts`, 838 LOC), DCF/NPV valuation +
constant-product AMM (`chain/royalty-liquidity/royalty-liquidity.ts`, 778 LOC),
GDPR/CCPA purge (`compliance-ops.ts`, 1324 LOC), and melody/lyric similarity
(`copyright-safety.ts:348/403`). **World B** is the actual DAW
(`apps/euterpe-studio-web`), and it imports none of it: `package.json` lists
only 8 `@euterpe/*` deps (none of provenance/chain/distribution/protect), there
is no transitive re-export of those four libs from any of the 8 deps, and a
repo-wide grep for every World-A function name returns zero app hits.

What is actually wired in the DAW is thin but honest: a 45-LOC
`daw/provenance.ts` whose `summarizeProvenance()` derives a plain-text
AI-disclosure label from the `PatternOrigin` enum, embedded into the WAV `ICMT`
comment at export (`daw-app.tsx:387/510/593`) with a matching
`ai-provenance-badge` in the transport bar (`transport-bar.tsx:326-328`); and
real distribution metadata (`metadata-tags.ts` builds spec-valid RIFF
`LIST/INFO` + ID3v2.4 with validated ISRC, surfaced in a transport-bar panel
with exactly 5 fields + ISRC at `transport-bar.tsx:575-607` and appended to the
WAV at `daw-app.tsx:560`). Those are correctly counted as wired and are not
gaps.

Two library-level caveats were re-confirmed against source and correct the prior
doc's optimism: `signClaim` (`watermark-capture.ts:832`) is an
FNV-1a-HMAC-shaped keyed digest **explicitly documented as such — not Ed25519**,
so C2PA signing is not crypto-grade; and `embedWatermark`
(`watermark-capture.ts:516-532`) operates on an abstract carrier-energy scalar
(`hostEnergy`), **not a Float32/PCM buffer**, so it cannot watermark a real
mixdown as written. The root cause of every unwired gap is the same:
`DawSession` (`daw/types.ts:406-456`) carries only `PatternOrigin` — no
prompt/model/settings/content-hash, no `provenanceLog`, no
splits/license/territory fields — so even though `buildC2paManifest` and
`embedWatermark` exist and pass tests, there is no data to feed them and no call
site.

#### Remaining gaps

| ID        | Title                                                            | Pillar | Sev | Status          | Action     | Effort |
| --------- | ---------------------------------------------------------------- | ------ | --- | --------------- | ---------- | ------ |
| RIGHTS-1  | C2PA Content Credentials manifest gen + embed on export          | AI     | P0  | partial         | local      | L      |
| RIGHTS-2  | Imperceptible audio watermark on real PCM at export              | AI     | P0  | present-unwired | local      | L      |
| RIGHTS-5  | Pre-generation copyright/safety prompt filtering in generator UI | AI     | P1  | present-unwired | local      | M      |
| RIGHTS-N1 | DDEX AI-disclosure flag + ISWC/UPC in export metadata            | Other  | P1  | missing         | local      | M      |
| RIGHTS-3  | Rights clearance & licensing UI (sample/interp/cover/sync)       | UX     | P1  | present-unwired | local      | L      |
| RIGHTS-4  | Royalty split-sheet authoring & tracking UI                      | UX     | P1  | present-unwired | local      | L      |
| RIGHTS-11 | Provider watermark verification on import & generation           | AI     | P1  | present-unwired | local      | M      |
| RIGHTS-15 | Post-generation melody/lyric similarity scan                     | AI     | P1  | present-unwired | local      | M      |
| RIGHTS-17 | Cross-border territory rights selector in export                 | Other  | P2  | present-unwired | local      | M      |
| RIGHTS-7  | On-chain work registration / blockchain registry bridge          | Other  | P2  | present-unwired | backend    | XL     |
| RIGHTS-14 | Sample-clearance API integration (Splice/Tracklib)               | Other  | P2  | missing         | cloud-cred | L      |
| RIGHTS-8  | Real-time royalty-split liquidity / AMM marketplace              | Other  | P3  | present-unwired | backend    | XL     |
| RIGHTS-10 | GDPR/CCPA + compliance/audit/incident console                    | Other  | P3  | present-unwired | backend    | L      |

The P0/P1 cluster (RIGHTS-1/-2/-5/-N1/-3/-4/-11/-15) is striking because it is
almost entirely **local-actionable**: the SOTA-grade algorithms already exist
in-tree and pass tests — the work is a `DawSession` provenance-substrate
extension plus dependency wiring, not new research. The single highest-leverage
move is to add a `provenanceLog` to `DawSession`, populate it at every
generate/transcribe/accompaniment call, add `@euterpe/provenance` as an app
dependency, and route it through `buildC2paManifest` (after upgrading
`signClaim` toward a real signature and generalizing `embedWatermark` to PCM) at
export. That one substrate unlocks RIGHTS-1, -2, -4, -11, and -15 at once and
converts the current free-text ICMT label into a machine-readable,
cryptographically-attested credential.

#### Where Euterpe leads

Euterpe's _library_ substrate genuinely exceeds the SOTA DAW bar — no flagship
DAW (Logic, Cubase, Pro Tools, Studio One) ships an in-tree C2PA manifest
builder, watermark embed/detect with a transform-robustness battery, on-chain
rights registry, royalty AMM, or a melody/lyric similarity engine. The prior
headline ("most complete foundational provenance lib of any DAW, ~95% unwired")
is accurate and intact: the lead is latent, gated entirely on wiring it into the
DAW session and export path.

#### Verification notes

Adversarial pass attempted to refute each of the 8 headline gaps by hunting for
an existing/wired implementation in `apps/euterpe-studio-web/src` +
`libs/euterpe`. All 8 stand. Verdicts:

- **RIGHTS-1 — confirmed-absent.** `buildC2paManifest` exists
  (`watermark-capture.ts:765`) but is never imported by the app; no
  `@euterpe/provenance` dep, no transitive re-export, zero grep hits, no
  `DawSession` substrate (`types.ts:406-456`). Gap stands.
- **RIGHTS-2 — confirmed-absent.** `embedWatermark`/`detectWatermark`
  (`:516`/`:555`) real but unimported; verified `embedWatermark` operates on a
  scalar `hostEnergy` (line 526), not a PCM buffer. Gap stands.
- **RIGHTS-5 — confirmed-absent.** `scanCopyrightedPrompt` (`:213`) real;
  `generator-panel.tsx` has zero copyright/safety/similarity references; no dep.
  Gap stands.
- **RIGHTS-N1 — confirmed-absent (missing).** `TrackMetadata`
  (`metadata-tags.ts:23-38`) and the panel (`transport-bar.tsx:575-607`) carry
  only title/artist/album/year/genre + ISRC; no ISWC/UPC/aiDisclosure anywhere
  in the app. Gap stands.
- **RIGHTS-3 — confirmed-absent.** `rights-consent.ts` (1111 LOC,
  `validateSplitSheet:501`, `evaluateTerritory:570`, `advanceSampleClearance`)
  real; no clearance panel and no import in the app. Gap stands.
- **RIGHTS-4 — confirmed-absent.** `royalty-agent` (1012 LOC),
  `royalty-liquidity` (778 LOC), `validateSplitSheet` real; `DawSession` has no
  `splits` field and no split panel exists. Gap stands.
- **RIGHTS-11 — partial-exists (evidence corrected, gap unchanged).** The lib is
  real but the prior evidence's function name `verifyProviderAttestation` **does
  not exist**; the actual provider-proof functions are
  `captureProviderAttestation` (`provider-proofs.ts:1120`),
  `verifyForDownstream` (`:1003`), and `captureWatermarkEvidence` (`:255`), and
  the importable detector is `detectWatermark` (`watermark-capture.ts:555`). The
  app-side claim is fully confirmed-absent (sampler/realtime have zero
  detect/verify calls, no dep). Evidence + recommendation corrected to cite the
  real symbols; status (`present-unwired`) is unchanged.
- **RIGHTS-15 — confirmed-absent.**
  `melodySimilarityPreflight`/`lyricSimilarityScan`/`postGenerationSimilarityScan`
  (`:348`/`:403`/`:425`) real; `generate-clip.ts` has no similarity scan (its
  only `provenance` mention is a comment at `:73` about a chord-label string)
  and no import. Gap stands.

Net correction: one evidence-precision fix (RIGHTS-11 function names) and an
evidence-precision note added to RIGHTS-1's recommendation re: `signClaim`. No
gap was downgraded to polish or removed as already-present — every headline
claim of absence holds against the code.

---

## 7. Cross-cutting gaps, entirely-missing areas & three-pillar verdict

## Cross-cutting & entirely-missing capability areas

### Re-classification of the 15 prior 'entirely-missing' areas (current codebase)

Several areas have **moved from `absent` to `partial`** because a substantial
library now exists — but is **not wired into the DAW product** (the app
`apps/euterpe-studio-web/src` imports only **5 of ~25** `@euterpe` libraries:
`audio-engine-web`, `master`, `core`, `genesis`, `transcribe`).

| Area                                   | Status      | Evidence                                                                                                                                                                                                       |
| -------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Video-scoring / post-production        | **partial** | `libs/euterpe/score/src/film-scoring/film-scoring.ts` (1685 LOC) + `video-analysis/video-analysis.ts` (1141 LOC) exist; **no `@euterpe/score` import in the app**, no video track / SMPTE ruler / spotting UI. |
| Time-sync / timecode (MTC/LTC/Link)    | **partial** | Lives in `libs/euterpe/studio/src/runtime-sota`; `@euterpe/studio` not imported by the app (only the module doc-comment matches). No Link/MTC/LTC in the DAW.                                                  |
| Podcast / spoken-word                  | **partial** | `libs/euterpe/podcast` (~837 LOC) unwired; DAW `loudness-target.ts` has **no** podcast/EBU/ATSC/ARIB/OP-59 presets — streaming-music LUFS only.                                                                |
| Sound-design / foley                   | **absent**  | No foley/SFX/sound-design workflow; granular exists only as engine primitives (`dsp-core/sampler.rs`).                                                                                                         |
| Game-audio middleware (Wwise/FMOD)     | **partial** | Real libs: `score/src/wwise`, `score/src/fmod/fmod.ts` (1076 LOC), `adaptive-music`, `middleware-interop-sota`, `ai-scoring/adaptive-game-music-system.ts` — **all unwired**.                                  |
| Modular / eurorack                     | **absent**  | No CV/gate/patch-cable env; even the unified mod-matrix (UX-5/FX-7) is itself a gap.                                                                                                                           |
| Education / onboarding                 | **partial** | `libs/euterpe/conservatory` (~10.6k LOC) unwired; app has a reference `help-panel.tsx`, but **no** tutorial/coach-mark/guided first-run.                                                                       |
| Performance analytics                  | **partial** | `apps/.../telemetry-launch` is real **product-usage** telemetry (consent + sampling + batching), **not** musical/listening analytics (those sit unwired in `libs/euterpe/analytics`).                          |
| Batch processing                       | **absent**  | No bulk-export / render-queue in the DAW; `format-masters` batching lives only in `@euterpe/master` (unwired).                                                                                                 |
| Multi-window / multi-monitor           | **absent**  | Zero `window.open`/`getScreens`/popout hits; UX-12 confirms.                                                                                                                                                   |
| Sample-pack / library mgmt             | **absent**  | No asset/sample/preset browser surface; `libs/euterpe/samples` unwired (UX-7, IO-9 confirm).                                                                                                                   |
| Keymap customization profiles          | **partial** | `daw/keybindings.ts` has real remapping (`loadKeymap`/`saveKeymap`, localStorage override over one `DEFAULT_KEYMAP`), but **no** named Ableton/Logic/Pro-Tools profile switching (PLAT-N6).                    |
| Notation / score editor                | **absent**  | No staff/engraving/MusicXML surface (only `midi-export.ts` mentions 'score' incidentally). UX-27/MIDI-2/IO-N7/PLAT-N3 confirm.                                                                                 |
| Control-surface hardware (MCU/HUI/OSC) | **absent**  | Only `osc.rs` = DSP oscillator, not Open Sound Control. `web-midi.ts` has input but **no MIDI-learn / CC-mapping**.                                                                                            |
| i18n / localization                    | **absent**  | All hits are `localeCompare()` string-sort false positives; no react-intl/useTranslation. UI strings hardcoded English (PLAT-3).                                                                               |

### Cross-cutting gaps the 13 dimensions did not isolate

1. **Provenance is a text LABEL, not a C2PA manifest or audio watermark (P0).**
   `apps/.../daw/provenance.ts` `summarizeProvenance()` returns "a one-line
   content-credentials **label** suitable for export metadata." The identical
   gap recurs across **MIX-35, AI-19, RIGHTS-1, RIGHTS-2, MASTER-N2** — five
   P0/P1 items collapse to one fix: a signed C2PA manifest + imperceptible
   PCM/SynthID watermark on exported audio.
2. **Unwired-library debt is the structural root cause (P0).** ~20 substantial
   libs exist but the product imports 5; this single fact explains the bulk of
   "lib exists, unwired" sub-gaps (UX-28, MASTER-8/11/18, ARR-N3, AI-N5,
   IO-N3…).
3. **The Session/Clip-launch View is one missing surface counted six times**
   (ARR-7, UX-23, IO-N5, REC-4, MIDI-13, REC-N2) — the defining
   nonlinear-performance hole.
4. **No cloud / collaboration layer exists at all (P0).** Zero CRDT/presence
   (all 'presence' hits are EQ-band false positives); the only WebSocket is the
   MRT2 generation stream. COLLAB-1/2/5 + UX-22 + IO-13 + AI-16 are genuinely
   greenfield.
5. **No unified modulation system (P0)** — UX-5/FX-7; its absence also explains
   why "modular" reads absent.
6. **Plugin hosting (VST3/AU/CLAP)** repeats in every dimension as a
   native-desktop platform boundary, correctly un-fixable on the current web
   target.

## Three-pillar verdict

**(a) AI integration / utilization — NOT yet SOTA.** Strong, differentiated
foundation: on-device **MRT2 realtime generation wired live into the mixer**
(`generator-panel.tsx`, fail-closed) + transcribe + genesis. But the AI surface
is **realtime-stream-only** — no one-shot **text→editable clip** (AI-8) and no
**agentic copilot writing MIDI into the arrangement** (AI-N1), and neural
stem-separation / polyphonic pitch-correction are unwired. **Biggest blocker:**
export provenance is a one-line string, not a signed C2PA manifest + audio
watermark — an AI-native DAW that cannot attribute or watermark its own output
is not credible as SOTA.

**(b) UI/UX — NOT yet SOTA.** The **linear** DAW UX is solid and broad (25 real
components: arrangement, piano-roll, channel-strip, synth/sampler, automation,
master EQ/multiband, command palette, a11y, customizable keymap). But the
modern-DAW-defining **nonlinear** surface is entirely absent, alongside bus/aux
mixer architecture (MIX-2), unified modulation UI (UX-5), take-comping (UX-10),
dockable screensets (UX-1), notation, semantic asset browser (UX-7), i18n, and
multi-window. **Biggest blocker:** the missing **Session/Clip-launch View** —
the surface that separates a linear editor from a modern performance DAW.

**(c) All-other-DAW-aspects — NOT yet SOTA (most gaps live here).** Engine
internals are strong (Rust `dsp-graph`, f64 paths, real
master/loudness/dither/goniometer, DAWproject I/O). But **structural
unwired-library debt dominates** (5 of ~25 libs imported), native-bound gaps cap
pro parity (VST3/AU/CLAP hosting, CoreAudio/ASIO, multicore scheduler), and
there is **no cloud/collaboration backend whatsoever**. **Biggest blocker:** the
total absence of cloud project storage + real-time collaboration (COLLAB-1/2,
P0) — every other "other" gap is incremental by comparison.

**Status of the 15 prior "entirely-missing capability areas" (re-checked at
HEAD):**

| Area                                                                                    | Status  | Note                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| --------------------------------------------------------------------------------------- | :-----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Video-scoring / post-production (spotting, hit-points, frame-locked scoring to picture) | partial | A large, real scoring engine exists OFF-DAW: libs/euterpe/score/src/film-scoring/film-scoring.ts (1685 LOC) + video-analysis/video-analysis.ts (1141 LOC). But it is NOT imported anywhere in apps/euterpe-studio-web/src (grep for @euterpe/score in the app returns zero). The DAW itself has no video track, no SMPTE/frame ruler, no spotting UI. So the CAPABILITY exists as a library; the DAW PRODUCT cannot score to picture. Classify partial = unwired library.            |
| Time-sync / timecode (MTC/LTC/Ableton Link, word-clock, jam-sync)                       | partial | Timecode logic lives in libs/euterpe/studio/src/runtime-sota (and core/midi). Neither runtime-sota nor @euterpe/studio is imported by the app (grep confirms only the @module doc-comment matches in src/index.ts). No Ableton Link, MTC, or LTC in the DAW. PLAT-N4 already flags this. Library-present, DAW-absent.                                                                                                                                                                |
| Podcast / spoken-word (dialogue ducking, chapter markers, loudness for speech)          | partial | libs/euterpe/podcast/src exists (podcast-music ~837 LOC, voice-integration, jingle) but is unwired into the DAW. Crucially the DAW's loudness-target.ts has NO podcast/audiobook/broadcast presets (grep for podcast\|EBU\|ATSC\|ARIB\|OP-59 in loudness-target.ts is empty) — only streaming-music LUFS targets from @euterpe/master. MASTER-6 confirms broadcast/podcast delivery chains unwired. Speech ducking/chapter-marks absent from the DAW.                                |
| Sound-design / foley                                                                    | absent  | No foley/sfx/sound-design surface in the app. Granular synthesis exists only as engine primitives (dsp-core/sampler.rs) and studio libs, with no sound-design/foley workflow, layering, or randomization UI wired into the DAW. FX-9s (spectral effects) and FX-14 (slicing) are flagged separately as gaps.                                                                                                                                                                         |
| Game-audio middleware (Wwise / FMOD / interactive-adaptive music)                       | partial | Substantial real libraries exist: libs/euterpe/score/src/wwise, score/src/fmod/fmod.ts (1076 LOC), score/src/adaptive-music, score/src/middleware-interop-sota, plus ai-scoring/adaptive-game-music-system.ts. ALL unwired into the DAW (no @euterpe/score import in the app). The DAW has no interactive-music states, stingers, or middleware export. Library-present, product-absent.                                                                                             |
| Modular / eurorack (CV/gate, patch cables, VCV-style)                                   | absent  | No eurorack/CV-gate/patch-cable modular environment. Hits are false positives (iot/hardware-ecosystem, synth/traditional-synth oscillators). The unified modulation matrix (UX-5/FX-7) — the closest analog — is itself listed as a P0/P1 gap, so even modular-style routing is not present in the DAW.                                                                                                                                                                              |
| Education / onboarding (tutorials, guided tours, lessons)                               | partial | A very large conservatory library exists (libs/euterpe/conservatory ~10.6k LOC: piano, guitar, practice-tools) but it is a separate learning product, NOT wired into the DAW (no conservatory import in the app). The DAW has a help-panel + keyboard-shortcuts-panel (apps/.../components/daw/help-panel.tsx) — reference help, NOT interactive onboarding/coach-marks/guided first-run. No tutorial/tour/welcome flow in components/.                                              |
| Performance / usage analytics                                                           | partial | apps/euterpe-studio-web/src/telemetry-launch IS real and app-level: RawAnalyticsEvent/ProcessedAnalyticsEvent with consent gating + sampling + batching (telemetry-launch.ts). This is PRODUCT-USAGE/diagnostics telemetry, not musical/listening performance-analytics (no contribution heatmap, no play-count, no engagement dashboards — those live unwired in libs/euterpe/analytics). So instrumentation = present; music-performance analytics surface = absent. Net: partial. |
| Batch processing (bulk export / batch render queue)                                     | absent  | No batch/bulk export or render-queue in the DAW (grep batch\|exportAll\|renderAll in format-master.ts/mastering.ts empty). format-masters batching exists only in libs/euterpe/master (unwired as a batch surface). MASTER-8 stem-mastering and MASTER-17 offline-render progress/cancel UI are both flagged gaps, reinforcing no batch pipeline in-product.                                                                                                                         |
| Multi-window / multi-monitor (detached editors)                                         | absent  | Zero hits for multi-window/multi-monitor/popout/window.open/getScreens in the app. UX-12 (P2) explicitly lists this as a gap. The DAW is single-window only.                                                                                                                                                                                                                                                                                                                         |
| Sample-pack / library management                                                        | absent  | No sample-pack/sample-library/asset-browser/preset-browser surface in the app (grep empty). libs/euterpe/samples exists but is unwired (not imported by app). UX-7 (unified semantic asset/sample/preset browser) and IO-9 (sample/loop import + marketplace) are both flagged as gaps. The DAW has synth/fx/wavetable presets in localStorage but no managed sample/loop library.                                                                                                   |
| Keyboard customization profiles (Ableton/Logic/Pro Tools keymap sets)                   | partial | Real customizable shortcuts exist: apps/.../daw/keybindings.ts has parseChord/loadKeymap/saveKeymap with a localStorage override layer over one DEFAULT_KEYMAP (UX-3 done). BUT there are NO named, switchable vendor profiles (no Ableton/Logic/Pro Tools keymap sets) — loadKeymap merges a single override blob, not a profile picker. PLAT-N6 confirms keymap profile-switching is the residual gap. Remapping present, profiles absent.                                         |
| Notation / score editor (engraving, MusicXML)                                           | absent  | No notation/staff/engraving/MusicXML surface in the app (only midi-export.ts mentions 'score' incidentally). UX-27, MIDI-2, IO-N7, PLAT-N3 all flag in-DAW notation + MusicXML interop as missing. libs/euterpe/score is film-scoring, not music engraving. Fully absent from the product.                                                                                                                                                                                           |
| Control-surface hardware (MCU / HUI / EUCON / OSC)                                      | absent  | No MCU/HUI/EUCON/OSC in the app. The only osc.rs hit is a DSP oscillator, not Open Sound Control. Web MIDI input exists (daw/web-midi.ts) but has NO MIDI-learn / CC-to-parameter mapping (grep for learn\|mapping\|bind in web-midi.ts empty). REC-6, REC-14, MIX-31, PLAT-1, ENG-21, MIDI-18 all flag control-surface + MIDI-learn as gaps. Absent.                                                                                                                                |
| Internationalization / localization (i18n)                                              | absent  | No i18n framework. All grep hits are localeCompare() string-sort false positives in synth-presets.ts/loudness-target.ts — not react-intl/useTranslation/formatMessage. PLAT-3 (P2) flags i18n as a gap. UI strings are hardcoded English. Absent.                                                                                                                                                                                                                                    |

---

## Appendix A — 2026 SOTA benchmark digests

The external reference these gaps were measured against. Six web-research
passes; each digest names which vendors ship what.

### A.1 2026 flagship-DAW competitive benchmark: where the nine market leaders converge and diverge across arrangement, MIDI/composition, audio engine, mixing, modulation/effects, session/clip workflows, and the new wave of on-device AI

By 2026 the flagship DAW field has converged on a shared baseline — on-device AI
stem separation, generative MIDI, a creative modulation system, and
Melodyne/ARA-grade audio editing are now table stakes rather than
differentiators — while each vendor still keeps one or two defensible moats.

AI stem separation is universal: Logic 11 (Stem Splitter, 4-way:
drums/bass/vocals/other, on-device M-series), Ableton Live 12.3/12.4 Suite
(Vocals/Drums/Bass/Others, local, powered by Music AI/Moises, Jan-May 2026),
Studio One 7 (4-way un-mix, Oct 2024), FL Studio 21.2/2025
(vocals/music/bass/drums, cloud ML), and Pro Tools (ARA-based). Apple is the
clear AI leader for music creation: Logic Pro 11 Session Players extend Drummer
to AI Bass Player (8 styles, complexity/intensity, reacts to chord track in real
time) and Keyboard Player; ChromaGlow (5 AI-modeled saturation styles on Apple
silicon) and Mastering Assistant (auto EQ/dynamics/loudness, Transparent/analog
character presets, now to 192 kHz) push AI into mixing/mastering. Pro Tools
2025.6+ leads on AI for post/dialogue: Speech-to-Text (offline + batch
transcription, word-searchable sessions), AutoBeat Lite (12-track generative
MIDI beat engine), and the ARA2 VoiceWunder speech-synth plugin (74 languages);
2025.10 adds the SoundFlow AI Session Assistant.

Generative/creative MIDI is the other convergence axis. Ableton Live 12 leads
with MIDI Generators (melody/chord/rhythm with constraints, scale-aware) and
MIDI Transformations (ornaments, articulations, strum/guitar sim), plus Sting
and Patterns generators in 12.2 — all extensible via Max for Live MIDI Tools.
Cubase 14 counters with a full creative-automation overhaul: six Modulators
(LFO, Envelope Follower, Shaper, Macro Knob, Step Modulator, ModScripter)
routable to nearly any audio/instrument/MixConsole parameter and
MIDI-note-triggerable, plus a new Drum Machine + Pattern Editor. Bitwig remains
the modulation king — its program-wide Unified Modulation System (modulators on
devices, mixer and project level) plus 5 MSEG modulators
(Segments/Curves/Scrawl/Slopes/Transfer) and The Grid modular environment are
unmatched for sound design; 5.3 (Feb 2025) added 25 drum devices
(808/909/digital families) and a Stepwise sequencer.

Notation/composition: Cubase 14's headline is a Dorico-powered Score Editor
(shares Dorico's transcription engine, cleans up live-performance
irregularities) — the strongest in-DAW notation among the group. Logic adds a
Chord Track; Studio One 7's Chord Track drives instrument parts and audio
playback, detecting chords from polyphonic audio via Melodyne.

Audio editing/comping/warp: REAPER 7 brought Swipe Comping (multi-take
composites, A/B, crossfades) and new polyphase pitch/time-stretch. FL Studio
2025 finally added in-Playlist per-instance stretch/pitch/reverse. Cubase
(VariAudio/AudioWarp), Studio One 7 (ARA Melodyne comping — takes editable
before comp is finalized), and Pro Tools (audio comping + MIDI/Instrument
Playlists for takes) round out a mature field. Pro Tools also brought non-linear
Sketch sessions for loop/idea capture before the timeline.

Session/clip-launch & live: Ableton remains the Session View archetype (follow
actions, scene launch); Bitwig's Clip Launcher with Next Actions and background
recording, and Studio One 7's new Integrated Launcher (grid of audio+MIDI cells,
capture performances to timeline) bring the paradigm to traditionally-linear
DAWs. Bitwig 5.3 added Master Recording.

Audio engine, formats, immersive: Pro Tools Ultimate leads raw scale (2048 audio
/ 1024 MIDI / 512 instrument tracks, 256 I/O) and immersive breadth — 2025.10-12
added native Sony 360 Reality Audio and UWA Audio Vivid alongside Dolby Atmos
with cross-format conversion in one session. Logic 11.1/11.2 added the Quantec
Room Simulator and iPhone-captured Spatial Audio + per-channel Elevation. The
DAWproject open interchange format (Bitwig-originated) is now adopted by Cubase
14 and Studio One, easing cross-DAW transfer. REAPER 7's FX Containers (nested,
parallel plugin chains saved as one slot), 128 audio channels + 128 MIDI buses
per track, and Retroactive MIDI Recording give it the most flexible routing per
dollar.

Net: the moats in 2026 are — Logic = best on-device music-creation AI (Session
Players + ChromaGlow + Mastering Assistant); Pro Tools = scale + immersive +
post/dialogue AI; Bitwig = deepest modular modulation/sound-design; Ableton =
generative MIDI + live performance + clip workflow; Cubase = Dorico notation +
creative modulators; REAPER = routing flexibility + value; Studio One/FL =
fast-converging all-rounders.

**Emerging trends:** On-device AI is replacing cloud AI for privacy/latency:
Logic Stem Splitter + Ableton 12.3 stem separation explicitly run LOCALLY (audio
never leaves the project); FL Studio's cloud-only stem model is now an outlier
requiring internet. · AI is moving from production into mixing/mastering:
Logic's Mastering Assistant + ChromaGlow and Pro Tools' SoundFlow AI Session
Assistant show the AI frontier shifting from generation to automated mix/master
decisioning. · Generative MIDI as a core differentiator: Ableton MIDI
Generators/Transformations, Pro Tools AutoBeat Lite, and Cubase Modulators
signal generative composition tooling baked into the timeline, not bolted on as
plugins. · Adaptive virtual band members: Logic's Session Players
(Bass/Keyboard/Drummer reacting to a Chord Track in real time) point toward DAWs
shipping interactive AI instrumentalists, a category no competitor has matched
yet. · Clip-launch / non-linear capture spreading to linear DAWs: Studio One 7
Integrated Launcher and Pro Tools non-linear Sketch sessions adopt
Ableton/Bitwig's session-view paradigm, blurring the linear-vs-loop divide. ·
Open cross-DAW interchange via DAWproject: Bitwig-originated DAWproject is now
in Cubase 14 and Studio One, signaling industry movement toward portable
sessions and reduced lock-in. · Multi-format immersive convergence: Pro Tools
2025.10-12 authoring Dolby Atmos + Sony 360 Reality Audio + UWA Audio Vivid with
in-session conversion shows immersive deliverables becoming a single unified
workflow. · Speech-to-text and AI speech synthesis for post/dialogue: Pro Tools'
word-searchable sessions (offline batch transcription) + VoiceWunder
(74-language synthesis) mark AI's expansion into ADR/podcast/dialogue editing. ·
Apple-silicon-gated AI as competitive lever: ChromaGlow and on-device Stem
Splitter leverage M-series neural capability, dropping Intel Mac support —
hardware-accelerated AI is becoming a platform moat. · Convergence of the
baseline feature set: stem separation, ARA/Melodyne comping, a modulation
system, generative MIDI, and audio warp are now expected in every flagship,
compressing differentiation into a few defensible moats per vendor..

---

### A.2 2026 state of the art in AI for music creation — capability landscape for benchmarking an AI-native DAW

By mid-2026 AI has moved from a novelty "song generator" to a layered production
stack, and an AI-native DAW must compete on every layer at once, not just
generation. The decisive 2026 shift is that intelligence is collapsing INTO the
DAW timeline: the winning pattern is no longer a browser tool that spits out a
finished MP3 you re-import, but an agentic copilot that writes editable MIDI
directly to the arrangement, loads instruments, runs stem separation, and edits
in place (VIXSOUND-style native chat, Logic AI Session Players, FL's Gopher,
plus MCP servers like ableton-copilot-mcp that let an LLM drive Live's
arrangement/track/MIDI/recording in real time). For Oshun/Euterpe specifically,
the most strategically relevant 2026 development is Google's Magenta RealTime 2
(the same lineage already integrated per project memory): a 2.4B open-weights
model (plus a 230M variant) with a C++/MLX inference engine running natively and
offline on Apple Silicon, hitting ~200ms control latency / 40ms frames (~15x
faster than v1's 3s) — proving real-time, on-device, instrument-like generation
is now feasible and is the differentiator against cloud-only round trips
(200–2000ms). The competitive bars by layer: (1) GENERATION — Suno v5/v5.5 is
the consumer leader (studio-grade vocals, 50+ genres, up to 12 stems, voice
cloning, fine-tune-on-your-tracks, Warp Markers/Remove FX/Alternates editing),
Udio's surgical inpainting is still uniquely differentiated (but its
export/download was crippled by 2025 copyright settlements), Google's Lyria 3
Pro (3-min structured songs, via Vertex AI/YouTube, SynthID-watermarked), and
crucially Stable Audio 2.5 is the licensed/commercially-safe enterprise option
with <2s for a full 3-min track on H100 plus text-to-audio, audio-to-audio AND
audio inpainting — the best fit for a product that must avoid copyright
liability; Meta MusicGen/AudioCraft remains the open-source/self-host baseline.
(2) STEM SEPARATION — HT-Demucs (free, local, open) is the quality+privacy
leader for self-hosting and beats cloud on transients; AudioShake is the
enterprise/rights-cleared API; LALAL.ai the cleanest paid cloud API; Moises the
best practice-musician UX. (3) MIX/MASTER — iZotope Ozone 12 / Neutron 5 /
Nectar 4 assistants set the assisted-chain bar, Sonible smart:EQ 4 added
cross-channel intelligence (listens to multiple tracks and carves space), and
LANDR/Masterchannel (reinforcement-learning, hands-off) own one-click mastering.
(4) PITCH/TIMING — Melodyne 5 (DNA polyphonic) is the editing standard,
Auto-Tune Pro 11 the creative/real-time standard, RX 11 for repair. (5) VOICE —
RVC is the open real-time voice-conversion standard for covers, ElevenLabs the
cloud all-rounder (voice clone + music + SFX, 70+ languages), Synthesizer V
(Dreamtonics, v2.2 added AI Choir) and Vocaloid AI the singing-synth standards.
(6) PROVENANCE — the dual standard converged on 2026-05-19 when OpenAI joined
the C2PA steering committee and committed to embedding DeepMind's SynthID
alongside C2PA Content Credentials, with Google bringing verification natively
to Search and Chrome: C2PA is cryptographically-signed editable-history
metadata, SynthID is the imperceptible watermark that for AUDIO survives
re-recording, pitch shifting, and compression — neither sufficient alone, so an
AI-native DAW should write C2PA manifests on export AND respect/propagate
SynthID. Net benchmark guidance: to be credibly "AI-native" in 2026 a DAW needs
an in-timeline agentic copilot, on-device real-time generation (Magenta
RT2-class), licensed/commercially-safe generation (Stable Audio 2.5-class),
local stem separation (HT-Demucs-class), assistive mix/master + pitch tools at
parity with iZotope/Sonible/Melodyne, and built-in C2PA+SynthID provenance.

**Emerging trends:** Intelligence collapses INTO the DAW timeline: the winning
pattern is an agentic in-DAW copilot that EXECUTES (writes editable MIDI, loads
instruments, separates stems, edits in place) rather than a browser generator
you re-import — VIXSOUND-native and MCP-driven (ableton-copilot-mcp, Claude
Connector) are the 2026 reference points. · On-device, real-time,
instrument-like generation becomes viable: Magenta RealTime 2 hits ~200ms
control latency / 40ms frames as 2.4B open weights running offline on Apple
Silicon via C++/MLX — collapsing the cloud round-trip (200–2000ms) and making
generation playable like an instrument; directly validates Oshun/Euterpe's
on-device strategy. · Commercial-safety / licensing becomes a product axis, not
a footnote: Stable Audio 2.5 (fully-licensed training, on-prem enterprise
license) and Google Lyria (SynthID-watermarked) position against the legal
overhang — and Udio disabling downloads after 2025 copyright settlements shows
litigation can kill a tool's core utility overnight. · Provenance converges and
goes mainstream: the 2026-05-19 OpenAI+Google alignment on C2PA + SynthID (now
verified natively in Search/Chrome) makes paired metadata + durable watermark
the de-facto standard; an AI-native DAW must emit C2PA on export and
respect/propagate SynthID through edits. · Personalization and identity move
into generation: Suno v5.5 (clone-your-voice 'Voices', fine-tune-on-your-tracks
'Custom Models', 'My Taste'), ElevenLabs voice cloning, and Synthesizer V AI
Choir push artist-specific models — raising consent/likeness/provenance stakes
that the DAW must gate. · Editability beats one-shot generation: surgical,
region-level tools win — Udio inpainting, Stable Audio 2.5 audio
inpainting/audio-to-audio, Suno Warp Markers/Remove FX/Alternates, Melodyne DNA,
RipX note-level stem editing — signaling users want to GENERATE THEN EDIT, not
just regenerate. · Local + open-source stays competitive at the quality
frontier: HT-Demucs (via UVR ensemble) still leads stem-separation quality while
being free/local/private, and MusicGen/AudioCraft + the open voice stack (RVC,
Coqui XTTS, OpenVoice, Bark) keep self-hosting viable — a hedge against cloud
cost, privacy, and vendor/legal risk. · Cross-channel / context-aware assistive
mixing emerges: Sonible smart:EQ 4 now listens to multiple tracks to carve space
automatically, and iZotope/Masterchannel assistants propose whole chains — the
bar for 'AI mixing' shifts from per-track suggestion to mix-aware, iterative,
engineer-mimicking behavior..

---

### A.3 2026 SOTA DAW UI/UX & workflow: non-linear clip-launch, unified everything-modulation, AI-semantic browsers, MPE/expressive controllers, deeply customizable + touch-native + collaborative workspaces

The 2026 state of the art in DAW UX converges on several through-lines that a
SOTA web DAW (Euterpe) should treat as table stakes.

1. NON-LINEAR CLIP/SESSION LAUNCH IS A FIRST-CLASS MODE, NOT A SIDE PANEL.
   Ableton's Session View (clips x scenes grid, per-clip triangular launch
   buttons, scene-launch column, Follow Actions for automated/probabilistic clip
   chaining) remains the reference. The defining workflow is "sketch
   non-linearly in Session, capture into a linear Arrangement." Bitwig 6 (2025)
   pushed this further with Clip Aliases (edit one clip, all linked copies
   update everywhere, in both launcher and arranger) and Automation Clips that
   detach automation from a single track lane so it can be moved/reused. Push
   3's 2025 update brought Follow Actions to hardware. Takeaway: clip-launch +
   scenes + follow-actions + a capture/retrospective-record button are the
   modern non-linear composition core.

2. MODULATION SHOULD BE UNIFIED AND ASSIGNABLE EVERYWHERE, NOT HARDWIRED.
   Bitwig's Unified Modulation System is the gold standard: any device (native
   or VST) has modulator slots; 43+ modulator types (LFOs, envelopes,
   Macro/Macro-4 single-and-4-knob macros, Audio Follower, Macro XY, step
   sequencers) drag onto ANY parameter; modulators chain infinitely; the
   parameter knob stays usable so you can shift modulation range live; current
   modulated value stays visible; "modulation above one" supported. This beats a
   fixed mod-matrix grid. The Grid (235 modules, all signals stereo +
   interchangeable so any out-port connects to any in-port, pre-cords for
   wireless connections, drop-on-port auto-wiring, Inspector showing all in/out
   signals, sample-accurate timeline sync) shows how to expose modular patching
   while staying integrated.

3. BROWSERS ARE BECOMING AI-SEMANTIC + CROSS-TYPE. Ableton Live 12's Sound
   Similarity Search uses a neural net to find spectrally/timbrally similar
   samples AND presets from one seed (similarity score on
   timbre/pitch/spectral-temporal features), enables Drum Rack full-kit
   hot-swap, and unifies search across samples + instrument presets with a
   flexible tag system you can extend. Third-party movement (Waves COSMOS 2D
   cluster map, SampleSorter AI, Tuva, Curlo natural-language + slash-command
   metadata search) confirms the direction: embeddings-based semantic search, 2D
   similarity maps, natural-language queries, automatic tagging, and
   frictionless drag-drop into the timeline. A SOTA browser unifies
   samples/presets/MIDI/projects with semantic + tag search and drag-drop.

4. WORKSPACES MUST BE RESIZABLE, DOCKABLE, MULTI-WINDOW/MULTI-MONITOR,
   THEMEABLE. Reaper is the reference for radical customization: every window
   docks (top/bottom/left/right), floats, or shares tabbed docks; Screensets
   save entire layouts (open windows, positions, sizes, arrange zoom) recalled
   with one keypress; full theme engine reskins every pixel. Pro Tools/Cubase
   support dragging a parent window across monitors. Bitwig's Detail Editor
   adapts to selection (multi-clip layered editing, note + audio lanes
   side-by-side). Takeaway: dockable/floatable panels, savable
   screensets/workspaces, multi-monitor, theming.

5. COMMAND PALETTE / SEARCHABLE ACTIONS IS AN EMERGING, REQUESTED GAP. Studio
   One has a searchable command box; Cubase users are actively requesting a
   macOS-Help-style global "command palette" (still not native as of Cubase 15).
   This is a clear differentiation opportunity for a new DAW: fuzzy-searchable
   global action/command/preference palette.

6. MPE + EXPRESSIVE CONTROL IS THE EXPRESSIVITY FRONTIER. MPE (per-note
   pitch/pressure/timbre) pioneered by ROLI Seaboard (5D:
   Strike/Press/Glide/Slide/Lift) and LinnStrument (5 movements per pad), now
   mainstream via Push 3 (64 multi-sensor pads with X/Y), Expressive E Osmose
   61, and native MPE synths (Ableton Meld with per-note bend/vibrato,
   Granulator III note-bend/vibrato/glissando). A SOTA engine needs per-note
   expression data model + MPE in/out + expression editing on notes (Bitwig 6
   edits gain/pressure/expressions directly on notes/audio).

7. TOUCH/TABLET/STANDALONE IS NATIVE NOW. Logic Pro for iPad is touch-redesigned
   with full pro features + Learn MIDI mapping. Ableton Move (standalone, ARM,
   4-hr battery, 32 poly-aftertouch pads, jog wheel,
   Capture/retrospective-record; 2.0 added audio tracks, slicing, Link Audio)
   plus Note (iOS sketchpad syncing to Live) show the "capture-anywhere ->
   finish-in-DAW" ecosystem and touch-first UX (large hit targets, encoders,
   gesture pads).

8. BROWSER-BASED + REAL-TIME-COLLABORATIVE DAWs ARE A REAL CATEGORY. BandLab
   (60M+ users, real-time collab, AI Mastering), Soundtrap (Spotify, real-time
   co-editing), Soundation (same-project simultaneous editing), Audiotool, Sesh,
   audio.com. Defining traits: zero-install, cloud projects, simultaneous
   multiplayer editing, built-in AI mastering/stem-split. Key limitation to
   beat: no VST/AU support. For a WASM-based engine this
   multiplayer-cloud-collab dimension plus native-quality DSP is the wedge.

9. ACCESSIBILITY: KEYBOARD-ONLY + SCREEN-READER IS ACHIEVABLE AND MATTERS.
   Reaper+OSARA is the proof-of-concept: full screen-reader access
   (NVDA/VoiceOver via MSAA/UIA), keyboard-driven navigation with speech
   feedback on UI elements/parameters, scriptable shortcuts, ReaperAccessible
   KeyMap + 200+ scripts. Lesson: expose a complete keyboard command surface and
   ARIA/accessibility tree from day one (web DAW has an ARIA advantage).

10. UNDO IS TRENDING TOWARD NON-LINEAR / HISTORY-AWARE. Most DAWs (Pro Tools,
    Logic, Ableton, Reaper) are non-destructive with linear undo-history lists.
    True branching "history-tree" undo (Emacs-style) is largely ABSENT from
    mainstream DAWs (Cubase even removed per-editor independent undo in 10.5)
    and is a recognized UX gap — an opportunity. Non-destructive editing is
    universal baseline; CRDT-style histories underpin the multiplayer DAWs.

11. ONBOARDING IS INTERACTIVE + ECOSYSTEM-LED. Ableton's Learning Music
    (browser, experiment with beat/melody/harmony/bass/structure) and
    Note-as-on-ramp are the model; in-app contextual help (Bitwig modules carry
    inline help docs you read without leaving the editor) reduces friction.

**Emerging trends:** Embeddings/neural semantic search over a UNIFIED asset
graph (samples + presets + MIDI + projects), with 2D similarity/cluster maps and
natural-language queries replacing rigid folder/category browsing (Ableton Sound
Similarity, Waves COSMOS, Curlo, Tuva). · Modulation as a universal,
freely-assignable layer over every parameter (incl. third-party plugins) rather
than per-synth fixed mod-matrices — Bitwig's Unified Modulation System as the
design target; macros (single-knob and 4-knob/XY) as the performance front-end.
· Reusable, relocatable clip + automation primitives: aliases that propagate
edits and automation that detaches from track lanes (Bitwig 6) — composition
becomes object-oriented and non-linear. · Command palette / fuzzy global action
search migrating from code editors into DAWs — explicitly requested (Cubase) and
only partially shipped (Studio One); an open differentiation lane. · MPE /
per-note expression going mainstream beyond niche controllers (Push 3, Osmose,
native MPE synths) — per-note expression must be a core data-model concern, with
on-note expression editing in the timeline. · Capture-anywhere ecosystems:
standalone/battery hardware + mobile sketchpads (Move, Note, Logic for iPad)
that round-trip into the desktop project, with 'Capture/retrospective-record'
inferring intent instead of requiring armed recording. · Browser/cloud DAWs with
real-time multiplayer co-editing and built-in AI mastering + stem separation as
standard features (BandLab, Soundtrap, Soundation, Sesh); the remaining moat for
newcomers is native-quality DSP + plugin support inside the browser (WASM
opportunity). · Generative + analysis AI woven into the workflow: MIDI
generators/transformers (Live 12), text-to-music, and AI stem separation
(6-stem) increasingly expected natively and moving toward in-DAW integration
through 2026. · Accessibility-first as a design constraint, not an afterthought:
keyboard-complete command surfaces + screen-reader trees (Reaper/OSARA proves
feasibility) — a web DAW can leverage ARIA to lead here. · Underexplored UX gap:
non-linear / branching 'history-tree' undo. Universal non-destructive editing
exists, but true Emacs-style branching undo is absent from mainstream DAWs and
is a credible innovation surface, especially atop the conflict-free history
models multiplayer collaboration already needs..

---

### A.4 2026 DAW Interop, Formats & Standards: the open-exchange era arrives (Dawproject + CLAP + MIDI 2.0/UMP) while incumbents (VST3, AAX, AAF/BWF) remain the production floor

The big 2025-26 story is that DAW interoperability finally has a credible
_whole-session_ exchange format. Dawproject (Bitwig/PreSonus, originated 2023)
reached a stable v1.0 — a ZIP-of-XML container carrying audio clips,
fades/crossfades, time-warping, transpose, notes + note-expressions,
tempo/time-sig, MIDI messages, mixer state (volume/pan/mute/sends), full plug-in
state, and parameter automation, plus clip-launcher scenes and four built-in
devices (EQ/comp/gate/limiter). Adoption is real but still a "challenger club":
Bitwig Studio 5.x, PreSonus Studio One 6.5+, Steinberg Cubase 14 / Nuendo 14 /
Cubasis 3.7 / VST Live 2.2, and n-Track 10.2; Reaper only via a third-party
tool. The conspicuous absentees — Logic, Ableton Live, Pro Tools, FL Studio —
keep it from being universal, and crossfade/automation interchange is still
maturing. (github.com/bitwig/dawproject; bitwig.com; soundonsound.com)

In plugin formats, CLAP crossed from novelty to momentum. By late 2024 ~15 hosts
shipped CLAP (Bitwig, Reaper, FL Studio 21.3+, MultitrackStudio, MuLab,
energyXT, Waveform), with major vendors (u-he, FabFilter, TAL, Surge) on board.
Two catalysts define 2025: Steinberg open-sourced VST3 under MIT (read by many
as conceding CLAP is the open-standard winner), and JUCE 9 is bringing
first-party CLAP authoring (still in roadmap/late-dev as of the Q3-2025 update,
not yet GA-confirmed), which removes the single biggest adoption barrier. CLAP's
pitch is technical: full MIDI 2.0 / per-note modulation, a cleaner threading
model for multicore, and simpler dev than VST3. Still missing from CLAP: Ableton
Live, Logic, Cubase (host side), Pro Tools, Studio One. VST3 remains dominant by
installed base; AU stays Apple-only; AAX stays Pro-Tools-exclusive
(Native/DSP-HDX/AudioSuite tiers, no native VST/AU). (martinic.com;
librearts.org; kvraudio.com; juce.com; clapdb.tech)

ARA2 (Celemony/PreSonus) is the mature deep-edit extension — non-real-time,
random-access audio sharing for Melodyne and iZotope RX — supported across Pro
Tools, Logic, Cubase/Nuendo, Studio One, Cakewalk, Reaper, Waveform,
Samplitude/Sequoia, Mixcraft (Bitwig still a long-standing wishlist gap). Note
RX Music Rebalance via ARA2 has been Logic-first.

Post/broadcast interchange is unchanged but solid: AAF is the modern standard
(carries volume automation + track names, where legacy OMF drops them); FCP
exports XML that tools like X2Pro/Vordio/Resolve convert to AAF for Pro Tools;
MXF/AAF underpin picture↔sound round-trips. BWF (WAV + bext chunk) plus iXML 2.0
(now with structured <USER> sub-tags, <NO_GOOD> deprecated) remain the
field-recording metadata backbone (Sound Devices, Zaxcom, Nagra, Aaton).
Immersive delivery has consolidated on ADM BWF at 48k/24-bit as the Dolby Atmos
master, with Netflix BWAV ADM guidelines (Feb 2025) requiring D/M/E/N group
labels.

MIDI 2.0 took a concrete OS step: Windows 11 MIDI Services now ships a native
in-box UMP/MIDI-2.0 stack with multi-app routing — UMP carries 256 channels (16
groups × 16), variable 32/64/96/128-bit packets, high-res CVMs, per-note
expression and MPE-style data, plus Capability Inquiry (profiles/property
exchange). Practical benefit is still gated on device firmware and DAW/plugin
updates. Sync: Ableton Link remains the de-facto peer tempo/phase sync; MTC (no
tempo) and LTC/SMPTE cover frame-accurate lock, often bridged by converters.

Codecs settled into clear lanes: FLAC = lossless standard; Opus = best
sub-128k + low-latency/WebRTC (patent-free); AAC = streaming/broadcast default
(HLS/DASH); Ogg Vorbis = Spotify Premium 320k; MP3 = universal fallback.
Samples: SFZ is the open quasi-standard interchange pivot between Kontakt/EXS,
with Decent Sampler rising as a third common delivery format. Notation: MusicXML
4.0 (W3C, 2021) is universally read by Finale/Dorico/MuseScore; a 4.1 draft
landed April 2025; MNX is the long-horizon successor, still in development.

**Emerging trends:** Open whole-session exchange goes mainstream-adjacent:
Dawproject v1.0 is the first credible cross-DAW session format, but remains a
'challenger club' (Bitwig/PreSonus/Steinberg/n-Track) until Logic, Ableton, Pro
Tools, and FL Studio join — and automation/crossfade fidelity is still being
completed. · VST3's MIT open-sourcing + JUCE 9 native CLAP authoring signal a
structural shift toward open plugin standards; CLAP and VST3 will coexist for
years, with CLAP winning the 'open + MIDI 2.0 + multicore' narrative while VST3
holds the installed base. · MIDI 2.0 moves from spec to OS plumbing: Windows 11
MIDI Services delivers a native in-box UMP stack with multi-app routing, but
per-note-expression/Profile payoff is still bottlenecked on device firmware and
DAW/plugin updates. · Immersive audio standardizes on ADM BWF (48k/24-bit) as
the universal Dolby Atmos master, with platform delivery specs (Netflix BWAV
ADM, Feb 2025) hardening D/M/E/N stem-labeling conventions. · iXML 2.0 + BWF
mature into spatial/Atmos workflows, and the field-recorder-to-post metadata
chain (Scene/Take/Notes) is now expected end-to-end. · Sample-library delivery
is trending multi-format (Kontakt + SFZ + Decent Sampler), with open SFZ as the
interchange pivot — reducing single-vendor lock-in. · ARA2 is now table-stakes
for deep audio editing (Melodyne/RX) across nearly every major DAW, leaving
Bitwig's missing ARA support as a conspicuous outlier. · Notation interchange is
incrementally evolving (MusicXML 4.1 draft, April 2025) while MNX remains the
still-unshipped clean-slate successor — practical interop stays on MusicXML for
the foreseeable future..

---

### A.5 2026 SOTA Platform, Audio-I/O, Collaboration & Hardware for DAWs

State of the art across the DAW platform stack splits sharply along
native-vs-web lines. NATIVE AUDIO I/O remains the latency ceiling: macOS
CoreAudio is the consistent low-latency leader (a few ms, no separate driver
layer), Windows needs ASIO (well-tuned interface drivers reach ~4.6ms
round-trip; WASAPI Exclusive can match it but Shared mode adds 8-28ms), and
Linux ALSA + an RT-patched (PREEMPT_RT) kernel posts the lowest measured figures
of all. True "sub-3ms" round-trip is achievable only at tiny buffers (32-64
samples) on premium interfaces and stresses the whole DSP graph — it is a
buffer/driver/interface system property, not a single switch. WEB AUDIO is
closing the gap but structurally constrained: AudioWorklet runs DSP on a
dedicated high-priority thread at a FIXED 128-sample render quantum (~2.9ms
@44.1k), but real-world output latency is platform-bound (~10ms Windows, a few
ms macOS/iOS, 30-40ms Linux/PulseAudio, 12-150ms Android), GC pauses and
AudioParam-event floods cause dropouts, and the 128-sample mandate triggers
crackle on many mobile browsers. SharedArrayBuffer (lock-free ring buffers,
requires COOP/COEP cross-origin isolation) + WASM/SIMD (Rust compiled to the
audio thread) is the SOTA pattern; openDAW, Soundation (WASM threads), web-synth
(Rust→WASM) and BandLab prove near-native browser DAWs are real in 2025-2026,
with Tauri wrapping for native file access + lower latency. MULTICORE/STREAMING:
Reaper leads (>95% utilization via anticipatory/out-of-order FX processing),
Cubase ASIO-Guard pre-renders non-live tracks, Logic on Apple Silicon
parallelizes well at mix but lagged on e-cores; the unavoidable constraint is
the single live-record track pinned to one thread. Avoid SMT/hyperthreads for
DSP; >32 logical cores yields little. CONTROL SURFACES: MCU (1024-step fader
resolution) and HUI (MIDI-based) remain the lingua franca; EUCON (Avid,
Ethernet, 250x MIDI speed, 8x resolution) is the high end, with the free Avid
Control app bringing wireless EUCON to phones/tablets; OSC + TouchOSC for
networked/custom; Ableton Push 3 (now standalone) and Launchpad lead the
grid/clip world; MIDI Learn is table-stakes. COLLABORATION: split between async
cloud version-control (Avid Cloud Collaboration in-session multitrack merge;
Splice Studio free backup/versioning/comments though no Cubase) and real-time
streaming (Audiomovers Listento lossless low-latency monitoring) and loop-jam
(Endlesss/Aux). True simultaneous multiplayer DAW editing is still largely
unsolved at scale; the enabling tech (CRDTs — RGA, modern EG-Walker — for
serverless offline-capable convergence vs OT for server-mediated) is mature in
text but not yet standard in audio. VERSION CONTROL: Git works on text/XML
project files (Reaper) for branch-per-cue workflows but chokes on un-diffable
binary audio and huge stem repos; DAW-native snapshots (Cubase Arranger, Sonar
MixRecall) fill gaps. PWA/OFFLINE-FIRST: Service Workers + OPFS (Origin Private
File System for sample/project persistence) + cache-first strategies make
offline web DAWs viable (openDAW ships OPFS sample import, planning full offline
PWA). ACCESSIBILITY: Reaper + OSARA + NVDA is the gold standard for blind
producers; Pro Tools is partially accessible via PTAccess scripts + VoiceOver
(Berklee's free 20-hour course); Logic Pro is reasonably VoiceOver-accessible
but Mac-only; the persistent blocker is third-party plugin GUIs lacking
screen-reader exposure.

**Emerging trends:** Rust-to-WASM audio engines inside AudioWorklet are now
production-real (openDAW, Soundation WASM-threads, web-synth), making
near-native browser DAWs a 2026 reality rather than a demo · Tauri (and similar)
wrapping of web DAWs to regain native file-system access and lower latency —
collapsing the desktop/web divide rather than choosing a side · OPFS + Service
Workers turning browser DAWs into genuine offline-first PWAs with local
sample/project persistence (openDAW leading) · CRDTs (RGA → EG-Walker) poised to
bring true serverless, offline-tolerant, simultaneous multiplayer editing to
audio — mature in text, the open frontier for DAWs · Convergence of three
collaboration modes that are currently separate products: async project-merge
(Avid/Splice), live lossless monitoring (Audiomovers), and real-time loop-jam
(Endlesss) — an integrated stack is an unfilled niche · Wireless/tablet control
surfaces over Ethernet/Wi-Fi (free Avid Control EUCON app, OSC/TouchOSC) eroding
the need for dedicated motorized-fader hardware · Apple-Silicon-aware scheduling
(P-core/E-core, unified memory) as the new multicore-DSP frontier; Reaper-style
anticipatory/out-of-order FX processing as the utilization benchmark to beat ·
Sub-3ms round-trip moving from exotic to attainable on premium interfaces,
shifting the real bottleneck to plugin/graph headroom and live-track
single-thread pinning rather than the driver · Accessibility shifting from
DAW-core (largely solved by Reaper/OSARA, Pro Tools/PTAccess, Logic/VoiceOver)
to the unsolved third-party-plugin-GUI screen-reader exposure problem ·
Mobile-browser audio reliability (crackle at the mandated 128-sample quantum on
Android/iOS) as the gating issue for web DAWs reaching phone/tablet parity.

---

### A.6 2026 SOTA mastering, distribution, immersive audio, and AI music-rights for DAWs

As of mid-2026, four forces define the post-mix chain in a modern DAW:
loudness-normalized streaming (convergence on a single master),
AI-assisted/reference-matched mastering, object-based immersive audio (Dolby
Atmos dominant, Sony 360RA fading), and a fast-hardening AI-provenance/rights
layer that now reaches into distribution metadata.

LOUDNESS & STREAMING TARGETS. Platform normalization is universal and you
generally ship ONE master rather than per-platform versions. Targets (integrated
LUFS, ITU-R BS.1770-4): Spotify -14 (user-selectable -19/-14/-11; ~87% keep
default), Apple Music -16 (no limiting), YouTube -14 (track-only, no limiting),
Amazon Music -14 (no limiting), Tidal -14 (album normalization even in
playlists), Deezer -15, Pandora ~-14 proprietary, SoundCloud none. AES
(AESTD1008) recommends -16 LUFS music / -18 speech and album normalization. A
safe universal master sits around -14 to -12 LUFS integrated. TRUE PEAK: -1 dBTP
is accepted everywhere; -2 dBTP is the recommended universal ceiling because it
satisfies Amazon's strict requirement and leaves AAC/Ogg Vorbis codec headroom
(lossy encoding can push inter-sample peaks above 0 dBFS).
Loudness-normalize-then-master logic: pushing far past target buys no loudness
(it gets turned down) and only costs dynamics. Apple Music Atmos has a distinct,
stricter spec (see immersive).

AI MASTERING. iZotope Ozone is the reference: Ozone 11 introduced AI Master
Assistant with tonal-balance/width/impact targets learned from hundreds of hits,
AI Vocal Balance, Stem Focus (apply any module to an isolated separated stem),
and the Clarity module (adaptive spectral optimization to add loudness/sparkle
without harshness). Ozone 12 (current) adds three modules — Stem EQ (splits into
Vocal/Drums/Bass/Other, up to 8 bands each), Bass Control (AI low-end shaping
for translation), and Unlimiter — plus IRC 5 limiting, a Custom Master Assistant
flow (dozens of genre targets, toggleable modules, set loudness, choose analysis
duration in seconds or bars), improved neural Stem Focus, and 25 new Stabilizer
genre targets. Cloud/service AI mastering: LANDR (three styles + reference-track
matching + a real-time DAW plugin with 5 controls: Loudness/Bass/Treble/Stereo
width/Intensity), Masterchannel (Norwegian, reinforcement-learning, zero-control
upload/download), eMastered, BandLab, CloudBounce, RoEx. Sonible smart:bundle
(smart:EQ 4, smart:comp 2 — spectral engine ~2,000 bands, smart:limit,
smart:reverb) provides genre-aware track-level AI. REFERENCE-TRACK MATCHING is a
baseline expectation: load a commercial reference and match tonal balance,
stereo width, and dynamics (Ozone, LANDR).

DYNAMIC EQ / MULTIBAND. The 2026 surgical-vs-broad split: dynamic EQ
(frequency-specific gain triggered by threshold) for precise problem frequencies
(harshness, plosives, boominess, resonances) because it's more transparent;
multiband compression for broad tonal control / low-end glue. Leading tools:
FabFilter Pro-Q 4 (per-band dynamic EQ), oeksound soothe2 (thousands of narrow
dynamic cuts on ringing frequencies; 2026 DSP update reduces phasey artifacts),
Ozone EQ, Waves Abbey Road TG Mastering Chain. Spectral processors (soothe2,
Smooth Operator, Gullfoss) are now standard pre-limiter mastering tools.

IMMERSIVE / SPATIAL. Dolby Atmos music is the dominant format and the
deliverable is the ADM BWF (Broadcast Wave + Audio Definition Model): 24-bit
LPCM, 48 kHz, single frame rate, carrying bed channels + objects with positional
metadata. DAW workflows: Logic Pro (native Atmos tools, create/import/export ADM
BWF), Nuendo and Cubase (built-in Dolby Atmos Renderer, ADM authoring/export;
Nuendo strongest for post — binaural + 7.1.4 monitoring), Pro Tools (with Atmos
tools). For other DAWs, use the free Dolby Atmos Renderer + Binaural Settings
plug-in. BINAURAL RENDER MODE metadata (critical because most Atmos music is
heard on headphones) sets per-object/bed distance: Off (bypass), Near (~20 cm,
vocals), Mid (~2 m, instruments), Far (~6 m, ambience/FX). APPLE MUSIC ATMOS
DELIVERY is stricter than stereo streaming: integrated loudness must NOT exceed
-18 LKFS, true peak <= -1 dBTP (BS.1770-4), ADM BWF only; upmixing from stereo,
extracting stems from a stereo release, or a stereo mix merely placed in the
field with reverb are all PROHIBITED — must come from real multitracks/stems;
mastered to the Apple Digital Masters / Dolby Atmos Master ADM profile. SONY 360
REALITY AUDIO (MPEG-H 3D, up to 64 channels, object-based) still exists with the
360RA Creative Suite, but momentum is collapsing: Tidal dropped it and Deezer
stopped offering it (Oct 2022), so content availability is the central risk —
Atmos has effectively won immersive music.

METADATA & DISTRIBUTION. ISRC identifies the recording (one per master/video);
ISWC identifies the composition (one ISWC -> many ISRCs); UPC identifies the
release. Distributors (DistroKid, TuneCore, CD Baby, AWAL) auto-assign ISRCs at
upload and embed/track ISWC; for CD Baby you don't pre-embed. DDEX is the
supply-chain standard: ERN 4.x (4.3 current, plus Catalogue Transfer Standard
1.0) moves release/rights/pricing metadata between systems. NEW in 2026: DDEX AI
disclosure — ERN v4.3.1 + the expanded MEAD (Media Enrichment and Description)
spec add optional flags for recordings/contributions made fully or partly with
generative AI; caveats: optional, no required model/vendor disclosure,
"partially" undefined. Spotify AI Credits launched April 16, 2026, surfacing
this DDEX disclosure in mobile Song Credits (voluntary now, infrastructure built
for eventual mandatory labeling). Proactive DDEX AI disclosure is becoming the
safest distribution posture.

AI RIGHTS / PROVENANCE / MONETIZATION. The industry converged on a TWO-LAYER
provenance model: (1) C2PA Content Credentials — a signed JSON-LD manifest
cryptographically bound to an audio/image/video file recording the producing
model/device and edit chain; C2PA 2.1 was ratified and is now ISO/IEC 22144. (2)
Imperceptible watermarking — Google DeepMind SynthID is the most-deployed (audio
watermark survives re-recording, pitch shift, and compression; >100B assets
watermarked by May 2026). On May 19, 2026 OpenAI and Google announced a
dual-layer (C2PA + SynthID) model; OpenAI joined the C2PA steering committee.
Regulation: California SB 942 effective Jan 1 2026; EU AI Act Article 50
enforcement begins Aug 2026. GENERATORS: Suno and Udio both settled with major
labels (WMG with Suno; UMG with Udio, Udio later also WMG) — 2026 terms require
licensed training data and PAID downloads; Suno/Udio/ElevenLabs Music embed
C2PA-compliant watermarks encoding platform, model version, prompt hash, and
timestamp; Suno offers up to 12-stem separation on paid plans, grants
Pro/Premier users a perpetual commercial license (note: under WMG terms Suno is
the legal "author," user gets a license, not ownership). Deezer reports
detecting ~60,000 AI tracks/day (Jan 2026) and excludes fully-AI tracks from
recommendations/royalties. RIGHTS/ROYALTY MODELS: data-licensing (catalog
licensed for training, proportional pay), attribution-based royalties (pay
scaled to dataset contribution), and collaborative-generation splits; emerging
usage-logged micro-royalty distribution via smart contracts / blockchain-linked
metadata. SPLIT SHEETS / CLEARANCE compliance is trending toward three layers:
dataset transparency, attribution tracking (metadata linking output to
datasets/models), and licensing automation. Typical stream payout ~$3-5 per
1,000 streams.

DAW IMPLICATIONS. A SOTA DAW mastering/export chain should: target ~-14 LUFS /
-1 to -2 dBTP with built-in LUFS+true-peak metering and per-platform preview;
offer reference-track matching and AI assist; support multiband +
dynamic/spectral EQ on the master; author and export Dolby Atmos ADM BWF (24/48,
objects+beds, binaural Near/Mid/Far metadata) with an Apple-spec validator (-18
LKFS, no stereo upmix); tag ISRC/ISWC/UPC and emit DDEX ERN/MEAD including the
AI-disclosure flags; and embed C2PA Content Credentials (+ optionally SynthID)
on AI-touched exports.

**Emerging trends:** Per-stem AI mastering: Ozone 12 Stem EQ / Stem Focus and
Sonible spectral engines let mastering operate on separated
Vocal/Drums/Bass/Other stems from a stereo file — blurring the mix/master
boundary and enabling per-stem tonal repair at the master stage. · Convergence
on a single loudness-normalized master (~-14 LUFS / -1 to -2 dBTP) for stereo
streaming, with Dolby Atmos requiring a separate stricter deliverable (Apple:
-18 LKFS, ADM BWF, no stereo upmix). · Dolby Atmos has effectively won immersive
music while Sony 360 Reality Audio fades (Tidal dropped, Deezer stopped) — DAWs
should treat Atmos ADM BWF as the primary immersive target and 360RA as
legacy/optional. · Binaural Render Mode metadata (Near/Mid/Far per object) is
now a first-class mastering decision because the dominant Atmos listening
surface is headphones. · Dual-layer AI provenance standard solidified in 2026:
C2PA Content Credentials (now ISO/IEC 22144) plus SynthID-style imperceptible
audio watermarking, jointly endorsed by OpenAI and Google (May 19 2026) and
embedded by Suno/Udio/ElevenLabs. · AI disclosure entering the distribution
metadata pipeline: DDEX ERN 4.3.1 + MEAD AI flags and Spotify AI Credits
(launched Apr 16 2026) — voluntary now, but infrastructure for mandatory
labeling, pushed by CA SB 942 and EU AI Act Art. 50. · Generative-AI/major-label
settlements (Suno-WMG, Udio-UMG/WMG) reset terms toward licensed training data,
paid downloads, and license-not-ownership user rights — and platforms (Deezer)
now exclude fully-AI tracks from recommendations and royalties. · Royalty/rights
automation: smart-contract / blockchain-linked micro-royalties,
attribution-based payouts scaled to dataset contribution, and three-layer
clearance (dataset transparency, attribution tracking, licensing automation) are
emerging as the AI-era split-sheet model. · Reference-track matching and
zero-control upload-download mastering (Masterchannel, LANDR, Ozone reference
match) are now baseline expectations rather than premium features..

---

## Appendix B — full residual-gap catalog (all 186)

| Sev | ID          | Pillar |      Act.      | Eff | Dimension     | Gap                                                                                                                                  | SOTA reference                                                                                                                                                   |
| :-: | ----------- | :----: | :------------: | :-: | ------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| P0  | `ARR-7`     |   UX   |     local      | XL  | Arrangement   | Clip-launch grid / Session View (scenes, launch buttons, follow actions, clip aliases)                                               | Ableton Live 12 Session View is the reference (clips×scenes grid, per-clip launch, scene launch, Follow Actions for probabilistic clip chaining). Bitwig 6 Clip  |
| P0  | `ARR-N1`    |   AI   |     local      | XL  | Arrangement   | Neural stem separation (4-way drums/bass/vocals/other)                                                                               | On-device neural 4-way un-mix is now TABLE STAKES: Logic 11 Stem Splitter (drums/bass/vocals/other, on-device M-series), Ableton Live 12.3/12.4 (Vocals/Drums/Ba |
| P1  | `ARR-12`    | Other  |     local      |  M  | Arrangement   | Groove extraction & application (extract timing/velocity signature into reusable template)                                           | Logic/Cubase 'extract groove from audio/MIDI' → reusable groove template applied to other parts; Ableton Groove Pool. Groove transfer is a standard rhythmic-fee |
| P1  | `ARR-14b`   | Other  |     local      |  M  | Arrangement   | Per-clip automation envelopes (gain/pan/send curves), not just static gain                                                           | Ableton clip envelopes, Bitwig per-clip automation + detachable Automation Clips (5.x/6) moved/reused independent of a track lane, Cubase, Logic — clip-scoped a |
| P1  | `ARR-4`     | Other  |     local      |  M  | Arrangement   | Slip / slide / ripple edit modes wired into the DAW                                                                                  | Pro Tools (slip/grid/shuffle/spot edit modes), Cubase, Reaper all offer slip (move content under a fixed window) and ripple (downstream clips follow) as core ed |
| P1  | `ARR-5`     | Other  |     local      |  L  | Arrangement   | Non-destructive warp markers / elastic per-clip time-stretch playback                                                                | Ableton Warp (warp markers, Beats/Tones/Complex), Cubase AudioWarp, Studio One, FL 2025 in-Playlist per-instance stretch. Pitch-preserving elastic stretch with  |
| P1  | `ARR-7b`    | Other  |     local      |  L  | Arrangement   | Take lanes / comping (multi-take composites)                                                                                         | Reaper 7 Swipe Comping (A/B, crossfades), Pro Tools playlists/comping, Studio One 7 ARA-Melodyne comping (takes editable before comp finalised), Logic Take Fold |
| P1  | `ARR-9`     | Other  |     local      |  L  | Arrangement   | Tempo map & time-signature track                                                                                                     | Tempo maps with ramps + a time-signature track are baseline in Cubase, Logic, Pro Tools, Studio One, Reaper. Required for film scoring, rubato, and any non-cons |
| P1  | `ARR-N2`    |   UX   |    browser     |  M  | Arrangement   | Retrospective / capture (background) recording                                                                                       | Ableton Capture (and Move/Note 'Capture'), Reaper Retroactive MIDI Recording, Cubase Retrospective Record. 'Play something good, then press Capture' is a belove |
| P1  | `ARR-N3`    | Other  |     local      |  L  | Arrangement   | Wire the comprehensive @euterpe/studio clip-editing & timeline library into the DAW                                                  | N/A (internal architecture) — but the effect is that several SOTA editing features (consolidate, join, slip, elastic warp, clip automation) exist as dead capabi |
| P2  | `ARR-11`    | Other  |     local      |  M  | Arrangement   | Freeze & bounce-in-place (track freeze + per-clip-region render)                                                                     | Logic/Cubase/Studio One Freeze, Ableton Freeze/Flatten, Pro Tools Commit/Freeze. Freeze is the standard CPU-relief + portability tool.                           |
| P2  | `ARR-16`    |   UX   |     local      |  S  | Arrangement   | Real audio-waveform clip thumbnails (peak overview), not a flat midline                                                              | Every DAW renders a waveform peak overview on audio clips (and updates on trim/slip). It is the primary visual handle for audio editing.                         |
| P2  | `ARR-17`    | Other  | native-desktop | XL  | Arrangement   | VST/AU/CLAP plugin hosting                                                                                                           | All desktop flagship DAWs host VST3/AU/CLAP. The known limitation of browser DAWs (BandLab/Soundtrap) is exactly the lack of plugin hosting — the wedge for a WA |
| P2  | `ARR-8`     | Other  |     local      |  S  | Arrangement   | Checked-in worklet artifact is stale (11 vs 17 arrays) and lacks a CI arity guard — auto-healed by predev/prebuild but unprotected   | All flagship DAWs ship audible clip fades/crossfades. A built-and-served Euterpe gets them (sync resyncs the bundle); the exposure is purely a stale checked-in  |
| P2  | `ARR-N4`    | Other  |     local      |  M  | Arrangement   | DAWproject round-trip parity for the new arrangement model                                                                           | DAWproject (Bitwig-originated) is now adopted by Cubase 14 and Studio One — the emerging cross-DAW interchange. A new DAW gains real leverage by importing/expor |
| P3  | `ARR-18`    | Other  |     local      | XL  | Arrangement   | Spectral (frequency-domain) clip editing                                                                                             | RX-style spectral editing, SpectraLayers, Pro Tools/Logic spectral repair; Ableton/Reaper have limited spectral tools. This is a high-end niche, not table stake |
| P1  | `MIDI-1`    |   UX   |     local      | XL  | MIDI          | MPE / per-note expression layer (pitch-bend, pressure, timbre curves) in the DAW                                                     | Ableton Live 12 MIDI note expression + MPE editing; Bitwig per-note expression (gain/pan/pitch/timbre/pressure) is a marquee feature; Logic/Cubase MPE recording |
| P1  | `MIDI-13`   |   AI   |     local      |  L  | MIDI          | Deep / real-time generative MIDI Session Player (genre models, reacts to chord track)                                                | Logic Pro 11 Session Players: AI Bass Player (8 styles, complexity+intensity dials) and Keyboard Player react to the chord track in real time; Pro Tools AutoBea |
| P1  | `MIDI-18`   |   UX   |    browser     |  M  | MIDI          | MIDI learn / CC + controller mapping to parameters                                                                                   | Universal in flagship DAWs: Ableton/Bitwig/Cubase/Logic/Reaper all offer right-click MIDI-learn binding any knob/fader/transport to a hardware CC; mod-wheel/exp |
| P1  | `MIDI-2`    |   UX   |     local      |  L  | MIDI          | Notation / score editor in the DAW + MusicXML round-trip of the clip model                                                           | Cubase 14 ships a Dorico-powered Score Editor (shared transcription engine, cleans live-performance irregularities) — strongest in-DAW notation. MusicXML 4.0/4. |
| P1  | `MIDI-7`    |   AI   |     local      |  L  | MIDI          | MIDI-effects device chain (insertable note FX: arp/randomizer/transposer/scale/chord)                                                | Ableton Live 12 MIDI Tools/Transformations (scale-aware ornaments, strum, arp, chord, velocity) as an extensible chain; Logic MIDI FX slots (Arpeggiator/Chord T |
| P2  | `IO-2`      | Other  |     local      |  L  | MIDI          | DAWproject round-trip depth (note-expression, automation, sends, fades, warp, plug-in state)                                         | DAWproject v1.0 (Bitwig/PreSonus; adopted by Cubase 14/Nuendo 14/Studio One 6.5+) carries audio clips+fades/crossfades, time-warp, transpose, notes+note-express |
| P2  | `MIDI-16`   |   UX   |     local      |  M  | MIDI          | Dedicated drum sequencer / drum rack (named pads, per-pad lanes, kit layout)                                                         | Cubase 14 added a dedicated Drum Machine + Pattern Editor; Bitwig 5.3 added 25 drum devices (808/909/digital) with a Stepwise sequencer; Ableton Drum Rack with  |
| P2  | `MIDI-9`    |   UX   |     local      |  M  | MIDI          | Chord track with chord-symbol-on-timeline rendering driving parts                                                                    | Logic Pro 11 Chord Track; Studio One 7 Chord Track detects chords from polyphonic audio via Melodyne and drives instrument+audio playback; Cubase Chord Track +  |
| P3  | `MIDI-14`   | Other  |    browser     |  L  | MIDI          | MIDI 2.0 / UMP + high-resolution CC                                                                                                  | Windows 11 MIDI Services ships a native in-box UMP/MIDI-2.0 stack (256 channels, 32-bit high-res CVMs, per-note expression, Capability Inquiry); CLAP exposes MI |
| P3  | `MIDI-5`    | Other  |     local      |  L  | MIDI          | Microtuning (Scala .scl/.kbm, MTS-ESP, alternate temperaments)                                                                       | Bitwig and many synths support Scala/MTS-ESP microtuning; alternate-temperament and just-intonation playback are expected for sound-design and world/experimenta |
| P1  | `ENG-1`     | Other  | native-desktop | XL  | Audio Engine  | Native low-latency audio I/O driver (CoreAudio/ASIO/WASAPI)                                                                          | Pro Tools / Logic / Cubase / REAPER ride native CoreAudio (few ms, no driver layer) and ASIO (~4.6ms round-trip); Linux ALSA + PREEMPT_RT posts the lowest figur |
| P1  | `ENG-21`    |   UX   |    browser     |  M  | Audio Engine  | MIDI-learn / hardware CC parameter binding                                                                                           | MIDI Learn is explicitly called out as table-stakes across the field (Ableton, Cubase, Bitwig, REAPER, Logic) — right-click a control, wiggle a knob, it binds;  |
| P1  | `ENG-3`     | Other  |     local      |  M  | Audio Engine  | Plugin delay compensation (PDC) framework                                                                                            | Every pro DAW (Pro Tools, Cubase, Logic, REAPER) automatically reports per-plugin latency and delay-compensates all other tracks/buses so the mix stays phase-al |
| P1  | `ENG-4`     | Other  | native-desktop | XL  | Audio Engine  | Multicore / work-stealing graph scheduler                                                                                            | REAPER hits >95% multicore utilization via anticipatory/out-of-order FX processing; Cubase ASIO-Guard pre-renders non-live tracks; Logic on Apple Silicon parall |
| P1  | `ENG-7`     | Other  |    browser     |  L  | Audio Engine  | Disk/OPFS-streamed sample playback                                                                                                   | All flagship DAWs stream audio from disk with a small RAM prebuffer per voice; the web SOTA (openDAW) persists and streams samples from OPFS (Origin Private Fil |
| P1  | `ENG-N1`    | Other  |    browser     |  L  | Audio Engine  | SharedArrayBuffer lock-free transport (COOP/COEP isolation)                                                                          | openDAW, Soundation, web-synth and BandLab all use the 2025-26 SOTA web pattern: SharedArrayBuffer lock-free ring buffers (requiring COOP/COEP cross-origin isol |
| P2  | `ENG-11`    | Other  |     local      |  L  | Audio Engine  | Large-session scaling profiled & SIMD-summed                                                                                         | Pro Tools Ultimate runs 2048 audio / 1024 MIDI tracks; REAPER scales to hundreds with multicore. Euterpe's serial single-thread loop will bottleneck well before |
| P2  | `ENG-18`    | Other  |     local      |  M  | Audio Engine  | Per-track sidechain routing matrix                                                                                                   | Every pro DAW lets any track/bus feed the sidechain of any compressor/gate insert (Ableton, Cubase, Logic, Bitwig) — kick-pumps-bass is a daily workflow, not a  |
| P2  | `ENG-2`     | Other  |     local      |  M  | Audio Engine  | Sample-accurate sub-block automation                                                                                                 | Pro DAWs render automation per-sample (or sub-block in fine slices) so audio-rate filter sweeps and modulation are zipper-free; Bitwig/Cubase modulators run at  |
| P2  | `ENG-9`     | Other  |     local      |  L  | Audio Engine  | Elastique/Rubber-Band-class time-stretch                                                                                             | REAPER 7 ships new polyphase pitch/time algorithms; Cubase VariAudio/AudioWarp, Studio One ARA-Melodyne and FL 2025 per-clip stretch ride élastique/Rubber-Band- |
| P2  | `ENG-N2`    | Other  |     local      |  M  | Audio Engine  | WASM SIMD vectorization of the DSP hot path                                                                                          | The 2025-26 web-DAW pattern (Soundation, web-synth) compiles Rust to the audio thread with WASM SIMD128 for 4-wide float math; native DAWs use SSE/NEON througho |
| P2  | `ENG-N3`    | Other  |     local      | XL  | Audio Engine  | Immersive / surround / Dolby Atmos output                                                                                            | Pro Tools Ultimate does native Dolby Atmos + Sony 360 Reality Audio + UWA Audio Vivid with in-session cross-format conversion; Logic 11.x added per-channel Elev |
| P3  | `ENG-14`    |   UX   |     local      |  M  | Audio Engine  | Selectable FFT window/size for spectral metering                                                                                     | Pro spectrum analyzers (and DAW analyzers in Cubase/Logic/Pro Tools) expose window type, FFT size and overlap so users trade frequency vs time resolution. A sin |
| P3  | `ENG-17`    |   UX   |     local      |  S  | Audio Engine  | Master soft-clip mode + persisted clip-history LED                                                                                   | Mastering chains (Logic Mastering Assistant, Ableton, FL) offer a soft-clip/saturating ceiling alongside the brickwall limiter, plus a latching clip indicator p |
| P3  | `ENG-19`    | Other  |     local      |  S  | Audio Engine  | Lookahead buffers for limiter/dynamics                                                                                               | Pro limiters/maximizers use 1-5ms lookahead to catch transients without distortion; standard on any mastering limiter. Once PDC (ENG-3) exists, lookahead is che |
| P3  | `ENG-8`     | Other  |     local      |  S  | Audio Engine  | Oversampling across all nonlinear effects + sampler resampling                                                                       | Full SOTA oversampling covers every nonlinearity (distortion, bitcrusher, saturators) and high-quality sample-rate conversion in samplers. Partial coverage leav |
| P0  | `MIX-2`     |   UX   |     local      | XL  | Mixing        | Bus / aux architecture (user-created summing buses with inserts/sends)                                                               | Every flagship DAW (Pro Tools, Logic, Cubase, Ableton, Studio One, REAPER) supports arbitrary user-created aux/group buses with their own insert chains, sends,  |
| P1  | `MIX-1`     |   UX   |     local      |  L  | Mixing        | VCA faders (group fader scaling member channels)                                                                                     | Pro Tools, Cubase, Logic, Studio One all ship VCA master faders that scale grouped channels without re-routing audio; Pro Tools VCA is a core mix workflow. REAP |
| P1  | `MIX-26`    |   UX   |     local      |  M  | Mixing        | Touch / Latch / Trim automation modes                                                                                                | Pro Tools defined the Read/Touch/Latch/Trim/Write taxonomy; Logic, Cubase, Studio One all ship Touch+Latch as the default professional modes (full Write is rare |
| P1  | `MIX-27`    |   UX   |     local      |  L  | Mixing        | Per-insert sidechain input + sidechain filter                                                                                        | Sidechain compression keyed off another track (e.g. kick → bass ducking) is a universal modern-mix technique; Ableton, Logic, Cubase, FL, Pro Tools all expose p |
| P1  | `MIX-28`    | Other  |     local      | XL  | Mixing        | Surround / immersive audio + Dolby Atmos ADM authoring/export                                                                        | Apple Music Atmos is the dominant immersive deliverable (ADM BWF 24/48, beds+objects, binaural Near/Mid/Far metadata, <=-18 LKFS, no stereo upmix). Logic, Nuend |
| P1  | `MIX-29`    | Other  | native-desktop | XL  | Mixing        | VST / AU / CLAP third-party plugin hosting                                                                                           | Every flagship DAW hosts VST3/AU and increasingly CLAP; the third-party plugin ecosystem (FabFilter, iZotope, Waves, oeksound, Melodyne via ARA) is the single b |
| P1  | `MIX-3`     |   UX   |     local      |  L  | Mixing        | Flexible routing matrix / patch bay                                                                                                  | REAPER's routing matrix is the genre archetype; Pro Tools I/O setup, Cubase MixConsole routing, and Bitwig's grid offer arbitrary signal routing. A patch-bay vi |
| P1  | `MIX-35`    |   AI   |     local      |  L  | Mixing        | C2PA Content Credentials + SynthID on DAW export (export carries provenance as text-label only)                                      | The 2026 dual standard (OpenAI joined C2PA steering 2026-05-19, committing to C2PA + DeepMind SynthID): write a cryptographically-signed C2PA 2.1 / ISO 22144 ma |
| P1  | `MIX-4`     |   UX   |     local      |  L  | Mixing        | Flexible send routing (pre/post-fader, pre/post-insert, per-send pan/mute, arbitrary destinations)                                   | Pro Tools, Cubase, Logic, Studio One all offer per-send pre/post-fader toggles, per-send level+pan+mute, and routing to any aux bus. Pre-fader sends are essenti |
| P2  | `MIX-30`    |   UX   |     local      |  M  | Mixing        | Mid/Side per-insert (and per-track) processing                                                                                       | FabFilter Pro-Q/Pro-MB, Ozone, and most modern EQ/comp/dynamics offer per-band or per-instance M/S processing for surgical stereo-field control; mastering engin |
| P2  | `MIX-31`    |   UX   |    browser     |  L  | Mixing        | Control-surface integration (MIDI-learn / CC mapping / OSC / hardware faders)                                                        | Pro Tools (EUCON/HUI), Logic, Cubase, Ableton, Studio One all support MIDI-learn on every control and Mackie/HUI/EUCON control surfaces; hardware fader control  |
| P2  | `MIX-32`    |   UX   |     local      |  M  | Mixing        | Per-band / spectrogram / per-band-LUFS metering                                                                                      | iZotope Insight/Ozone and Voxengo SPAN offer spectrogram-over-time, per-band loudness, and per-band correlation; mastering engineers use spectrograms to spot re |
| P2  | `MIX-33`    |   UX   |     local      |  M  | Mixing        | Per-platform loudness preview / reference-monitor A-B panel                                                                          | Ozone/Insight, LANDR, and Tidal/Spotify loudness tools let you A-B the master against a commercial reference in real time and preview how each platform's normal |
| P3  | `MIX-34`    |   UX   |     local      |  S  | Mixing        | Mix-snapshot coverage gap (master EQ/comp/multiband + insert params not captured)                                                    | Pro Tools/Cubase/Logic mix snapshots (and Total Recall consoles) capture the entire mixer state including every plugin parameter so an A/B is a true recall.     |
| P0  | `FX-11`     | Other  | native-desktop | XL  | Effects       | External plugin hosting (VST3 / CLAP / AU)                                                                                           | Every flagship DAW hosts third-party plugins: Logic (AU), Pro Tools (AAX), Cubase/Live/Studio One/Bitwig (VST3), and CLAP momentum is real — Bitwig, REAPER, FL  |
| P1  | `FX-18`     |   UX   |     local      |  L  | Effects       | Take comping (multi-take lanes, swipe-to-select)                                                                                     | Comping is universal: REAPER 7 Swipe Comping (multi-take composites, A/B, crossfades), Studio One 7 (ARA Melodyne takes editable before comp), Pro Tools (audio  |
| P1  | `FX-7`      | Other  |     local      |  L  | Effects       | Unified source→target modulation matrix                                                                                              | Bitwig's program-wide Unified Modulation System (modulators at device, mixer and project level) + 5 MSEG modulators is the genre king. Cubase 14 added six routa |
| P2  | `FX-14`     |   UX   |     local      |  M  | Effects       | Sampler slicing / beat-grid (slice-to-MIDI)                                                                                          | Slicing (Recycle/Battery/Ableton Simpler 'Slice to MIDI', FL Slicex, Bitwig sample-slice mode) is standard for chopping breaks; auto-onset + map-to-keys + drag- |
| P2  | `FX-5`      | Other  |     local      |  M  | Effects       | Multi-zone sampler (key/velocity zone mapping)                                                                                       | Kontakt/EXS-class multisampling is the standard for realistic instruments; every flagship ships a zone-mapped sampler (Logic Sampler, Ableton Sampler, Bitwig Sa |
| P2  | `FX-9s`     | Other  |     local      |  L  | Effects       | Spectral / STFT effects (vocoder, spectral gate, spectral delay/freeze)                                                              | Spectral processing is a standard creative tier: Ableton (Spectral Resonator/Time, vocoder), Bitwig (FFT-based grid modules), Logic (vintage vocoder), plus ubiq |
| P3  | `FX-N1`     | Other  |     local      |  M  | Effects       | Save FX rack / instrument as a portable preset & interchange (.dawproject device state)                                              | Dawproject v1.0 (Bitwig/PreSonus, adopted by Cubase 14/Studio One/Nuendo) carries full plug-in + built-in device state (EQ/comp/gate/limiter) and parameter auto |
| P3  | `FX-N2`     | Other  |     local      |  M  | Effects       | Per-note / MPE polyphonic expression into synth voices                                                                               | CLAP and MIDI 2.0 (Windows 11 native UMP stack, 256 channels, per-note expression) make per-note modulation a first-class 2026 capability; Bitwig, Logic, Cubase |
| P0  | `AI-19`     |   AI   |     local      |  L  | AI Generation | C2PA Content Credentials + SynthID watermark on export                                                                               | 2026 dual standard converged 2026-05-19: OpenAI joined C2PA steering committee and committed to embedding DeepMind SynthID alongside C2PA Content Credentials; G |
| P0  | `AI-8`      |   AI   |     local      |  M  | AI Generation | One-shot text-to-music (full prompt → editable DAW clip)                                                                             | Suno v5/v5.5, Stable Audio 2.5 (licensed/commercially-safe, <2s for a 3-min track on H100, text-to-audio + audio-to-audio + inpainting), Lyria 3 Pro (3-min stru |
| P0  | `AI-N1`     |   AI   |     local      |  M  | AI Generation | Agentic copilot writes editable MIDI to the arrangement                                                                              | The decisive 2026 shift: intelligence collapses INTO the timeline. Logic 11 AI Session Players (Bass/Keyboard, react to chord track in real time, drop editable  |
| P1  | `AI-12`     |   AI   |   cloud-cred   |  L  | AI Generation | Voice cloning + text-to-singing synthesis                                                                                            | RVC (open real-time voice-conversion standard for covers), ElevenLabs (cloud voice clone + music + SFX, 70+ languages), Synthesizer V v2.2 (AI Choir), Vocaloid  |
| P1  | `AI-14`     |   AI   | native-desktop | XL  | AI Generation | On-device neural inference (live candle forward-pass + weights)                                                                      | Magenta RealTime 2: 2.4B open-weights (+230M variant) with a C++/MLX engine running natively/offline on Apple Silicon, ~200ms control latency / 40ms frames (~15 |
| P1  | `AI-4`      |   AI   |     local      |  L  | AI Generation | Polyphonic pitch correction (Melodyne/Auto-Tune-class) wired into the DAW                                                            | Melodyne 5 DNA (polyphonic, the editing standard, ARA-integrated into Studio One/Cubase/Logic chord detection), Auto-Tune Pro 11 (real-time creative standard),  |
| P1  | `AI-7`      |   AI   |    backend     |  L  | AI Generation | Audio (waveform) inpainting / regenerate-region                                                                                      | Udio's surgical audio inpainting is still uniquely differentiated; Stable Audio 2.5 does audio inpainting (commercially-safe). Suno Remove FX / Alternates / War |
| P1  | `AI-N2`     |   AI   |     local      |  L  | AI Generation | Cross-channel / inter-track masking-aware EQ (smart:EQ-class)                                                                        | Sonible smart:EQ 4 (cross-channel intelligence — listens to multiple tracks and carves space), iZotope Neutron 5 Masking Meter, Ozone 12. Inter-track spectral d |
| P1  | `AI-N5`     |   AI   |     local      |  M  | AI Generation | AI accompaniment band beyond a 55-LOC local helper (accompany/virtuoso unwired)                                                      | Logic 11 Session Players (AI Bass Player: 8 styles, complexity/intensity, reacts to chord track in real time; Keyboard Player), Pro Tools AutoBeat Lite (12-trac |
| P2  | `AI-1`      |   AI   |   cloud-cred   |  M  | AI Generation | Cloud Suno/Udio/Stable-Audio async generation import UI                                                                              | Suno v5 (up to 12 stems, fine-tune-on-your-tracks), Stable Audio 2.5 (licensed/commercially-safe — best fit for a copyright-cautious product), Lyria 3 Pro. Asyn |
| P2  | `AI-16`     | Other  |    backend     |  L  | AI Generation | Real-time multiplayer collaboration (CRDT live-share)                                                                                | Cloud DAWs (BandLab, Soundtrap) and the agentic-collab trend (MCP-driven multi-agent sessions) make real-time co-editing expected. Not a flagship-desktop moat b |
| P2  | `AI-20`     | Other  |     local      | XL  | AI Generation | Spatial / Dolby Atmos mastering                                                                                                      | Pro Tools Ultimate (native Dolby Atmos + Sony 360 Reality Audio + UWA Audio Vivid, cross-format conversion in one session), Logic 11 (Spatial Audio + per-channe |
| P2  | `AI-22`     | Other  | native-desktop | XL  | AI Generation | External VST3/AU/CLAP guest-plugin hosting                                                                                           | Every flagship DAW hosts VST3/AU/CLAP; REAPER FX Containers nest third-party chains. Plugin hosting is the core extensibility moat of a desktop DAW.             |
| P2  | `AI-N3`     |   AI   |   cloud-cred   |  M  | AI Generation | Speech-to-text / dialogue transcription (post/podcast AI)                                                                            | Pro Tools 2025.6+ Speech-to-Text (offline + batch, word-searchable sessions), VoiceWunder speech-synth (74 languages), SoundFlow AI Session Assistant. Descript- |
| P2  | `AI-N4`     | Other  |     local      |  L  | AI Generation | ARA-grade comping / multi-take lanes                                                                                                 | REAPER 7 Swipe Comping, Studio One 7 ARA Melodyne comping (editable takes before comp), Pro Tools audio comping + MIDI/Instrument Playlists, Logic take folders. |
| P2  | `AI-N6`     |   AI   |     local      |  S  | AI Generation | AI generator stream preserves stereo (currently mono-downmixed)                                                                      | All generative models (Suno/MagentaRT/Stable Audio) emit stereo; flagship DAWs treat generated audio as full stereo material. Collapsing to mono is an audible q |
| P0  | `UX-23`     |   UX   |     local      | XL  | UX            | Session / clip-launch grid (scenes + follow actions + capture)                                                                       | Ableton Session View (clips×scenes grid, per-clip triangular launch, scene-launch column, Follow Actions for probabilistic/automated chaining) is the reference; |
| P0  | `UX-5`      |   UX   |     local      | XL  | UX            | Unified assignable modulation system (mod-matrix / free-running LFOs / envelope followers)                                           | Bitwig Unified Modulation System is the gold standard: 43+ modulator types (LFOs, MSEG, envelopes, Audio Follower, Macro/Macro-4, Macro XY, step seq) drag onto  |
| P1  | `UX-1`      |   UX   |     local      |  L  | UX            | Resizable / dockable panel workspace + saveable screensets                                                                           | Reaper is the reference for radical customization: every window docks (top/bottom/left/right), floats, or shares tabbed docks, and Screensets save entire layout |
| P1  | `UX-10`     |   UX   |     local      |  L  | UX            | Take comping & loop-recording (multi-take composites)                                                                                | REAPER 7 Swipe Comping (multi-take composites, A/B, crossfades), Studio One 7 ARA Melodyne comping (takes editable before comp finalized), Pro Tools audio compi |
| P1  | `UX-15`     | Other  | native-desktop | XL  | UX            | VST3 / CLAP / AU plugin hosting (or in-browser WAM hosting)                                                                          | Every flagship (Logic/Pro Tools/Cubase/Ableton/Bitwig/Reaper) hosts VST3/AU/CLAP; the universally-cited limitation of browser DAWs (BandLab/Soundtrap/Soundation |
| P1  | `UX-22`     | Other  |    backend     | XL  | UX            | Real-time multiplayer collaboration (CRDT co-editing + presence)                                                                     | Browser real-time-collaborative DAWs are a defined 2026 category: BandLab (60M+ users), Soundtrap (Spotify, real-time co-edit), Soundation (simultaneous same-pr |
| P1  | `UX-24`     |   UX   |     local      |  L  | UX            | MPE / per-note expression (pressure / pitch-glide / timbre data model + edit)                                                        | MPE (per-note pitch/pressure/timbre) is mainstream in 2026: ROLI Seaboard 5D, LinnStrument, Push 3 (64 poly-aftertouch X/Y pads), Expressive E Osmose, native MP |
| P1  | `UX-25`     |   AI   |     local      |  L  | UX            | Neural stem separation (4-way drums/bass/vocals/other)                                                                               | On-device neural 4-way stem separation is now universal table-stakes: Logic 11 Stem Splitter (drums/bass/vocals/other, on-device M-series), Ableton Live 12.3/12 |
| P1  | `UX-26`     |   AI   |     local      |  L  | UX            | AI style 'session players' — chord-reactive / live-following bass/drums/keys with intensity controls                                 | Logic Pro 11 Session Players are the leader: Drummer + AI Bass Player (8 styles, complexity/intensity knobs, reacts to the chord track in real time) + Keyboard  |
| P1  | `UX-7`      |   AI   |     local      |  L  | UX            | Unified semantic asset / sample / preset browser (embeddings + similarity + drag-drop)                                               | Ableton Live 12 Sound Similarity Search uses a neural net to find timbrally similar samples AND presets from one seed (similarity score on timbre/pitch/spectral |
| P2  | `UX-11`     |   UX   |    browser     |  M  | UX            | Touch / multitouch / pen-pressure input                                                                                              | Touch/tablet is native in 2026: Logic Pro for iPad (touch-redesigned, full pro features), Ableton Move/Note (capture-anywhere, large hit targets, gesture pads). |
| P2  | `UX-12`     |   UX   | native-desktop |  L  | UX            | Multi-window / multi-monitor detached editors                                                                                        | Pro Tools/Cubase drag parent windows across monitors; Bitwig/Reaper float and dock editors across screens; pros expect a mixer or piano-roll on a second monitor |
| P2  | `UX-27`     | Other  |     local      |  L  | UX            | In-DAW notation / score editor                                                                                                       | Cubase 14's headline is a Dorico-powered Score Editor (shares Dorico's transcription engine, cleans up live-performance irregularities) — strongest in-DAW notat |
| P2  | `UX-28`     | Other  |     local      |  M  | UX            | Wire the substantial studio / studio-runtime view-model libraries (or retire them)                                                   | N/A — this is an internal coherence gap: shipped product UX should not silently diverge from a parallel un-shipped runtime. Leaders ship one coherent model (e.g |
| P3  | `UX-29`     | Other  |     local      |  S  | UX            | DAWproject open interchange import/export wired into the UI                                                                          | The DAWproject open interchange format (Bitwig-originated) is now adopted by Cubase 14 and Studio One; cross-DAW transfer is an expected interop nicety.         |
| P1  | `REC-12`    | Other  |    browser     |  M  | Recording     | Multi-track simultaneous recording                                                                                                   | Pro Tools Ultimate scales to hundreds of simultaneous record tracks; multi-input tracking is core to any band/multi-mic session.                                 |
| P1  | `REC-2`     |   UX   |    browser     |  L  | Recording     | Take comping with loop-recording multi-take lanes                                                                                    | REAPER 7 Swipe Comping (multi-take composites, A/B, crossfades); Studio One 7 ARA Melodyne comping with takes editable before comp is finalized; Pro Tools audio |
| P1  | `REC-4`     |   UX   |     local      | XL  | Recording     | Session / clip-launch view with scenes & follow-actions                                                                              | Ableton Live Session View is the archetype (scene launch, follow actions, capture-to-arrangement); Bitwig Clip Launcher adds Next Actions + background recording |
| P1  | `REC-6`     |   UX   |    browser     |  M  | Recording     | Hardware MIDI learn & control-surface mapping                                                                                        | MIDI Learn is table-stakes across every flagship DAW; Ableton Push 3 / Launchpad lead the grid world. The enabling first step (CC handling) is universal.        |
| P1  | `REC-8`     | Other  |    browser     |  S  | Recording     | Input monitoring / headphone cue mix                                                                                                 | Software/direct input monitoring is baseline on every DAW; a latency-aware monitor toggle is expected so performers hear themselves while tracking.              |
| P1  | `REC-N1`    |   AI   |     local      | XL  | Recording     | Neural AI stem separation (4-way drums/bass/vocals/other)                                                                            | AI stem separation is now table-stakes: Logic 11 Stem Splitter (4-way, on-device M-series), Ableton Live 12.3/12.4 (Vocals/Drums/Bass/Others, local), Studio One |
| P1  | `REC-N2`    |   AI   |     local      |  M  | Recording     | AI Session Players: drum styles + complexity/intensity + real-time chord-track reactivity & commit-during-performance                | Logic Pro 11 Session Players (AI Bass Player — 8 styles, complexity/intensity, reacts to the chord track in real time — and Keyboard Player, extending Drummer); |
| P1  | `REC-N3`    |   UX   |    browser     |  M  | Recording     | Expressive MIDI capture (CC / pitch-bend / aftertouch / MPE)                                                                         | MPE (per-note pitch/pressure/slide) and CC/pitch-bend lanes are standard for expressive controllers (ROLI/LinnStrument/Push); every flagship DAW records and edi |
| P2  | `REC-13`    | Other  | native-desktop | XL  | Recording     | VST3 / CLAP plugin hosting                                                                                                           | VST3/CLAP/AU hosting is fundamental to every desktop DAW's ecosystem. Web DAWs cannot host native binary plugins in-browser.                                     |
| P2  | `REC-14`    | Other  |    browser     |  L  | Recording     | MCU / HUI / EUCON control-surface protocols                                                                                          | MCU (1024-step faders) and HUI (MIDI) are the lingua franca for hardware mixers; EUCON (Avid, Ethernet) is the high end. The free Avid Control app brings wirele |
| P2  | `REC-3`     |   UX   |    browser     |  M  | Recording     | Punch-in / punch-out recording with auto-crossfade                                                                                   | Auto punch with crossfade at the punch boundaries is standard for fixing a passage without re-tracking; REAPER/Pro Tools/Cubase all provide it.                  |
| P2  | `REC-5`     |   UX   |    browser     |  L  | Recording     | Looper / live-looping overdub                                                                                                        | Live-looping/overdub (Ableton looper device, hardware-style loop pedals) is a core live-performance tool for layering takes in real time over a fixed loop lengt |
| P2  | `REC-9`     | Other  |     local      |  L  | Recording     | Latency / plugin-delay compensation (PDC) & track-delay alignment                                                                    | Automatic plugin-delay compensation that time-aligns tracks whose FX introduce latency is baseline in every flagship DAW; track-delay nudge is standard.         |
| P2  | `REC-N4`    |   AI   |     local      |  L  | Recording     | Speech-to-text transcription for dialogue/post                                                                                       | Pro Tools 2025.6+ Speech-to-Text (offline + batch transcription, word-searchable sessions) leads post/dialogue AI; transcription-driven editing is now a recogni |
| P2  | `REC-N5`    |   UX   |     local      |  M  | Recording     | Retroactive / background MIDI recording (capture)                                                                                    | Ableton Capture, Cubase Retrospective Record, REAPER Retroactive MIDI Recording — the DAW always buffers recent MIDI so an un-armed idea you just played can be  |
| P3  | `REC-16`    |   UX   |     local      |  S  | Recording     | Undo/redo coverage for take/comp operations                                                                                          | Comp-lane selection, punch takes, and looper layers are all expected to be undoable.                                                                             |
| P3  | `REC-7`     |   UX   |     local      |  S  | Recording     | Count-in selector should offer 4 bars + surface count-in-active state                                                                | DAWs commonly offer 1/2/4-bar count-in and display a live count-in countdown/visual beat during the pre-roll.                                                    |
| P0  | `COLLAB-1`  | Other  |    backend     | XL  | Collaboration | Real-time multi-user WebSocket project sync (multiplayer co-editing)                                                                 | Soundtrap and Soundation ship simultaneous multiplayer same-project editing; BandLab (60M+ users) does real-time collab. Audiomovers Listento does lossless low- |
| P0  | `COLLAB-2`  | Other  |    backend     |  L  | Collaboration | Cloud project storage & retrieval (DB + object store)                                                                                | BandLab, Soundtrap (Spotify), Soundation, Audiotool, audio.com all ship cloud projects as the default — zero-install, projects live in the cloud, open from any  |
| P1  | `COLLAB-19` | Other  |    browser     |  L  | Collaboration | Full PWA / offline-first persistence (service worker + OPFS + sync-on-reconnect)                                                     | openDAW ships OPFS sample import and is planning a full offline PWA; Service Workers + OPFS + cache-first is the proven offline web-DAW pattern. BandLab/Soundtr |
| P1  | `COLLAB-3`  | Other  |     local      |  L  | Collaboration | Project versioning, branching & 3-way merge UI (git-for-music)                                                                       | Splice Studio offers versioning + comments + backup; Avid Cloud Collaboration does in-session multitrack merge; Reaper users branch-per-cue via Git on text proj |
| P1  | `COLLAB-4`  | Other  |    backend     |  M  | Collaboration | Shareable project links with expiry & permission levels                                                                              | BandLab/Soundtrap/Soundation all generate share/invite links with view/comment/edit scopes; Splice shares project links for review.                              |
| P1  | `COLLAB-5`  |   UX   |    backend     |  M  | Collaboration | Multi-user presence & live cursors in the DAW                                                                                        | Figma-style live cursors and avatar rows are table-stakes in Soundtrap/Soundation/BandLab collab sessions — you see collaborators' selections and edit positions |
| P1  | `COLLAB-6`  |   UX   |    backend     |  M  | Collaboration | Inline comments / timestamped annotations on tracks, clips & timeline                                                                | Splice Studio ships project comments; Soundtrap/BandLab support collaborator comments; SoundCloud-style timestamped feedback is the producer-review norm.        |
| P1  | `COLLAB-8`  |   UX   |     local      |  M  | Collaboration | Conflict resolution UI & selectable merge strategies                                                                                 | Avid Cloud Collaboration surfaces multitrack merge conflicts; collaborative editors (Figma, Google Docs) auto-resolve but expose history for manual override. A  |
| P1  | `COLLAB-9`  | Other  |    backend     |  M  | Collaboration | Granular access control & permission enforcement for projects                                                                        | Soundtrap/Soundation/BandLab gate edit vs view vs comment per collaborator; Avid Cloud Collaboration has role-scoped session access. Per-collaborator roles are  |
| P2  | `COLLAB-10` | Other  |    backend     |  M  | Collaboration | Workspace & team management (invite/accept/members)                                                                                  | BandLab bands, Soundtrap collaborators, Avid team workspaces — team/workspace management is standard for collab platforms.                                       |
| P2  | `COLLAB-14` | Other  |     local      |  L  | Collaboration | Rights management & split-sheet panel (PRO/publishing/master shares)                                                                 | Splice and distribution platforms (DistroKid, Soundrop) handle splits; in-DAW split sheets are a differentiator (most DAWs lack them). This is a real opportunit |
| P2  | `COLLAB-21` |   AI   |   cloud-cred   |  M  | Collaboration | Neural / cloud stem separation (Demucs / HTDemucs)                                                                                   | BandLab and Soundtrap ship AI stem split; Demucs/HTDemucs (Meta) and commercial APIs (LALAL.ai, Moises) are the neural-separation bar — far higher quality than  |
| P2  | `COLLAB-7`  | Other  |    backend     |  L  | Collaboration | Cloud rendering / offload of tracks & stems                                                                                          | BandLab/Soundtrap render/export in the cloud; cloud mastering (BandLab AI Mastering, LANDR) and headless render farms offload heavy bounces. Frees the client an |
| P3  | `COLLAB-11` | Other  |    browser     |  L  | Collaboration | In-app video conferencing (WebRTC) with DAW audio/screen-share                                                                       | Audiomovers Listento streams DAW audio to remote listeners; remote sessions often pair a DAW with Zoom/Discord. In-DAW WebRTC video+DAW-audio routing is rare —  |
| P3  | `COLLAB-12` | Other  |    backend     |  M  | Collaboration | Activity feed & project analytics (contribution/heatmap)                                                                             | GitHub-style contribution graphs and activity feeds are standard in collab platforms; Splice shows project activity. Nice-to-have once multiplayer is real.      |
| P0  | `IO-4`      | Other  | native-desktop | XL  | Interop       | Third-party plugin HOSTING (VST3 / CLAP / AU load)                                                                                   | Every flagship hosts third-party plugins: Bitwig/Reaper/FL Studio/Studio One/Logic/Cubase load VST3 (Steinberg open-sourced VST3 under MIT in 2025); ~15 hosts n |
| P1  | `IO-11`     |   UX   |    browser     |  L  | Interop       | Take / comp loop recording (swipe comping, punch, playlists)                                                                         | REAPER 7 Swipe Comping (multi-take composites, A/B, crossfades), Pro Tools audio comping + MIDI/Instrument Playlists, Studio One 7 ARA-Melodyne comping (takes e |
| P1  | `IO-3`      | Other  |    browser     |  L  | Interop       | MIDI 2.0 / MPE / per-note expression / UMP                                                                                           | Windows 11 MIDI Services now ships a native in-box UMP/MIDI-2.0 stack (256 channels, 32/64/96/128-bit packets, high-res CVMs, per-note expression, MPE-style dat |
| P1  | `IO-N1`     | Other  | native-desktop | XL  | Interop       | ARA2 deep-edit host integration (Melodyne / RX-grade in-place audio editing)                                                         | ARA2 (Celemony/PreSonus) is the mature deep-edit standard, supported across Pro Tools, Logic, Cubase/Nuendo, Studio One (ARA Melodyne comping), Cakewalk, Reaper |
| P1  | `IO-N2`     |   UX   |     local      |  L  | Interop       | Per-clip arrangement warp markers / grid-following time-stretch (VariAudio-class)                                                    | Mature across the field: Cubase VariAudio + AudioWarp, Studio One 7 ARA-Melodyne comping (takes editable pre-comp), Pro Tools Elastic Audio, REAPER 7's new poly |
| P1  | `IO-N3`     | Other  |     local      |  M  | Interop       | DAWproject export fidelity (automation, audio-clip fades/crossfades, plugin state, note-expression, sends; session-derived time-sig) | The Dawproject v1.0 schema (Bitwig/PreSonus) and its adopters — Cubase 14, Studio One 6.5+, Nuendo 14, Cubasis, VST Live, n-Track — round-trip audio clips, fade |
| P1  | `IO-N4`     |   AI   |     local      |  L  | Interop       | Neural-quality on-device stem separation (Demucs/Spleeter-class 4-stem)                                                              | 4-way on-device neural separation is now table stakes: Logic 11 Stem Splitter (drums/bass/vocals/other, on-device M-series), Ableton Live 12.3/12.4 Suite (local |
| P1  | `IO-N5`     |   UX   |    browser     |  L  | Interop       | Clip-launcher / Session View (scene-based nonlinear performance)                                                                     | Ableton Session View is the archetype (scene launch, follow actions); Bitwig Clip Launcher (Next Actions, background recording); Studio One 7's new Integrated L |
| P2  | `IO-13`     | Other  |    backend     |  L  | Interop       | Real-time collaborative editing (CRDT / multi-user session sync)                                                                     | Cloud-collaborative DAWs (Soundtrap, BandLab, Soundation, Avid Cloud Collaboration, Splice studio sync) let multiple users edit a session live; this is increasi |
| P2  | `IO-2`      | Other  |     local      |  L  | Interop       | AAF / OMF / FCP-XML / MXF post-production interchange                                                                                | AAF is the modern picture↔sound interchange standard (carries volume automation + track names; legacy OMF drops them); FCP exports XML that X2Pro/Vordio/Resolve |
| P2  | `IO-6`      | Other  |     local      |  M  | Interop       | FLAC / Opus / AAC / ALAC encoders (lossless + lossy delivery)                                                                        | Clear codec lanes in 2026: FLAC = lossless standard, Opus = best sub-128k + low-latency/WebRTC (patent-free), AAC = streaming/broadcast default (HLS/DASH), Ogg  |
| P2  | `IO-9`      | Other  |   cloud-cred   |  M  | Interop       | Sample / loop import (SFZ, Decent Sampler, Kontakt) + marketplace (Splice/Loopmasters)                                               | SFZ is the open quasi-standard sample-instrument interchange (Kontakt/EXS pivot), with Decent Sampler rising as a third common delivery format. Splice/Loopmaste |
| P2  | `IO-N6`     | Other  |     local      |  M  | Interop       | Immersive ADM-BWF master export (Dolby Atmos / Netflix BWAV)                                                                         | Immersive delivery has consolidated on ADM BWF at 48k/24-bit as the Dolby Atmos master; Netflix BWAV ADM guidelines (Feb 2025) require D/M/E/N group labels. Pro |
| P2  | `IO-N7`     | Other  |     local      |  L  | Interop       | In-DAW notation / score editor + MusicXML interop                                                                                    | Cubase 14 ships a Dorico-powered Score Editor (shares Dorico's transcription engine, cleans up live-performance irregularities) — strongest in-DAW notation. Mus |
| P2  | `IO-N8`     |   AI   |     local      |  M  | Interop       | AI mastering-assistant UX + AI saturation/character modeling                                                                         | Logic Pro 11 Mastering Assistant (auto EQ/dynamics/loudness, Transparent/analog-character presets, now to 192 kHz) + ChromaGlow (5 AI-modeled saturation styles  |
| P3  | `IO-7`      | Other  |     local      |  L  | Interop       | ReaScript / Python / Lua user scripting                                                                                              | REAPER's ReaScript (Lua/EEL/Python) and Ableton's Max for Live (which powers Live 12's MIDI Tools/Generators) define user-extensibility; power users automate re |
| P3  | `IO-8`      | Other  |    backend     |  L  | Interop       | General REST / OSC DAW-control & orchestration API                                                                                   | Pro/automation users expect programmatic control — OSC (TouchOSC/Lemur/Open Stage Control), MCU/HUI control surfaces, and increasingly headless render APIs. Rea |
| P3  | `IO-N9`     |   AI   |   cloud-cred   |  M  | Interop       | Speech-to-text / dialogue transcription (post & accessibility)                                                                       | Pro Tools 2025.6+ leads post/dialogue AI: Speech-to-Text (offline + batch transcription, word-searchable sessions), the ARA2 VoiceWunder speech-synth (74 langua |
| P1  | `PLAT-1`    |   UX   |    browser     |  L  | Platform      | MIDI CC / control-surface mapping + MIDI Learn + MPE                                                                                 | MIDI Learn is table-stakes in every pro DAW; MCU (1024-step faders) and HUI are the control-surface lingua franca, EUCON the high end (Avid Control app brings w |
| P1  | `PLAT-2`    | Other  | native-desktop | XL  | Platform      | Native low-latency audio I/O (CoreAudio/ASIO/ALSA)                                                                                   | macOS CoreAudio gives a-few-ms round-trip with no driver layer; Windows ASIO (or WASAPI Exclusive) reaches ~4.6ms; Linux ALSA + PREEMPT_RT posts the lowest meas |
| P1  | `PLAT-5`    | Other  |    browser     |  L  | Platform      | Service worker + OPFS offline-first PWA                                                                                              | openDAW ships OPFS sample/project import and plans full offline PWA; Service Worker + OPFS + cache-first is the SOTA offline-web-DAW pattern; BandLab/Soundation |
| P1  | `PLAT-9`    |   UX   |     local      |  L  | Platform      | Screen-reader keyboard-navigable piano-roll/automation (treegrid)                                                                    | Reaper + OSARA + NVDA is the gold standard for blind producers (full keyboard transport, item navigation, parameter readout); Pro Tools is partially accessible  |
| P2  | `PLAT-12`   |   UX   |    browser     |  M  | Platform      | Audio-device / output-interface enumeration UI                                                                                       | Every DAW exposes audio-device + sample-rate + buffer selection; web DAWs use enumerateDevices + HTMLMediaElement.setSinkId to route output; choosing the interf |
| P2  | `PLAT-3`    |   UX   |     local      |  L  | Platform      | Internationalization (i18n) framework                                                                                                | All flagship DAWs (Logic, Cubase, Studio One, FL) and web DAWs (BandLab) ship localized UIs; Steinberg/Apple ship many-language builds. i18n is expected for a g |
| P2  | `PLAT-4`    |   UX   |    browser     |  L  | Platform      | Responsive / mobile DAW layout                                                                                                       | BandLab and Soundation offer touch/mobile-first editing; Cubasis and Ableton Note are tablet-class; the Avid Control app is phone/tablet wireless control. A mod |
| P2  | `PLAT-N1`   | Other  |     local      |  M  | Platform      | DAWproject interchange depth (automation/plugin-state/clip-launcher/fades)                                                           | DAWproject 1.0 (Bitwig/PreSonus) is a whole-session container: audio clips + fades/crossfades, time-warp/transpose, notes + note-expressions, tempo/time-sig, MI |
| P2  | `PLAT-N2`   | Other  |     local      |  M  | Platform      | Lossless/streaming export codecs (FLAC/Opus/MP3)                                                                                     | FLAC is the lossless interchange standard; Opus is the best sub-128k/low-latency (WebRTC) codec; AAC is the streaming/broadcast default; MP3 the universal fallb |
| P2  | `PLAT-N4`   | Other  |    browser     |  L  | Platform      | Tempo/timecode sync (Ableton Link / MTC / LTC)                                                                                       | Ableton Link is the de-facto peer tempo/phase sync (supported across Live/Logic/Bitwig/iOS apps); MTC carries position, LTC/SMPTE gives frame-accurate lock for  |
| P2  | `PLAT-N5`   | Other  | native-desktop | XL  | Platform      | VST3/CLAP/AU plugin hosting                                                                                                          | VST3 dominant by installed base (Steinberg open-sourced it MIT in 2025); CLAP has crossing-the-chasm momentum (~15 hosts incl. Bitwig/Reaper/FL, JUCE 9 first-pa |
| P3  | `PLAT-N3`   | Other  |     local      |  M  | Platform      | Notation / MusicXML score export                                                                                                     | MusicXML 4.0 (W3C, 2021; 4.1 draft Apr 2025) is universally read by Finale/Dorico/MuseScore; DAWs that target composers (Cubase, Studio One) export MusicXML for |
| P3  | `PLAT-N6`   |   UX   |     local      |  S  | Platform      | Keymap profile-switching (Ableton/Logic/Pro Tools sets)                                                                              | Pro DAWs ship importable key-command sets and many users expect a 'Logic-style'/'Pro Tools-style' preset to ease migration; Reaper/Cubase ship multiple factory  |
| P3  | `PLAT-N7`   | Other  |    backend     | XL  | Platform      | Real-time / CRDT collaborative editing                                                                                               | Split SOTA: async cloud version-control (Avid Cloud Collaboration in-session merge; Splice Studio versioning/comments) and real-time monitoring (Audiomovers Lis |
| P0  | `MASTER-N1` |   AI   |     local      |  M  | Mastering     | AI Master Assistant — one-click full-chain recommendation (recommendChain unwired)                                                   | iZotope Ozone 11/12 Master Assistant learns tonal-balance/width/impact targets from hundreds of hits, picks modules, sets loudness, and offers a Custom Master A |
| P1  | `MASTER-11` | Other  |     local      |  L  | Mastering     | Dolby Atmos / ADM BWF authoring + binaural metadata (spatial lib unwired)                                                            | Dolby Atmos music is the dominant immersive format; the deliverable is 24/48 ADM BWF with beds+objects+positional metadata. Logic Pro authors/imports/exports AD |
| P1  | `MASTER-18` | Other  |     local      |  M  | Mastering     | DDEX ERN 4.3 + ISWC/UPC + MEAD AI-disclosure flags in export metadata (distribution lib unwired)                                     | ISRC=recording, ISWC=composition (1 ISWC→many ISRCs), UPC=release. Distributors auto-assign ISRCs. DDEX ERN 4.x (4.3 current) is the supply-chain standard; NEW  |
| P1  | `MASTER-9`  | Other  |     local      |  L  | Mastering     | Lossy/lossless codec export (MP3/AAC/FLAC/Ogg)                                                                                       | Every flagship DAW exports lossy + lossless: MP3/AAC for delivery, FLAC/ALAC for archival, Ogg/Opus where relevant. Codec headroom is why -2 dBTP is the recomme |
| P1  | `MASTER-N2` |   AI   |     local      |  M  | Mastering     | C2PA Content Credentials + SynthID propagation on AI-touched exports                                                                 | The industry converged (2026-05-19, OpenAI joined C2PA steering committee) on a dual-layer model: C2PA 2.1 (now ISO/IEC 22144) signed editable-history manifests |
| P2  | `MASTER-15` | Other  |     local      |  L  | Mastering     | Mastering-chain parameter automation over time                                                                                       | Pro DAWs (Logic, Cubase, Pro Tools, Live) automate any master-bus plugin/parameter over the timeline (e.g. ride the limiter ceiling into a drop, automate multib |
| P2  | `MASTER-17` |   UX   |     local      |  M  | Mastering     | Offline-render progress / ETA / cancel UI                                                                                            | Every flagship DAW shows an export progress bar with ETA and a cancel button; batch/stem exports show per-item progress.                                         |
| P2  | `MASTER-6`  | Other  |     local      |  S  | Mastering     | Broadcast / podcast / audiobook delivery chains (EBU R128 / ATSC A/85 / ARIB / OP-59) unwired                                        | Pro DAWs expose speech/broadcast loudness targets: EBU R128 -23 LUFS broadcast, -16/-19 podcast, audiobook spec (e.g. ACX). AES recommends -16 LUFS music / -18  |
| P2  | `MASTER-8`  | Other  |     local      |  M  | Mastering     | Dedicated stem-mastering workflow (masterStems unwired)                                                                              | Ozone 11/12 Stem Focus applies any module to an isolated separated stem; Ozone 12 Stem EQ splits into Vocal/Drums/Bass/Other with up to 8 bands each; stem-maste |
| P2  | `MASTER-N3` | Other  |     local      |  S  | Mastering     | Streaming-platform coverage gap + -2 dBTP universal-master option                                                                    | 2026 consensus: ship ONE master (~-14 to -12 LUFS) at -2 dBTP universal ceiling, because -2 dBTP satisfies Amazon's strict requirement and leaves AAC/Ogg codec  |
| P2  | `MASTER-N4` |   UX   |     local      |  M  | Mastering     | Live multi-platform compliance dashboard (per-platform pass/fail badges)                                                             | Pro metering (e.g. Youlean Loudness Meter, Ozone's reference views) shows live per-platform target compliance so you see at a glance how the current master land |
| P2  | `MASTER-N5` | Other  |     local      |  M  | Mastering     | Dynamic / spectral EQ on the master (dynamicEqResponse unwired)                                                                      | 2026 surgical-vs-broad split: dynamic EQ (FabFilter Pro-Q 4 per-band dynamic, Ozone EQ) for precise problem frequencies, plus spectral processors (oeksound soot |
| P3  | `MASTER-12` | Other  |   cloud-cred   |  L  | Mastering     | Distribution-platform integration (DistroKid/TuneCore/CD Baby)                                                                       | DistroKid/TuneCore/CD Baby/AWAL auto-assign ISRCs and ingest releases via DDEX ERN delivery; some DAWs/services offer direct distribution hooks.                 |
| P3  | `MASTER-7`  |   UX   |     local      |  M  | Mastering     | Bundled curated genre-reference library for reference matching                                                                       | Ozone/LANDR ship curated genre targets/references so users can match a professional tonal balance without owning a reference file; Ozone has 25+ Stabilizer genr |
| P0  | `RIGHTS-1`  |   AI   |     local      |  L  | AI Provenance | C2PA Content Credentials manifest generation & embedding on AI-touched exports                                                       | C2PA 2.1 ratified as ISO/IEC 22144; a signed JSON-LD manifest cryptographically bound to the file records producing model/device + edit chain. Adobe Content Cre |
| P0  | `RIGHTS-2`  |   AI   |     local      |  L  | AI Provenance | Imperceptible audio watermark embedding on real PCM at export                                                                        | Google DeepMind SynthID is the most-deployed audio watermark — survives re-recording, pitch shift, and compression; >100B assets watermarked by May 2026. The 20 |
| P1  | `RIGHTS-11` |   AI   |     local      |  M  | AI Provenance | Provider watermark verification on import & on generation                                                                            | Deezer scans ~60k AI tracks/day and excludes fully-AI tracks from recommendations/royalties; the industry expects DAWs/distributors to read incoming C2PA + Synt |
| P1  | `RIGHTS-15` |   AI   |     local      |  M  | AI Provenance | Post-generation melody/lyric copyright similarity scan                                                                               | Pre-clearance similarity checks (e.g. against a known-melody corpus) mirror what music-recognition + plagiarism tools surface; post-settlement generators run ou |
| P1  | `RIGHTS-3`  |   UX   |     local      |  L  | AI Provenance | Rights clearance & licensing UI (sample / interpolation / cover / sync)                                                              | Modern release workflows surface clearance status before distribution; Splice/Tracklib clear samples upfront, and sync licensing tools (Musicbed, Artlist) attac |
| P1  | `RIGHTS-4`  |   UX   |     local      |  L  | AI Provenance | Royalty split-sheet authoring & tracking UI                                                                                          | Collaborative-generation splits are an emerging 2026 royalty model; split sheets are the legal backbone of co-writes, and platforms increasingly attach machine- |
| P1  | `RIGHTS-5`  |   AI   |     local      |  M  | AI Provenance | Pre-generation copyright & safety prompt filtering in the generator UI                                                               | Suno/Udio post-settlement (WMG/UMG, 2026) require licensed training data and gate prompts that name living artists or copyrighted works; ElevenLabs and major ge |
| P1  | `RIGHTS-N1` | Other  |     local      |  M  | AI Provenance | DDEX AI-disclosure flag + ISWC/UPC in export metadata                                                                                | DDEX ERN v4.3.1 + expanded MEAD (2026) add optional flags for recordings made fully/partly with generative AI; Spotify AI Credits (launched 2026-04-16) surfaces |
| P2  | `RIGHTS-14` | Other  |   cloud-cred   |  L  | AI Provenance | Sample-clearance API integration (Splice/Tracklib/HookTheory/Beatport)                                                               | Splice/Tracklib pre-clear samples and expose catalog/license lookups; clearance automation (matching a loaded sample to a licensable catalog entry) is the licen |
| P2  | `RIGHTS-17` | Other  |     local      |  M  | AI Provenance | Cross-border territory rights selector in export                                                                                     | DDEX deals carry territory scoping; distributors let artists scope releases per-territory and rights differ by jurisdiction (EU AI Act vs CA SB 942 disclosure r |
| P2  | `RIGHTS-7`  | Other  |    backend     | XL  | AI Provenance | On-chain work registration & blockchain rights registry bridge                                                                       | Emerging usage-logged micro-royalty distribution via smart contracts / blockchain-linked metadata is a 2026 frontier model (not yet mainstream in flagship DAWs) |
| P3  | `RIGHTS-10` | Other  |    backend     |  L  | AI Provenance | GDPR/CCPA data-rights + compliance/audit + incident console                                                                          | Data-rights tooling lives in the platform/account layer, not the DAW edit surface, in every flagship DAW. This is org-tooling, not a per-project DAW capability. |
| P3  | `RIGHTS-8`  | Other  |    backend     | XL  | AI Provenance | Real-time royalty-split liquidity / AMM marketplace                                                                                  | Royalty-backed liquidity/AMM is bleeding-edge and not present in any flagship DAW (Logic/Cubase/Pro Tools/Studio One). This is beyond the SOTA DAW bar — it is a |

---

_Generated 2026-06-07 by a 47-agent research workflow (6 SOTA-benchmark web
researchers + 1 re-baseline → 13 dimensions through
Ground→Gaps→adversarial-Verify → completeness critic). 3.56M subagent tokens,
1084 tool calls. Supersedes EUTERPE_SOTA_DAW_REMAINING_WORK_2026-06-06.md as the
current baseline._
