Windows-first Python GUI tools for working with Dying Light series audio.
Dying Light 1: edit.csbbundles, mix raw audio and existing.fsbfiles, preview entries, save rebuilt banks, and build modsDying Light 2 / The Beast (Experimental): read-only Wwise browser for named trees, preview, and exportOther: read-only AKPK /.pckbrowser with preview, export, and experimental replacement tools
- Install a normal Windows Python build with
tkintersupport. Python from the Microsoft Store alias alone is usually not enough. - Open the app once and let it remember your paths in
settings.json. - For DL1 raw-audio builds, point
DLDT Rootat the Dying Light Developer Tools folder. - For DL1 mod output, point
Mods Rootat your Dying LightModsfolder.
You can run from source with:
python -m pip install -e .
python -m dyingaudioOr with the included helper:
.\run_dyingaudio.batFor some editing behaviour, you will need to have Dying Light Developer Tools installed.
- Open the
Dying Light 1tab. - Click
Add Audio / FSB. - Pick raw audio files,
.fsbfiles, or a mix of both in the same browse dialog. - Select an entry in the list to review it in
Selected Entry. - Click
Apply Entry Changesafter editing any fields. - Use
Save CSB Fileto write a standalone bank, orBuild Modto create a mod folder.
- Click
Open CSB For Edit. - Select the entry you want to change.
- Click
Replace Audio / FSB. - Choose a raw audio file or an
.fsb. - Preview, adjust entry details if needed, then save or build.
- If you change selection while the current entry has unapplied edits, DyingAudio will ask whether to apply, discard, or keep editing.
- Press
Enterinside an editable field or clickApply Entry Changesto commit the change.
Raw Audio via DLDT: use this when any entry comes from raw audio and must be compiled into FSB during build/saveExisting FSB Files: use this when every entry already points at ready-made.fsbcontent
Replacing or adding raw audio keeps the project in raw-audio mode because DLDT is required to compile those files.
Preview: play the selected entry directly from the source file or extracted FSB dataInspect CSB: view entry names, channel info, duration, samples, and notes without opening for editExtract CSB: unpack embedded FSBs from an existing bundle- Right-click an entry for replace, export, duplicate, rename, or remove
- Search and sort the entry list without losing the original underlying entry indices
This workspace is intentionally read-only right now.
It supports:
- switching between
DL2andDLTB - detecting available archive sets such as
baseandspeech_* - building a cached named workspace under
%LOCALAPPDATA%\DyingAudio\wwise_cache - browsing
archive -> bank -> event - previewing and exporting selected media
- exporting selected event folders, selected bank files, or a full workspace dump
The Other tab targets AKPK / .pck packs.
It supports:
- building or refreshing a cached browser workspace
- browsing packs and media rows
- previewing and exporting selected media
- exporting mixed audio where supported
- optional experimental AKPK replacement tools via local Wwise installation
- Default experimental cache root:
%LOCALAPPDATA%\DyingAudio\wwise_cache - The app remembers install roots, cache roots, and last-used output paths in
settings.json - If a path box is empty,
Browsefirst tries auto-discovery before falling back to manual selection - Raw formats beyond
.wavand.oggcan use FFmpeg for preview/build helpers when available - Preview prefers direct playback tools when possible and falls back to cached WAV generation when needed
- Retail
DW\Databanks using CSB magic0x00000002are supported for inspect, edit, and save - Dark mode combobox dropdowns are styled for readability across the app
This repo includes:
DyingAudio.specscripts\build_exe.ps1
After installing PyInstaller:
pwsh -ExecutionPolicy Bypass -File .\scripts\build_exe.ps1The packaged build still requires a Windows Python environment with Tcl/Tk available while building so tkinter can be bundled correctly.