Commit Graph
275 Commits
Author SHA1 Message Date
diodiogod c7cd8c8274 Version 4.13.2
Fix IndexTTS-2 QwenEmotion transformers compatibility (#90)

- Change deprecated dtype parameter to torch_dtype for AutoModelForCausalLM
- Add KV-cache disabling to prevent incompatibilities with newer transformers versions
- Resolves Qwen3ForCausalLM unexpected keyword argument error
2025-10-30 00:06:35 -03:00
diodiogod b23c769956 Version 4.13.1
Fix perth import fallback - make it optional

- Add try-except with PERTH_AVAILABLE flag for all perth imports
- Prevents ModuleNotFoundError crash when perth is not installed
- Watermarking is disabled by default, perth is truly optional
- Matches pattern already used in vc.py files
- Remove unused perth import from stateless wrappers
2025-10-29 23:48:11 -03:00
diodiogod f8c2aa48cf Add per-segment parameter support to streaming pipeline
- Updated StreamingCoordinator to handle 5-tuple TTS data (idx, char, text, lang, params)
- Parameters stored in StreamingSegment metadata for transport through streaming
- ChatterBoxStreamingAdapter extracts and applies segment parameters during generation
- Streaming now supports the same per-segment parameters as traditional mode
- Backward compatible with existing 4-tuple format (no params)
2025-10-29 08:12:49 -03:00
diodiogod d0f403b40b Use consistent emoji for parameters (📊) across Index2 and VibeVoice 2025-10-29 08:05:17 -03:00
diodiogod b8de698bc7 Add per-segment parameter switching to Index2 (text and SRT)
- Modified IndexTTSProcessor to use CharacterSegment objects with parameters
- Added parameter detection to split generation when parameters change
- Reconstructs text with character tags to preserve character switching
- Applies per-segment parameters (seed, temperature, cfg, top_p, top_k, emotion_alpha)
- Parameters override node defaults for specific segments only, then revert
- Works with character switching for multi-character scripts
2025-10-29 01:53:58 -03:00
diodiogod bb9a64f564 Fix tokenizer caching and console cleanup
- Consolidate character voice info into block generation messages
- Fix tokenizer path structure to match actual storage location (vibevoice/ instead of VibeVoice/tokenizer/)
- Use consistent path for tokenizer downloads so they're found on subsequent runs
- Comment out non-error device_map debug messages
- Remove duplicate SINGLE SEGMENT text printing
- Fix logged_characters to only log once per character (not per priority check)
2025-10-29 01:27:14 -03:00
diodiogod 63e93bfd2c Comment out model reloading debug messages - only show on errors 2025-10-29 01:01:55 -03:00
diodiogod 301d6cd897 Fix Index-TTS Clear VRAM functionality with proper device management
- Added .to() method for moving all model components between devices
- Implemented device checking before generation to detect CPU offloading
- Added wrapper search and re-registration logic to maintain ComfyUI tracking
- Optimized to reuse existing wrappers instead of creating duplicates
- Fixed target device calculation to always use CUDA when available
- Wrapped with SimpleModelWrapper for ComfyUI logging compatibility

Index-TTS now properly unloads to CPU and reloads to CUDA across multiple Clear VRAM cycles without device mismatch errors.
2025-10-27 23:33:59 -03:00
diodiogod e373c49305 Fix RVC Clear VRAM button - register models with ComfyUI tracking
RVC models were being cached in minimal wrapper but not tracked by ComfyUI,
so Clear VRAM button couldn't see them.

Changes:
- Added is_dead() and model_memory() methods to ComfyUIModelWrapper for ComfyUI compatibility
- Created SimpleModelWrapper class for models without nested .model attribute
- RVC models now register with ComfyUI's current_loaded_models list on load
- Hubert models wrapped with SimpleModelWrapper to add .model attribute for logging
- Added device checking on cached model reuse - reloads from CPU to CUDA when needed
- Models re-register with ComfyUI after reload to stay tracked
- Extracted registration logic into helper methods to avoid duplication
- Updated clear_model_cache() to remove RVC models from ComfyUI tracking

RVC Clear VRAM now works correctly across multiple generation cycles.
2025-10-27 23:02:23 -03:00
diodiogod 19cad461ae Fix VibeVoice and RVC device management + VRAM spike fixes
VibeVoice:
- Added .to() method for device management
- Added device checking before generation that properly detects parameter device
- Fixed target_device to always use cuda if available (not self.device which gets updated)

RVC:
- Created RVCModelWrapper class to wrap model dicts with .to() method
- Added .to() method to RVCEngine for device management
- Added device checking to convert_voice() method
- Updated rvc_factory to properly load and wrap RVC models
- Added model caching to minimal_reference_wrapper to prevent reloading
- Added clear_model_cache() method for VRAM management
- Disabled CUDNN benchmark in vc_infer_pipeline.py to prevent VRAM spikes on Python 3.12+

All engines now support Clear VRAM button across multiple cycles.
2025-10-27 22:40:59 -03:00
diodiogod 3fbb32cfec Add .to() methods for F5-TTS and Higgs Audio 2 engines
Extended device management fixes to F5-TTS and Higgs Audio engines.

Changes:
- engines/f5_tts/api.py: Added .to() method to F5TTS class that moves
  ema_model and vocoder components to target device
- engines/higgs_audio/higgs_audio.py: Added .to() method to HiggsAudioEngine
  class that moves underlying HiggsAudioServeEngine components

Both engines now support:
1. Moving between CPU and CUDA via .to() method
2. Automatic device checking through base_node.py
3. Wrapper-based reload to stay in sync with ComfyUI
4. Multiple Clear VRAM cycles without errors

Note: Higgs Audio works best with CUDA graphs disabled for dynamic memory
management. With CUDA graphs enabled, model may be marked invalid after
CPU offload (handled by HiggsAudioHandler in engine_handlers.py).
2025-10-27 22:06:16 -03:00
diodiogod 98b167702f Fix Clear VRAM button for all TTS engines after CPU offload
Added comprehensive device management fixes to ensure "Clear VRAM" button
works correctly across multiple generation cycles for all TTS engines.

Changes:
- engines/chatterbox/tts.py: Added .to() method to ChatterboxTTS class
- engines/chatterbox/vc.py: Added .to() method to ChatterboxVC class
- nodes/base/base_node.py: Added device checking before generation that
  reloads models via wrapper system when device mismatch detected
- utils/models/comfyui_model_wrapper/engine_handlers.py: Created missing
  engine handlers file with BaseEngineHandler and HiggsAudioHandler

The fix ensures:
1. Models can be moved between CPU and CUDA via .to() method
2. Device mismatches are detected before generation
3. Models reload through wrapper.model_load() to stay in sync with ComfyUI
4. Wrappers re-register with ComfyUI after reload so Clear VRAM continues working

Tested with ChatterBox Classic and ChatterBox Official 23-Lang - both now
support multiple Clear VRAM cycles without errors.
2025-10-27 21:59:41 -03:00
diodiogod 43cd4f5bd9 Version 4.11.24
Fix ChatterBox Official 23-Lang device placement bug

Technical implementation:
- Add .to() method to ChatterBoxOfficial23LangTTS class for device migration
- Add .to() method to ChatterboxVC class for voice conversion device handling
- Improve wrapper's _move_all_components_to_device() with better recursion depth
- Fix unified_model_interface device resolution for 'auto' mode
- Add ComfyUI model management re-registration after wrapper.model_load()
- Fix model_finalizer setup when re-registering with ComfyUI
- Add device check in processor to call wrapper.model_load() instead of direct .to()

Fixes device mismatch errors:
- Fix 'Expected all tensors to be on the same device' error on second run
- Fix 'Inference tensors do not track version counter' after CPU detachment
- Fix 'Clear VRAM' button not working after model reload
2025-10-27 19:10:52 -03:00
diodiogod 2fd56ad4b9 Version 4.11.22
Fix remaining torch_dtype deprecation warning in Higgs Audio

Technical changes:
- Replace self.config.torch_dtype with self.dtype in CUDA graph capture
- Add fallback chain: self.dtype -> self.config.dtype -> torch.float32
- Complete elimination of all torch_dtype deprecation warnings
2025-10-25 13:15:57 -03:00
diodiogod 2d4f16d7d9 Version 4.11.21
Fix Higgs Audio compatibility with transformers 4.57.1+

Technical changes:
- Add **kwargs to HiggsAudioModel.forward() to catch new tokenizer argument
- Replace deprecated torch_dtype with dtype in from_pretrained() calls
- Ensure backward compatibility with older transformers versions
2025-10-25 13:11:06 -03:00
diodiogod dffd6f4cab Reduce verbose init logging - remove success messages for FFmpeg, numba JIT, engine loading, and model discovery
- Remove 'FFmpeg available' success message (only show when unavailable)
- Remove 'numba JIT enabled' success message
- Remove 'ChatterboxTTS/VC loaded from bundled package' success messages
- Remove 'F5-TTS loaded from system package' success message
- Remove 'Using ComfyUI ChatterBox models' legacy success message
- Keep important diagnostic messages like 'Failed to load GPU Faiss' and package versions
2025-10-23 22:02:42 -03:00
diodiogod 2f1a8183a8 Skip verbose download messages for already-downloaded IndexTTS-2 models
- Check if model exists and is valid before printing download message
- Add verbose parameter to _verify_model for silent checks
- Only show 'Downloading' messages when actually downloading new models
- Reduces console spam on subsequent runs or when using Any Switch
2025-10-23 13:47:07 -03:00
diodiogod 2ca5b7d6bc Fix Any Switch device parameter corruption in unified nodes
- Add sanitization for corrupted device values (floats like 0.6 instead of strings)
- Apply fix to all unified nodes: TTS Text, TTS SRT, Voice Changer
- Prevents 'device 0.6 is invalid' and similar errors when using rgthree Any Switch node
- On first run after ComfyUI restart, Any Switch corrupts numeric config parameters
- Workaround converts corrupted floats back to proper device strings ('cuda:0', 'auto')
2025-10-23 10:06:50 -03:00
diodiogod 76379af376 Version 4.11.16
Fix device mismatch in TTS model reuse after CPU offloading

Root cause: When models are detached to CPU and then reloaded to GPU, conditioning tokens (cond_prompt_speech_tokens) remain on CPU. The prepare_conditioning() method in T3 model tries to embed these CPU tokens using GPU embedding layers, causing device mismatch.

Solution: Explicitly move conditioning tokens to model device before calling embedding layers in both ChatterBox and ChatterBox Official 23-Lang T3 models.
2025-10-22 18:22:07 -03:00
diodiogod ef51a9a5ae Version 4.11.15
Fix Higgs Audio DynamicCache AttributeError and cache recreation on device transitions

Technical details:
- Fix ambiguous cache type checking using hasattr() instead of isinstance()
- Replace cache reset logic with explicit StaticCache vs DynamicCache handling
- Add exception handling for cache reset operations
- Set force_cache_recreation flag when clearing caches during CPU unload
- Improve DynamicCache manual construction with better error handling
2025-10-22 15:04:36 -03:00
diodiogod e299ab9719 Version 4.11.14
Skip WeTextProcessing on Windows to avoid confusing install errors

Windows users see failed WeTextProcessing installation due to missing build
tools, even though code has graceful fallback. This confuses users.

Changes:
- Detect Windows platform and skip WeTextProcessing installation
- Use fallback text processing instead (works fine, slightly slower for Chinese)
- Add explanatory message in install summary for Windows users
- No functional impact - all TTS generation works normally
2025-10-22 10:44:06 -03:00
diodiogod aae6151f57 Version 4.11.13
Fix VibeVoice compatibility with transformers 4.51.3+

Technical details:
- Add num_hidden_layers patch to VibeVoiceConfig
- Patch applies wildminder v1.5.1 fix to FushionHub fork
- Fixes DynamicCache initialization error in transformers 4.51.3+
2025-10-22 10:18:18 -03:00
diodiogod fc4668a5e1 Fix IndexTTS-2 CampPlus model auto-download using unified downloader
Issue #144: CampPlus model fails to load with FileNotFoundError
Root cause: CampPlus was using hf_hub_download() directly instead of unified
downloader, causing it to look in HuggingFace cache instead of TTS folder

Changes:
- Add CampPlus model to index_tts_downloader MODELS dict
- Replace direct hf_hub_download() with unified downloader in infer_v2.py
- Ensures CampPlus downloads to models/TTS/IndexTTS/campplus/
- Follows consistent download policy with other IndexTTS-2 dependencies
2025-10-21 08:42:41 -03:00
diodiogod 8d4a8b067f Version 4.11.11
Fix ChatterBox Official 23-Lang device mismatch on cached model reuse

Root cause: When models are moved from CPU back to VRAM after being detached,
the model components are properly moved but conditioning data remained on CPU.
This caused embedding layers to fail (input tensors on CPU, weights on CUDA).

Changes:
- TTS engine: Sync self.conds to device in generate() and generate_batch()
- VC engine: Sync self.ref_dict to device in generate()
- Ensures all tensors are on correct device before inference
2025-10-20 18:03:55 -03:00
diodiogod 6b2157d29e Version 4.11.10
Add SSL certificate bypass for IndexTTS-2 W2V-BERT download

Technical details:
- Add TTS_DISABLE_SSL_VERIFY environment variable support
- Implement scoped SSL bypass for transformers downloads
- Restore SSL verification after model loading completes
- Add SSL verification toggle to unified downloader
2025-10-19 08:37:16 -03:00
diodiogod 6405e8494c Version 4.11.9
Fix VibeVoice standalone model detection

Technical details:
- Add support for .safetensor extension (singular)
- Fix _find_standalone_model() to search extra_model_paths.yaml directories
- Add case-insensitive folder name support (vibevoice/VibeVoice)
2025-10-14 18:19:38 -03:00
diodiogod 9f722ad392 Version 4.11.8
Fix F5-TTS trainer wandb import for protobuf compatibility

- Make wandb import optional in trainer.py to prevent crashes
- Add WANDB_AVAILABLE flag with graceful degradation
- Fixes issue with ComfyUI portable protobuf version mismatch
2025-10-14 18:11:40 -03:00
diodiogod eaf5123bd9 Version 4.11.7
Fix RVC HuBERT model loading error

Technical details:
- Add direct .pt loading attempt before safetensors conversion
- Improve error handling for unsupported model formats
- Add fallback mechanism for complex fairseq models
2025-10-13 09:09:35 -03:00
diodiogod 04167d31b9 Version 4.11.6
Fix IndexTTS-2 dependency download violations

Technical fixes:
- Fix w2v-bert-2.0 downloading to .cache instead of TTS folder
- Fix MaskGCT semantic codec downloading to .cache instead of TTS folder
- Fix BigVGAN vocoder downloading to .cache instead of TTS folder
- Update download configurations to include only necessary files
- All IndexTTS-2 dependencies now use unified downloader
2025-10-10 12:09:44 -03:00
diodiogod 917cdc7269 Version 4.11.5
Fix Higgs Audio HuBERT download policy to use unified TTS structure

Technical details:
- Replace direct AutoModel.from_pretrained() calls with unified downloader
- Follow proper download policy: TTS folder > cache check > download to TTS
- Download HuBERT to TTS/hubert/hubert-base-ls960/ instead of .cache
- Maintain consistency with other engines (ChatterBox, VibeVoice, etc.)
- Respect extra_model_paths.yaml configuration for custom directories
2025-10-10 11:46:09 -03:00
diodiogod c473837547 Version 4.11.4
Fix Higgs Audio model discovery with extra_model_paths.yaml support

Technical details:
- Add proper extra_model_paths.yaml integration like other TTS engines
- Support HiggsAudio/, higgs_audio/, and higgsaudio/ parent folder variations
- Add flexible subfolder scanning with Higgs Audio-specific file detection
- Use get_all_tts_model_paths() instead of hardcoded directory paths
- Update download_model and download_tokenizer for local: prefix support
2025-10-10 11:30:29 -03:00
diodiogod 4a7673f583 Version 4.11.3
Fix VibeVoice model discovery with extra_model_paths.yaml support

Technical details:
- Add proper extra_model_paths.yaml integration like ChatterBox
- Support both vibevoice/ and VibeVoice/ parent folder case variations
- Add flexible subfolder scanning with VibeVoice-specific file detection
- Use get_all_tts_model_paths() instead of hardcoded directory paths
2025-10-10 11:11:28 -03:00
diodiogod 6ea81bc8a4 Fix ChatterBox v1 vocab size mismatch
- Update T3Config to create version-specific configs (v1: 2352 tokens, v2: 2454 tokens)
- Load correct tokenizer file based on version (v1: mtl_tokenizer.json, v2: grapheme_mtl_merged_expanded_v1.json)
- Update is_multilingual property to recognize both v1 and v2 vocab sizes
- Add version parameter to T3Config.multilingual() classmethod

Fixes RuntimeError when loading v1 model with v2 vocab size expectations
2025-10-08 08:47:54 -03:00
diodiogod 0a25e88ff4 Fix ChatterBox v2 model download issues
- Fix path normalization: strip "ChatterBox " prefix for consistent download paths
- Fix conds.pt conversion: exclude from .pt→.safetensors conversion (doesn't exist as safetensors)
- Add model_version parameter to fallback from_local() call in processor
- Prevents 404 error when downloading v2 model files
2025-10-08 08:19:24 -03:00
diodiogod 0703e850f7 Update bundled ChatterBox 23-lang code to v2 specification
Critical fixes for v2 compatibility:
1. Updated vocabulary size from 2352 to 2454 tokens (102 new special tokens)
2. Added v2 preprocessing with NFKD normalization and lowercase support
3. Added Russian stress marking feature with russian_text_stresser integration
4. Updated MTLTokenizer.encode() and text_to_tokens() with v2 parameters

This fixes the "size mismatch for text_emb.weight" error when loading v2 models.
The bundled code now matches ResembleAI's v2 update (commit bf169fe).

Files updated:
- models/t3/modules/t3_config.py: vocabulary 2352 → 2454
- models/tokenizers/tokenizer.py: added preprocess_text(), Russian stress, v2 params
2025-10-08 08:08:49 -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 f3168e940e Add ChatterBox Official 23-Lang v2 support with special emotion tokens
Implemented full support for ChatterBox v2 with enhanced tokenization featuring
30+ special tokens for emotions, sounds, and vocal effects.

Key Features:
- Model version selection (v1/v2) in engine configuration node
- Auto-download of v2 model files (t3_mtl23ls_v2.safetensors, grapheme mappings)
- Special tags system using <emotion> syntax to avoid character switching conflicts
- Automatic conversion of <giggle>, <sigh>, <whisper> etc. to v2 format
- Cache invalidation between v1/v2 to prevent conflicts
- Full integration with character switching and pause tags

Technical Changes:
- Added model_version parameter throughout TTS and SRT processing chain
- Created chatterbox_v2_special_tags.py for tag conversion
- Updated cache keys to include model_version
- Version-aware model loading and validation
- Tag conversion happens after character/pause parsing, before engine

User can now write:
[Alice] Hello! <giggle> Nice to meet you. [pause:0.5] <whisper> Secret!

Documentation added in docs/CHATTERBOX_V2_SPECIAL_TOKENS.md
2025-10-07 23:43:13 -03:00
diodiogod b38667257b Version 4.10.16
Fix VibeVoice local model prefix handling

Technical details:
- Strip local: prefix for model lookups in vibevoice_downloader
- Fix model path resolution when using local: prefix
- Add chunk_combination_method parameter to unified node
- Implement native multi-speaker chunking support
- Use existing ImprovedChatterBoxChunker for intelligent text splitting
2025-10-07 22:17:20 -03:00
diodiogod 1adaa1a22c Version 4.10.15
Fix VibeVoiceDownloader missing download_huggingface_model method

Technical details:
- Add missing download_huggingface_model method to VibeVoiceDownloader class
- Fix method delegation to unified_downloader in both real and dummy classes
- Resolve AttributeError when VibeVoice tokenizer download fails to cache
2025-09-29 08:28:18 -03:00
diodiogod 8855e493f3 Version 4.10.14
Fix VibeVoice auto device detection and model loading issues

Technical details:
- Fix model being moved to CPU after every generation
- Prevent redundant model loading through unified interface
- Add model already-loaded check in VibeVoice adapter
- Fix auto device detection logic running after cache checks
- Resolve aggressive memory management triggering unnecessarily
2025-09-27 10:41:00 -03:00
diodiogod abf14e0474 Version 4.10.13
Fix VibeVoice cache invalidation for attention modes

Technical details:
- Fix cache key missing attention_mode parameter
- Add quantize parameter to cache key generation
- Remove debug cache logging statements
2025-09-26 15:27:56 -03:00
diodiogod 793722aa9a Version 4.10.12
Fix VibeVoice accelerate compatibility issues

Technical implementation:
- Add comprehensive transformers patches for accelerate detection
- Fix missing check_tied_parameters_on_same_device function
- Fix missing dispatch_model function for device mapping
- Smart patch application only when compatibility issues detected
- Add accelerate to critical dependencies monitoring
2025-09-26 14:54:28 -03:00
diodiogod c5c227b996 Version 4.10.11
Fix VibeVoice SageAttention compatibility issues

Technical improvements:
- Replace aggressive Qwen2Attention monkey-patching with safer SDPA wrapper approach
- Implement Enemyx-net's temporary F.scaled_dot_product_attention patching method
- Add proper EOS token handling for correct generation termination
- Fix model state corruption when switching between attention modes
- Add automatic fallback to original SDPA if SageAttention fails
- Eliminate need for ComfyUI restart when changing attention modes

Credits: SageAttention implementation approach adapted from @Enemyx-net's VibeVoice-ComfyUI
2025-09-26 12:10:08 -03:00
diodiogod df128496ba Fix IndexTTS-2 import conflicts with external installations
- Add detection for external IndexTTS installations that conflict with bundled version
- Display clear error message with uninstall instructions when conflicts are found
- Remove unnecessary adapter initialization log message
- Resolves import errors reported in issues #115, #116, and #101
2025-09-26 09:18:05 -03:00
diodiogod 05c3fcf297 Add [1] [2] [3] [4] support for wildminder VibeVoice format compatibility
For compatibility with wildminder's VibeVoice implementation, added support
for numeric character tags [1] [2] [3] [4] in native multi-speaker mode.

- Numeric characters [1]-[4] now map directly to Speaker 1-4 voice inputs
- Works alongside existing character tag to speaker mapping system
- Mixed usage supported: [1] [2] [Alice] maps to Speakers 1, 2, 3
- Character parser unchanged - handles all existing tags normally
- VibeVoice-specific enhancement in native multi-speaker mode only

This provides users a convenient shorthand format while maintaining
full backward compatibility with existing character tag systems.
2025-09-25 17:54:36 -03:00
diodiogod 23199d6942 Implement true zero-shot hybrid voice generation
Replace synthetic voice samples with None values for empty speakers, enabling
genuine zero-shot generation following wildminder's approach:

- Empty speakers now return None instead of synthetic voice samples
- Processor skips voice prompt creation for None values
- Results in natural zero-shot voices instead of artificial synthetic ones
- Maintains voice cloning for speakers with provided samples
- Enables true hybrid generation: cloned + zero-shot voices in same script

This produces much more natural-sounding voices for speakers without
voice references while preserving voice cloning capabilities.
2025-09-25 15:11:52 -03:00
diodiogod 1b0ef785de Fix local: prefix pattern for VibeVoice models
Follow ChatterBox/F5-TTS pattern correctly:
- Show ALL official models always (vibevoice-1.5B, vibevoice-7B)
- ADD local: versions when downloaded (local:vibevoice-1.5B, local:vibevoice-7B)
- Show local: versions for standalone files (local:my-custom-model)

Users now see both regular and local: versions when models are downloaded,
providing choice between smart loading vs direct local loading.
2025-09-25 15:07:12 -03:00
diodiogod dea4f7f06c Add standalone .safetensors model support for VibeVoice
- Support single .safetensors files alongside traditional directory models
- Auto-discover standalone models in TTS and checkpoints folders
- Add 'local:' prefix for consistency with ChatterBox/F5-TTS naming convention
- Support sidecar config files (model.config.json, model.preprocessor.json)
- Fallback to default configs based on model name if sidecar missing
- Use ComfyUI's load_torch_file() for efficient device-direct loading
- Enable custom fine-tuned VibeVoice model distribution and usage

Users can now drop custom VibeVoice .safetensors files into TTS folder and
they'll appear as 'local:model-name' in dropdown, ready to use.
2025-09-25 14:56:54 -03:00
diodiogod 90bf7a8ac0 Improve VibeVoice tokenizer loading with unified folder support
- Implement ChatterBox-style tokenizer loading pattern: local → cache → download to unified
- Add tokenizer.json to download manifests for both 1.5B and 7B models
- Fix tokenizer class mismatch warnings by loading directly from tokenizer files
- Clean up verbose logging messages (commented out for debugging availability)
- Ensure tokenizer files go to TTS/ unified folder instead of HF cache duplication

Prevents potential 'VibeVoiceConfig' object crashes and eliminates warnings while
maintaining compatibility and following project's unified download philosophy.
2025-09-25 11:24:23 -03:00
diodiogod c33cf24989 Version 4.10.4
Fix VibeVoice compatibility with transformers 4.56+

Technical details:
- Enable previously disabled transformers compatibility patches
- Fix _prepare_cache_for_generation argument mapping for newer transformers versions
- Maintain backward compatibility with older transformers versions
2025-09-23 20:47:31 -03:00