Integrated all 5 upstream commits with custom modifications preserved: 1. Empty generator fix (750d9d9) - Refactored infer() to generator pattern - Created wrapper infer() that delegates to infer_generator() - Renamed monolithic method to infer_generator() - Changed final returns to yield for generator compatibility - Handles both streaming and non-streaming modes 2. Streaming implementation (b0c6ab8) - Added low-latency streaming - Added stream_return parameter for generator mode - Added more_segment_before parameter for streaming segmentation - Integrated with generator-based inference 3. UNK token warnings (34be9bf) - Token validation and user feedback - Detects unknown tokens in BPE model - Warns users with token IDs and suggestions 4. S2Mel optimization (31e7e85) - Mel-spectrogram generation speedup - Optimized fused_add_tanh_sigmoid_multiply() with torch.split - Fixed sequence_mask() with max_length parameter - Added enable_torch_compile() to CFM and MyModel classes - Added use_torch_compile parameter to infer_v2.py 5. GPT2 acceleration (c1ef414) - KV-cache and FlashAttention optimization - Created new /accel/ module with 5 files (609-2500 lines) - Added use_accel parameter to UnifiedVoice - Integrated AccelInferenceEngine for 1.5-3x speedup - Optional feature (requires flash-attn library) Custom modifications preserved: - QwenEmotion lazy loading with path fallbacks - W2V-BERT loading from TTS folder (unified downloader integration) - All custom logging and error handling - Custom emotion vector processing Generated upstream tracking documentation in docs/Upstream_Engine_Tracking/
8.7 KiB
Upstream TTS Engines Tracking Index
This document provides a centralized reference for monitoring updates to all bundled TTS engines. Each engine has its own update log file tracking changes, bug fixes, and new features from the official upstream repository.
Last Updated: 2025-11-06
Quick Reference Table
| Engine | Bundled Source | Location | Official Repository | Update Log | Last Checked |
|---|---|---|---|---|---|
| IndexTTS-2 | ✅ Full | engines/index_tts/indextts/ |
github.com/index-tts/index-tts | INDEXTTS2_UPDATE_LOG.md | 2025-11-06 |
| ChatterBox | ✅ Full | engines/chatterbox/ |
github.com/resemble-ai/chatterbox | CHATTERBOX_UPDATE_LOG.md | TBD |
| ChatterBox Multilingual (23-Lang) | ✅ Full | engines/chatterbox_official_23lang/ |
github.com/resemble-ai/chatterbox | CHATTERBOX_UPDATE_LOG.md | TBD |
| F5-TTS | ✅ Full | engines/f5_tts/ |
github.com/SWivid/F5-TTS | F5TTS_UPDATE_LOG.md | TBD |
| Higgs Audio | ✅ Full | engines/higgs_audio/boson_multimodal/ |
github.com/boson-ai/higgs-audio | HIGGS_AUDIO_UPDATE_LOG.md | TBD |
| RVC | ✅ Full | engines/rvc/ |
github.com/RVC-Project/Retrieval-based-Voice-Conversion | RVC_UPDATE_LOG.md | TBD |
| VibeVoice | ⚠️ Wrapper Only | engines/vibevoice_engine/ |
github.com/microsoft/VibeVoice ⚠️ Disabled | VIBEVOICE_UPDATE_LOG.md | TBD |
Engine Status Details
✅ Fully Bundled Engines (Source Code Included)
These engines have their complete source code bundled in the TTS Audio Suite repository:
- IndexTTS-2 - Full inference code and models bundled
- ChatterBox - Full model and inference code bundled
- ChatterBox Multilingual - Wrapper around same ChatterBox repo with language support
- F5-TTS - Full source code with configs, models, and training scripts
- Higgs Audio - Full boson_multimodal framework bundled
- RVC - Complete voice conversion implementation
⚠️ Wrapper-Only Engines
These are external dependencies integrated via wrappers:
- VibeVoice - Wrapper around Microsoft's
vibevoicePyPI package (⚠️ Note: Official repo is disabled by Microsoft as of Sept 2025)
Update Checking Workflow
Manual Checking (via slash command)
/check_tts_bundled_updates [engine_name] [--verbose]
Examples:
/check_tts_bundled_updates- Check ALL engines/check_tts_bundled_updates IndexTTS-2- Check specific engine/check_tts_bundled_updates ChatterBox --verbose- Verbose output with detailed diffs
What Gets Checked
For each engine, the process:
- Clones/updates the official upstream repository
- Compares commit history since last check
- Identifies new features, bug fixes, breaking changes
- Updates the engine's UPDATE_LOG.md file
- Flags items requiring integration
Priority Levels for Updates
- 🔴 Critical: Security fixes, breaking changes, major bug fixes
- 🟡 Important: New features, performance improvements, compatibility updates
- 🟢 Nice-to-have: Documentation, minor tweaks, non-critical improvements
Individual Engine Logs
Each engine has its own update log tracking:
- Date checked: When upstream was last reviewed
- New commits: List of changes since last version
- Actionable items: What needs integration/testing
- Integration status: Whether changes have been applied
See individual UPDATE_LOG.md files in this directory for details.
Integration Checklist
When integrating upstream updates:
- Read upstream changelog/commits
- Identify compatibility issues with our wrapper code
- Create backup of current bundled code
- Apply changes incrementally
- Run full test suite
- Document any conflicts or customizations we maintain
- Update version in nodes.py if integration warrants version bump
- Commit with reference to upstream changes
Known Customizations We Maintain
IndexTTS-2
- Audio normalization fix for Linux (v4.14.15) - Not in upstream
- Custom processor wrapper for unified interface
- Audio amplitude normalization to handle platform-specific torchaudio.load() behavior
ChatterBox (both versions)
- Unified adapter pattern for consistent interface
- Integration with unified node architecture
F5-TTS
- Unified adapter pattern for consistent interface
Higgs Audio
- Unified adapter pattern for consistent interface
RVC
- Complete custom implementation for TTS Audio Suite
VibeVoice
- Wrapper around external vibevoice package
- ⚠️ Status: Microsoft disabled official repo in Sept 2025 - consider migration path
Related Documentation
- NEW_ENGINE_IMPLEMENTATION_GUIDE.md - How to integrate new engines
- INDEXTTS2_UPDATE_LOG.md - IndexTTS-2 specific tracking
- ../DEPENDENCY_MANAGEMENT_GUIDE.md - Dependency compatibility
- ../BUMP_SCRIPT_INSTRUCTIONS.md - Version management
Source Code Location Details
Where to Find the Bundled Engine Source Code
| Engine | Main Source Files | Config/Models | Processor/Adapter |
|---|---|---|---|
| IndexTTS-2 | engines/index_tts/indextts/ (infer.py, infer_v2.py, gpt/, s2mel/) |
engines/index_tts/indextts/ |
engines/processors/index_tts_processor.py |
| ChatterBox | engines/chatterbox/chatterbox/ (models, inference) |
engines/chatterbox/models/ |
engines/adapters/chatterbox_adapter.py |
| ChatterBox Multilingual | engines/chatterbox_official_23lang/ (tts.py, models/*, language_models.py) |
engines/chatterbox_official_23lang/models/ |
engines/processors/ |
| F5-TTS | engines/f5_tts/ (src/, model/, infer/) |
engines/f5_tts/configs/ |
engines/f5tts/f5tts.py (adapter) |
| Higgs Audio | engines/higgs_audio/boson_multimodal/ (full framework) |
engines/higgs_audio/boson_multimodal/model/ |
engines/adapters/higgs_audio_adapter.py |
| RVC | engines/rvc/impl/ (inference, models) |
engines/rvc/impl/lib/ |
engines/rvc/rvc_engine.py |
| VibeVoice | External package: vibevoice (PyPI) |
Downloaded at runtime | engines/vibevoice_engine/vibevoice_engine.py |
Key File Patterns to Check When Updating
Inference/Generation Code:
- IndexTTS-2:
engines/index_tts/indextts/infer_v2.py - ChatterBox:
engines/chatterbox/chatterbox/inference.pyortts.py - F5-TTS:
engines/f5_tts/src/f5_tts/infer/ - Higgs Audio:
engines/higgs_audio/boson_multimodal/serve/serve_engine.py - RVC:
engines/rvc/impl/infer_pack/
Model Loading:
- IndexTTS-2:
engines/index_tts/indextts/infer_v2.py(model initialization) - ChatterBox:
engines/chatterbox/chatterbox/models/ - F5-TTS:
engines/f5_tts/src/f5_tts/model/ - Higgs Audio:
engines/higgs_audio/boson_multimodal/model/higgs_audio.py - RVC:
engines/rvc/impl/infer_pack/modules.py
Audio Processing:
- IndexTTS-2:
engines/index_tts/indextts/infer_v2.py(audio normalization, vocoding) - ChatterBox: Check audio post-processing in inference methods
- F5-TTS:
engines/f5_tts/audio handling - All: Look for clamp, normalize, scale operations
Important Notes
-
ChatterBox and ChatterBox Multilingual both use the same official repository:
github.com/resemble-ai/chatterbox- The difference is in implementation: one focuses on single-language, the other on 23-language support
- They share the same upstream to track for updates
-
VibeVoice is NOT actively maintained - Microsoft disabled the official GitHub repository
- Consider evaluating alternatives or pinning to a specific version
- The wrapper depends on the external
vibevoicePyPI package
-
F5-TTS vs f5tts directories:
f5_tts/= Full bundled source code (official implementation from SWivid)f5tts/= Wrapper/adapter layer only (NOT the official source code)
Next Steps
- ✅ Document all official upstream repositories
- ✅ Identify which code is bundled vs wrapped
- ✅ Implement
/check_tts_bundled_updatesslash command - ⏳ Create UPDATE_LOG.md for each engine (in progress)
- ⏳ Establish regular checking schedule (weekly/monthly)
- ⏳ Create integration PR template for upstream changes