Files
aetherbound-guild/docs/presentation/AUDIO_MUSIC_AND_VOICE_CATALOG.md
T

51 KiB

Aetherbound Guild: Audio, Music, And Voice Catalog

Revision: audio-direction-v2-r3

Authority: music, ambience, SFX, voice, mix, caption, accessibility, audio lifecycle, production count, and audio acceptance rules.

Product basis: .agent-taskgraph/spec.md revision design-spec-r3.

Status: design specification only. No audio is generated, recorded, licensed, purchased, integrated, human-listened, device-verified, or release-accepted.

1. Purpose And Boundaries

Audio makes the game's decisions and consequences understandable while leaving room for a calm, hand-drawn fantasy presentation. The player must be able to hear when an offer changes, a recruit joins, an item is committed, party order changes a forecast, an automatic battle changes phase, a recruit is lost, a reward becomes owned, or a save operation needs attention.

This catalog is independently authored for Aetherbound Guild. Production may use only owned recordings, properly licensed sources, or commissioned work with documented rights. It may not imitate or reuse the expressive audio of a reference product.

This file does not define combat formulas, prices, content names, screen layouts, visual effects, or final localization scope. It does not authorize runtime implementation or media production. It defines the audio response to authoritative events supplied by the owning design documents.

1.1 Sonic Thesis

A working guild heard through touch, breath, and ordered motion.

The shared palette uses dry wood, cloth, ceramic, tempered metal, hand-driven mechanisms, restrained air, and clear paired tones. Player commits sound physical and settled. Forecasts are concise and separated by register. Automatic action stays light enough that the player can hear a change in target, protection, danger, or outcome without a constant wall of impacts.

Each region owns a distinct pulse, resonant material, ambience density, and musical contour. Regional identities remain recognizable in mono and at low volume. The score supports attention; it never carries a rule by itself.

1.2 Information Rules

  1. A sound confirms only an authoritative state change, never anticipated success.
  2. A consequence cue differs from a focus, preview, or review cue.
  3. Higher rarity may add finish, but pitch height never means value by itself.
  4. Danger is identified by contour, rhythm, caption, and visual state, not loudness alone.
  5. Routine automatic actions yield to forecasts, casualty, retreat, and result cues.
  6. Music and ambience may reinforce state but never become the sole state channel.
  7. Muting any bus cannot change simulation timing or remove text/event-log evidence.
  8. Generated recruits never require bespoke dialogue to remain mechanically legible.

2. Resolved Integration Sources

Audio IDs in this file are stable audio authority. The table below binds every cross-workstream dependency to its merged owner without redefining that owner's rows or formulas. Compact ranges are references; their primary definitions remain in the cited authority.

Dependency Resolved source and value Audio use
Region IDs docs/content/CONTENT_INDEX.md, Stable ID Namespaces: RG-01..RG-08 attach the eight regional audio packages in stable-ID order
Region display names docs/content/REGION_CATALOG.md, Region Matrix: Windglass Verge, Siltwake Fens, Emberloom Works, Quillroot Archive, Tideglass Reach, Skyrail Orchard, Nightcurrent Basin, Crown of Morn localized music, caption, and metadata labels use the Region Matrix name field
Region environments docs/content/REGION_CATALOG.md, Region Matrix: minimal framing, encounter grammar, and production-needs fields select ambience sources and hazard contours from the owned region brief
Profession IDs docs/content/CONTENT_INDEX.md, Stable ID Namespaces: PF-B01..PF-B12, PF-A01..PF-A24, PF-H01..PF-H06 instantiate 42 profession signature pairs
Trait IDs docs/content/CONTENT_INDEX.md, Stable ID Namespaces: TR-001..TR-036 complete 36 benefit/cost audio mappings
Equipment IDs docs/content/CONTENT_INDEX.md, Stable ID Namespaces: EQ-001..EQ-320 complete 320 equipment audio mappings
Artifact IDs docs/content/CONTENT_INDEX.md, Stable ID Namespaces: AR-001..AR-060 instantiate 60 artifact rule signatures
Enemy IDs docs/content/ENEMY_CATALOG.md, Count And Assignment Check: EN-R1-01..EN-R1-12, EN-R2-01..EN-R2-12, EN-R3-01..EN-R3-12, EN-R4-01..EN-R4-12, EN-R5-01..EN-R5-13, EN-R6-01..EN-R6-13, EN-R7-01..EN-R7-13, EN-R8-01..EN-R8-13 instantiate the 100 enemy forecast/resolution pairs from primary enemy rows
Boss IDs docs/content/ENEMY_CATALOG.md, Count And Assignment Check: BO-R1-01..BO-R1-02, BO-R2-01..BO-R2-02, BO-R3-01..BO-R3-02, BO-R4-01..BO-R4-02, BO-R5-01..BO-R5-02, BO-R6-01..BO-R6-02, BO-R7-01..BO-R7-02, BO-R8-01..BO-R8-02 instantiate 16 five-event boss packages
Status events docs/product/SYSTEMS_AND_BATTLE.md, Status Effects And Resolution Order: status_id, stack_rule, dispel/immunity tags, on_apply, on_tick, on_expire, apply-roll, resist, and expiry outcomes map shared apply, stack, tick, resist, cleanse, and expiry cues without adding status identities
Resources and costs docs/product/ECONOMY_AND_BALANCE.md, Resource Ledger and Sections 4-6: coin, replacement_credit, xp, renown, clear_fact, discovery_fact, plus authoritative refresh, purchase, sale, reward, and rebate receipts select transaction material from the committed resource and receipt; audio defines no price
Party capacity docs/product/ECONOMY_AND_BALANCE.md, Run Opening And Capacity Economy: line_capacity(C) = min(10, 4 + floor(C/2)), yielding 4,5,6,7,8,9,10 at clear counts 0,2,4,6,8,10,12 scale preparation density and capacity feedback from four through the selected maximum of ten
Battle speed docs/product/SYSTEMS_AND_BATTLE.md, Battle Control, Retreat, Timeout, And Outcome: Pause, 1x, 2x, and 4x are presentation-only configure audio density without changing music tempo, voice speed, simulation time, or draws
Voice locales docs/product/GAME_PRODUCT_CONTRACT.md, Commercial And Platform Boundary and Localization Rules; docs/presentation/SCREEN_AND_STATE_MAP.md, accessibility matrix: English (en) and Simplified Chinese (zh_CN) ship the 32 semantic intents in both launch locales; language-neutral efforts remain shared
Background simulation docs/product/SAVE_AND_FAILURE_CONTRACT.md, Battle Interruption And Deterministic Resume; docs/presentation/SCREEN_AND_STATE_MAP.md, Interruption And Save complete the current priority batch, snapshot, advance no obscured time, return battle through BAT-006, and reconcile non-battle receipts
Headphone unplug docs/presentation/UI_AND_VISUAL_SYSTEM.md, Audio-Independent And Visual Accessibility; docs/presentation/SCREEN_AND_STATE_MAP.md row SET-004 treat as output loss: stop private output before speaker reopen, raise one nonblocking notice, keep captions/geometry, pause audio tests, and continue the current screen without automatic speaker playback
Screen and action IDs docs/presentation/SCREEN_AND_STATE_MAP.md, Input Profiles and Complete Screen Inventory: NAV, LIST, SELECT, ORDER, BATTLE, MODAL, SETTINGS; SYS-001..008, HUB-001..002, SHP-001..003, REC-001..003, EQP-001..002, ART-001, PTY-001..002, RSK-001..002, BAT-001..006, OUT-001..005, PRO-001..003, PST-001..003, SET-001..009; docs/product/GAME_PRODUCT_CONTRACT.md, Input Semantics: focus, inspect, compare, buy, sell, lock, refresh, equip, reorder, confirm, cancel, start, pause, speed, retreat, open event log bind shared events to all 49 final screens, seven input profiles, and semantic actions

