# Ashen Duel — Audio Asset Credits

The game uses a prepared dark ambient horror loop from **Incantation** by **Scott Buckley**, and an acquired source bank preserving 68 processed sound-effect variants in 25 cue groups. The current **Feral v2** pass replaces 25 entries in eight groups with newly layered, recorded-source WAVs; the active bank remains 68 variants/25 groups, and acquired originals remain unchanged. Player effort, pain and death human voices are disabled in the current runtime; boss voices and physical/equipment recordings remain. The current music emphasizes low drones and eerie vocal textures, with a gradual swell. It replaces the previous full-ensemble battle fanfare following the request for horror and darkness with restrained grandeur. Combat sounds, footsteps, cloth, armour, bottle handling, voices, and menu feedback are played from imported recordings and their prepared composites; the runtime does not generate their waveforms.

The active horror music is offered under **Creative Commons Attribution 4.0 International (CC BY 4.0)** with attribution. Active sound effects are offered under **CC0 1.0**. Where an effects author also offers an alternative licence, this project uses the CC0 option. Originals, source-page licence snapshots, download URLs, and SHA-256 hashes are preserved in `ExternalAssets/Audio`. The complete source-to-processed-file and additional layer mapping is in `ExternalAssets/Audio/acquisition.json`.

**'Incantation' by Scott Buckley - released under CC-BY 4.0. www.scottbuckley.com.au** ([original music and licence page](https://www.scottbuckley.com.au/library/incantation/), [Creative Commons Attribution 4.0 International licence](https://creativecommons.org/licenses/by/4.0/)). Changes: horror-development excerpt (144–264 seconds), six-second loop crossfade and rotation, a 25 Hz subsonic high-pass filter, restrained peak limiting/normalization, and OGG conversion. The prepared loop lasts **114 seconds**; its final texture blends into its beginning with no silent fade, and playback starts at time zero on every repeat. Tempo and pitch are preserved. The original MP3 is retained unchanged as `ExternalAssets/Audio/Originals/incantation.mp3`. Credit is also shown in the game's Asset credits menu. A 24-second preview is available in `ExternalAssets/Audio/Previews/Incantation-dread-section.ogg`.

| Author | Original asset | Use in Ashen Duel |
| --- | --- | --- |
| Kenney | [Impact Sounds](https://kenney.nl/assets/impact-sounds) | Stone footsteps, body impacts, punch impacts and armour impacts |
| Kenney | [RPG Audio](https://kenney.nl/assets/rpg-audio) | Cloth movement |
| Kenney | [Interface Sounds](https://kenney.nl/assets/interface-sounds) | Menu navigation, acceptance, return and subtle healing layer |
| StarNinjas | [20 Sword Sound Effects — Attacks and Clashes](https://opengameart.org/content/20-sword-sound-effects-attacks-and-clashes) | Recorded blade hits, blocking and parrying |
| StarNinjas | [16 Monster Growls](https://opengameart.org/content/16-monster-growls) | Active Feral v2 boss voice layers: `monster.3` bark for effort/pain and `monster.9` / `monster.16` growls for roar |
| HaelDB | [Footsteps — Leather, Cloth, Armor](https://opengameart.org/content/footsteps-leather-cloth-armor) | Recorded clothing and armour movement |
| HaelDB | [Male Grunt/Yelling Sounds](https://opengameart.org/content/male-gruntyelling-sounds) | Archived player effort, pain and death recordings; current runtime disabled |
| qubodup | [Liquid Bottle Drink Set](https://opengameart.org/content/liquid-bottle-drink-set) | Recorded flask opening, closing and swallowing |
| artisticdude | [Swishes Sound Pack](https://opengameart.org/content/swishes-sound-pack) | Recorded sword swings, heavy swings and broad boss-arm sweeps |
| rubberduck | [80 CC0 Creature SFX](https://opengameart.org/content/80-cc0-creature-sfx) | Boss snarls, pain and roar; layered with the deep monster recording |
| trazzz123 | [CC0 Deep Monster Roar](https://opengameart.org/content/cc0-deep-monster-roar) | Low monster resonance, phase roar and boss death |
| Scott Buckley | [Incantation](https://www.scottbuckley.com.au/library/incantation/) | Active dark horror music; CC BY 4.0 |

[CC0 1.0 licence and legal text](https://creativecommons.org/publicdomain/zero/1.0/).

Baseline processing by the Ashen Duel project selects variants and short action excerpts, trims leading silence, converts effect clips to mono 44.1 kHz 16-bit PCM, normalizes peaks to 0.62 and adds short boundary fades. The former impact preparation used recorded body layers below 210 Hz and boss voice underlayers below 550 Hz. Feral v2 supersedes those recipes for the eight groups listed below; the other prepared recordings remain preserved. Each contact still dispatches one physical impact cue. Human player effort/pain/death recordings remain archived but are not dispatched. Flask cap, gulp and phase-roar excerpts finish within their tuned actions. Original recordings remain separate from game-ready files.

## Feral v2 recorded-source composition — 2026-10-02

`Assets/ThirdParty/CombatAudio/Feral_v2` contains **25 derived mono 44.1 kHz WAVs** and `PROCESSING.txt`. `CombatAudioAssets.Build()` creates/imports them and substitutes their corresponding bank entries without adding cue groups or altering `ExternalAssets/Audio/acquisition.json`. The source mapping and acquisition hashes remain immutable. Its **32 staged source recordings** under `Assets/ThirdParty/CombatAudio/RecordedFeralSources` are byte-identical copies of the corresponding `ExternalAssets/Audio/Originals` files; SHA-256 comparisons confirm all 32 matches. Staging preserves each original file format, including OGG and the original WAV.

| Bank group | Derived variants | Recorded layers |
|---|---:|---|
| BladeHit | 4 | Original blade contact, recorded punch detail and Kenney body impact |
| PunchHit | 4 | Original punch contact and Kenney body impact |
| MetalHit | 3 | Original metal, recorded blade/flesh contact and Kenney body impact; the armored creature contact retains body weight |
| ShieldBlock | 3 | Original block contact and Kenney body impact |
| Parry | 2 | Original parry contact and Kenney body impact |
| BossEffort | 4 | Original rubberduck creature effort, StarNinjas `monster.3` bark and trazzz123 deep-monster resonance |
| BossPain | 3 | Original rubberduck creature pain, StarNinjas `monster.3` bark and trazzz123 deep-monster resonance |
| BossRoar | 2 | StarNinjas `monster.9` / `monster.16`, rubberduck `roar_02` / `roar_03` and trazzz123 deep-monster resonance |

Physical composites use Kenney body recordings band-passed at **45–280 Hz**. Boss throat layers use the recorded deep monster filtered at **55–650 Hz**. Trimmed excerpts, per-layer normalization, a restrained soft knee and boundary fades bring out body/rasp detail before fixed peak normalization. Physical impacts, boss effort and roar target peak **0.74**; boss pain targets **0.56**. Effort/pain excerpts are at most0.48/0.52 seconds, and authored roar excerpts are at most **1.10 seconds**, prepared to fit the protected transition. The import gate requires onset **≤2.1 ms** at the documented relative-amplitude threshold. These are authored-asset bounds, not speaker-latency measurements or a certification of subjective listening quality.

Runtime reserves a conservative **0.68 summed authored combat-voice peak budget**, estimated from active recording peaks and their authored gains before user settings. It reduces the shared combat headroom scale when necessary; **Master/Music/Effects controls remain independent and linear**. On a physical impact or boss roar, recorded footsteps/armour/cloth briefly duck to **0.38× for 0.22 seconds**. These policies make room for the unchanged music/interface channels; the estimate does not substitute for a measured listener-output peak or include a guarantee about every DSP/reverb sample. Boss wounded snarls can accompany a contact without interrupting the always-armored action. Human player voices remain disabled.

The revised build imports `feralImpactVersion=2`, **groups=25 / effects=68** (`Logs/six-fixes-release-1.log`), and the final Windows build succeeds with zero errors/warnings (`Logs/six-fixes-release-final.log`). **PlayMode36/36** (`Logs/six-fixes-playmode-4.log`) and **seven Python audio-analyzer regressions** pass. The actual normal-time60Hz run at Master/Music/Effects each1.0 passes strict matching for **91 event/cue pairs**, with zero missing/duplicate/player voice cues and zero tick/DSP-dispatch difference. Output sampling records **9,601,024 samples, peak0.515061, RMS0.052835 and zero clipped samples**. Evidence: `Captures/six-fixes-audio-max/audio-sync-sync-summary.json`, `Logs/six-fixes-audio-max.log`. Clean FPS is separately measured without tracing in the integrated report. Software checks do not measure physical speaker latency or certify subjective listening. Earlier capture figures remain historical. The recorded roar changes audio composition; the acquired native roar animation remains intact.

Evaluation sources retained in `ExternalAssets/Audio`, but not referenced by the current music/voice bank: [Dark Shrine Loop — qubodup / yd](https://opengameart.org/content/dark-shrine-loop) (CC0), [The Great Battle — Alexander Nakarada](https://creatorchords.com/music/the-great-battle/) (CC BY 4.0), [Battle Loop — Alexander Nakarada](https://creatorchords.com/music/battle-loop/) (CC BY 4.0), and [The Summoning — Scott Buckley](https://www.scottbuckley.com.au/library/the-summoning/) (CC BY 4.0). StarNinjas' monster pack is now an active Feral v2 voice source and is credited above. Any evaluation or sharing of the CC BY recordings must credit the respective composer and link the licence.

The acquisition manifest records each baseline effect's measured onset relative to its processed file; that earlier prepared set has maximum onset below 2 ms at the documented relative-amplitude threshold. The separately generated Feral v2 entries use the ≤2.1 ms import gate above. These measure leading silence in assets, not hardware or speaker latency.

`tools/acquire-duel-audio.py` reproduces the original acquisition and baseline processing. The Unity editor helper `CombatAudioAssets.Build()` imports the effects, builds the Feral v2 composites and creates `Resources/AshenAudio/CueBank`. Runtime `DuelAudio` dispatches combat cues from simulation events and movement cues from evaluated animation contacts, pools spatial audio voices, pauses them with the match, and clears them on restart. A sound impact absorbed by boss armour produces one composite armor/body contact cue rather than duplicate blade and armor impacts; a separate short beast-pain voice retains its own vocal ownership.

Optional verification: launch the standalone player with `-audioTrace <absolute CSV path>` to record actual simulation events and audio dispatches with their simulation frame, fighter state, clip, and DSP timestamp. Diagnostic mode also samples the mixed listener output in cached buffers and logs observed peak, RMS, and clipped samples on shutdown; this is a sampled software-output check. Normal play does not run the output probe or allocate trace strings. The completed PlayMode suite covers the selected horror asset, cue-bank completeness, attack alignment, armour-hit deduplication, tuned healing, foot contacts, pause, restart and Feral composition/headroom. Full current build/test and later real-time output evidence are recorded in [TRIBAL_PHASE_TWO_VALIDATION.md](TRIBAL_PHASE_TWO_VALIDATION.md).
