Recent torchaudio (>=2.6) defaults torchaudio.save() to the torchcodec
backend, which is not yet available for all CUDA builds (e.g. cu130).
Replace direct torchaudio.save() call with a _save_audio() helper that:
1. Tries torchaudio.save(..., backend='soundfile') first
2. Falls back to scipy.io.wavfile.write
3. Falls back to bare torchaudio.save() as a last resort
Replaces the model_downloader.get_model_path() calls with direct
hf_hub_download/snapshot_download so all three model files land in
ComfyUI/models/DramaBox/:
- dramabox-dit-v1.safetensors
- dramabox-audio-components.safetensors
- gemma-3-12b-it-bnb-4bit/ (directory)
Each file is checked for local existence before downloading.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>