A missing cited ID, event, receipt, or policy is an integration error in the audio manifest. It cannot silently fall back to a different semantic event.

3. Routing And Priority

Master
|- Music
|  |- MusicBase
|  |- MusicMotion
|  |- MusicPressure
|  `- MusicTransition
|- Ambience
|  |- AmbienceBed
|  |- AmbienceWeather
|  `- AmbienceSpotter
|- SFX
|  |- SFXCritical
|  |- SFXPlayerCommit
|  |- SFXCombat
|  |- SFXWorld
|  `- SFXUI
|- Voice
|  |- VoiceSystem
|  |- VoiceAnnouncer
|  `- VoiceEffort
`- Accessibility
   `- OptionalCueReinforcement

Master, Music, Ambience, SFX, and Voice have separate user controls. The Accessibility bus follows Master but has its own enable control. Master mute is immediate, reversible, and never stops simulation.

3.1 Priority Classes

Priority Meaning Examples Suppression rule
P0 safety or irreversible consequence destructive commit, save conflict, permanent recruit loss never suppressed; later duplicates collapse by transaction ID
P1 immediate tactical state enemy forecast, critical recruit state, retreat completion, boss phase may suppress P3-P6; maximum two distinct cues at once
P2 player-authored commit hire, buy, equip, reorder, battle start, reward accept delayed up to 120 ms rather than masked
P3 result or build information target/protection change, profession state, level gain grouped by source and event family
P4 routine combat readability attacks, hits, movement, ordinary status ticks aggressively pooled and rate-limited
P5 non-semantic performance recruit efforts, decorative UI finish suppressed before any semantic cue
P6 atmosphere ambience spotters and musical detail thins or ducks first

3.2 Concurrency And Rate Limits

Bus/family Global cap Per-source rule Overflow behavior
SFXCritical 2 one active event per semantic key preserve earliest, queue one later cue for at most 300 ms, then caption/log only
SFXPlayerCommit 2 one per transaction ID duplicate callbacks produce no second cue
UI focus 2 maximum 8 focus sounds/s merge traversal into one rising/falling gesture
Shop/recruit preview 3 maximum 4 sounds/s keep latest focused item and committed action
Equipment/party-order preview 3 maximum 5 sounds/s keep changed forecast; discard stale previews
Routine combat impact 6 same source/material once per 90 ms combine amplitude and weight into one representative impact
Profession signature 3 same profession once per 700 ms keep higher priority state cue
Enemy signature 3 same enemy once per 900 ms forecast wins over resolution flourish
Voice semantic 1 one system or announcer line replacement only before speech begins
Voice effort 2 same recruit once per 2.5 s suppress oldest low-priority effort
Ambience spotter 2 same family once per 8-30 s skip, never queue
Music transition 1 one transition until its handoff point jump to correct synchronized state at next legal marker

3.3 Ducking

Trigger Music Ambience Routine SFX Voice effort Attack / hold / release
P0 consequence -8 dB -6 dB -6 dB mute 20 ms / 250 ms / 700 ms
P1 forecast/state -5 dB -4 dB -4 dB -8 dB 35 ms / event / 500 ms
P2 commit -3 dB -2 dB -2 dB -5 dB 25 ms / 120 ms / 300 ms
System/announcer voice -6 dB -3 dB -3 dB mute 40 ms / speech / 350 ms

Ducking is side-chain driven per bus. It never restarts music, shifts pitch, or silences all environmental context. Repeated automatic impacts cannot hold a permanent duck.

4. Format, Loudness, And Dynamic Range

These are production and integration targets, followed by human listening:

  • release masters: lossless WAV, 48 kHz, 24-bit, interleaved where stereo;
  • individual master true peak: at or below -1 dBTP after final processing;
  • standard ten-minute gameplay capture: -18 LUFS-I +/- 2 LU, at or below -1 dBTP on Master;
  • dialogue/announcer program target: -20 LUFS gated, with intelligibility checked against the busiest approved battle mix;
  • no DC offset, clipped transient, unintended leading silence, truncated tail, or hidden normalization metadata;
  • critical cues retain useful energy between 250 Hz and 4 kHz and survive phone speakers, mono fold-down, and low playback volume;
  • stereo correlation for semantic cues remains above zero; polarity cancellation may not erase an event;
  • no release asset depends on runtime pitch randomization for acceptability.
Preset Mix behavior Acceptance target
Wide full transient and music range; light bus compression -20 LUFS-I +/- 2 over the reference sequence
Standard moderate transient control and default ducking -18 LUFS-I +/- 2 over the reference sequence
Night reduced peak-to-dialogue range, softened low bass, unchanged semantics -18 LUFS-I +/- 2, no critical cue more than 8 LU above dialogue

