Commit Graph
65 Commits
Author SHA1 Message Date
diodiogod 2bc4c2a18d Add IndexTTS 2.5 support 2026-08-11 23:08:35 -03:00
diodiogod 2f587b22b3 Version 5.6.3
Prevent installer validation from importing engine runtimes

Technical details:
- Walk dotted module specs without importing parent packages
- Keep presence-only validation isolated from third-party startup checks
- Add regression coverage for import side effects
- Address issue #337
2026-08-01 17:46:46 -03:00
diodiogod eaaacef869 Version 5.6.1
Allow installer to continue without optional audio libraries

Technical details:
- Treat PortAudio and libsamplerate checks as non-fatal warnings on Linux and macOS
- Allow Fish Audio S2 runtime installation to run in headless environments
- Correct Fedora dependency guidance
- Address issues #330 and #332
2026-07-30 17:44:51 -03:00
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 4937ff9a5b Repair engine runtime installation for issue 322
- Restore Fish S2 implicit namespace packages correctly
- Use the Dots TTS normalizer fallback for incomplete tn installations
- Remove conflicting WebRTC dependencies from VibeVoice runtimes
- Rebuild isolated runtimes when profile definitions change
- Add focused installer regression coverage
2026-07-15 06:53:52 -03:00
diodiogod 8b28214d77 Make installer validation fast and accurate 2026-07-14 17:23:56 -03:00
diodiogod 1ce69b2d1a Fix Fish and Dots installer compatibility 2026-07-14 16:39:33 -03:00
diodiogod 0dbc69d27f Version 5.4.5
Fix Fish Audio S2 installer runtime validation

- Validate fish_speech.inference_engine instead of distribution metadata alone
- Repair incompatible Fish installations automatically
- Pin the tested Fish S2 v2.0.0-beta source revision
- Verify the runtime import after installation
2026-07-12 12:02:00 -03:00
diodiogod 9081d3c22a Add Fish Audio S2 engine and fix VibeVoice speaker remap 2026-07-06 23:35:13 -03:00
diodiogod af13209b47 Add OmniVoice engine with native SRT duration targeting 2026-06-18 22:23:32 -03:00
diodiogod cb6dfe3a11 Add Dots TTS engine integration 2026-06-14 15:27:58 -03:00
diodiogod 9cb78c3157 Finalize Higgs Audio v3 transformers 5 integration 2026-06-11 01:16:55 -03:00
diodiogod f70654dc46 Version 4.26.4
Add MOSS LoRA loading support and compatibility validation

Implementation details:
- Add managed MOSS LoRA discovery and Hugging Face install flow under models/TTS/moss_tts/loras
- Wire PEFT adapter loading through the MOSS engine, adapter, cache, generation info, and unified model interface
- Validate adapter base-model compatibility before loading to prevent huge PEFT mismatch errors
- Raise real ComfyUI popup errors for MOSS LoRA/base model mismatches instead of generic engine creation failures
- Patch bundled MOSS Delay and TTSD classes for PEFT generation compatibility
- Upgrade installer requirement handling so outdated packages like peft are upgraded automatically
- Document the MOSS LoRA folder contract and update MOSS metadata
2026-05-23 17:42:01 -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 ef82e69f28 Version 4.25.14
Fix RVC training FAISS stub-package handling

Technical details:
- Validate working FAISS APIs instead of treating plain faiss import success as sufficient
- Remove broken or conflicting faiss packages and namespace-only stubs before reinstalling faiss-cpu
- Detect missing FAISS APIs in RVC index building and degrade cleanly instead of crashing training
2026-04-12 16:01:20 -03:00
diodiogod 9b83253b87 Version 4.25.10
Improve RVC training Linux FAISS dependency recovery

