Xilu002 Generate Sfx
src.xil_pipeline.XILU002_generate_SFX
Standalone SFX stem generation utility.
Generates sound effect stems from an SFX configuration file, storing them
in the same stems/<TAG>/ directory that XILP002 and XILP003 expect.
This allows SFX stems to be generated independently of dialogue voice
generation, with fine-grained control over API credit spend.
Shared SFX assets are cached in the SFX/ directory so that each
unique effect is only generated once. Episode stems are copies of the
shared assets with sequence-numbered filenames.
Usage:
# Preview what will be generated and estimated cost
python XILU002_generate_SFX.py --episode S01E01 --dry-run
# Generate only short effects (≤5s) to limit credit usage
python XILU002_generate_SFX.py --episode S01E01 --max-duration 5.0
# Generate all SFX stems
python XILU002_generate_SFX.py --episode S01E01
Module Attributes
STEMS_DIR: Base directory for stem subdirectories.
load_sfx_plan
load_sfx_plan(script_json_path: str, sfx_json_path: str, cast_json_path: str, max_duration: float | None = None, direction_types: set[str] | None = None, local_only: bool = False) -> tuple[list[dict], str]
Load SFX entries and derive the stems directory path.
Delegates entry loading to :func:sfx_common.load_sfx_entries and
derives the stems directory from the cast configuration tag.
Parameters:
-
script_json_path(str) –Path to the parsed script JSON.
-
sfx_json_path(str) –Path to the SFX configuration JSON.
-
cast_json_path(str) –Path to the cast configuration JSON.
-
max_duration(float | None, default:None) –If set, exclude effects with
duration_secondsexceeding this value. Useful for limiting API credit spend. -
direction_types(set[str] | None, default:None) –If set, only include entries whose
direction_typeis in this set.Noneincludes all. -
local_only(bool, default:False) –If
True, skip effects not already present inSFX/; no API generation.
Returns:
-
list[dict]–A tuple of
(sfx_entries, stems_dir)wheresfx_entriesis -
str–a list of dicts and
stems_diris the full path to the episode -
tuple[list[dict], str]–stems directory.
Source code in src/xil_pipeline/XILU002_generate_SFX.py
get_parser
Return the argument parser for xil-sfx.
Source code in src/xil_pipeline/XILU002_generate_SFX.py
main
CLI entry point for standalone SFX stem generation.