Changing preset does not interrupt the current cue. A 100-250 ms parameter ramp prevents clicks and sudden level jumps.

5. Music Plan

5.1 Scope And Count

The music scope is 32 suite identities and 150 delivered stems/cues. A suite is one synchronized state package, not one continuously dense track.

Suite family Suites Deliverables per suite Total State job
MUS-G00-TITLE 1 3 3 title base, return layer, continue handoff
MUS-G01-GUILD 1 4 4 guild base, activity layer, progress layer, departure cue
MUS-G02-SHOP 1 4 4 browse base, offer motion, scarcity pressure, purchase handoff
MUS-G03-PREP 1 4 4 recruit/equipment/order base, comparison layer, ready layer, battle handoff
MUS-G04-RUN 1 4 4 run overview base, risk layer, forward-motion layer, region handoff
MUS-G05-RESULT-WIN 1 3 3 survival statement, reward bed, continue cue
MUS-G06-RESULT-LOSS 1 3 3 consequence statement, recovery bed, return cue
MUS-G07-META 1 5 5 unlock base, mastery layer, ending base, postgame layer, new-run handoff
MUS-R01..08-ROUTE 8 4 32 regional route base, motion, pressure, exit cue
MUS-R01..08-BATTLE 8 5 40 regional base, pulse, threat, critical state, result handoff
MUS-R01..08-BOSS 8 6 48 boss base, pulse, two phase layers, decisive state, result handoff
Total 32 150 exact planned music delivery

Global suites use 60-92 BPM equivalent motion and leave at least one clear half-bar per phrase for UI commits. Regional route suites loop at 96-160 s, ordinary battle suites at 64-112 s, and boss suites at 96-160 s. Base and layer files share sample-accurate length and loop markers. Handoff cues run 1.5-6 s and land on an authored bar boundary.

Every loop must pass ten consecutive seam repeats and a 20-minute context listen. A transition may wait no more than one bar; an urgent state uses an immediate tonal marker while musical layers catch up at the next marker.

5.2 Adaptive Parameters

Parameter Source binding Music response
shop browse/refresh/commit screen IDs SHP-001..003 and the inspect, buy, lock, refresh, confirm, and cancel actions motion layer follows active browsing; purchase handoff plays only after commit
affordability pressure economy resources coin and replacement_credit plus the current authoritative cost receipt sparse low pulse; no alarm for merely expensive offers
party readiness core validation event ready layer enters after all blockers clear
run risk authoritative risk tier pressure layer changes at next beat with a non-musical immediate cue
battle start/pause/speed presentation states Pause, 1x, 2x, and 4x start at authored marker; pause filters; speed never changes pitch or tempo
battle pressure target danger, casualty forecast, boss phase add or remove pressure layers with hysteresis to avoid rapid toggling
result authoritative victory, defeat, or retreat result one result handoff, then the matching result bed
region progress region progression binding add one stable timbre layer; never replace the region's core soundmark

Battle pressure uses a 2 s entry hold and 4 s exit hold unless a P0 or P1 event forces immediate entry. Low health alone does not drive music if no consequence is imminent.

5.3 Eight Regional Families

Display names and environmental associations bind directly to the Region Matrix. These original soundmarks establish separation while following its minimal framing, encounter grammar, and production-needs brief.

Region ID and name Soundmark Pulse and register Ambience bridge Mono rule
RG-01 Windglass Verge breath-driven glass harmonic settling into a dry timber knock open 5/4 grouping, middle register terrace wind, grass, suspended mineral panes, timber fittings glass answer moves by register, not pan alone
RG-02 Siltwake Fens reed buzz answered by a low clay drum and water slap slow 6/8 with a displaced final beat layered reeds, luminous sediment, wet banks, ferry fittings drum fundamental stays centered
RG-03 Emberloom Works struck-clay triad closed by one pressure-valve click squared 4/4, low-mid register kiln breath, ceramic conduit, measured tools, hot-metal detail clay and valve transients retain separate envelopes
RG-04 Quillroot Archive paper rasp leading two plucked-string notes alternating 3+3+2, light register leaf movement, root shelves, pages, hollow wood paired notes use different envelopes
RG-05 Tideglass Reach water-glass phrase followed by a shorter reversed echo offset 7/8, broad middle register salt wind, mirror pools, beacon fittings, distant water echo reversal is rhythmic and spectral, not stereo-only
RG-06 Skyrail Orchard rail-joint clack lifting into an airy string triplet rotating 3/4 to 4/4, wide register high air, fruit canopy, cable strain, freight-rail movement rail transient supplies a centered timing mark
RG-07 Nightcurrent Basin centered low pulse answered by a delayed bright reveal ping sparse asymmetric cycle, low-to-high register dark water, channel flow, linked-current hum, quiet crossing hardware reveal uses register and delay in addition to position
RG-08 Crown of Morn seven prior material attacks passed into one new open cadence additive meter resolving to 4/4 dawn stone, route-current layers, observatory fittings, selected prior materials every contributing attack remains separable

Regional battle arrangements use the same soundmark under greater rhythmic pressure, not a disconnected genre switch. Boss music expands phase structure without masking forecasts or becoming a continuous maximum-density mix.

6. Ambience Plan

6.1 Configuration Count

There are 76 authored ambience configurations.

Family Configuration IDs Count Required states
Global AMB-G01..G12 12 title at rest; guild quiet/active/return; shop idle/busy/low-stock; preparation; run transition; success result; loss result; safe recovery
Per region AMB-R{01..08}-01..08 64 region neutral/progressed; run calm/pressure/recovery; battle standard/elite/boss
Total 76 every state has entry, steady, and exit behavior

Configurations are assembled from 90 seamless loop masters and 320 spotter masters:

  • 18 global loop masters;
  • nine loop masters per region, 9 x 8 = 72;
  • 16 global spotter families with four variations, 16 x 4 = 64;
  • eight spotter families per region with four variations, 8 x 8 x 4 = 256.

Total planned ambience delivery is 410 mastered assets. Source layers may be reused across configurations, but the 76 configuration records remain separate review items.