Technical details:
- Validate faiss imports after Linux CUDA GPU package installation
- Fall back to faiss-cpu when faiss-gpu installs but cannot import
- Log broken faiss import errors more clearly during installation
2026-04-12 10:49:28 -03:00
diodiogod 4b3c050ddd Improve RVC training dependency handling
Technical details:
- remove ffmpeg-python from the bundled RVC training runtime
- keep RVC model training explicit when FAISS index build deps are missing
- record index build status and warnings in RVC training artifacts
- install faiss-cpu with --no-deps to avoid NumPy constraint churn
2026-04-11 15:53:42 -03:00
diodiogod 7f4f6862d2 Fix ONNX Runtime installer preserving GPU setups
Technical details:
- Detect existing onnxruntime-gpu or CPU onnxruntime before install
- Skip Python 3.13 CPU onnxruntime force-reinstall when GPU runtime already exists
- Keep OpenSeeFace compatibility without clobbering shared ComfyUI environments
- Address issue #283 installer conflict report
2026-04-06 10:57:32 -03:00
diodiogod da9310e814 Version 4.22.5
Adjust ChatterBox Official 23-Lang Russian stress install flow

Technical details:
- move patched russian-text-stresser installation back to install.py
- keep only the large Russian dictionary as lazy runtime data downloaded through the unified downloader
- stop runtime package mutation during generation and warn users to rerun install if the package is missing
- preserve the safetensors fallback log cleanup from the previous patch
2026-03-10 23:08:17 -03:00
diodiogod 413ac911dc Version 4.22.4
Fix ChatterBox Official 23-Lang Russian stress support

Technical details:
- Add lazy Russian stress setup for Official 23-Lang instead of eager installer downloads
- Download Russian stress dictionary through the unified downloader into the TTS model cache
- Install patched russian-text-stresser only on first Russian use with broad dependency constraints
- Accept safetensors fallbacks in Official 23-Lang completeness checks and loader logs
- Remove misleading missing-file warnings for working safetensors model folders
2026-03-10 22:58:16 -03:00
diodiogod 26d17b8d08 Optimize installer dependency checks 2026-02-05 23:11:29 -03:00
diodiogod cded924a99 Version 4.20.13
Fix onnxruntime-gpu installation in Docker environments

Technical details:
- Remove CUDA provider verification check after successful installation
- CUDA provider check fails in restricted environments (Docker/containers) due to permission issues
- Installing both CPU and GPU versions causes Python to prefer CPU version
- Trust successful onnxruntime-gpu installation instead of over-validating
2026-02-04 23:56:27 -03:00
diodiogod d6de4d91ff Fix install script: relax onnxruntime-gpu requirement and handle av build errors gracefully 2026-02-04 18:35:02 -03:00
diodiogod d74eef703d Version 4.20.2
Restrict Transformers to Qwen3-TTS-compatible range

Implementation details:
- Cap transformers<=4.57.3 in requirements and installer
- Add startup warning when Transformers 5.x is detected
- Add investigation report for Qwen3-TTS + Transformers 5.x
2026-02-02 22:24:27 -03:00
diodiogod 65ddbca887 Version 4.16.14
Fix macOS dependency detection for Homebrew libraries

Technical details:
- Add _find_macos_library() helper with Homebrew path checking
- Check /opt/homebrew/lib (Apple Silicon) and /usr/local/lib (Intel)
- Use glob pattern matching for .dylib files
- Fix false negatives for properly installed libsamplerate and portaudio
2026-01-24 20:40:30 -03:00
diodiogod b7a3f33d40 Add smart ONNX GPU acceleration detection to installer
Detect CUDA availability and install onnxruntime-gpu if possible for GPU
acceleration of ONNX models used by Step Audio EditX and OpenSeeFace.

Falls back to CPU version if:
- No CUDA detected
- GPU installation fails
- CUDA provider not available after installation

Modern onnxruntime-gpu (1.23+) no longer forces numpy downgrades, making
GPU acceleration safe for all users with CUDA-capable systems.
2025-12-17 09:26:18 -03:00
diodiogod 46fda45944 Fix: Remove torchcodec dependency to eliminate FFmpeg system requirement
Removed torchcodec from requirements.txt and install.py to eliminate the FFmpeg
system dependency that was causing Windows installation failures.

Implementation:
- Removed torchcodec>=0.2.0 from requirements.txt
- Removed torchcodec>=0.2.0 from install.py core_packages list
- Removed torchaudio 2.9+ migration warnings (no longer applicable)
- Added AudioProcessingUtils.safe_load_audio() utility for robust audio loading
- Updated all audio loading calls to use fallback-aware utility function

