Commit Graph
57 Commits
Author SHA1 Message Date
diodiogod 517d11ed4c Add DramaBox and ChatterBox V3 support
- Integrate DramaBox with unified TTS and SRT generation, duration targeting, prompt templates, memory strategies, FP8, compile, and silence diagnostics
- Add ChatterBox 23-Lang V3 checkpoint support and artifact handling
- Extend parameter switching, generated-audio caching, tag editor controls, model downloads, and engine registration
- Add user documentation, engine metadata, generated comparison tables, and FL-MCP launcher reliability updates
2026-07-25 11:38:52 -03:00
diodiogod 58a754ac2c Remove legacy Qwen voice designer node 2026-07-17 17:26:53 -03:00
diodiogod f344099e3b Add unified voice design and character saving 2026-07-15 00:22:32 -03:00
diodiogod 057a9ef638 Document and compose inline emotion controls 2026-07-11 08:09:08 -03:00
diodiogod 9757092aae Version 5.4.1
Address issue #311 with resilient MelBand resampling

Technical details:
- Route MelBand input conversion through the shared safe resampler.
- Fall back to torchaudio when librosa/Numba resampling is incompatible.
- Correct the PROJECT_INDEX path for bump instructions.
- Make version tooling use UTF-8 on Windows.
2026-07-10 14:06:12 -03:00
diodiogod 102f114ae6 Standardize resolved voice prompt logging 2026-07-10 00:20:00 -03:00
diodiogod 1218e01683 Fix OmniVoice tag handling to follow suite syntax 2026-07-07 00:13:19 -03:00
diodiogod 5c346693e3 Add OmniVoice instruction builder UI 2026-06-19 01:40:21 -03:00
diodiogod af13209b47 Add OmniVoice engine with native SRT duration targeting 2026-06-18 22:23:32 -03:00
diodiogod db3a888b77 Refine Dots language handling and metadata 2026-06-15 10:00:13 -03:00
diodiogod 3437d78772 Update README for Higgs v3 and T5 era 2026-06-11 01:28:02 -03:00
diodiogod 8367bc12bf Sync isolation runtime documentation 2026-06-09 18:11:35 -03:00
diodiogod 2b69130a42 Add MOSS-TTS engine family with native TTSD support (#295)
* docs: add new engine integration guide flow

* docs: link new engine guide navigation

* docs: clarify SRT is required for TTS engines

* docs: document SRT reuse of TTS processor

* docs: move new engine guide link below timeline

* Add MOSS-TTS engine integration

* docs: add reference input mode to engine research

* Add MOSS-TTS engine checkpoint

* Refine MOSS prompt fields and parameter switching

* Refine MOSS prompt field warnings and caching

* Improve MOSS inline edit handling and VRAM handoff

* Improve MOSS native dialogue mapping and UI

* docs: add long-form model analysis and VibeVoice reference

* Improve MOSS TTSD chunking, interrupts, and SRT mapping

* Refine MOSS mapping, device checks, and metadata

* Make MOSS native incompatibilities hard-fail

* Document MOSS native hard-fail compatibility rules
2026-05-18 16:42:53 -03:00
diodiogod b09b26b112 Add text-only timing estimation to SRT builder 2026-03-18 02:09:09 -03:00
diodiogod e489ad7015 Split ASR transcription from subtitle building 2026-03-17 10:55:36 -03:00
diodiogod 1653c689e5 Add standalone ASR punctuation and auxiliary model registry
Implementation details:
- add a standalone punctuation/truecase text node for raw ASR transcripts
- create a separate auxiliary-model YAML source of truth and docs generator
- register punctuation helper models outside the engine registry
- add lazy local download/runtime support for punctuators-backed ONNX models
- document auxiliary model sources and layouts for future helper-model expansion
2026-03-17 10:17:47 -03:00
diodiogod c709f129fc Version 4.23.0
Add Granite ASR engine and expand unified ASR support

Implementation details:
- Add Granite ASR engine node, adapter, runtime, and unified downloader integration
- Reuse the Qwen forced aligner for optional custom Granite timestamps and SRT output
- Expose engine-side ASR translation target and prompt templates for Granite and Qwen
- Fix SRT overflow splitting so subtitle text is no longer silently dropped
- Update README and engine metadata for the expanded ASR lineup
2026-03-16 23:58:56 -03:00
diodiogod b327b3cdad docs: optimize PROJECT_INDEX.md - condense engine pattern, trim descriptions, fix missing entries 2026-03-01 01:33:19 -03:00
diodiogod d191b24a1d docs: update PROJECT_INDEX.md with Echo-TTS engine entries 2026-03-01 01:33:19 -03:00
diodiogod 53ea464bf0 Version 4.20.12
Improve ASR SRT segmentation and tuning options

Implementation details:
- Add advanced ASR SRT merge heuristics for dangling/leading/incomplete phrases
- Add ASR SRT advanced options node controls and tooltips
- Refine ASR SRT builder merge limits and clause splitting
2026-02-04 23:14:13 -03:00
diodiogod bab68fd256 Add unified ASR node with Qwen3-ASR support 2026-01-31 11:31:09 -03:00
diodiogod 28a738662e Clean up README condensed engine table
- Remove Speed column (unnecessary for overview)
- Remove 🎯 emoji from title (too many emojis)
- Add ChatterBox to featured engines (now shows 7 engines)
2026-01-28 11:10:29 -03:00
diodiogod 26cb0790c1 Update vLLM API compatibility and PROJECT_INDEX documentation
- Update CosyVoice2 vLLM wrapper for vLLM 0.11.2+ API (removed sampling_metadata parameter)
- Add missing CosyVoice3 files to PROJECT_INDEX.md
2026-01-07 11:41:57 -03:00
tazztone 84a10d3ee4 All CosyVoice3 integration phases complete! The engine is fully integrated with:
✅ Pause tags
✅ Character switching
✅ SRT support
✅ All timing modes
✅ Documentation
2025-12-18 09:48:52 +01:00
diodiogod 3f8a89d075 Update PROJECT_INDEX.md with Step Audio EditX engine and inline edit tags
- Add Step Audio EditX to architecture overview and supported engines list
- Document inline edit tag system as universal post-processing feature
- Add INLINE_EDIT_TAGS_USER_GUIDE.md to user documentation
- Document engines/step_audio_editx/ structure (FunASR, StepVocoder, quantization)
- Add step_audio_editx_adapter.py to engine adapters
- Add step_audio_editx_engine_node.py with quantization and clone/edit modes
- Document step_audio_editx processors (TTS and SRT with inline tag support)
- Add Step Audio EditX Specialized Nodes section for Audio Editor node
- Document step_audio_editx_special_tags.py utility for tag system
- Add step_audio_editx_showcontrol.js web interface
- Update Architecture Summary to reflect inline edit system integration
2025-12-08 15:30:30 -03:00
diodiogod a8c62f2307 TIER 3: Complete architecture standardization for model loading
Implement standardized factory infrastructure enabling future engines:

1. ModelLoadConfig dataclass - Single canonical config class for all factories
   - Replaces duplicate UnifiedModelConfig
   - Contains device, model_name, language, model_path, repo_id, additional_params
   - Device resolution in __post_init__ for consistency

2. Engine capability registry - Data-driven engine specifications
   - Defines supports_voice_conversion, multilingual_model_switching, corruption recovery
   - Enables generic error handling without hardcoded engine checks
   - Covers all 7 TTS engines + IndexTTS-2

3. Fallback handler utility - Reusable fallback chain for graceful degradation
   - Try local → download → fallback language pattern
   - Eliminates duplicate fallback code across engines
   - Used by future engines automatically

4. Exception hierarchy - Standardized error types
   - TTSModelLoadingError base class
   - Specific types: NotFoundError, DeviceError, FormatError, InitializationError, LanguageNotSupportedError

Architecture benefits:
- All 8 factories now accept config: ModelLoadConfig instead of **kwargs
- Type-safe, clear factory signatures
- Future engines follow identical pattern
- No deprecated code left behind
- ComfyUI model manager handles both old and new patterns

Testing:
- All 7 TTS engines working correctly
- Device switching and caching working
- No syntax errors, all files compile

Note: SmartModelLoader still in use (Tier 2 cleanup pending) causing benign double-loads on some engines.
2025-11-14 10:10:52 -03:00
diodiogod fc79682b5f Add functional language tag button to TTS editor
Implements language tag insertion matching character/parameter buttons:
- Inserts [lang:] or [lang:Character] tags at cursor
- Supports all 9 languages (en, de, fr, ja, es, it, pt, th, no)
- Modifies existing tags (replaces language in [lang:Char] format)
- Creates new tags when cursor not in tag
- Integrates with tag editor UI builder and event handlers
2025-10-31 17:28:45 -03:00
diodiogod e4a48045a1 Add per-segment parameter switching system (VibeVoice Custom Character Switching)
- New utils/text/segment_parameters.py with parameter validation, aliases, and engine compatibility
- Extended CharacterSegment to include per-segment parameters
- Extended language resolver to parse pipe-separated parameters: [Alice|seed:42|temp:0.5]
- Support for: seed, temperature, cfg, speed, top_p, top_k, inference_steps, exaggeration, emotion_alpha
- Case-insensitive aliases and order-independent syntax
- Integrated into VibeVoice Custom Character Switching mode (text and SRT)
- Fixed grouping logic to break groups when parameters change
- Added PARAMETER_SWITCHING_GUIDE.md documentation
- Updated PROJECT_INDEX.md

NOTE: Currently implemented for VibeVoice Custom Character Switching only.
Native Multi-Speaker mode and other engines will be added in future updates.
2025-10-29 00:36:44 -03:00
diodiogod 7ad5b8227e Update documentation for Clear VRAM integration
- Add engine_handlers.py to PROJECT_INDEX.md
- Add comprehensive Clear VRAM integration guide to NEW_ENGINE_IMPLEMENTATION_GUIDE.md
- Document .to() method implementation patterns for simple, medium, and complex engines
- Document device checking and wrapper re-registration patterns
- Provide code examples for proper ComfyUI model management integration
2025-10-27 23:46:16 -03:00
diodiogod 955aff40a7 Fix ChatterBox v2 auto-download and pass model_version through entire chain
Fixed critical issues preventing v2 model auto-download:
1. Removed silent v1 fallback in from_local - now raises FileNotFoundError to trigger download
2. Updated unified_model_interface factory to pass model_version parameter
3. Factory now properly tries from_local first, then from_pretrained for auto-download
4. Added model_version parameter to generate_speech and load_tts_model signatures
5. Pass model_version from engine config through unified TTS node to processor
6. Updated README to clarify v1/v2 files coexist in same directory

Now when v2 is selected but files missing:
- from_local raises error instead of falling back to v1
- from_pretrained downloads missing v2 files automatically
- Model loads correctly with v2 tokenization enabled
2025-10-07 23:54:00 -03:00
diodiogod 59188909c3 Version 4.10.6
Fix voice discovery extra_model_paths.yaml integration

Technical details:
- Fix path comparison logic in voice discovery system preventing extra_model_paths voice directories from being scanned
- Add proper path normalization using os.path.normpath() for accurate duplicate detection
- Apply fix to all voice discovery functions: main scanning, character discovery, and alias loading
- Maintain backward compatibility with existing voice directory structure
2025-09-23 22:10:54 -03:00
diodiogod 1cea7ce4f1 Version 4.10.1
Add missing F5-TTS workflow and improve documentation

Technical fixes:
- Add comprehensive tooltips to Phoneme Text Normalizer node inputs
- Add Text Processing Nodes section to PROJECT_INDEX.md
- Document 📝 Phoneme Text Normalizer with all 4 processing methods
- Add missing workflow file reference for user testing
2025-09-23 13:22:53 -03:00
diodiogod ebf4dddb0a Update PROJECT_INDEX.md with IndexTTS-2 and radar chart entries
- Add IndexTTS-2 engine node and 🌈 Emotion Vectors node to engine section
- Add radar chart web interface files to web components section
- Maintain concise documentation style with brief, descriptive entries
2025-09-15 22:34:27 -03:00
diodiogod d01e5cb807 Refactor comfyui_model_wrapper.py into modular architecture
- Split 970-line monolith into focused modules following 500-600 line policy
- Created utils/models/comfyui_model_wrapper/ directory structure:
  - base_wrapper.py (302 lines): Core ComfyUIModelWrapper class
  - model_manager.py (318 lines): ComfyUITTSModelManager class
  - cache_utils.py (28 lines): Cache invalidation utilities
  - engine_handlers/: Engine-specific memory management
    - higgs_audio_handler.py: CUDA graph management and unload blocking
    - vibevoice_handler.py: RAM cleanup and complete deletion logic
    - generic_handler.py: Standard CPU migration for other engines
- Fixed engine routing bug where stateless_tts wrappers weren't using HiggsAudioHandler
- Maintained full backward compatibility with existing imports
- All engine-specific behaviors preserved (VibeVoice deletion, Higgs CUDA graphs)
- Updated PROJECT_INDEX.md to reflect modular structure
2025-09-11 14:57:52 -03:00
diodiogod 2405b0eaf5 Version 4.8.35
Fix critical Windows installation issues

Technical fixes:
- Fix Windows UTF-8 encoding errors in subprocess calls
- Fix PyTorch version parsing failure on CUDA suffix (+cu124)
- Fix PyTorch 2.6.0 availability issues with graceful fallback
- Improve CUDA version detection and compatibility logic
2025-09-10 13:46:16 -03:00
diodiogod 08ce943f4f Centralize transformers compatibility patches into unified system
- Created utils/compatibility/transformers_patches.py with all monkey patches
- Moved FlashAttentionKwargs, BaseStreamer, DynamicCache, and generation method patches
- Fixed VibeVoice GenerationMixin._prepare_generation_config signature compatibility
- Updated VibeVoice downloader and engine to use centralized patches
- Updated PROJECT_INDEX.md to document compatibility system
- Eliminates duplicate patching logic and improves maintainability
2025-09-07 09:06:27 -03:00
diodiogod 118b7df7cc Add Italian to F5-TTS phonemization exceptions
- Add 'it' to models_to_skip list alongside PT-BR
- Update debug message to reflect both Portuguese and Italian models
- Update PROJECT_INDEX.md with phonemizer utilities documentation

Italian F5-TTS models work better with native text rather than IPA phonemization,
similar to Portuguese-Brazil models.
2025-09-06 14:13:34 -03:00
diodiogod 1d78cdf053 Version 4.8.1
Fix SRT overlapping functionality system-wide

Technical implementation:
- Add unified timing mode routing in AudioAssemblyEngine with assemble_by_timing_mode()
- Fix ChatterBox Official 23-Lang processor to use correct assembly method for pad_with_silence mode
- Now properly uses assemble_with_overlaps() instead of assemble_smart_natural() for overlaps
- All engines (ChatterBox, F5-TTS, Higgs Audio, VibeVoice) now handle overlaps consistently
- Resolves audio being cut off when SRT segments overlap in timing
2025-09-05 20:07:02 -03:00
diodiogod 4fee53a20e Version 4.6.1
Fix German and Norwegian Voice Changer model loading

Resolves #11 - German Voice-Changer requests .pt files but only .safetensors are available

Technical details:
- Add safetensors support to ChatterboxVC.from_local()
- Implement auto-detection for .safetensors and .pt files
- Add strict=False for model loading compatibility
- Resolve file format mismatch for multilingual VC models
2025-08-29 11:37:24 -03:00
diodiogod 2ba5f0a1b4 Add VibeVoice TTS engine integration with full unified architecture support
Implemented complete VibeVoice engine integration following unified modular architecture:

Engine Infrastructure:
- VibeVoice engine wrapper with model management and generation
- Engine adapter for standardized interface integration
- Proper ComfyUI model management integration
- Support for both 1.5B and 7B models (Microsoft + community)

Core Features:
- Two generation modes: Custom Character Switching and Native Multi-Speaker
- Character voice management with [CharacterName] tag support
- Pause tag processing with [pause:xx] syntax
- Time-based chunking UI (minutes converted to characters internally)
- Unified cache system following ChatterBox patterns with 💾 indicators
- Full integration with Character Voices node
- 90-minute generation capability and 4-speaker native mode

Technical Implementation:
- Engine configuration node with ⚙️ emoji consistency
- Unified TTS node integration via processor delegation
- Proper parameter validation and device management
- Dependency management with --no-deps installation approach
- Fixed name collision issues (vibevoice/ → vibevoice_engine/)
- Comprehensive error handling and fallback systems

Architecture Compliance:
- Follows exact Higgs Audio integration patterns
- Uses unified streaming infrastructure
- Maintains modular design under 600 lines per file
- No code duplication, reuses all existing utilities
- Proper separation: Engine → Adapter → Processor → Unified Node

Installation & Dependencies:
- Added VibeVoice to install.py with dependency conflict resolution
- Updated nodes.py with conditional imports and diagnostics
- Comprehensive PROJECT_INDEX.md documentation

Tested and verified:
- Model downloading and loading
- Voice reference handling (dropdown and Character Voices)
- Cache functionality with proper hit indicators
- Multi-character generation and pause processing
2025-08-29 01:15:16 -03:00
diodiogod 6857c7437e Version 4.5.10: Fix Higgs Audio seed parameter cache bug and implement ComfyUI model management integration 2025-08-25 13:34:38 -03:00
diodiogod 7eb0c62d50 Enhance chunk combiner with smart per-junction analysis
- Replace global method selection with intelligent per-junction analysis
- Analyze each chunk boundary individually for optimal transition method
- Add comprehensive junction analysis rules (sentence boundaries, commas, conjunctions, forced splits)
- Implement per-junction audio processing with crossfade, silence, and concatenate methods
- Enhance generation info reporting with detailed per-junction method breakdown
- Add backward compatibility for silence_padding method alias
- Fix tensor dimension mismatches in silence generation
- Update method descriptions to reflect new per-junction capabilities

The auto method now intelligently selects different combination methods for each junction
based on text analysis, resulting in more natural audio transitions.
2025-08-21 00:31:27 -03:00
diodiogod a046532044 Refactor Higgs Audio SRT to use modular processor architecture
- Extract 267 lines of hardcoded SRT logic from unified node into HiggsAudioSRTProcessor
- Create proper engine processor following ChatterBox/F5-TTS delegation pattern
- Replace hardcoded implementation with clean delegation (23 lines vs 267 lines)
- Fix timing report generation using unified SRTReportGenerator utilities
- Maintain all functionality while achieving architectural consistency
- Update PROJECT_INDEX.md to document new processor and architectural layers

Architecture now consistent across all engines:
- UnifiedTTSSRTNode → ChatterboxSRTTTSNode ✅
- UnifiedTTSSRTNode → F5TTSSRTNode ✅
- UnifiedTTSSRTNode → HiggsAudioSRTProcessor ✅ (new)
2025-08-20 13:29:04 -03:00
diodiogod f6a6cfb2f0 Fix Higgs Audio 2 engine integration issues
- Fix HiggsAudioEngineNode return type from HIGGS_AUDIO_ENGINE to TTS_ENGINE for unified node compatibility
- Remove duplicated parameters: seed, enable_cache, enable_chunking, max_tokens_per_chunk, silence_between_chunks_ms
- Keep engine-specific parameters: max_new_tokens (generation limit), voice_preset, audio_priority, system_prompt
- Update TTS Text node to pass max_chars_per_chunk to Higgs Audio adapter
- Maintain character-based chunking via ImprovedChatterBoxChunker with token-to-char conversion
- Preserve clean separation: universal parameters in TTS Text, engine-specific in Engine nodes

The Higgs Audio Engine Node now properly connects to unified TTS Text and TTS SRT nodes
while maintaining engine-specific generation parameters that other engines don't have.
2025-08-18 18:37:59 -03:00
diodiogod 4c3dbf3a37 Fix vowel detection confidence threshold bug preventing U/O recognition
The viseme detection system was incorrectly using 0.4 (40%) as the default confidence threshold instead of 0.04 (4%), causing excellent vowel scores to be rejected as "neutral". This prevented U and O vowels from being detected despite perfect geometric conditions.

Root cause: Hardcoded 0.4 defaults throughout the system ignored user's 0.04 threshold setting.

Fixed:
- mouth_movement_analyzer_node.py: Function defaults and option parsing
- viseme_analysis_factory.py: Factory defaults and validation
- abstract_viseme_classifier.py: Base class defaults
- temporal_consonant_analyzer.py: Temporal analyzer defaults
- abstract_provider.py: Provider defaults
- openseeface_provider.py: OpenSeeFace provider defaults

Enhanced:
- Added frame number display to preview video
- Added vowel scores debugging display
- Added comprehensive geometric features display (roundedness, lip_ratio, MAR)
- Improved roundedness calculation using proper geometric circularity
- Enhanced U/O detection ranges and scoring logic

Debug confirmed: O scores of 0.66+ and U scores of 0.47+ now properly detected instead of rejected.
2025-08-16 01:26:21 -03:00
diodiogod 3e901f6aa7 Add Mouth Movement Analyzer Node - Phase 1 & 2 Complete
- Implemented core mouth movement detection using MediaPipe
- Created modular provider-based architecture supporting multiple CV backends
- Added standardized timing data format with MovementSegment and TimingData
- Integrated with ComfyUI framework and TTS Audio Suite
- Supports SRT, JSON, CSV export formats with confidence scoring
- Added facial landmark detection and Mouth Aspect Ratio calculation
- Includes preview mode with annotated video output
- Successfully detects mouth movements and generates timing data for TTS synchronization

Next: Implement OpenSeeFace and dlib providers for better compatibility
2025-08-14 00:16:50 -03:00
diodiogod 9f180a130d Update model location recommendations to TTS/ organized structure
- Update README with new TTS/ folder organization for all model types
- Add TTS/chatterbox/, TTS/F5-TTS/, TTS/RVC/, TTS/UVR/ as recommended locations
- Maintain backward compatibility with legacy model locations
- Add PROJECT_INDEX.md documentation for missing download components
- Include HuBERT downloader and universal model downloader in project index
- Update unified voice changer workflow
2025-08-13 21:27:12 -03:00
diodiogod a8cddffd2b Clean up unused code and update PROJECT_INDEX.md with accurate architecture documentation
- Remove unused processor imports (adaptive_processor, continuous_worker_processor) from ChatterBox TTS engine
- Add genuinely used missing files to PROJECT_INDEX.md (smart_loader.py, audio_hash.py)
- Correct misleading parallel processing performance claims in architecture overview
- Add comprehensive POST_V4.2.3_DEVELOPMENT_REVIEW.md documenting 45 commits of architectural changes
- Clarify that sequential processing (batch_size=0) remains optimal despite streaming infrastructure
2025-08-12 22:42:34 -03:00
diodiogod 98df4efbe5 Update PROJECT_INDEX.md with stateless wrapper documentation
- Added stateless_wrapper.py to ChatterBox engine file list
- Added streaming_model_manager.py to documentation
- Updated architecture overview to highlight thread-safe parallel processing
- Added reference to STATELESS_WRAPPER_IMPLEMENTATION_PLAN.md in dev docs
- Clarified batch_size parameter controls worker count
2025-08-11 23:14:26 -03:00
diodiogod 994ba16c31 Add F5-TTS streaming support and update PROJECT_INDEX
- Add _process_single_segment_for_streaming() method to F5-TTS node
- Use language mapper instead of hardcoded language mapping
- Preserve all F5-TTS functionality (pause tags, chunking, caching)
- Update PROJECT_INDEX.md with new streaming system documentation
- Document all new streaming modules and adapters in project index

F5-TTS now supports parallel streaming processing through the universal
streaming system while maintaining all existing features.
2025-08-10 11:36:59 -03:00