6.2 Loop And Density Rules

  • global and regional identity beds loop at 75-150 s;
  • route beds loop at 90-180 s;
  • battle beds loop at 60-120 s and omit decorative transients;
  • weather/mechanical layers loop at 30-90 s with asynchronous start offsets;
  • spotters never loop and provide four non-pitch-randomized variations;
  • spotter interval is 8-30 s, widened to 18-45 s during preparation and result review;
  • no spotter starts within 500 ms before or 700 ms after a P0-P2 event;
  • a configuration transition crossfades over 1.0-2.5 s unless an interruption requires immediate silence;
  • restored/progressed region states must audibly change one persistent process layer, not merely raise volume.

Ambience supports place and progression but never signals affordability, legality, target, casualty, reward ownership, or save success by itself.

7. Generated-Recruit Voice Contract

7.1 Bounded Scope

Voice consists of a small localized semantic layer plus reusable nonverbal efforts. There are no bespoke dialogue sets for individual recruits, no spoken generated names, and no content dependency on a recruit-specific performer.

Semantic voice ships in exactly two launch locales: English (en) and Simplified Chinese (zh_CN). Nonverbal recruit efforts are language-neutral.

Voice family Formula Release masters Notes
system intents 16 x 2 locales 32 save, input, compatibility, and unavailable-action notices
activity announcer intents 16 x 2 locales 32 shop, readiness, battle, casualty, reward, and run-result notices
recruit effort banks 8 banks x 8 functions x 2 variations 128 language-neutral, non-lexical performances
Total 192 retakes and rejected takes excluded

The 32 semantic intents are:

VO-SYS-001 save_recovered
VO-SYS-002 save_conflict
VO-SYS-003 save_failed
VO-SYS-004 migration_required
VO-SYS-005 migration_complete
VO-SYS-006 offline_state_changed
VO-SYS-007 input_device_changed
VO-SYS-008 audio_output_changed
VO-SYS-009 destructive_action_armed
VO-SYS-010 destructive_action_cancelled
VO-SYS-011 purchase_rejected
VO-SYS-012 equipment_incompatible
VO-SYS-013 action_unavailable
VO-SYS-014 content_mismatch
VO-SYS-015 connection_recovered
VO-SYS-016 diagnostic_exported
VO-ANN-001 shop_offers_ready
VO-ANN-002 shop_refresh_confirmed
VO-ANN-003 recruit_hired
VO-ANN-004 recruit_sent_to_reserve
VO-ANN-005 party_line_ready
VO-ANN-006 party_line_blocked
VO-ANN-007 battle_started
VO-ANN-008 battle_speed_changed
VO-ANN-009 retreat_started
VO-ANN-010 retreat_cancelled
VO-ANN-011 retreat_completed
VO-ANN-012 casualty_confirmed
VO-ANN-013 battle_won
VO-ANN-014 battle_lost
VO-ANN-015 reward_ready
VO-ANN-016 run_ended

Semantic voice is optional reinforcement. The matching UI text, caption, and SFX occur whether or not voice is enabled or a localized file exists.

7.2 Effort Banks

Each generated recruit receives one of eight effort banks from a stable seed. The assignment remains constant for that recruit. Runtime pitch shifting, voice cloning, and performer imitation are prohibited. The eight functions are light exertion, heavy exertion, light hit, heavy hit, guard/deflect, heal/recover, critical condition, and defeated fall. Each has two genuinely different performed variations.

Efforts contain no words, names, profession calls, or gameplay instructions. They are P5 except critical condition and defeated fall, which become P3 but remain subordinate to semantic casualty SFX and captions. An effort cannot delay battle simulation or set animation duration.

7.3 Casting And Rights

  • casting briefs describe performance energy and register, never a living or protected performer's likeness;
  • performer consent, territory, term, reuse, edit, and synthetic-use clauses are documented before recording;
  • a voice model may not be trained, cloned, or derived from a performer without a separate explicit agreement and owner approval;
  • localized direction preserves semantic brevity and urgency rather than matching waveform duration exactly;
  • no final voice provider, performer, or synthetic workflow is approved by this design Goal.

8. Shared SFX Event Ledger

There are 228 shared semantic event identities. The ordered lists below are the complete shared ledger. An event identity may render from reusable layers, but its state meaning, priority, cooldown, caption, and transaction behavior remain independently testable.

8.1 System And Interface: 24

SFX-UI-001 focus_move
SFX-UI-002 focus_boundary
SFX-UI-003 focus_disabled
SFX-UI-004 tab_change
SFX-UI-005 page_open
SFX-UI-006 page_close
SFX-UI-007 inspect_open
SFX-UI-008 inspect_close
SFX-UI-009 compare_on
SFX-UI-010 compare_off
SFX-UI-011 filter_apply
SFX-UI-012 filter_clear
SFX-UI-013 menu_open
SFX-UI-014 menu_close
SFX-UI-015 action_available
SFX-UI-016 action_blocked
SFX-UI-017 confirm_arm
SFX-UI-018 confirm_commit
SFX-UI-019 confirm_cancel
SFX-UI-020 destructive_hold_tick
SFX-UI-021 destructive_commit
SFX-UI-022 stale_state
SFX-UI-023 error_recoverable
SFX-UI-024 notification_new

Preview cues are short dry contacts. Commit cues add a low settled component. Blocked, stale, and destructive states have different contours and captions.

8.2 Shop And Recruitment: 24

SFX-SHP-001 shop_enter
SFX-SHP-002 offer_reveal
SFX-SHP-003 refresh_review
SFX-SHP-004 refresh_commit
SFX-SHP-005 refresh_unaffordable
SFX-SHP-006 price_change
SFX-SHP-007 purchase_review
SFX-SHP-008 purchase_commit
SFX-SHP-009 purchase_rejected
SFX-SHP-010 currency_gain
SFX-SHP-011 currency_spend
SFX-SHP-012 recruit_card_reveal
SFX-SHP-013 recruit_inspect
SFX-SHP-014 recruit_hire_review
SFX-SHP-015 recruit_hire_commit
SFX-SHP-016 deploy_capacity_reached
SFX-SHP-017 reserve_added
SFX-SHP-018 recruit_replace_review
SFX-SHP-019 dismiss_arm
SFX-SHP-020 dismiss_commit
SFX-SHP-021 trait_benefit_reveal
SFX-SHP-022 trait_cost_reveal
SFX-SHP-023 offer_expire
SFX-SHP-024 shop_exit

