- Add missing s3gen.to(device) in ChatterBox TTS class to move all components
- Fix Smart Loader device resolution for "auto" to "cuda" conversion
- Implement comprehensive device management for cached model reuse
- Disable Higgs Audio memory management due to CUDA graph limitations
- Add recursive component device moving in ComfyUI wrapper
Memory management now works correctly for ChatterBox and F5-TTS engines while preserving Higgs Audio performance.
Created universal SmartModelLoader that prevents duplicate model loading
across all engines and processing modes. Key features:
- Prevents loading same language model multiple times
- Enables cross-mode model sharing (traditional ↔ streaming)
- Provides consistent logging across all engines
- Future-proof design for new engines (F5-TTS, etc.)
Integrated with:
- ChatterBox TTS traditional mode (all loading paths)
- ChatterBox TTS streaming mode (via StreamingModelManager)
- ChatterBox SRT already had smart loading
Benefits:
- No more memory waste from duplicate models
- Faster switching between batch_size=0 and batch_size=4
- Unified model management architecture
- Better memory efficiency