Audio Loading Changes:
- character_voices_node.py: Uses safe_load_audio() with fallback support
- tts_text_node.py: Uses safe_load_audio() for narrator and character voices (2x)
- tts_srt_node.py: Uses safe_load_audio() for narrator voice
- higgs_audio_tts_processor.py: Uses safe_load_audio() (2x)
- higgs_audio_srt_processor.py: Uses safe_load_audio() (2x)
- index_tts_processor.py: Uses safe_load_audio() (2x)
- f5tts_streaming_adapter.py: Uses safe_load_audio()
- higgs_audio_adapter.py: Uses safe_load_audio()
- subprocess.py: Uses safe_load_audio()

Compatibility:
- torchaudio.load() works fine with fallback backends (soundfile, scipy)
- No quality loss - only negligible audio loading speed difference (~milliseconds)
- All existing audio formats supported
- Better error handling with graceful fallbacks
2025-11-05 22:26:10 -03:00
diodiogod 3fd3e17f29 Clarify downgrade strategy: Accept necessary downgrades
After investigation, some package downgrades are NECESSARY and INTENTIONAL:

1. NumPy 2.3.3 → 2.2.6: Intentional protection against numba/librosa issues
2. rotary-embedding-torch 0.8.9 → 0.6.5: Required by audio-separator dependency
3. pydantic/pydantic-core: Required by gradio - no way to avoid

The pre-installation function was trying to force-protect pydantic versions,
but this itself forced the downgrade. Better approach: only pre-install
packages that won't be downgraded (fastapi, starlette, websockets, etc).

Let gradio install pydantic/pydantic-core with --no-deps as it requires them.
This is a reasonable trade-off: controlled downgrades for compatibility.
2025-11-05 15:15:30 -03:00
diodiogod 79f926e1ad Fix: Remove problematic packages from core_packages list
opencv-python, pillow, and gradio were still being installed in
install_core_dependencies() which runs BEFORE the new pre-installation
of their safe dependencies. This caused the same downgrades to occur.

Now they are ONLY installed via install_problematic_packages() after
their dependencies have been pre-installed with version protection.

This ensures:
- opencv-python installs after numpy is protected
- gradio installs after pydantic/pydantic-core/pillow are protected
- No downgrade cascade occurs
2025-11-05 14:56:30 -03:00
diodiogod a17f2e98f0 Fix critical package downgrade issue in installation
Resolve systematic downgrade cascade that was destroying carefully
managed package versions during install.py execution:

- numpy: 2.3.4 → 2.2.6 (via opencv-python)
- pydantic-core: 2.41.5 → 2.33.2 (via gradio)
- pillow: 12.0.0 → 11.3.0 (via gradio)
- pydantic: 2.12.4 → 2.11.10 (via gradio)
- rotary-embedding-torch: 0.8.9 → 0.6.5 (via audio-separator)

SOLUTION: Move problematic packages (opencv-python, gradio) from
requirements.txt to install.py with --no-deps installation after
pre-installing their critical dependencies in correct versions.

This ensures ComfyUI-Manager's sequential pip installs don't
circumvent install.py's intelligent dependency management.

Changes:
1. Remove opencv-python and gradio from requirements.txt
2. Add install_gradio_and_opencv_dependencies() function
3. Pre-install gradio/opencv deps before --no-deps installation
4. Update install_problematic_packages() to include both packages
5. Call new function in correct installation order

Result: No more package downgrades during installation process.
2025-11-05 14:29:41 -03:00
diodiogod fcc0fdf47a Version 4.14.6
Fix critical audio loading and model download dependencies

- Add missing torchcodec dependency required by torchaudio for audio file loading
- Fix torchcrepe import checking for packages installed with --no-deps
- Fix German (havok2) ChatterBox model download pointing to wrong subdirectory
- German model now correctly uses finetuned_by_h2 folder with complete model files
2025-11-04 22:04:04 -03:00
diodiogod caee9dbcd1 Version 4.11.23
Fix PyTorch installation syntax error