purchase_commit plays only after the economy receipt commits. recruit_hire_commit and reserve_added may occur in order but cannot overlap. Trait benefit and cost use complementary contours so the cost cannot be heard as a second bonus.

8.3 Equipment And Artifacts: 20

SFX-EQP-001 item_pickup
SFX-EQP-002 item_inspect
SFX-EQP-003 compare_better
SFX-EQP-004 compare_tradeoff
SFX-EQP-005 slot_select
SFX-EQP-006 equip_review
SFX-EQP-007 equip_commit
SFX-EQP-008 unequip_commit
SFX-EQP-009 incompatible_item
SFX-EQP-010 inventory_full
SFX-EQP-011 sell_review
SFX-EQP-012 sell_commit
SFX-EQP-013 item_lock
SFX-EQP-014 item_unlock
SFX-EQP-015 artifact_reveal
SFX-EQP-016 artifact_take
SFX-EQP-017 artifact_rule_activate
SFX-EQP-018 equipment_proc_ready
SFX-EQP-019 equipment_proc_trigger
SFX-EQP-020 equipment_proc_cooldown

Equipment material supplies the transient; semantic state supplies the contour. Comparisons never claim a globally better choice when the underlying UI marks a tradeoff.

8.4 Party Order And Preparation: 20

SFX-ORD-001 unit_select
SFX-ORD-002 move_preview
SFX-ORD-003 legal_position
SFX-ORD-004 illegal_position
SFX-ORD-005 swap_preview
SFX-ORD-006 reorder_commit
SFX-ORD-007 reorder_cancel
SFX-ORD-008 front_position_change
SFX-ORD-009 rear_position_change
SFX-ORD-010 target_projection_change
SFX-ORD-011 protection_projection_change
SFX-ORD-012 reach_projection_change
SFX-ORD-013 healing_projection_change
SFX-ORD-014 capacity_increase
SFX-ORD-015 deploy_add
SFX-ORD-016 deploy_remove
SFX-ORD-017 ready_check_pass
SFX-ORD-018 ready_check_blocked
SFX-ORD-019 battle_start_arm
SFX-ORD-020 battle_start_commit

Move preview uses front-to-rear brightness and a centered low pulse, so order is audible in mono without relying on pan. Projection-change cues fire only when the forecast actually changes and are paired with the changed visual value.

8.5 Automatic Battle: 60

SFX-BAT-001 battle_count_in
SFX-BAT-002 battle_begin
SFX-BAT-003 battle_pause
SFX-BAT-004 battle_resume
SFX-BAT-005 speed_up
SFX-BAT-006 speed_down
SFX-BAT-007 inspect_open
SFX-BAT-008 inspect_close
SFX-BAT-009 retreat_available
SFX-BAT-010 retreat_blocked
SFX-BAT-011 target_acquired_front
SFX-BAT-012 target_acquired_rear
SFX-BAT-013 target_changed
SFX-BAT-014 reach_blocked
SFX-BAT-015 protection_applied
SFX-BAT-016 protection_removed
SFX-BAT-017 movement_forward
SFX-BAT-018 movement_backward
SFX-BAT-019 position_displaced
SFX-BAT-020 replacement_step_in
SFX-BAT-021 melee_windup
SFX-BAT-022 melee_release
SFX-BAT-023 melee_impact_light
SFX-BAT-024 melee_impact_heavy
SFX-BAT-025 ranged_windup
SFX-BAT-026 ranged_release
SFX-BAT-027 projectile_arrival
SFX-BAT-028 area_windup
SFX-BAT-029 area_resolve
SFX-BAT-030 channel_start
SFX-BAT-031 channel_tick
SFX-BAT-032 channel_end
SFX-BAT-033 summon_or_device_enter
SFX-BAT-034 summon_or_device_exit
SFX-BAT-035 guard_raise
SFX-BAT-036 guard_absorb
SFX-BAT-037 guard_break
SFX-BAT-038 barrier_gain
SFX-BAT-039 barrier_absorb
SFX-BAT-040 barrier_end
SFX-BAT-041 component_blocked
SFX-BAT-042 immunity
SFX-BAT-043 heal_small
SFX-BAT-044 heal_large
SFX-BAT-045 regeneration_tick
SFX-BAT-046 overheal_or_waste
SFX-BAT-047 status_benefit_apply
SFX-BAT-048 status_cost_apply
SFX-BAT-049 status_tick
SFX-BAT-050 status_stack_change
SFX-BAT-051 status_resist
SFX-BAT-052 status_cleanse
SFX-BAT-053 status_expire
SFX-BAT-054 cooldown_ready
SFX-BAT-055 enemy_forecast_begin
SFX-BAT-056 enemy_forecast_escalate
SFX-BAT-057 enemy_forecast_resolve
SFX-BAT-058 enemy_forecast_cancel
SFX-BAT-059 elite_state_change
SFX-BAT-060 boss_phase_change

Terminal Outcome Cue And Caption Bindings

The following existing shared identities bind only to terminal outcome records declared by docs/product/SYSTEMS_AND_BATTLE.md, Section 11.2. This mapping adds no SFX identity or rendered master.

Shared cue Terminal outcome ID Required causal caption Exclusion
SFX-BAT-014 reach_blocked AO_INVALID_REACH Out of reach plus old/current depth and required reach not a forecast comparison or target-change cue
SFX-BAT-041 component_blocked AO_BLOCKED Blocked plus blocker actor or rule ID barrier absorption remains AO_APPLIED and uses the barrier state cue
SFX-BAT-042 immunity AO_IMMUNE Immune plus immunity tag and source ID no resistance draw is consumed
SFX-BAT-051 status_resist AO_RESISTED Resisted plus roll, threshold, Potency, and Tenacity status components only; never a general action result

FORECAST_DIVERGED may select SFX-BAT-013 target_changed only when the authoritative target changes; it is not a terminal outcome. A legal moved target with TARGET_MOVED_STILL_LEGAL remains AO_APPLIED and uses its ordinary component/state audio. Every other AO_* record uses its exact causal label, specific state cue when one exists, and event-log evidence rather than a catch-all failure transient.

