feat: add config-driven extraction and audio sync tooling

This commit is contained in:
Honney OC committed 2026-09-13 20:15:13 +00:00
1 parent 6229bea7f4
commit 7d5fed2f17
5 files changed
+798 -10

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
# movie_sync base config — shared by extract.py and sync_audio_test.py
# TOML is efficient: no yaml dep, stdlib tomllib (py3.11+) parses directly.
[extract]
# Input files — relative to repo root or absolute. Same as extract.py inputs.
file_a = "/path/to/movie_b.mp4"
file_b = "/path/to/movie_a.mkv"
# Window to extract (seconds). This is the ONLY duration needed.
duration = 90
# Start offset in file (seconds, 0 = file start). ffmpeg -ss before -i for fast seek.
start = 0.0
out_dir = "extracted"
target_fps = "24000/1001" # Blu-ray film 23.976
target_fps_eps = 0.02
[audio]
# Target for re-encode / load. Must be identical for both files.
sample_rate = 48000
channels = 1
# If extracted wavs already exist, sync test can load them directly:
# file_a_wav = "extracted/movie_b_audio.wav"
# file_b_wav = "extracted/movie_a_audio.wav"
[sync]
# Analysis window: null = use full extracted duration; otherwise limit for quick test
# duration = 30 # optional, seconds, null = full
method = "phat" # "phat" (GCC-PHAT, robust) or "standard" (raw)
use_gpu = "auto" # "auto" | "cpu" | "cuda" (ROCm/CUDA both via torch.cuda)