world/translation/T99_Translation_Audio.md
Translation Doc — Audio Pipelines (Music, Voice, SFX). Realizes T1_Build_Pipeline_Contracts
§3 (AIVA Pipeline Contract), §4 (ElevenLabs Pipeline Contract), and §10 (SFX Pipeline Contract) —
three of the ten ratified pipeline contracts — as concrete Unreal Engine 5.8 audio-generation,
import, and adaptive-playback mechanics: the platform-specific runtime layer
T1_Build_Pipeline_Contracts §0 always deferred. Status: ACTIVE v1.0 (flipped 2026-07-15 — critic verdict PASS, then the contracts-corrections pass landed: the §0 flip condition). First authored pass —
derived from the adjudicated audio-stack research chain ahead of any real region build. Several
dependent spikes are still open (§4); nothing below is licensed to be read as settled where a
spike names it.
AIVA CLOSED AS SKIP — RULED 2026-07-27 (supersedes every AIVA lane assignment in this doc). Josh ruled it: “AIVA CLOSED AS SKIP (Josh, 2026-07-27: not emailing; the enterprise-contact path is dead). Canonical-theme stays composer-in-loop; bulk music rides ACE-Step/YuE per P2.5.” (docs/PRE_5090_BUILD_PLAN.md item 17). THE RULED MUSIC STACK: bulk, regional, and ambient cues generate on the local benchmark-gated models (ACE-Step 1.5 MIT, YuE Apache 2.0; HeartMuLa a benchmark entrant) per Music Step 3; the canonical and hero theme lane runs composer-in-loop with a human composer and no vendor-AI seam. Spike #1 (the AIVA API negotiation) is CLOSED, not pending. Every step, schema binding, adaptive-playback mechanic, and cultural-safety discipline below stands unchanged — only the vendor behind the hero lane moved. §1.3's AIVA API research record is retained as provenance.
AIVA CLOSED AS SKIP — RULED 2026-07-27 (supersedes every AIVA lane assignment in this doc). Josh ruled it: “AIVA CLOSED AS SKIP (Josh, 2026-07-27: not emailing; the enterprise-contact path is dead). Canonical-theme stays composer-in-loop; bulk music rides ACE-Step/YuE per P2.5.” (docs/PRE_5090_BUILD_PLAN.md item 17). THE RULED MUSIC STACK: bulk, regional, and ambient cues generate on the local benchmark-gated models (ACE-Step 1.5 MIT, YuE Apache 2.0; HeartMuLa a benchmark entrant) per Music Step 3; the canonical and hero theme lane runs composer-in-loop with a human composer and no vendor-AI seam. Spike #1 (the AIVA API negotiation) is CLOSED, not pending. Every step, schema binding, adaptive-playback mechanic, and cultural-safety discipline below stands unchanged — only the vendor behind the hero lane moved. §1.3's AIVA API research record is retained as provenance.
AIVA CLOSED AS SKIP — RULED 2026-07-27 (supersedes every AIVA lane assignment in this doc). Josh ruled it: “AIVA CLOSED AS SKIP (Josh, 2026-07-27: not emailing; the enterprise-contact path is dead). Canonical-theme stays composer-in-loop; bulk music rides ACE-Step/YuE per P2.5.” (docs/PRE_5090_BUILD_PLAN.md item 17). THE RULED MUSIC STACK: bulk, regional, and ambient cues generate on the local benchmark-gated models (ACE-Step 1.5 MIT, YuE Apache 2.0; HeartMuLa a benchmark entrant) per Music Step 3; the canonical and hero theme lane runs composer-in-loop with a human composer and no vendor-AI seam. Spike #1 (the AIVA API negotiation) is CLOSED, not pending. Every step, schema binding, adaptive-playback mechanic, and cultural-safety discipline below stands unchanged — only the vendor behind the hero lane moved. §1.3's AIVA API research record is retained as provenance.
Roster mapping. T1_Build_Pipeline_Contracts §0 names six initial Translation Docs (UE5,
Meshy, AIVA, ElevenLabs, Cinematic, SFX). Four are already authored in docs/translation/:
T99_Translation_UE5_Build (the UE5 slot), T99_Translation_AssetGen (the Meshy slot, under its
own retired-tooling reconciliation), T99_Translation_Cinematic (the Cinematic slot), plus
T99_Translation_Terrain (a fifth doc — a split off UE5_Build's terrain leg, a bonus beyond the
original six, not itself one of the roster). THIS doc closes the three remaining roster slots —
AIVA (music, Contract §3), ElevenLabs (voice, Contract §4), SFX (Contract §10) — as three chain
sections inside ONE audio-family doc rather than three separate files: the fifth doc FILE in
docs/translation/, completing all six §0 roster slots.
**The one-doc-for-three-slots consolidation is a translation-layer organizational call, not a
canon or Contract change.** The Contract governs schema, FK mapping, and state-machine behavior
per pipeline — §3, §4, and §10 stay three independently-locked contracts, three independent
registries (T0_Theme_Registry, T0_Voice_Registry, T0_SFX_Registry), three independent state
machines — it does not govern Translation Doc file layout, which T1_Build_Pipeline_Contracts §0
leaves entirely to the runtime-inference layer. Two facts ground the consolidation rather than
inventing it. First, the Contract's own opening paragraph already treats the three as one logical
family: "The SFX position in sequence places it after ElevenLabs to keep the audio family
contiguous (AIVA music, ElevenLabs voice, SFX environmental and foley sound) before Cinematic
Scene Build which consumes all three audio outputs alongside Meshy-generated visual assets" [SRC:
T1_Build_Pipeline_Contracts opening paragraph; §10.1 echoes the identical framing] — this is not
this doc inventing a grouping, it is the Contract's own sequencing rationale. Second, the three
chains share ONE engine seam at the UE5 side: unreal.SoundFactory/unreal.ReimportSoundFactory
import automation and the MetaSounds + Quartz adaptive-playback mechanism are format-agnostic
across music stems, voice lines, and SFX banks alike [SRC: AUDIO_STACK §3.1-§3.3]. UE5_Build and
Cinematic each earned their own doc because each realizes a structurally distinct Contract section
(fourteen UE5 subsystems; seven cinematic categories, a two-track director-in-loop workflow, a
dedicated scene-spec schema); AIVA/ElevenLabs/SFX realize the SAME import-and-adaptive-playback
seam three times over three different substrate shapes — writing three thin docs each repeating
identical §3.1-§3.3 mechanics would fragment, not clarify, the one place that mechanics actually
lives.
Cited short-form below: AUDIO_STACK = docs/pipeline_review/tech_research/AUDIO_STACK.md ·
RESEARCHED_STACK = docs/pipeline_review/RESEARCHED_STACK.md · STACK_FACTS_QUESTIONS =
docs/pipeline_review/STACK_FACTS_QUESTIONS.md · Q3_REFRESH =
docs/pipeline_review/tech_research/Q3_2026_MODELS_REFRESH.md · T1_Build_Pipeline_Contracts =
_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md ·
T1_Region_Page_Template = `_source/01_Tier_1_Foundation/T1_Region_Page_Template [ACTIVE
v2.0].md · SPINE_SCHEMA_v3 = docs/SPINE_SCHEMA_v3.md` · UE5_Build =
docs/translation/T99_Translation_UE5_Build.md · Cinematic =
docs/translation/T99_Translation_Cinematic.md.
---
This doc is the runtime realization layer under T1_Build_Pipeline_Contracts §3 (AIVA), §4
(ElevenLabs), and §10 (SFX) — it turns three generation-category rosters (seven AIVA cue
categories, seven ElevenLabs voice categories, six SFX categories) into concrete local/cloud
generation mechanics, UE5 import automation, and MetaSounds/Quartz adaptive wiring. It does not
carry canonical authority of its own.
Authority hierarchy, per Contracts §0 (identical framing to every sibling Translation Doc):
subordinate to the CVD on world canon; subordinate to T1_Build_Pipeline_Contracts on
foreign-key mapping, required columns, and state-machine behavior for EACH of the three contracts
this doc realizes — this doc never contradicts §3/§4/§10, it only supplies mechanism; subordinate
to T1_Region_Page_Template on the page-side input contract this doc consumes. That page's own
Consumer Loading Patterns table names exactly this pairing for all three pipelines at once, in one
line: "AIVA (§3) / Voice (§4) / SFX (§10): Section 10 + Section 17 environmental audio" [SRC:
T1_Region_Page_Template "Consumer Loading Patterns"] — the template itself already treats the
three audio slots as a single consumption unit, independent evidence for the same consolidation
this doc's file layout makes. Where the three Contracts are silent on platform-specific
runtime-parameter inference (AIVA mood-tag-to-musical-parameter mappings, ElevenLabs
voice-direction inference per dialogue context, SFX sound-class-to-generated-asset inference —
Contracts §0's own naming), this doc owns the inference layer [SRC: T1_Build_Pipeline_Contracts
§0].
Versioning discipline it inherits: identical to every sibling — Translation Docs version per
platform/vendor update; a vendor development (AIVA's API terms settling, a new open-weights model
clearing a benchmark gate) produces a new Translation Doc version, while each Pipeline Contract
surface stays stable. This is v0.1 against a stack that itself still carries open spikes (§4) —
"iterate as build experience accumulates" is the governing posture, not a one-shot lock [SRC:
T1_Build_Pipeline_Contracts §0].
The reconciliations this doc performs (two items, both translation-layer only — neither edits
the Contract itself):
1. The AIVA §3.4 self-serve-API assumption. Contract §3.4 describes the AIVA build agent as "a
script that reads canonical content, composes per-cue generation prompts, submits to the AIVA
API, receives generated cue files" — routine, self-serve REST integration. AUDIO_STACK's
live-verified research (2026-07-15, fetched AIVA's own ToS directly) found the opposite: "If the
Licensee wishes to get access to AIVA's APIs, this use case is ruled by a separate Licensing
Agreement, to be negotiated and signed between the parties," with no published pricing or
endpoint docs found anywhere live, and "Enterprise" contractually defined as "a business with 3
or more employees AND that generated more than $300k of revenues in the past year" — a solo dev
may not qualify for the negotiated tier without a direct conversation [SRC: AUDIO_STACK §1.1].
This is a genuine operational gap, not a licensing one. Translation-layer resolution (§3 Music
Step 2 below): until the negotiated agreement settles (§4 spike #1), the canonical-theme-track
workflow runs manual/browser-driven — a human generates and downloads the draft through AIVA's
own web app and hands it into the composer-in-loop step (§3.4.1) exactly as ratified. Only the
"orchestration agent submits via API" AUTOMATION layer is deferred; the composer-in-loop
discipline itself, and the Contract's schema/FK/state-machine surface, are untouched [SRC:
AUDIO_STACK §1.1, §4 Unknowns #1; T1_Build_Pipeline_Contracts §3.4].
2. The SFX §10.9 tool-ordering assumption. Contract §10.9's operational-tooling paragraph names
"the procedural SFX API access per ElevenLabs Sound Effects endpoint as primary plus Stable
Audio Open or comparable as fallback per Decision 2C hybrid lock." AUDIO_STACK's evidence-based
slot recommendation (§2.8, written after live-verifying every vendor) reorders this: licensed
libraries FIRST (Sonniss free + BOOM one-time, zero-cost/low-cost and immediate), then
MOSS-SoundEffect v2.0 — a fully unrestricted (Apache 2.0) local model that did not exist in the
Contract's original May 2026 design — filling gaps as the primary local-gen candidate, with
Stable Audio Open/3.0 demoted to previz-only given its revenue cap under this project's ruled
licensing posture (§2.1). ElevenLabs' SFX endpoint remains fully confirmed viable ("real,
API-driven, and improved" per AUDIO_STACK §2.1) — it is not removed from the toolset, only
reordered from "primary" to "available supplementary, per-call-cost lane" behind the
licensed-first + unrestricted-local-gen sequence. This is a within-lane tool-ordering call, not
a change to Decision 2C's hybrid (procedural API + licensed library, two-track) architecture,
which stays exactly intact [SRC: T1_Build_Pipeline_Contracts §10.9; AUDIO_STACK §2.1, §2.8].
Scope boundary vs Cinematic — where this doc stops. T99_Translation_Cinematic §2.6 already
states its own dependency on this doc's eventual output, verbatim: "The three audio Translation
Docs (AIVA/music, ElevenLabs/voice, SFX) are not yet authored. This chain consumes their eventual
outputs — music_cue_id_ref, voice_signature_ref plus per-line voice track files via
dialogue_dataset_ref, and sfx_id_ref_array/sfx_category_array — strictly as opaque foreign
keys whose readiness gates assembly... This doc does not specify AIVA/ElevenLabs/SFX tooling —
that is each pipeline's own Translation Doc, pending" [SRC: Cinematic §2.6]. THIS doc is that
pending output contract, now realized. The seam is exact and narrow: this doc's job ends the
moment a cue/voice/bank entry reaches a locked, accepted, or complete generation_status with its
FK populated and its file imported into UE5 as a SoundWave/MetaSound asset — it does not compose
shot lists, place audio tracks in Sequencer, set duck-volume or swell-timing mix values, or decide
audio_priority_layer/scene_audio_intent. Both of those last two fields are explicitly typed by
SPINE_SCHEMA_v3 §3d as Cinematic-expanded DOWNSTREAM fields, not spine columns — Cinematic
identifies them at its Step 1 parse and POPULATES them at its Step 4 assembly, from a beat's
layers/reveal fields, never this doc [SRC: SPINE_SCHEMA_v3 §3d;
Cinematic Step 1, Step 4]. Track placement, mix engineering, and the two-track director-in-loop-vs-
autonomous assembly workflow are Cinematic's Step 4/§5.4.1, unchanged by anything below.
Does not invent canon or schema: every field, column, and enum this doc names is one already
defined by T1_Build_Pipeline_Contracts §3/§4/§10, T1_Region_Page_Template, or SPINE_SCHEMA_v3
— this doc supplies mechanism, never a new FK, column, or numerical fact. Where the adaptive-audio
mechanism genuinely needs a field no registry carries (§3's Music Step 4/Step 6 below), this doc
says so and marks the proposed field explicitly as PROPOSED, NOT RATIFIED — never silently treated
as if it exists. ✅ RULED 2026-07-20 (Josh, the open-decisions batch): the three adaptive fields ARE
now declared on T0_Theme_Registry via the registry-extensions discipline — tempo_bpm (numeric),
bar_length (numeric bars), per_stem_role (provisional free-text until the orchestral-stem
benchmark settles the taxonomy) — under the adaptive-audio owning system; the Music Step 4/6
PROPOSED hedges are satisfied by these columns, and a per-cue stem manifest remains a later item
only if the benchmark shows the flat column cannot hold the per-stem list.
---
Josh's ruling, inherited unchanged from the sibling docs' licensing discipline: the shipped-asset
path defaults to commercially UNRESTRICTED (MIT/Apache-class) or ROYALTY-FREE-OWNED components;
territory-restricted, revenue-capped, or non-commercial tools are never load-bearing for shipped
content — previz/reference lanes may use anything [SRC: AUDIO_STACK "ruled constraints"]. Per-tool
license class, bolded exactly as the research briefs bold them:
| Tool | Chain | License class | Ships? |
|---|---|---|---|
| AIVA | Music, hero lane — CLOSED AS SKIP, RULED 2026-07-27 | n/a (retired) | No — the hero lane is composer-in-loop with a human composer; shipped music is copyright-owned outright (composer work-for-hire assignment, or the unrestricted local models). Historical license read: Pro tier only, Free/Standard retained AIVA's own copyright [SRC: AUDIO_STACK §1.1] |
| ACE-Step 1.5 | Music, bulk lane | UNRESTRICTED (MIT) | Yes |
| YuE | Music, bulk lane | UNRESTRICTED (Apache 2.0) | Yes |
| HeartMuLa (oss-3B) | Music, benchmark entrant | UNRESTRICTED (Apache 2.0) | Yes, least independently proven of the three |
| Suno, Udio, Meta MusicGen/AudioCraft | Music, rejected | reverse-indemnification + active litigation / walled-garden no-export / NON-COMMERCIAL | No — never load-bearing [SRC: AUDIO_STACK §1.2-§1.5] |
| Kokoro-82M | Voice, bulk lane | UNRESTRICTED (Apache 2.0) | Yes |
| ElevenLabs | Voice hero lane; SFX standard track | SUBSCRIPTION-OWNED | Yes |
| Sonniss GDC bundles, BOOM Library | SFX, licensed-first | ROYALTY-FREE-OWNED | Yes |
| MOSS-SoundEffect v2.0 | SFX, gen fill | UNRESTRICTED (Apache 2.0) | Yes |
| Stable Audio Open 1.0 / 3.0 Small SFX | SFX, previz fallback only | TERRITORY-OR-USE-CAPPED (free under $1M annual revenue) | Previz/reference only under the ruled posture — never shipped-path-load-bearing [SRC: AUDIO_STACK §2.2] |
| Krotos Dehumaniser 2 / Reformer Pro | SFX, creature lane | ROYALTY-FREE-OWNED (perpetual, $399 each) | Yes |
| UE 5.8 MetaSounds | SFX/UI, procedural | UNRESTRICTED (engine-native) | Yes |
Same pin as every sibling Translation Doc: UE 5.8 confirmed current and terminal for the UE5 line
[SRC: UE5_Build §2.1]. Audio import is confirmed Python-scriptable via unreal.SoundFactory /
unreal.ReimportSoundFactory's automated_import_data property — the same
AssetToolsHelpers.get_asset_tools().import_asset_tasks([task]) pattern already verified for mesh
assets — supported source formats .wav, .ogg, .flac, .aif, .opus, .mp3 at any sample
rate, all converted internally to 16-bit WAV, compressed per the project's Default Audio
Compression Type (Bink Audio default, ADPCM, PCM, or Platform Specific) [SRC: AUDIO_STACK §3.1].
Adaptive music requires MetaSounds + a Quartz clock: stems arrive as separate loopable assets
referenced by a Data Asset carrying tempo and per-layer bar-occupancy, triggered at Quantization
Boundaries [SRC: AUDIO_STACK §3.3]. The MetaSound Builder API
(MetaSoundBuilderSubsystem.create_source_builder(), add_graph_input_node(),
add_node_by_class_name(), audition(), build()) is genuinely Python-scriptable for SIMPLE
adaptive graphs, but "does not currently support variables," and an independent middleware
comparison found it "workable for simple adaptive music... becomes unwieldy for complex interactive
scores" against Wwise/FMOD [SRC: AUDIO_STACK §3.2]. This is not a recommendation to adopt
third-party middleware — UE 5.8 MetaSounds/Quartz is this project's engine target regardless — but
it means complex canonical-set-piece adaptive graphs likely need a human audio designer building
inside the MetaSound editor by hand, consistent with (not a gap against) the Contracts' own
composer-in-loop / sound-designer-in-loop / director-in-loop discipline already scoping human
intervention to exactly the canonical/hero content tier [SRC: AUDIO_STACK §3.2].
All three Contracts (§3.4, §4.4, §10.4) and Cinematic (§5.4) share one structural discipline this
doc inherits rather than re-derives: a CANONICAL/human-in-loop track for hard-line and hero content,
and a STANDARD/scene-driven/region-driven track for everything else, running IN PARALLEL, not
sequentially.
| Pipeline | Canonical track (human-in-loop) | Standard track (agent/lane-only) |
|---|---|---|
| Music (§3.4) | Canonical Themes — composer-in-loop with a human composer, §3.4.1 | Regional Ambient, Combat Cues, Vril Site Cues, Personal Dimension Cues — local-lane-only (ACE-Step/YuE, benchmark-gated), batch audit §3.8 |
| ElevenLabs (§4.4) | Canonical Recurring Voices — voice clone authorization gate, §4.4.1 | Per-Chapter Named NPC, Ambient Crowd, non-hero Cinematic Voice — ElevenLabs/Kokoro-only, batch audit §4.8 |
| SFX (§10.4) | Special Asset Class in full; sacred-site hum at Component 11 anchors; ritual-context audio at high-care chapters; Vimana propulsion, vril-casting-at-substrate-perception-threshold, Architect materialized-argument-construct audio — sound-designer-in-loop, §10.4.1 | Everything else — agent-only, batch audit §10.8 |
Every step in §3 below states which track it belongs to; the human-in-loop workflows themselves
(composer-in-loop §3.4.1, voice clone authorization §4.4.1, sound-designer-in-loop §10.4.1) are
ratified Contract content this doc realizes, never redesigns [SRC: T1_Build_Pipeline_Contracts
§3.4.1, §4.4.1, §10.4.1].
CORRECTED 2026-07-30 to the RULED VO policy (GAP-133; docs/spine/DECISIONS_PENDING_JOSH.md
twenty-sixth sitting item 4, Josh verbatim "Row 4 yes c"). This section previously read as a
standing vendor split — Kokoro for bulk/ambient, ElevenLabs for hero — which routed the classes
D-VO-POLICY had ruled STAYS SUBTITLE (2026-07-24) into synthesis, with no ruling behind the
widening. The corrected policy, in the ruling's own terms:
T0_Dialogue_Line.vo_tier carries voiced_performance, synthesis_permitted or subtitle_only per line, and that column is what the VO batch reads.
A policy that lives only in a decisions register cannot be executed or audited; a column can.
synthesis_permitted covers NAMED NON-STORY classes only — barks, ambient crowd, vendorone-liners. It never covers story dialogue and it never covers a hard-line beat.
voiced_performance is the hero/canonical lane: ElevenLabs, behind the §4.4.1 cloneauthorization gate, which this correction leaves intact and untouched.
subtitle_only is a real shipped state, not a failure state. The FText subtitle floor shipsregardless, per D-VO-POLICY.
whatever a row marks synthesis_permitted; what changed is that the routing is now a per-line
ruled value rather than a standing class-wide vendor assignment. Every Kokoro bulk/ambient
routing statement elsewhere in this doc — the §2.3 lane table and Voice Step 3 — reads under
this correction and authorizes nothing beyond synthesis_permitted rows.
Standing, re-verified, not re-litigated — and now bounded by the vo_tier enum above: Kokoro-82M (Apache 2.0, no cloning capability by design —
fixed preset voices only, ~2-3GB VRAM or CPU-runnable, faster than real-time) for bulk/ambient/
scene-driven-track voice; ElevenLabs for the canonical recurring-voice hero lane, gated behind
Contract §4.4.1's voice clone authorization workflow [SRC: RESEARCHED_STACK "AUDIO LANE CLOSED";
STACK_FACTS_QUESTIONS Q4; Q3_REFRESH §4.2]. **The §4.4.1 clone-authorization gate is carried
forward INTACT and unmodified — this doc does not touch it.** Pure synthetic generation is the
canonical default; cloning gates on case-by-case authorization the Contract does not pre-grant;
cross-cultural clone candidates route to prohibited_clone automatically; documented-living-
cultural-tradition roles (Vodou priests Ch 42, Aboriginal elders Ch 57, Sámi noaidi Ch 29) route to
pure synthetic generation by default even where a candidate source voice shares the character's
culture [SRC: T1_Build_Pipeline_Contracts §4.4.1, §4.8]. Kokoro's inability to clone at all makes
it structurally incapable of violating this gate — a Kokoro-synthesized line can never be a clone,
consented or not — which is this doc's own reasoning for routing bulk/ambient voice there rather
than to ElevenLabs' synthetic (non-clone) mode; ElevenLabs remains available for non-hero synthetic
generation too, Kokoro is the cost/risk-minimizing default, not an exclusivity rule.
Same ruled principle as every sibling doc, restated for this doc's three specific input surfaces:
T0_Theme_Registry/music_mood_tags (music), T0_Voice_Registry/voice_substrate (voice), and
T0_SFX_Registry/per-entity SFX arrays (SFX) — plus, upstream of all three, the beat/scene rows'
actors/participant_refs/thematic_anchor fields [SRC: SPINE_SCHEMA_v3 §3a, §3d] — are the
input contract. No orchestration agent composes a prompt from a freehand brief; every
mood/instrumentation/accent/terrain/weapon-trait descriptor traces to a named field on one of these
registries or the region page Section 10/17 substrate that feeds them [SRC: T1_Build_Pipeline_
Contracts §3.4, §4.4, §10.4; RESEARCHED_STACK ADJUDICATED v2]. This binds the ws.* namespace too:
SPINE_SCHEMA_v3 §5 requires every ws.{name} token to resolve to a ratified WS_NNN registry
variable, gate-checked — so wherever this doc discusses a worldstate-conditional audio idea (e.g.
Personal Dimension Cues' "integrity-visible aesthetic variation," Contract §3.2), it names the real
Contract-level CONCEPT without inventing a specific WS_NNN key or column to carry it, since none
is ratified for audio-adaptive binding today [SRC: SPINE_SCHEMA_v3 §5.1].
Every player-facing string — and, for voice specifically, every SPOKEN line — inherits the
ship-everywhere localization mandate. Two different disciplines apply to two different content
types, and this doc does not conflate them:
FText/String Table territory, identical to every sibling doc's flag —binding rule, unconfirmed automation mechanism [SRC: UE5_Build §2.4; Cinematic §2.5].
hero, a future per-language ramp) carries multi-language generation, and on what cadence — is
named by the Contract only as a post-vertical-slice deferred item: "Multi-language voice
generation via ElevenLabs Multilingual v2 ramp. Substrate captured at this contract via
language_secondary_array on voice_substrate; canonical generation defers to localization
phase" [SRC: T1_Build_Pipeline_Contracts §4.11]. This doc does NOT decide the tiering strategy —
it is a JOSH-RULES item, flagged in §4, not resolved here.
this doc (§4) — a second, compounding open question on top of the tiering-strategy question
itself.
CVD §6 cultural depiction standard binds all three pipelines' generation involving
culturally-substantiated content, stated identically in §3.8 (AIVA), §4.8 (ElevenLabs), and §10.8
(SFX): "No instrumentation-stereotype shortcuts," documented accent/vocal/instrumentation register
per primary-source corpus rather than invented pastiche, "Living religion treated with respect" at
Ch 42 Haiti, no joik-imitating music/voice/SFX content at Ch 29 Sámi, no songline-imitating content
at Ch 57 Australia, no Hollywood-zombie-genre parody [SRC: T1_Build_Pipeline_Contracts §3.8, §4.8,
§10.8]. In substance this is exactly the weight-and-authenticity-never-parody discipline the
project's standing Care Doctrine (CVD §17.1) names elsewhere as an affirmative represent-with-care
principle — this doc treats the two as the same discipline applied at the audio layer, not a second
policy layered on top; it adds nothing beyond what §3.8/§4.8/§10.8 already state. The high-care set
(Ch 29 Sámi, Ch 42 Haiti, Ch 57 Australia) routes through the CANONICAL track's human-in-loop
review by default; the elevated-care set (Ch 11 Congo, Ch 12 East African, Ch 13 South Africa, Ch
47-48 Mesoamerica, Ch 50 Amazon) routes through the standard track with batch-level audit at
Range-Review-equivalent cadence [SRC: T1_Build_Pipeline_Contracts §10.8].
---
Three parallel chains — MUSIC, VOICE, SFX — each realizing one Contract section (§3/§4/§10) as a
numbered step sequence. Within each chain, steps run mostly in series except where marked
"parallel," reflecting the §2.3 two-track discipline (the canonical/hero lane and the
standard/bulk lane generate independently and reconverge at UE import). Every step states Input /
Format / Mechanism (seam) / Output / Verification, mirroring UE5_Build/Cinematic's own
per-step shape.
T0_Theme_Registry rows (theme_id, theme_type {character, family, concept, event, place, path, ending}, canonical_anchor, mood_tags, instrumentation_substrate,
cultural_substrate, era_substrate, recurrence_anchors, hard_line_relevance) for the seven
AIVA categories — Canonical Themes, Regional Ambient, Combat Cues (Brute-versus-Trickery aesthetic
distinction per Gate 10), Cinematic Cues, Vril Site Cues (the Component 11 9-anchor catalog),
Personal Dimension Cues ("when populated" per T1_Personal_Dimension_Spec), Special Asset Class
— plus T0_Region_Index/T0_Chapter_Index for region/era anchors and region page Section 10
("Music Sound and Composition Brief": documented instruments, musical theory, the composition
briefs per track type, sound design) and Section 17 environmental-audio substrate [SRC: T1_Build_
Pipeline_Contracts §3.2, §3.3, §3.5; T1_Region_Page_Template Section 10, "Consumer Loading
Patterns"].
theme_substrate/music_mood_tags prompt object per §3.5 schema (moodand intensity descriptors, instrumentation discipline, cultural substrate framing, era anchor,
target duration).
fields above and composes a structured generation prompt; CVD §17 hard-line binding is checked
before any submission (Grand Sage pre-reveal thematic leak, Cassius phase-architecture leak,
three-ending convergence-cue prohibition) [SRC: T1_Build_Pipeline_Contracts §3.3, §3.8].
generation_prompt_hash for regenerationdetection.
composition (§2.5); track_assignment (canonical vs region-driven) is determined here by
category per §2.3's table, not decided per-cue later.
10]
composer_in_loop_required = TRUE [SRC: T1_Build_Pipeline_Contracts §3.6].
exported from the composer's own DAW session — compositional-layer-accurate by construction, not
blind source separation (the property AIVA's Stems export was carried for before the 2026-07-27
skip ruling; the requirement survives the vendor) [SRC: AUDIO_STACK §1.1 historical].
the Contract's ratified 5-stage composer-in-loop workflow runs unmodified — substrate read →
prompt compose/submit → composer review in DAW (Logic/Ableton/FL Studio/Reaper or equivalent) →
refinement or rejection → final cue lock [SRC: T1_Build_Pipeline_Contracts §3.4.1]. "Submit" here means the agent
hands the composed prompt and substrate pack to the composer — the 2026-07-27 ruling closed the
vendor seam entirely (AIVA skip; §4 spike #1 CLOSED), so this lane has no third-party generation
step and no REST automation layer left to defer. Binding, not optional: shipped music must be
copyright-owned outright — composer work-for-hire with written assignment, or the unrestricted
local models on the bulk lane; no subscription-tier output ships [SRC: Josh 2026-07-27;
AUDIO_STACK §1.1 historical].
music_cue_id_ref on the T0_Theme_Registry row; generation_status flips to accepted [SRC:
T1_Build_Pipeline_Contracts §3.4.1, §3.6, §3.7].
no separate batch audit needed [SRC: T1_Build_Pipeline_Contracts §3.8]; human-in-loop escalation
triggers on non-convergence, ambiguous substrate, CVD §17 hard-line risk, or a cultural
authenticity flag [SRC: T1_Build_Pipeline_Contracts §3.4.1].
category rows on the region-driven track [SRC: T1_Build_Pipeline_Contracts §3.2, §3.4].
[instrumental]/[inst] token, up to 600soutput, scales 2B-turbo <6GB VRAM through XL/4B ≥12GB with offload) or YuE (Apache 2.0,
lyrics-to-full-song, ~24GB VRAM reported, explicitly marketed by its own authors for "soundtracks
for films, video games, and virtual content") — single-mixdown WAV, run locally on the 5090 [SRC:
AUDIO_STACK §1.6].
§2.3):** the region-driven track's original "AIVA-only" design (Contract §3.4) is a local-model
substitution at the translation layer only — same agent-only, no-authorial-pass discipline, a
different generation backend behind it, exactly the kind of platform-specific inference swap §0
reserves for this layer, not a Contract change [SRC: T1_Build_Pipeline_Contracts §3.4, §0].
music_cue_id_ref populated, generation_status = complete, awaiting batch-levelcultural authenticity audit [SRC: T1_Build_Pipeline_Contracts §3.7, §3.8].
orchestral quality evidence exists for ACE-Step, YuE, or HeartMuLa (the least-proven third
entrant — only its 3B checkpoint is confirmed released against the project's own paper's 7B
claim) — run the fixed-test-set protocol (2-3 representative regional themes + one hero-adjacent
cue, scored on instrumentation fidelity, cultural-substrate accuracy against §2.7, and stem/loop
usability, not generation speed) before this lane is trusted at scale [SRC: AUDIO_STACK §1.6,
§1.8, §4 Unknowns #4, #8].
for any cue that will carry adaptive layering.
metadata MetaSounds/Quartz consumes (§2.2).
composer's own DAW stems are the clean path since they derive from real compositional instrument
layers, not blind separation. Demucs (MIT) is the unrestricted bridge tool for Step-3-sourced cues, but it is
trained for pop-song separation (vocals/drums/bass/other) — an orchestral game score wants
section-based stems (strings/brass/woodwinds/percussion/choir), and Demucs was not evaluated
against orchestral section-separation quality in any source read for this doc; a real quality
gap, not just integration friction [SRC: AUDIO_STACK §1.6].
ambient loop, a one-shot cinematic sting), a single mixdown asset used as-is.
T0 registry field carries tempo, bar-length, or stem-role/layer-name metadata for ANY cue today — T0_Theme_Registry's
theme_substrate carries mood_tags, instrumentation_substrate, cultural_substrate,
era_substrate, recurrence_anchors, but no tempo/bar-count/stem-role field [SRC: AUDIO_STACK
§3.3; T1_Build_Pipeline_Contracts §3.6]. What those fields WOULD carry, marked PROPOSED, NOT
RATIFIED: a tempo (BPM) field, a song-duration-in-bars field, a per-layer bar-occupancy field, and
a stem-role/layer-name enum (bass/drums/melody/percussion/chordal, or an orchestral-section
equivalent) — this narrows, but does not settle, the Phase 5M T0_Schema_Dictionary expansion the
Contract's own §3.11 already tracks as open ("dynamic mix layering parameters, stem-track granular
reference defer to Phase 6 region page build feedback") [SRC: T1_Build_Pipeline_Contracts §3.11;
AUDIO_STACK §3.3, §4 Unknowns #6].
stem set from Step 4.
unreal.SoundFactory/unreal.ReimportSoundFactory import task per §2.2's sharedengine seam.
AssetToolsHelpers.get_asset_tools().import_asset_tasks([task]), the identical pattern already
verified for mesh assets, Sound-specific factory [SRC: AUDIO_STACK §3.1].
SoundWave asset(s) at /Game/Audio/Cues/<cue_category>/A_<cue_identifier> per theContract's own path convention [SRC: T1_Build_Pipeline_Contracts §3.11].
scriptable; the only real gap sits one level upstream — getting the generated/licensed audio file
in the first place (Steps 1-4), not the import itself [SRC: AUDIO_STACK §3.4 "Net for this
brief"].
metadata.
MetaSoundBuilderSubsystem/ MetaSoundSourceBuilder; a Quartz clock subsystem triggering layer playback at Quantization
Boundaries per §2.2.
Python-scriptable in principle (create_source_builder(), add_graph_input_node(),
add_node_by_class_name(), audition(), build()) — but the Builder API "does not currently
support variables," and the practical ceiling is "workable for simple adaptive music... becomes
unwieldy for complex interactive scores" [SRC: AUDIO_STACK §3.2]. Where a worldstate-conditional
variation is wanted (e.g. Personal Dimension Cues' integrity-visible aesthetic variation per
Contract §3.2), this doc names the real Contract-level concept without inventing a specific
WS_NNN key to bind it to, per §2.5's ws.* discipline.
tempo/bar Data Asset.
representative 3-4-layer adaptive graph via the Python Builder API against a live 5.8 editor
session and observe exactly where automation breaks down and hand-authoring becomes necessary
[SRC: AUDIO_STACK §3.2, §4 Unknowns #5]. This is consistent with, not a gap against, the
Contract's composer-in-loop discipline already scoping human intervention to the canonical/hero
tier (§2.2).
music_cue_id_ref (Step 2 or 3), plus its Stems/MetaSound wiring (Step 6)where the cue is adaptive.
T0_Scene_Spec_Registry's music_cue_id_ref field, read at Cinematic's Step 4/§5.4.1dependency check.
music_cue_id_ref resolves to accepted generation_status before scene assembly proceeds; a
non-accepted reference routes the scene to blocked_on_dependencies [SRC: T1_Build_Pipeline_
Contracts §5.4, §5.7; Cinematic §2.6]. Composer-in-loop lock (Step 2) sequences BEFORE canonical
set piece scene assembly by explicit Contract statement: "Composer-in-loop discipline at §3.4.1
operates upstream of director-in-loop discipline at §5.4.1; canonical theme cue locks before
canonical set piece scene assembly proceeds" [SRC: T1_Build_Pipeline_Contracts §5.9].
audio_priority_layer + scene_audio_intent — both populated by Cinematic, not this doc (§1 scope boundary) [SRC: T1_
Build_Pipeline_Contracts §5.5].
"add scored cue with fade envelope" convenience call, or the agent must hand-key volume automation
against the generic MovieSceneAudioTrack/MovieSceneAudioSection classes, is unconfirmed —
inherited flag, not independently re-derived here (§4) [SRC: AUDIO_STACK §4 Unknowns #7].
actors (participant_refs) [SRC: SPINE_SCHEMA_v3 §3a] and scene row participant_refs [SRC: SPINE_SCHEMA_v3 §3d], joined against T0_Character_Index/
T0_Antagonist_Network_Registry/T0_Boss_Encounter rows — each resolving to a
voice_signature_ref requirement — plus T0_Chapter_Index for the separate Ambient Crowd Voice
category (battle cries, market chatter, ritual chanting, prayer, tavern crowd — read per-chapter,
not per-participant) [SRC: T1_Build_Pipeline_Contracts §4.2, §4.3, §4.6].
Registry` row; Cassius's three-phase progression and antagonist-family sector-archetype-plus-
named-operative-overlay are the two named multi-row cases (phase_voice_array,
family_voice_register) [SRC: T1_Build_Pipeline_Contracts §4.2, §4.6].
dialogue-bearing scene participant is a synth-required roster entry; canonical-recurring entries
(protagonist, Architect, Cassius, arc-spanning named NPCs) route to the clone-
authorization-gated canonical track; per-chapter/scene-bound entries route to the scene-driven
track [SRC: T1_Build_Pipeline_Contracts §4.2, §4.4]. (The GRAND SAGE is EXCLUDED from every
voice lane by Josh's D-GRAND-SAGE-VOICE ruling, 2026-07-23c: GRAND_SAGE_REVEAL_VOICE is a
NON-LEXICAL Music/SFX sensation asset carrying HL_0046's four sanctioned channels; gate #25
grand_sage_silence enforces the sanctioned WHITELIST — no TTS vendor may synth it.)
T0_Voice_Registry population, each entry flagged canonical vsscene-driven per §2.3.
TEXT lives in Quest Writing Pipeline §6's dialogue datasets — an unauthored Translation Doc, out
of this doc's scope. This step only derives WHO needs a voice, never WHAT they say; ElevenLabs/
Kokoro generation halts on a missing dialogue_dataset_ref for any entity flagged speaking in the
build manifest [SRC: T1_Build_Pipeline_Contracts §4.9].
T0_Voice_Registry voice_substrate sub-fields (gender, age_range, accent_substrate, timbre_tags, intensity_range, cultural_anchor, language_primary,
language_secondary_array, voice_clone_status) [SRC: T1_Build_Pipeline_Contracts §4.5] sourced
from T3 character canon plus region page Section 4 (People-and-Culture appearance/dress per
culture/era/role, driving accent substrate) and Section 12 (per-NPC entry template voice register
notes) [SRC: T1_Build_Pipeline_Contracts §4.3].
Voice Settings stability/clarity baselines + model selection (Multilingual v2 for accent fidelity
or English-baseline) [SRC: T1_Build_Pipeline_Contracts §4.4].
named T0_Voice_Registry/T3/region-page field, never freehand.
generation_prompt_hash.stereotype shortcuts (§2.7) [SRC: T1_Build_Pipeline_Contracts §4.8].
where voice_clone_status resolves to synthetic_only (the default) [SRC: T1_Build_Pipeline_
Contracts §4.2, §4.4].
CPU-runnable, faster than real-time [SRC: Q3_REFRESH §4.2].
cannot clone at all):** the scene-driven track's original "ElevenLabs-only" design (Contract
§4.4) is a local-model substitution at the translation layer only, the same pattern as Music Step
3 [SRC: T1_Build_Pipeline_Contracts §4.4; RESEARCHED_STACK "AUDIO LANE CLOSED"].
voice_signature_ref populated, per-line track files generated against dialogue_dataset_ref text once that dataset exists.
project's per-chapter/per-region NPC-roster scale, and its language coverage against the
ship-everywhere localization mandate, were not benchmarked or confirmed by any source read for
this doc — Q3_REFRESH names it "the safest bulk-ambient-NPC option" on cloning-consent grounds
only, never throughput or language grounds (§4) [SRC: Q3_REFRESH §4.2].
§4.4]
biography-state variation), Architect voice, Cassius three-phase
progression, arc-spanning named NPCs [SRC: T1_Build_Pipeline_Contracts §4.2]. (No "Grand Sage
reveal voice" exists in this lane — superseded by D-GRAND-SAGE-VOICE, 2026-07-23c: the reveal
is a non-lexical sensation asset under gate #25; see the exclusion note at Voice Step 1.)
dialogue text [SRC: T1_Build_Pipeline_Contracts §4.4].
the ratified 5-stage gate runs unmodified — substrate read → clone scope evaluation →
authorization gate → Voice Clone API submission (clone candidates only) → final lock; pure
synthetic generation is the default; cross-cultural clone candidates route to prohibited_clone
automatically; documented-living-cultural-tradition roles route to pure synthetic by default even
same-culture [SRC: T1_Build_Pipeline_Contracts §4.4.1, §4.8].
elevenlabs_voice_id_ref locked in T0_Voice_Registry; per-line track files undervoice-and-line organization in the build asset store [SRC: T1_Build_Pipeline_Contracts §4.4,
§4.6].
substrate for clone candidates; batch-level cultural authenticity audit for pure-synthetic hero
voices per §2.7 [SRC: T1_Build_Pipeline_Contracts §4.4.1, §4.8].
dialogue_dataset_ref per-line text (once QuestWriting §6 populates it).
/Game/Audio/Voice/<voice_category>/V_<voice_id> per theContract's own path convention [SRC: T1_Build_Pipeline_Contracts §4.6, §4.11]; per-line track
files stored "under voice-and-line organization" beneath it [SRC: T1_Build_Pipeline_Contracts
§4.4].
dataset content updates trigger PER-LINE regeneration without voice-level regeneration — the
voice ID persists, only the per-line track file regenerates against new text [SRC: T1_Build_
Pipeline_Contracts §4.7 "Per-line track regeneration"].
voice_id namespace with a churning per-line file set underneath it.per-line file-naming key (the dialogue dataset's own line-identifier format is Quest Writing
Pipeline §6 territory, itself unauthored) — never freehand-name a line file outside the
voice_id + dialogue-dataset-line-id join, the same schema-bound principle (§2.5) applied at line
granularity, but the join key itself is not yet specified anywhere (§4).
unreal.SoundFactory seam isformat-agnostic across music and voice (§2.2) [SRC: AUDIO_STACK §3.1].
upstream — line text existing at all, a cross-pipeline dependency on Quest Writing §6.
voice_signature_ref + per-line SoundWave assets + MetaHuman Animator'saudio-driven facial mode (confirmed scriptable: feed a SoundWave, get facial animation) [SRC:
AUDIO_STACK cross-ref via UE_BUILD_AUTOMATION; Cinematic Step 2].
lines; MovieSceneAudioTrack/MovieSceneAudioSection placement for cinematic-embedded lines
(Cinematic Step 4).
voice_signature_ref AND per-line track files resolve to accepted before scene assembly
proceeds [SRC: T1_Build_Pipeline_Contracts §5.9]; the Voice Clone Authorization workflow (Step 4)
sequences upstream of Cinematic's director-in-loop discipline, the same pattern as Music's
composer-in-loop-before-director-in-loop sequencing [SRC: T1_Build_Pipeline_Contracts §5.9].
voice_id regardless of per-line churn.
§6's dialogue_trigger_anchors.anchor_type (a trigger-CONDITION enum:
scene_entry/beat_transition/dialogue_initiation/branch_decision_point) and the spine scene
row's anchor_type (a level/map anchor, Cinematic's own §3 Step 3) share a field name across two
Contract sections with unrelated meanings — do not conflate when wiring Quest→Voice→Cinematic
dialogue triggers [SRC: Cinematic Step 6 "Naming flag"; T1_Build_Pipeline_Contracts §6].
T0_Weapon_Registry (weapon_id, weapon_trait, weapon_class Brute/Trickery, weapon_material,
weapon_origin_region) + region page Section 6; Footstep SFX reads T0_Region_Index/
T0_Chapter_Index terrain enumeration + Section 1; Foley SFX reads T0_Character_Index/
T0_Antagonist_Network_Registry costume substrate + Section 4 (dress and costume live in Section 4 People-and-Culture, matching this doc's voice step; the earlier "Section 8" was an internal inconsistency — Section 8 is Politics); Environmental Ambient SFX reads
T0_Region_Index biome + T0_Vril_Site_Registry (site_id, site_class, vril_function,
engineering_anomaly_flag) + Sections 1 and 17; Magic Effect SFX reads T0_Vril_Site_Registry,
T0_Ability_Tree_Registry, T0_Familiar_Registry, T0_Inscription_Spine; Special Asset Class
SFX reads T1_Integrity_Paths_Worldstates_Master, T4_House_of_Velheim_Canonical, `T1_Vril_and_
Magic_System_Master, T1 Architect canon, T1_Story_Spine` [SRC: T1_Build_Pipeline_Contracts
§10.3].
T0_SFX_Registry rows (sfx_id pending, sfx_category, canonical_anchor, plus the applicable terrain_substrate/weapon_trait_substrate/magic_effect_substrate) [SRC:
T1_Build_Pipeline_Contracts §10.5].
FOOTSTEP, FOLEY, ENVIRONMENTAL_AMBIENT, MAGIC_EFFECT, SPECIAL_ASSET_CLASS [SRC: T1_Build_Pipeline_
Contracts §10.2, §10.5]. track_assignment (CANONICAL_TRACK vs STANDARD_TRACK) is pre-assigned at
plan time per §10.4's exact category-to-track mapping (§2.3's table above), not decided per-entry
later.
T0 registry row orregion-page section, never an invented sound category. **Genuine coverage gap, flagged not
patched:** §10.3's per-category dependency list never names T0_Creature_Roster as an input
source for ANY of the seven categories, though creature vocalization is a real, named production
concern (Step 4 below) — no source read for this doc states which category creature vocalization
belongs under (§4).
footsteps per terrain, generic weapon hits, generic foley, generic environmental ambient) [SRC:
T1_Build_Pipeline_Contracts §10.1, §10.4].
~200GB free historical archive) and BOOM Library one-time buyouts ($99-199/library, "BOOM ONE"
60,000+ files) [SRC: AUDIO_STACK §2.5].
#2):** the agent queries the library and localizes the result by copy/symlink to the build asset
store [SRC: T1_Build_Pipeline_Contracts §10.4]; freesound.org's CC0 subset is a supplementary
long-tail source only, never a primary backbone, given its per-sound licensing curation cost
[SRC: AUDIO_STACK §2.5].
sfx_id_ref + build_asset_path populated via generation_method = `LICENSED_LIBRARY` [SRC: T1_Build_Pipeline_Contracts §10.5].
EastWest (by extension) explicitly PROHIBIT using licensed audio to train AI/ML models — a clean
line for direct shipped use (this project's actual need) but a wall against the memory-tracked
generative-entity-system-vision runtime layer ever fine-tuning on owned/licensed audio that
includes library-sourced material (§4) [SRC: AUDIO_STACK §2.5, §4 Unknowns #3].
(§1 reconciliation #2).
as the primary unrestricted local candidate; Stable Audio Open 1.0/3.0 Small SFX (Stability AI
Community License, free under $1M revenue) as previz-tier-only fallback under the ruled licensing
posture (§2.1) [SRC: AUDIO_STACK §2.2, §2.3].
generation_method = PROCEDURAL_API (or HYBRID_LAYERED where a licensed base layers under a generated fill) [SRC: T1_Build_Pipeline_
Contracts §10.5]. ElevenLabs' SFX endpoint (30s max, 48kHz WAV for non-looping effects, a
dedicated looping mode) remains available as a supplementary, per-call-cost lane behind this
sequence — confirmed real and improved, just not "primary" per §1 reconciliation #2 [SRC:
AUDIO_STACK §2.1].
sfx_id_ref populated, awaiting batch-level cultural authenticity audit (standardtrack) or sound-designer-in-loop review (canonical track, e.g. sacred-site hum, Vimana
propulsion).
anywhere in the sources read for this doc — it earns a benchmark-gate slot, not an outright-
replacement recommendation [SRC: AUDIO_STACK §2.3]; Stable Audio 3.0 Small SFX's exact
revenue-threshold clause text was not independently re-fetched verbatim for this specific model
page (only the license FAMILY is confirmed) (§4) [SRC: AUDIO_STACK §4 Unknowns #2].
T0_Creature_Roster cross-reference the Contract's own §10.3 dependency list does not name under any of the seven categories
(Step 1's flagged gap).
run through Krotos Dehumaniser 2 + Reformer Pro ($399 each, perpetual license) — pitch/formant
creature-design processing, industry-standard per multiple corroborating sound-design sources
[SRC: AUDIO_STACK §2.7].
evidence — no generative text-to-SFX tool evaluated in this research (ElevenLabs SFX, Stable
Audio Open/3.0, MOSS-SoundEffect) claims or evidences creature-vocalization-specific capability,
and the professional workflow is a three-layer craft model (low-end animal-growl foundation,
mid-frequency human-plus-animal texture, high-frequency bird/snake/metallic detail), not prompt
iteration [SRC: AUDIO_STACK §2.7]. Routes through the canonical track's seven-state machine
(… → sound_designer_review → audited → locked) by default, since no automated alternative
exists [SRC: T1_Build_Pipeline_Contracts §10.7].
sfx_id_ref locked via the canonical track state machine.vocalization states (idle, alert, attack, hurt, death at minimum), each requiring actual
sound-design craft, is the single most human-labor-intensive SFX category in the whole pipeline —
no source read for this doc budgets sound-designer seat-hours against it explicitly (§4) [SRC:
AUDIO_STACK §2.7, §2.8].
random selectors) authored in-editor.
existing/simple synthesized material" — not a content-generation tool for creature vocalizations
or dense foley [SRC: AUDIO_STACK §2.6]. Recommended default for standard interaction feedback and
footstep pitch/velocity jitter, supplemented by a small curated licensed-library or generated set
for bespoke polish tones (vril-tier UI stings, ability-cast confirmations) [SRC: AUDIO_STACK
§2.8].
T0_SFX_Registry row forconsistency with the other five categories is an open design call, not resolved by any source
read for this doc.
sound-design skill cost — real craft time, not currently budgeted separately from generative-SFX
time in the Contract [SRC: AUDIO_STACK §2.8].
sfx_id_ref (Steps 2-4) or a MetaSound asset (Step 5).unreal.SoundFactory import (the shared engine seam, §2.2) for generated/licensedfiles; direct MetaSound Source registration for Step 5 output.
entity via the Contract's own per-registry sfx_id_ref_array column adds —
T0_Weapon_Registry.weapon_sfx_id_ref_array; T0_Region_Index's three per-region arrays
(footstep/environmental-ambient/ritual-context); T0_Vril_Site_Registry's two arrays;
T0_Ability_Tree_Registry's two arrays; T0_Familiar_Registry's one array;
T0_Inscription_Spine's one array; T0_Boss_Encounter's one array; the dual-field
T0_Scene_Spec_Registry.sfx_category_array/sfx_id_ref_array; `T0_Chapter_Index.chapter_
sfx_id_ref_array` [SRC: T1_Build_Pipeline_Contracts §10.6].
T0_Scene_Spec_Registry (category-level readiness via sfx_category_array, specific-entry readiness via sfx_id_ref_array) must both resolve
before Cinematic's dependency check clears [SRC: T1_Build_Pipeline_Contracts §5.5, §10.6, §10.9].
Unstated path convention, flagged not invented: unlike music (/Game/Audio/Cues/...) and
voice (/Game/Audio/Voice/...), no source read for this doc states an in-project UE5 Asset
Registry path convention for SFX — §10.5/§10.6/§10.11 name only the build-asset-STORE path
(/Humanity/build-assets/audio/sfx/), never a /Game/Audio/... convention; the obvious pattern
(/Game/Audio/SFX/<sfx_category>/SFX_<sfx_id>) is proposed here as PROPOSED, NOT RATIFIED (§4).
---
Every row is a genuine open question — none of these outcomes are settled by this doc, and none
should be treated as settled by anyone reading it. Trigger = what gates the spike; Owner = who
resolves it. Rows marked "shared" are inherited from a sibling doc's own tracking, not
independently re-derived here.
| # | Spike | Trigger | Owner | Not yet settled because |
|---|---|---|---|---|
| 1 | AIVA API negotiated-agreement + Pro/Stems tier settle — CLOSED AS SKIP, RULED 2026-07-27 | n/a — closed, not pending | Josh (RULED: “not emailing; the enterprise-contact path is dead”) | Settled by ruling rather than negotiation: the canonical-theme lane is composer-in-loop with a human composer and the bulk lane rides ACE-Step/YuE per P2.5. Historical grounds for the wall: AIVA's own ToS made API access negotiated-enterprise-only, no published pricing/endpoint, “Enterprise” contractually 3+ employees AND $300k+ revenue [AUDIO_STACK §1.1, §4 Unknowns #1]. |
| 2 | ACE-Step/YuE/HeartMuLa instrumental-orchestral benchmark | Before the bulk regional-theming lane (Music Step 3) is trusted at scale | Whoever runs the benchmark-gate (5090-local) | Every quality signal for these three models is vendor-claimed or vocal/pop-focused; only the 3B HeartMuLa checkpoint is confirmed released against the project's own paper's 7B claim [AUDIO_STACK §1.6, §4 Unknowns #4, #8]. |
| 3 | Demucs orchestral-section-separation fitness | Before Demucs is relied on as the stem-bridge for any bulk-lane cue needing adaptive layering (Music Step 4) | Whoever wires the stem-conditioning step | Demucs is trained for pop-song separation (vocals/drums/bass/other), never evaluated against orchestral section-separation (strings/brass/woodwinds/percussion/choir) in any source read for this doc [AUDIO_STACK §1.6]. |
| 4 | T0 registry tempo/bar-length/stem-role schema gap | Before any adaptive (multi-stem) cue is wired into a MetaSound graph as a true adaptive layer rather than a static playback (Music Step 4, Step 6) | Josh / Phase 5M T0_Schema_Dictionary work | No T0 registry field carries tempo, bar-count, or stem-role/layer-name metadata today; this doc names the proposed field list but cannot ratify it [AUDIO_STACK §3.3, §4 Unknowns #6; T1_Build_Pipeline_Contracts §3.11]. |
| 5 | MetaSound Builder API no-variables constraint at scale | Before agent-automated adaptive-music graph construction is trusted beyond a simple 2-3-layer case (Music Step 6) | Whoever runs the scripted spike | The documented "no variables" limitation has not been tested against this project's actual per-region × per-integrity-level layering ambitions [AUDIO_STACK §3.2, §4 Unknowns #5]. |
| 6 | NeoStack Cinematic Sequencer audio-track higher-level helpers (shared, AUDIO_STACK Unknowns #7) | Before the Cinematic handoff (Music Step 7, Voice Step 7) assumes anything beyond raw track/section classes | Whoever wires Cinematic Step 4 once NeoStack access is live | Only the generic MovieSceneAudioTrack/MovieSceneAudioSection classes are confirmed; a higher-level convenience API is neither confirmed nor ruled out [AUDIO_STACK §4 Unknowns #7]. |
| 7 | Kokoro bulk-throughput + language coverage vs the localization mandate | Before Kokoro is committed as the default bulk/ambient voice lane at full per-chapter NPC-roster scale (Voice Step 3) | Whoever benchmarks the bulk voice lane | Every source read for this doc recommends Kokoro on cloning-consent-risk grounds only; none benchmarks throughput at this project's roster scale or confirms language coverage against the ship-everywhere mandate [Q3_REFRESH §4.2]. |
| 8 | Spoken-VO localization tiering strategy | Before any per-language voice ramp is scheduled | Josh (JOSH-RULES — not resolvable by this doc) | The Contract names this only as a post-vertical-slice deferred item captured via language_secondary_array; which lane(s) carry which languages, on what cadence, is a policy call this doc flags rather than decides [T1_Build_Pipeline_Contracts §4.11]. |
| 9 | Per-line voice asset naming convention below voice_id | Before per-line track files are generated at scale (Voice Step 5) | Whoever finalizes the ElevenLabs/Kokoro build-asset-store path convention | The Contract states the voice-LEVEL path convention and that per-line files store "under voice-and-line organization" — but no source states the actual per-line naming key; the dialogue dataset's own line-ID format is unauthored Quest Writing §6 territory [T1_Build_Pipeline_Contracts §4.6, §4.11]. |
| 10 | dialogue_trigger_anchors.anchor_type naming collision (shared, inherited from Cinematic Step 6) | Before any agent wires a Quest→Voice→Cinematic dialogue trigger (Voice Step 7) | Whoever wires Quest System dialogue triggers | Quest Writing Contract §6's anchor_type (trigger-CONDITION enum) and the spine scene row's anchor_type (level/map anchor) share a field name across two Contract sections with unrelated meanings [Cinematic Step 6 "Naming flag"; T1_Build_Pipeline_Contracts §6]. |
| 11 | Sonniss/EastWest "no AI-training" clause vs the generative-entity runtime vision | Before any fine-tuning on owned/licensed SFX content is planned (SFX Step 2) | Josh / legal skim at the point fine-tuning is actually planned | Both major licensed-library vendors checked explicitly forbid training AI/ML systems on their licensed content — irrelevant to today's direct-use need, a real wall against the generative-entity-system-vision runtime layer later [AUDIO_STACK §2.5, §4 Unknowns #3]. |
| 12 | Stable Audio 3.0 Small SFX license terms + MOSS-SoundEffect quality benchmark | Before either is relied on beyond a benchmark-gate entrant (SFX Step 3) | Whoever runs the SFX benchmark-gate | Stable Audio 3.0 Small SFX's exact revenue-threshold clause text was not re-fetched verbatim (only the license FAMILY confirmed); MOSS-SoundEffect has no independent (non-vendor) quality benchmark located anywhere in the sources read for this doc [AUDIO_STACK §1.6, §2.3, §4 Unknowns #2]. |
| 13 | Creature-vocalization sfx_category / T0_Creature_Roster read-source gap | Before SFX Step 1's bank plan treats creature vocalization as a schema-covered category | Josh / Phase 5M T0_Schema_Dictionary work | The Contract's own seven-category taxonomy and §10.3 per-category dependency list never name T0_Creature_Roster as an input source for any category, though creature vocalization is a real, named production concern [T1_Build_Pipeline_Contracts §10.2, §10.3]. |
| 14 | Creature-vocalization (132 creatures) sound-designer seat-hour budget | Before the Krotos creature lane (SFX Step 4) is scheduled against real production capacity | Production | 132 creatures × multiple vocalization states each needing actual sound-design craft is the single most human-labor-intensive SFX category in the pipeline; no source budgets seat-hours against it explicitly [AUDIO_STACK §2.7-§2.8]. |
| 15 | SFX UE5 Asset Registry path convention unstated | Before generated/licensed SFX files are imported at scale with a stable in-project path (SFX Step 6) | Whoever finalizes Phase 5M path-convention documentation | Music and voice each have a stated in-project path convention in the Contract; SFX's own §10.5/§10.6/§10.9/§10.11 state only the build-asset-STORE path, never a /Game/Audio/... convention [T1_Build_Pipeline_Contracts §10.5, §10.6, §10.9, §10.11]. |
---
The repeatable loop a region reaching audio-ready status drives, keyed to `T1_Region_Page_
Template`'s own Consumer Loading Pattern: "Music (§3) / Voice (§4) / SFX (§10): Section 10 +
Section 17 environmental audio" [SRC: T1_Region_Page_Template "Consumer Loading Patterns"].
Honesty check before reading this as an executable procedure: T0_Theme_Registry,
T0_Voice_Registry, and T0_SFX_Registry are each still Drive-populate-deferred to Phase 5M
T0_Schema_Dictionary work per their own Contract sections [SRC: T1_Build_Pipeline_Contracts
§3.11, §4.11, §10.11] — this checklist describes the STEADY-STATE per-region loop once that
populate work lands, not a today-executable script.
Precondition: this region's page carries populated Section 10 + Section 17 substrate, this
region's T0_Character_Index/T0_Antagonist_Network_Registry rows exist (Session 5K target per
§4.6/§10.6), harness/check_region_page.py is green, and every chapter in chapter_set passes
harness/check_spine_graph.py [SRC: UE5_Build §5; Cinematic §5].
1. Extract — pull this region's Section 10 (Music Sound and Composition Brief) + Section
17 environmental-audio substrate; pull this region's beat/scene rows' actors/`participant_
refs for the voice roster (Voice Step 1); pull Section 1/Zone Catalog terrain + T0_Vril_
Site_Registry` for the SFX bank plan (SFX Step 1).
2. Compose substrate — resolve this region's T0_Theme_Registry cultural_music_traditions
and music_mood_tags (Music Step 1); resolve this region's voice_substrate rows (Voice Step
2); resolve this region's SFX bank plan against the seven-category taxonomy (SFX Step 1).
3. Route — canonical-track entries (hero themes, canonical recurring voices, Special Asset
Class SFX, sacred-site hum, high-care-chapter SFX) queue for composer/authorization/sound-
designer-in-loop review; standard-track entries queue for the local/licensed/agent-only lanes
per §2.3's table.
4. Generate — run the appropriate lane per chain: composer-in-loop for canonical and hero
themes (AIVA closed as skip 2026-07-27) or ACE-Step/YuE local batch for music; Kokoro local batch or
ElevenLabs-behind-the-clone-gate for voice; licensed-library lookup, then MOSS-SoundEffect/
Stable-Audio-Open local batch, then Krotos hands-on for SFX.
5. Condition — stem-split music cues needing adaptive layering (composer-delivered stems, or the
Demucs fallback for bulk-lane cues, benchmark-gated per §4 item 3); confirm per-line voice
files are named under the stable voice_id; confirm SFX bank entries are wired toward their
owning T0 registry array.
6. Import — run the shared unreal.SoundFactory import automation for every locked asset
across all three chains this region touches (music/voice/SFX share this one seam, §2.2).
7. Wire — MetaSounds adaptive graph for stem-bearing music cues (Music Step 6); dialogue
trigger Blueprint/State-Tree + Sequencer audio track placement for voice lines (Voice Step 7,
Cinematic's own step); MetaSounds procedural graphs for UI/footstep SFX, registry-array wiring
for the rest (SFX Steps 5-6).
8. Audit — batch-level cultural authenticity pass for every non-canonical-track entry
generated this region per §2.7; confirm no CVD §17 hard-line leak (Grand Sage pre-Ch-76,
three-ending convergence, Cassius phase leak) at any tier, canonical or standard.
9. Hand off — confirm every music_cue_id_ref / voice_signature_ref + per-line file /
sfx_category_array + sfx_id_ref_array this region's scene rows reference resolves to
accepted/locked status; anything short leaves Cinematic's dependency check in
blocked_on_dependencies [SRC: T1_Build_Pipeline_Contracts §5.7] — this chain's job ends at
"resolved and locked," not at "assembled into a scene" (§1 scope boundary).
10. Record — note this region's audio build state against §4: a region can look audio-ready
and still be blocked by an unresolved spike (the canonical-theme track never clears Step 2 as a
truly AUTOMATED step — it is composer-in-loop by ruling, not by a vendor gap; a benchmark-gate not
yet run means the bulk local music/SFX lanes aren't trusted at scale yet), mirroring UE5_
Build §5 and Cinematic §5's own closing discipline.
This doc updates as spikes resolve and as the first real region build (or the first composer
hero-theme delivery, or the first benchmark-gate run) surfaces edge cases the adjudicated
research couldn't anticipate — per §1's versioning discipline, that is a Translation Doc
refinement, not a Pipeline Contract amendment, unless a region build surfaces an actual canonical
schema gap.