At 2x and 4x, simulation events remain unchanged while routine audio density is reduced: keep every forecast, state change, casualty, retreat, and result; group attacks by source/material; keep at most one routine impact per source per 120 ms at the highest configured speed. Music tempo and voice playback speed do not change.

8.6 Casualty, Result, Reward, And Recovery: 28

SFX-RES-001 recruit_health_warning
SFX-RES-002 recruit_critical
SFX-RES-003 collapse_forecast
SFX-RES-004 recruit_defeated
SFX-RES-005 permanent_loss_confirmed
SFX-RES-006 replacement_gap_open
SFX-RES-007 replacement_arrives
SFX-RES-008 retreat_channel_begin
SFX-RES-009 retreat_channel_tick
SFX-RES-010 retreat_interrupted
SFX-RES-011 retreat_commit
SFX-RES-012 battle_victory
SFX-RES-013 battle_defeat
SFX-RES-014 flawless_result
SFX-RES-015 narrow_survival
SFX-RES-016 reward_reveal
SFX-RES-017 reward_option_focus
SFX-RES-018 reward_option_compare
SFX-RES-019 reward_accept
SFX-RES-020 reward_skip
SFX-RES-021 reward_inventory_block
SFX-RES-022 currency_reward
SFX-RES-023 equipment_reward
SFX-RES-024 artifact_reward
SFX-RES-025 experience_gain
SFX-RES-026 level_gain
SFX-RES-027 recovery_option_open
SFX-RES-028 run_summary_close

permanent_loss_confirmed is P0, plays once after the loss is committed, and uses no reward sparkle or comic fall language. Defeat and retreat cues describe different results. Reward focus and reveal never imply ownership; only reward_accept or the committed reward-type receipt does.

8.7 Run, Progression, And Save: 28

SFX-RUN-001 risk_option_focus
SFX-RUN-002 risk_compare
SFX-RUN-003 risk_commit
SFX-RUN-004 encounter_enter
SFX-RUN-005 encounter_clear
SFX-RUN-006 next_choice_open
SFX-RUN-007 next_choice_closed
SFX-RUN-008 rest_option_focus
SFX-RUN-009 rest_commit
SFX-RUN-010 run_continue
SFX-RUN-011 run_end_voluntary
SFX-RUN-012 run_end_forced
SFX-RUN-013 progression_unlock
SFX-RUN-014 difficulty_change_review
SFX-RUN-015 save_begin
SFX-RUN-016 save_commit
SFX-RUN-017 save_deferred
SFX-RUN-018 save_failed
SFX-RUN-019 backup_recovered
SFX-RUN-020 migration_begin
SFX-RUN-021 migration_complete
SFX-RUN-022 migration_failed
SFX-RUN-023 conflict_detected
SFX-RUN-024 rollback_notice
SFX-RUN-025 corruption_blocked
SFX-RUN-026 duplicate_claim_rejected
SFX-RUN-027 clock_rollback_detected
SFX-RUN-028 offline_state_changed

save_commit follows durable commit acknowledgment, never the start of a write. Failed, deferred, recovered, migrated, conflicted, rolled back, and offline states have distinct captions and cannot reuse the success receipt.

8.8 Eight-Region Progression: 24

Region package Entry Hazard alert Progress resolution
R01 SFX-REG-001 SFX-REG-002 SFX-REG-003
R02 SFX-REG-004 SFX-REG-005 SFX-REG-006
R03 SFX-REG-007 SFX-REG-008 SFX-REG-009
R04 SFX-REG-010 SFX-REG-011 SFX-REG-012
R05 SFX-REG-013 SFX-REG-014 SFX-REG-015
R06 SFX-REG-016 SFX-REG-017 SFX-REG-018
R07 SFX-REG-019 SFX-REG-020 SFX-REG-021
R08 SFX-REG-022 SFX-REG-023 SFX-REG-024

Each set uses its Section 5.3 soundmark. Hazard alert binds to the corresponding RG-01..RG-08 Region Matrix encounter grammar and production-needs row, then to the final enemy or boss event instance. Progress resolution fires only after the persistent region change commits.

8.9 Per-Event Priority, Replay, And Caption Policy

Ordinals below refer to the definitions in Sections 8.1-8.8. Every ordinal is assigned exactly once. The priority determines ducking and overflow through Section 3.

Family Ordinals Priority
UI 001-014 P5
UI 015-017, 019, 024 P3
UI 018 P2
UI 020, 022-023 P1
UI 021 P0
Shop/recruit 001-003, 012-014, 023-024 P4
Shop/recruit 006-007, 018, 021-022 P3
Shop/recruit 004, 008, 010-011, 015, 017 P2
Shop/recruit 005, 009, 016, 019 P1
Shop/recruit 020 P0
Equipment 001-006 P4
Equipment 013-015, 017-020 P3
Equipment 007-008, 011-012, 016 P2
Equipment 009-010 P1
Party order 001-005 P4
Party order 007-017 P3
Party order 006, 019-020 P2
Party order 018 P1
Battle 021-034 P4
Battle 005-008, 011-020, 035-054 P3
Battle 001-004 P2
Battle 009-010, 055-060 P1
Result 016-018, 020, 025-028 P3
Result 001, 006-008, 014-015, 019, 022-024 P2
Result 002-004, 009-010, 012-013, 021 P1
Result 005, 011 P0
Run/save 001, 008, 015 P4
Run/save 002, 004-007, 013, 017 P3
Run/save 003, 009-011, 014, 016, 019-021 P2
Run/save 012, 026-028 P1
Run/save 018, 022-025 P0
Region 001, 004, 007, 010, 013, 016, 019, 022 P3
Region 003, 006, 009, 012, 015, 018, 021, 024 P2
Region 002, 005, 008, 011, 014, 017, 020, 023 P1

Replay and caption policy follows priority:

Priority Replay guard Caption class
P0 once per authoritative transaction/event instance; no time-based replay mandatory in critical-only and full modes; retained in event log
P1 source + semantic key, 300 ms minimum unless a distinct state replaces it mandatory in critical-only and full modes; direction/source included
P2 once per commit transaction; previews cannot trigger it mandatory in full mode; existing UI receipt remains visible in every mode
P3 family cooldown 300-700 ms; latest changed state wins full-mode caption when offscreen or not already text-visible
P4 pooled by source/material using Section 3 caps summarized only in full detail or event-log accessibility mode
P5 UI traversal and effort caps from Section 3 no default caption; focus and recruit state remain visually exposed

