- _save_wav: always applies _to_stereo() so every output WAV is 2-channel
- _resample_to_target: only treats (2,T) as stereo; (1,T) preserved as-is
- regen_taro/mmaudio/hunyuan_segment: apply _to_stereo() before _splice_and_save
- media_utils.py: remove pan=stereo|c0=c0|c1=c0 filter that was routing only
left channel to both outputs once input became true stereo
Fix HunyuanFoley: pre-download SigLIP2, use local_files_only=True
SigLIP2 (google/siglip2-base-patch16-512, ~1.5 GB) was being downloaded
from the HF network inside every ZeroGPU GPU worker call, consuming ~4s of
GPU budget and risking timeouts/rate-limits.
Fixes:
- Add _dl_siglip2() startup download alongside other model downloads
- Add to parallel download pool (max_workers 7→8)
- Add local_files_only=True to both from_pretrained call sites in
model_utils.py (class-based path and load_model function path)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix HunyuanFoley CLAP tokenizer overflow for long prompts
CLAP text encoder has a 512-token max but encode_text_feat() called
the tokenizer without truncation=True/max_length, causing a tensor
shape mismatch when prompts exceed 512 tokens (523 > 512 error).
Added truncation=True, max_length=512 to the tokenizer call.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix CLAP from_pretrained daemonic process error in ZeroGPU worker
Monkey-patch multiprocessing.Process.start to run inline before calling
ClapTextModelWithProjection.from_pretrained(), restoring it immediately
after. Prevents transformers from forking a subprocess for safe-tensor
verification, which fails in ZeroGPU daemonic workers.
Remove non-inference files from all three model folders
Jack Wu
22b2290
Keep only what is imported at runtime by app.py:
- TARO: remove dataset.py, infer.py, loss.py, train.py, train.sh, preprocess/, README.md
- MMAudio: remove train.py, batch_eval.py, eval_onsets.py, demo.py, gradio_demo.py,
config/, docs/, sets/, training/, README.md, LICENSE, .gitignore
- HunyuanFoley: remove infer.py, gradio_app.py, tests/, assets/, build_package.sh,
download_test_videos.sh, DEVELOPMENT.md, INSTALL.md, LICENSE, MANIFEST.in,
NOTICE, pytest.ini, README.md, .gitattributes, .gitignore, .pre-commit-config.yaml
Update .gitignore to permanently exclude all of the above.