Invalid pip requirement syntax with local version labels in version specifiers.
The +cu121 suffix is only valid with == or != operators, not with >= operators.
Now correctly passes CUDA version via --index-url instead.

Also add graceful error handling for RVC monotonic-alignment-search installation
on systems without C++ build tools.
2025-10-26 19:58:14 -03:00
diodiogod 45c7e52aef Skip WeTextProcessing on Windows to avoid confusing install errors
Windows users see failed WeTextProcessing install due to missing build tools,
even though our code has graceful fallback. This causes user confusion.

Changes:
- Detect Windows and skip WeTextProcessing installation on Windows
- Use fallback text processing instead (slower for Chinese but works fine)
- Add explanatory message in install summary for Windows users
- No functional impact - all TTS generation still works normally

Now Windows users will see a clean install without error messages about
WeTextProcessing, while still getting full IndexTTS-2 functionality.
2025-10-22 10:43:45 -03:00
diodiogod ed0888bea4 Version 4.10.8
Fix install.py Python version detection and emoji encoding issues

Technical details:
- Fix Windows py launcher bypassing venv detection
- Add clear warnings for Python version mismatches
- Remove emojis from install script to prevent encoding issues
- Improve error messaging for py vs python command usage
2025-09-25 21:50:50 -03:00
diodiogod 045f724219 Version 4.9.22
Fix IndexTTS-2 text normalization dependency handling

Technical implementation:
- Move WeTextProcessing from standard requirements to smart installer
- Add graceful fallback from WeTextProcessing to wetext package
- Implement proper testing for text normalization packages
- Handle Windows pynini compilation failures elegantly
2025-09-18 15:06:02 -03:00
diodiogod 21854b7fae Version 4.9.19
Fix WeTextProcessing package name for IndexTTS-2 text normalization

Technical fix:
- Change from wetext>=0.0.9 to WeTextProcessing (correct package name)
- WeTextProcessing is the actual PyPI package for Chinese/English text normalization
- Keep tn as fallback dependency for Linux systems
- Fix import compatibility issues with IndexTTS-2 text processing
2025-09-18 01:08:18 -03:00
diodiogod 2ad3e95db5 Version 4.9.15
Add missing tn text normalization dependency for IndexTTS-2

Technical fix:
- Add tn package as fallback dependency for IndexTTS-2 text processing
- IndexTTS-2 uses wetext as primary and tn as fallback normalizer
- Some Linux systems fail wetext import and need tn fallback
- Prevents ModuleNotFoundError for tn.chinese module
2025-09-17 20:53:41 -03:00
diodiogod c1dbb0992e Version 4.9.9
Fix install.py numpy downgrade and requirements parsing

Technical fixes:
- Move opencv-python to problematic packages with --no-deps installation
- Fix requirements.txt comment parsing to handle inline comments
- Prevent numpy downgrade from opencv-python dependency conflicts
- Improve ensure_requirements_installed comment handling
2025-09-17 13:43:10 -03:00
diodiogod 13f1f14ac9 Version 4.9.8
Fix install script numpy downgrade issue with faiss-gpu

Technical details:
- Install faiss-gpu-cu12 with --no-deps to prevent numpy downgrade
- faiss-gpu has numpy<2 constraint that forces downgrade from numpy 2.x to 1.26.4
- All other faiss-gpu dependencies already satisfied in environment
- Preserves RVC GPU acceleration while respecting numpy compatibility logic
2025-09-17 00:29:23 -03:00
diodiogod 89aeb223a9 Version 4.9.5
Fix missing julius dependency for Higgs Audio and RVC components