9. Content-Bound SFX Packages

Content-bound IDs are pattern contracts. The production manifest expands them from the resolved stable namespaces and retains a machine-readable mapping record.

Content scope Event identity pattern Identities Minimum rendered masters Reuse rule
42 professions SFX-PRO-{profession_id}-{ACTION,STATE}, where profession_id is in PF-B01..PF-B12, PF-A01..PF-A24, or PF-H01..PF-H06 84 168 two performed/rendered variations per identity; shared body/material layers allowed
36 traits map each TR-001..TR-036 row to one benefit and one cost event 0 new mandatory 0 all 36 mappings required; add an identity only if shared semantics are false
320 equipment items map each EQ-001..EQ-320 row to material, equip, and proc events 0 new mandatory 0 all 320 mappings required; no rarity-only signature
60 artifacts SFX-ART-{artifact_id}-RULE, where artifact_id is in AR-001..AR-060 60 120 one activation and one resolution render per rule identity
100 ordinary/elite enemies SFX-ENM-{enemy_id}-{FORECAST,RESOLVE}, where enemy_id is an EN-Rx-yy primary row 200 400 two variations per identity; forecast contour stays stable
16 bosses SFX-BOS-{boss_id}-{ARRIVE,PHASE,THREAT,OPENING,DEFEAT}, where boss_id is a BO-Rx-yy primary row 80 80 five deterministic masters per boss; material layers may be shared
Content-bound total 424 768 every required catalog row receives a mapping

Shared and content-bound scope therefore totals 652 semantic SFX identities and a minimum of 1,240 mastered SFX renders (472 shared + 768 content-bound). New content behavior may add identities; integration may not remove a required mapping merely because two events currently use the same raw material.

9.1 Shared SFX Variation Budget

Shared family Identities Variant allocation Rendered masters
system/interface 24 12 repeatable x4; 12 deterministic x1 60
shop/recruitment 24 6 repeatable x3; 18 deterministic x1 36
equipment/artifacts 20 6 repeatable x3; 14 deterministic x1 32
party order/preparation 20 6 repeatable x3; 14 deterministic x1 32
automatic battle 60 24 high-rate x4; 18 medium-rate x3; 18 deterministic x1 168
casualty/result/reward/recovery 28 4 physical x3; 24 deterministic x1 36
run/progression/save 28 4 repeatable x3; 24 deterministic x1 36
regional progression 24 16 material events x4; 8 deterministic receipts x1 72
Total 228 472

Deterministic means one stable semantic master, not identical volume in every context. Repeated variations use shuffled bags with no immediate repeat. Pitch randomization is limited to +/- 2% only on non-semantic debris layers and is never applied to forecasts, commit receipts, save states, casualty, or voice.

9.2 Reusable Source Library

The planned raw source library contains 144 selected dry recordings before processing: six physical-action kits x8 sources (48), eight regional surface kits x4 (32), eight interface-object kits x4 (32), and eight tonal/process kits x4 (32). These sources are production inputs and are not counted as release event masters. Every source retains origin, rights, performer, location, recording chain, and allowed-use metadata.

10. Captions, Mute, And Accessible Listening

10.1 Caption Contract

Every P0-P2 event and any non-visible offscreen state has a localized caption key. Caption data is event data, not speech transcription alone.

[source] + [action/state] + [front/rear/offscreen direction when relevant]

Examples of structure, not final localized prose:

  • [Front recruit: danger rising]
  • [Enemy forecast: heavy strike]
  • [Recruit permanently lost]
  • [Reward added]
  • [Save conflict requires review]

Captions never identify urgency by punctuation count or color alone. Direction uses words/icons plus optional pan. Repeated routine impacts collapse to a summary caption; critical events never collapse across different sources.

Caption controls include off/on, critical-only/full detail, 100/115/130% text, background opacity, speaker labels, and sound direction. A two-line default and three-line large-text maximum protect the battle forecast area; overflow moves to the event log without truncating the critical line.

10.2 Mute And Channel Independence

  • Master mute silences all audio within 50 ms and restores with a 150 ms ramp.
  • Music, Ambience, SFX, and Voice can each be muted independently.
  • Voice mute leaves captions and semantic SFX unchanged.
  • SFX mute leaves visual forecasts, captions, and event-log records unchanged.
  • Music or Ambience mute does not reveal hidden timing advantages.
  • The optional Accessibility bus may reinforce critical contours, but cannot create an event absent from the simulation.

10.3 Mono And Hearing Range

  • all semantic cues are authored and reviewed in mono;
  • front/rear order uses envelope and register in addition to pan;
  • left/right or offscreen direction includes caption and UI direction;
  • critical cue fundamentals occupy distinct bands from the busiest music layer;
  • high-frequency detail may decorate a cue but never carries its identity;
  • hearing-access presets may substitute a lower-register contour while retaining event timing and priority.

11. Lifecycle And Device Behavior

Lifecycle event Required audio behavior State truth requirement
battle pause 80 ms filter/level transition; halt scheduled transients; preserve music phase no hidden cue advances while simulation is paused
battle resume discard stale queued routine cues; 150-350 ms ambience/music restore reconstruct from current authoritative snapshot
app background/focus loss fade all buses within 100 ms and cancel non-committed preview cues complete the current priority batch, write/verify the deterministic snapshot, advance no obscured time, return battle through BAT-006, and reconcile any non-battle transaction receipt
foreground return wait for current state snapshot, then restore loops at saved or legal markers never replay purchase, reward, casualty, or save receipts
OS interruption stop output, retain logical music marker, clear transient queues resume only after interruption-ended callback and state refresh
output route change 50 ms fade, rebuild output graph, 150 ms fade after route is stable for 250 ms announce/caption changed route once; no duplicate game event
headphone unplug stop private output before speaker reopen; do not move active audio to speakers automatically raise one nonblocking output-loss notice, retain captions/event geometry, pause a settings test, and continue current simulation; only an independent background or input-device interruption routes through BAT-006
Bluetooth latency change adjust presentation scheduling, never simulation timestamps captions and visuals stay authoritative
suspend/restore serialize suite ID, musical marker, ambience configuration, and active semantic states do not serialize transient waveform position as game truth
content/rules migration use migration audio only after owning save state reports phase failure cannot sound successful
language change finish or stop current semantic line, then use new locale no mixed-language queue survives the switch
dynamic-range change ramp bus parameters over 100-250 ms current cue remains the same semantic identity

