T99_Translation_Audio.md

world/translation/T99_Translation_Audio.md

T99_Translation_Audio

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.

---

1. Scope + authority

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.

---

2. THE RULED CONSTRAINTS

2.1 Licensing posture — shipped path is UNRESTRICTED/ROYALTY-FREE-OWNED only

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:

ToolChainLicense classShips?
AIVAMusic, hero lane — CLOSED AS SKIP, RULED 2026-07-27n/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.5Music, bulk laneUNRESTRICTED (MIT)Yes
YuEMusic, bulk laneUNRESTRICTED (Apache 2.0)Yes
HeartMuLa (oss-3B)Music, benchmark entrantUNRESTRICTED (Apache 2.0)Yes, least independently proven of the three
Suno, Udio, Meta MusicGen/AudioCraftMusic, rejectedreverse-indemnification + active litigation / walled-garden no-export / NON-COMMERCIALNo — never load-bearing [SRC: AUDIO_STACK §1.2-§1.5]
Kokoro-82MVoice, bulk laneUNRESTRICTED (Apache 2.0)Yes
ElevenLabsVoice hero lane; SFX standard trackSUBSCRIPTION-OWNEDYes
Sonniss GDC bundles, BOOM LibrarySFX, licensed-firstROYALTY-FREE-OWNEDYes
MOSS-SoundEffect v2.0SFX, gen fillUNRESTRICTED (Apache 2.0)Yes
Stable Audio Open 1.0 / 3.0 Small SFXSFX, previz fallback onlyTERRITORY-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 ProSFX, creature laneROYALTY-FREE-OWNED (perpetual, $399 each)Yes
UE 5.8 MetaSoundsSFX/UI, proceduralUNRESTRICTED (engine-native)Yes

2.2 Engine substrate — UE 5.8, MetaSounds + Quartz for adaptive playback

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].

2.3 Two tracks per pipeline — the audio family's governing split

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.

PipelineCanonical track (human-in-loop)Standard track (agent/lane-only)
Music (§3.4)Canonical Themes — composer-in-loop with a human composer, §3.4.1Regional 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.1Per-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.1Everything 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].

2.4 The voice ruling — PARTIAL VO as data: three vo_tier states, ElevenLabs hero behind the clone gate

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:

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.

one-liners. It never covers story dialogue and it never covers a hard-line beat.

authorization gate, which this correction leaves intact and untouched.

regardless, 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.

2.5 The schema-bound principle — every generated cue/line/bank binds to an id, never freehand

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].

2.6 Localization flags

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:

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.

2.7 Cultural safety — the same discipline the Contracts already bind, not a new policy

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].

---

3. THE THREE CHAINS, STEP BY STEP

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.

Music Step 1 — Theme and cue substrate compose

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"].

and 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].

detection.

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]

Music Step 2 — Hero lane: composer-in-loop (human composer, stems out; AIVA closed as skip 2026-07-27; parallel to Step 3)

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].

Music Step 3 — Bulk lane: ACE-Step / YuE local generation (benchmark-gated; parallel to Step 2)

category rows on the region-driven track [SRC: T1_Build_Pipeline_Contracts §3.2, §3.4].

output, 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].

cultural 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].

Music Step 4 — Stem and loop conditioning

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.

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].

Music Step 5 — UE import automation

stem set from Step 4.

engine 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].

Contract'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"].

Music Step 6 — MetaSounds adaptive graph wiring

metadata.

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 Step 7 — The Cinematic handoff shape

where the cue is adaptive.

dependency 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].

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].

Voice Step 1 — Voice roster derivation from spine/scene participant refs

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.)

scene-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].

Voice Step 2 — Voice substrate compose

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.

stereotype shortcuts (§2.7) [SRC: T1_Build_Pipeline_Contracts §4.8].

Voice Step 3 — Bulk lane: Kokoro-82M synthesis (parallel to Step 4)

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"].

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]

Voice Step 4 — Hero lane: ElevenLabs behind the clone gate (parallel to Step 3)

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].

voice-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].

Voice Step 5 — Per-line asset naming bound to ids

Writing §6 populates it).

Contract'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"].

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).

Voice Step 6 — UE import automation

format-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 Step 7 — The dialogue/cinematic seam

audio-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].

SFX Step 1 — Bank plan per region/biome/creature

(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].

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.

region-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).

SFX Step 2 — Licensed-first sourcing

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].

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].

SFX Step 3 — Generative fill

(§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].

(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].

track) 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].

SFX Step 4 — Krotos creature lane (132-creature bestiary)

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].

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].

SFX Step 5 — MetaSounds procedural UI

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].

consistency 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 Step 6 — Import and bank wiring

files; 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].

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).

---

4. THE SPIKES + UNKNOWNS

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.

#SpikeTriggerOwnerNot yet settled because
1AIVA API negotiated-agreement + Pro/Stems tier settle — CLOSED AS SKIP, RULED 2026-07-27n/a — closed, not pendingJosh (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].
2ACE-Step/YuE/HeartMuLa instrumental-orchestral benchmarkBefore the bulk regional-theming lane (Music Step 3) is trusted at scaleWhoever 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].
3Demucs orchestral-section-separation fitnessBefore Demucs is relied on as the stem-bridge for any bulk-lane cue needing adaptive layering (Music Step 4)Whoever wires the stem-conditioning stepDemucs 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].
4T0 registry tempo/bar-length/stem-role schema gapBefore 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 workNo 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].
5MetaSound Builder API no-variables constraint at scaleBefore agent-automated adaptive-music graph construction is trusted beyond a simple 2-3-layer case (Music Step 6)Whoever runs the scripted spikeThe 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].
6NeoStack 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 classesWhoever wires Cinematic Step 4 once NeoStack access is liveOnly the generic MovieSceneAudioTrack/MovieSceneAudioSection classes are confirmed; a higher-level convenience API is neither confirmed nor ruled out [AUDIO_STACK §4 Unknowns #7].
7Kokoro bulk-throughput + language coverage vs the localization mandateBefore 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 laneEvery 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].
8Spoken-VO localization tiering strategyBefore any per-language voice ramp is scheduledJosh (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].
9Per-line voice asset naming convention below voice_idBefore per-line track files are generated at scale (Voice Step 5)Whoever finalizes the ElevenLabs/Kokoro build-asset-store path conventionThe 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].
10dialogue_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 triggersQuest 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].
11Sonniss/EastWest "no AI-training" clause vs the generative-entity runtime visionBefore any fine-tuning on owned/licensed SFX content is planned (SFX Step 2)Josh / legal skim at the point fine-tuning is actually plannedBoth 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].
12Stable Audio 3.0 Small SFX license terms + MOSS-SoundEffect quality benchmarkBefore either is relied on beyond a benchmark-gate entrant (SFX Step 3)Whoever runs the SFX benchmark-gateStable 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].
13Creature-vocalization sfx_category / T0_Creature_Roster read-source gapBefore SFX Step 1's bank plan treats creature vocalization as a schema-covered categoryJosh / Phase 5M T0_Schema_Dictionary workThe 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].
14Creature-vocalization (132 creatures) sound-designer seat-hour budgetBefore the Krotos creature lane (SFX Step 4) is scheduled against real production capacityProduction132 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].
15SFX UE5 Asset Registry path convention unstatedBefore generated/licensed SFX files are imported at scale with a stable in-project path (SFX Step 6)Whoever finalizes Phase 5M path-convention documentationMusic 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].

---

5. Per-region audio build checklist

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.

Generated by harness/site/structure_site.py — the URL path is the repo path. review root