Technical fix:
- Add julius to manual dependency list for descript-audiotools --no-deps installation
- Resolves missing julius import error when using Higgs Audio 2 engine
- Julius required by RVC demucs models for audio separation DSP operations
- References issue #82 julius dependency missing error
2025-09-16 19:33:48 -03:00
diodiogod b8264275dd Fix critical PyTorch installation bug causing CPU torchaudio
- Add CUDA suffixes to torchaudio and torchvision package names
- Prevents mixed GPU PyTorch + CPU torchaudio installation
- Fixes major performance degradation and VRAM issues
- Resolves user reports of slow IndexTTS-2 generation
2025-09-12 17:24:13 -03:00
diodiogod 51de42754f Complete IndexTTS-2 TTS engine integration with emotion disentanglement
Major Features:
• IndexTTS-2 engine with zero-shot voice cloning and emotion control
• Multi-modal emotion support (audio refs, text descriptions, manual vectors)
• Character switching with emotion references: [Alice:angry_bob]
• Native IndexTTS-2 token-based chunking integration
• Comprehensive parameter exposure with 25+ engine-specific options

Core Components:
• engines/processors/index_tts_processor.py - Main processor with emotion support
• nodes/engines/index_tts_engine_node.py - Engine configuration node
• Updated unified TTS Text node with IndexTTS-2 integration
• Node registration in main nodes.py

Dependencies:
• Added 8 safe IndexTTS-2 dependencies to install.py and requirements.txt
• Dependency testing confirmed only descript-audiotools conflicts (already handled)
• All new deps use flexible versioning (>=) to avoid lock conflicts

Character Parser Fix:
• Fixed circular import by moving CharacterSegment to separate types.py
• Maintains backward compatibility while supporting emotion references
• Modular structure preserved (4 modules under 500 lines each)

Technical Details:
• Emotion disentanglement separates speaker identity from emotional expression
• Supports [character:emotion] syntax for per-segment emotion control
• IndexTTS-2 native chunking overrides character-based chunking when enabled
• Full caching integration and pause tag support included
• Error handling with graceful fallbacks for missing voices/emotions
2025-09-11 21:59:19 -03:00
diodiogod 663c790073 Version 4.8.38
Fix pkg_resources deprecation warning in installer

- Replace deprecated pkg_resources with importlib.metadata
- Add fallback support for Python < 3.8 compatibility
- Suppress warnings when using legacy fallback
2025-09-10 19:27:24 -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 450e7c80d3 Version 4.8.24
Fix VibeVoice model reloading and transformers compatibility

Technical changes:
- Fix unified model interface cache key missing additional_params
- Add transformers>=4.51.3 requirement for VibeVoice compatibility
- Remove excessive debug prints from VibeVoice engine
- Fix RVC numba JIT disable logic for correct Python version detection
- Fix attention_mode and quantize_llm_4bit not triggering model reloads
2025-09-07 10:13:23 -03:00
diodiogod e17ff15736 Version 4.8.14
Fix transformers 4.56+ compatibility for VibeVoice and Higgs Audio engines

Technical implementation:
- Add DynamicCache compatibility properties for VibeVoice (.key_cache/.value_cache)
- Fix StaticCache access patterns in Higgs Audio modeling and serve engine
- Patch _prepare_cache_for_generation signature changes in transformers 4.56+
- Add comprehensive null checking for cache layer access
- Update install.py to allow newer transformers versions

Resolves: #44, #46
2025-09-06 14:28:21 -03:00
diodiogod c23930912a Version 4.8.7
Fix ChatterBox transformer compatibility issue

Technical changes:
- Set attention implementation to eager mode
- Fix output_attentions conflict with sdpa in transformers 4.36+
- Maintain alignment analyzer functionality
2025-09-06 08:38:08 -03:00
diodiogod d9d7dcb3e3 Version 4.6.27
Fix numpy compatibility and VibeVoice installation

Technical improvements:
- Update install script to support numpy 1.26.4 for Python 3.12
- Add Python version detection for numpy requirements
- Fix VibeVoice installation using FushionHub fork
- Improve audio-separator conditional installation
- Better numpy version constraint handling
2025-09-03 22:52:19 -03:00
diodiogod 5b5f8d603c Version 4.6.13
Fix MelBandRoFormer architecture compatibility issues

Technical details:
- Implement proper MelBandRoFormer model loading with correct config
- Add Kijai's safetensors model support and auto-download
- Fix tensor size mismatch in instrumentals calculation
- Add model-specific output inversion handling
- Prevent incompatible RVC fallback for MelBand models
2025-08-30 10:53:22 -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