Every one-shot carries an event instance or transaction ID. Resume, retry, and duplicate callback handling use that ID to prevent a second purchase, reward, loss, or save-success cue.

12. Workflow Traceability

Player workflow Required music/ambience Required semantic SFX Voice/caption behavior Acceptance observation
shop browse and refresh shop base/motion/scarcity states; shop ambience shop/recruit shared family and currency receipts offers-ready/refresh voice optional; commits captioned preview, insufficient state, refresh, and purchase are distinguishable eyes closed, then verified against screen state
recruit evaluation and hire preparation handoff recruit evaluation, hire, capacity, replacement, dismissal, and trait events no spoken generated name; benefit and cost caption separately hire, reserve, capacity, replacement, and dismissal never share receipt contours
equipment comparison preparation base/comparison layer equipment/artifact shared family incompatibility caption/system voice optional review differs from equip/sell commit; proc cannot mask a forecast
party ordering preparation base/ready layer party-order shared family blocked/ready caption and optional announcer order move and changed target/protection/reach/heal projections remain readable in mono
automatic battle regional battle or boss suite; battle ambience automatic-battle shared family plus content signatures efforts rate-limited; semantic forecasts captioned 30-minute battle mix preserves forecasts, phase, retreat, and casualty at every speed
casualty and replacement consequence handoff/result ambience casualty and replacement events casualty caption is mandatory; optional announcer once committed permanent loss differs from temporary danger and replacement arrival
reward and progression success bed or run suite reward, ownership, and progression events ownership caption only after commit reveal, focus, compare, accept, blocked, and owned states remain distinct
recovery after failure loss bed/safe recovery ambience recovery and run-end events neutral system language; no blame performance player hears consequence, legal recovery options, and return handoff without a celebratory cue
save and restore current music continues unless blocked save, migration, conflict, rollback, and offline events critical states captioned; system voice optional success, failure, defer, conflict, rollback, corruption, duplicate claim, and offline state cannot be confused
eight-region progression matching route/battle/boss suite and one of 64 regional configurations regional shared family and bound content packages localized region name resolves from the RG-01..RG-08 Region Matrix row all eight soundmarks are identifiable in mono and progress states change a persistent layer

13. Production Manifest And Evidence

13.1 Required Metadata

Every delivered asset or configuration record contains:

audio_id
authoritative_event_binding
asset_or_configuration_type
bus
priority
source_scope
variant_group
selection_rule
cooldown_ms
concurrency_group
ducking_trigger
caption_key
locale_or_language_neutral
duration_ms
loop_start_sample
loop_end_sample
integrated_loudness
true_peak
rights_record
content_hash
evidence_state

Non-looping assets set loop samples to null. Missing caption keys on P0-P2 events, unresolved authoritative bindings, duplicate IDs, and absent rights records are blocking manifest errors.

13.2 Planned Release-Master Count

Domain Planned mastered deliverables
music 150
ambience 410
shared and content-bound SFX 1,240 minimum
language-neutral recruit efforts 128
localized system/announcer voice 64
Total 1,992 minimum

The separate 144-recording raw SFX source library is not included in release master totals. Rejected takes, mix revisions, localization retakes, source sessions, and runtime compression variants are tracked but not counted as distinct release masters.

13.3 Evidence States

specified -> source_rights_cleared -> recorded_or_composed -> edited
-> machine_checked -> human_selected -> mastered -> imported -> bound
-> runtime_observed -> human_listened -> device_verified -> release_accepted

Evidence is monotonic per asset and per configuration. Machine checks cannot set human_listened; a screenshot of a waveform cannot set runtime_observed; one device cannot set device_verified for the matrix.

13.4 Production Sequence

  1. Resolve the event binding and approve its semantic role.
  2. Record source, rights, performer, toolchain, and provenance.
  3. Produce at least two candidates for every signature family and document the selection reason.
  4. Check file format, channels, leading silence, tail, peak, loudness, and loop markers automatically.
  5. Listen in its intended state before mastering the selected candidate.
  6. Import with the manifest-defined bus, priority, cooldown, and caption.
  7. Observe real transitions and idempotent receipts in runtime when runtime work is separately authorized.
  8. Perform fatigue, masking, mono, low-volume, interruption, and route-change sessions on the device matrix.
  9. Retain rejection reasons and do not promote evidence by assumption.

14. Acceptance Gates

  • All 32 music suites and 150 stems/cues have authored roles, loop or handoff markers, regional separation, and state transitions.
  • All 76 ambience configurations and 410 ambience masters have entry, steady, exit, density, and progression behavior.
  • The 228 shared SFX IDs are present exactly once and the 424 content-bound identities expand to the required 42 professions, 60 artifacts, 100 ordinary/elite enemies, and 16 bosses.
  • All 36 traits and 320 equipment items have explicit audio mapping rows, even when their mapping reuses a shared event.
  • The 1,240 minimum SFX renders follow the declared variation classes, cooldowns, concurrency, priority, and transaction rules.
  • Voice delivery is exactly 192 release masters until a separately approved scope revision; generated recruits require no bespoke speech.
  • Shop, recruit, equipment, party order, automatic battle, casualty, reward, recovery, save, and each regional progression workflow passes the Section 12 observation.
  • Master and per-bus mute, captions, mono, low volume, three dynamic-range presets, pause/resume, interruption, background/foreground, output route change, and headphone unplug preserve state truth.
  • Ten-repeat loop checks, 20-minute suite listens, a 30-minute automatic battle fatigue session, and a 50-action shop/recruit repetition session pass on speakers and headphones before bulk production proceeds.
  • Machine, human, runtime, device, rights, and release evidence remain separate and no unchecked state is represented as accepted.

Human listening, casting, rights clearance, localized performance approval, runtime integration, device verification, packaging, and release acceptance remain open gates outside this design Goal.