Commit Graph
29 Commits
Author SHA1 Message Date
diodiogod 764e28a1aa Add HuBERT Large RVC training support 2026-07-14 17:38:30 -03:00
diodiogod b31b31b89f Version 5.4.2
Address issue #312 with MPS-safe RVC tensor typing

Technical details:
- Keep RVC pitch indices integer on Apple MPS devices.
- Normalize phone features to the linear layer weight dtype.
- Normalize pitch values to torch.long at the encoder boundary.
- Preserve CUDA half-precision compatibility.
2026-07-10 14:25:59 -03:00
diodiogod 45980761ee Fix RVC empty chunk handling and MelBand import 2026-06-09 00:58:48 -03:00
diodiogod 4a21a59fb9 Version 4.25.19
Fix RVC RMVPE librosa import fallback for Python 3.13

Technical details:
- Catch runtime import-time errors from librosa.util (not only ImportError)
- Fall back to bundled pad_center/tiny/normalize compatibility helpers
- Prevent RVC dataset prep from crashing when numba/librosa typing errors occur

Address issue #293
2026-05-06 22:09:03 -03:00
diodiogod 4521ffbc79 Add unified RVC training workflow and improve RVC UX 2026-04-05 11:09:06 -03:00
diodiogod 3dad764d2c Fix: Add deferred rigorous Numba compilation testing and global librosa fallback patching to prevent catastrophic JIT typing errors on NumPy 2.x 2026-02-21 22:39:37 -03:00
diodiogod 3cfdc86826 fix(karafan): corrected FFmpegUtils method call 2026-02-21 10:15:49 -03:00
diodiogod 3e840da456 Version 4.21.10
Fix Mac/MPS compatibility: replace hardcoded CUDA calls

- Replace hardcoded `.cuda()` calls with `.to(device)` in Step Audio EditX, RVC Engine, and VibeVoice Engine
- Resolve inference crashes on macOS (Apple Silicon) and CPU-only setups
2026-02-20 21:11:20 -03:00
diodiogod 6eebfb7e16 Fix hardcoded ffmpeg path in RVC KaraFan implementation 2026-02-20 10:54:45 -03:00
diodiogod 51e97f70f6 Version 4.14.34
Fix RVC HuBERT subdirectory double-nesting issue

Technical fix:
- Add check to detect if .pt file is already in correct subdirectory
- Prevent creating nested subdirectories (e.g., chinese_hubert_base/chinese_hubert_base/)
- Use existing subdirectory path when model is already correctly placed
2025-12-02 09:54:53 -03:00
diodiogod 4214491e59 Version 4.14.32
Fix RVC HuBERT model loading and compatibility

Technical changes:
- Fix Japanese HuBERT download URL (moved to public prj-beatrice repo)
- Fix content-vec-best model reference (was hubert-base-rvc)
- Add transformers HuBERT support with TransformersHubertWrapper
- Implement subdirectory structure for transformers models to avoid config conflicts
- Add auto-migration for existing models to new subdirectory structure
- Fix HubertConfig import scope issue in loaders.py
- Add config.json auto-download for transformers models
- Fix dtype conversion (float16/float32) in feature extraction
- Add dimension mismatch detection with helpful user messages
- Fix hubert_path parameter passthrough in conversion pipeline
2025-12-02 00:41:24 -03:00
diodiogod 5d32cf4e1f Add MPS device support throughout RVC engine
RVC was hardcoding 'cuda' or 'cpu' device selection in 4 locations, completely ignoring MPS support.

Fixed in:
- minimal_reference_wrapper.py: 3 device hardcoding locations
- rvc_engine.py: 1 device hardcoding location
- rmvpe.py: 1 device hardcoding location

All now use resolve_torch_device('auto') for intelligent MPS/CUDA/CPU selection.

Fixes #160
2025-11-05 06:38:36 -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 e6b9a5ab80 Version 4.8.27
Centralize numba compatibility system with smart testing

Technical implementation:
- Replace 15+ duplicate JIT workaround blocks with unified system
- Add utils/compatibility/numba_compat.py with startup testing
- Implement fallback for environments without compatibility module
- Test librosa.stft() at startup and apply workarounds only when needed
- Eliminate contradictory startup messages between init and nodes
- Maintain backward compatibility with legacy Python 3.13 fixes
2025-09-09 00:40:06 -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 1e61db1fca Version 4.8.20
Fix Python 3.13 RVC and vocal separation compatibility

Technical fixes:
- Fix RVC f0 method dependencies (pyworld, torchfcpe) for complete functionality
- Fix vocal separation numba/librosa compatibility issues in Python 3.13
- Fix MDX23C model path resolution and Karafan engine integration
- Fix model substitution and fallback error handling
- Improve default model selection (MelBand over slow ONNX on CPU)
- Add comprehensive safe wrapper functions for librosa operations
2025-09-06 22:55:31 -03:00
diodiogod cd853b70eb Fix Python 3.13 librosa/numba compatibility in vocal separation
- Add safe_stft(), safe_istft(), and safe_resample() fallback functions
- Replace problematic librosa calls in UVR spec_utils.py with safe versions
- Try librosa first, fall back to torchaudio on numba compilation errors
- Use librosa-compatible defaults for torchaudio (Hann window, center=True)
- Fixes 'get_call_template' AttributeError in Python 3.13
- Preserves audio quality while maintaining compatibility
2025-09-06 20:55:55 -03:00
diodiogod 42f4fa3acd Fix MDX mono/stereo dimension mismatch in vocal separation
- Move mono-to-stereo conversion to beginning of initialize_mix()
- Ensures both is_ckpt and else branches handle mono audio correctly
- Prevents concatenation errors with mixed channel dimensions
2025-09-06 18:20:05 -03:00
diodiogod 3e5f9a3721 Fix RVC Python 3.13 compatibility - comprehensive numba/librosa solution
Major compatibility overhaul for RVC engine in Python 3.13 environments:

🔧 Core Compatibility Fixes:
• Disabled numba JIT compilation for Python 3.13+ via environment variables
• Added comprehensive librosa compatibility patches for missing functions:
  - pad_center, tiny (as function), fill_off_diagonal, is_positive_int, expand_to
• Replaced librosa.resample with torchaudio.resample to eliminate numba dependency
• Fixed all relative imports in RVC implementation (. notation)

⚡ Performance Improvements:
• Manual RMS calculation replacing librosa.feature.rms (avoids numba)
• Higher quality audio resampling using torchaudio
• Maintains backward compatibility with Python 3.12

🐛 Bug Fixes:
• Fixed 'function' object has no attribute 'get_call_template' errors
• Resolved 'float' object is not callable in librosa.sequence.viterbi
• Fixed ImportError for missing librosa utility functions
• Enhanced error handling and debugging throughout RVC pipeline

✨ Features:
• Comprehensive monkey-patching system for librosa compatibility
• Automatic fallbacks for failed operations
• Detailed logging for troubleshooting

Successfully tested with full RVC voice conversion workflow in Python 3.13.6.
2025-09-06 17:22:33 -03:00
diodiogod b3a24bfe4d Version 4.8.16
Fix comprehensive librosa compatibility for RVC engine

Technical implementation:
- Handle pad_center, tiny, and normalize import failures separately
- Add manual implementations for all three librosa utility functions
- Support any librosa version including latest releases that moved/removed functions
- Individual function fallbacks prevent partial import failures

Resolves: #47 (additional fix)
2025-09-06 15:06:43 -03:00
diodiogod 55b7a7ae59 Version 4.8.15
Fix RVC librosa pad_center compatibility issue

Technical implementation:
- Add librosa version compatibility layer in rmvpe.py
- Support both old and new librosa API versions
- Manual pad_center implementation using numpy as fallback
- Handles ImportError gracefully without breaking RVC functionality

Resolves: #47
2025-09-06 14:45:08 -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 30da2ba370 Version 4.3.7: Fix TTS Audio Suite model organization and RVC Hubert compatibility issues 2025-08-13 13:43:14 -03:00
diodiogod a2451d77e2 Version 4.3.1
Fix ffmpeg-python dependency issue in RVC vocal removal

Replace ffmpeg-python imports with subprocess calls in RVC audio processing.
The ffmpeg-python package was causing import errors during node loading.

- Updated engines/rvc/impl/rvc_audio.py to use subprocess
- Updated engines/rvc/impl/lib/audio.py to use subprocess
- Fixed corrupted Chinese comment in audio.py
- Maintains same ffmpeg functionality using system binary

Resolves vocal removal node failing to load with 'No module named ffmpeg' error.
2025-08-13 00:42:51 -03:00
diodiogod a7603a4cbf Clean up RVC node parameters and match Replay terminology
- Remove duplicated parameters from RVC Pitch Extraction Options node (index_rate, protect, rms_mix_rate, resample_sr)
- Rename parameters to match Replay RVC interface:
  * pitch_shift → pitch
  * f0_method → pitch_detection
  * index_rate → index_ratio
  * protect → consonant_protection
  * rms_mix_rate → volume_envelope
  * resample_sr → output_sample_rate
- Improve separation of concerns between RVC Engine and RVC Pitch Options nodes
- Update UVR5 model compatibility warnings and add MDX23C/RoFormer handling
2025-08-08 14:40:01 -03:00
diodiogod df5996e4e7 Finalize SCNet implementation with experimental warning
- Keep SCNet as experimental due to audio buzzing artifacts
- Add clear warnings in CLI and UI tooltips about quality issues
- Implementation functionally complete with chunked processing
- Users warned about potential audio artifacts before use
2025-08-08 13:39:20 -03:00
diodiogod b44647ed5f Fix SCNet tensor reshaping and return type compatibility
- Fixed batch size calculation in SCNet forward pass to prevent division by zero
- Added chunked processing with overlap blending for large audio files to avoid OOM on RTX 4090
- Fixed uvr5_cli.py to handle both tuple returns (SCNet) and dict returns (other models)
- Removed debug print statements for production readiness
2025-08-08 12:14:30 -03:00
diodiogod 5eb2301a33 Fix SCNet model configuration to match actual checkpoints
CRITICAL FIX:
- Fixed band_kernel mismatch: [3, 4, 16] → [3, 4, 4] for XL models
- Fixed band_stride mismatch: [1, 4, 16] → [1, 4, 4] for XL models
- Added automatic config detection based on model filename
- Added debug logging for configuration verification

ISSUE RESOLVED:
- SCNet XL model was failing to load due to kernel size mismatch
- Checkpoint expected kernel size 4, code was using 16
- Now properly detects XL vs standard models and uses correct params

ARCHITECTURE:
- XL models: dims=[4, 64, 128, 256] with band_kernel=[3, 4, 4]
- Standard models: dims=[4, 32, 64, 128] with band_kernel=[3, 4, 16]
2025-08-08 12:03:06 -03:00
diodiogod aa6c679449 Implement SCNet SOTA architecture for vocal separation (10.08 SDR)
MAJOR NEW FEATURE:
- Full SCNet implementation from ZFTurbo's Music-Source-Separation-Training
- SCNet achieves 10.08 SDR - significantly better than previous models
- Paper: https://arxiv.org/abs/2401.13276.pdf

TECHNICAL IMPLEMENTATION:
- Added complete SCNet architecture with Sparse Compression Network
- Dual-Path RNN with frequency/time processing
- Multi-band sparse down/up-sampling layers
- Transformer-based separation network
- Compatible interface with existing UVR5/RVC framework

NEW SOTA MODELS ADDED:
- model_scnet_xl_ihf_sdr_10.08.ckpt (BEST OVERALL - 10.08 SDR)
- model_scnet_masked_xl_ihf_sdr_9.82.ckpt (Noise reduction variant)
- model_vocals_mdx23c_sdr_10.17.ckpt (Best vocals only)
- denoise_mel_band_roformer_sdr_27.99.ckpt (Best denoising - 27.99 SDR\!)

ARCHITECTURE FEATURES:
- Sparse compression for efficient processing
- Multi-band frequency processing (low/mid/high)
- Advanced dual-path RNN with bidirectional LSTM
- Feature conversion with FFT/IFFT operations
- Encoder-decoder with skip connections and fusion layers

INTEGRATION:
- Automatic SCNet model detection by filename
- Proper parameter handling (no aggressiveness for SCNet)
- GPU acceleration support
- Compatible caching system
- Updated model tooltips with new SOTA recommendations

LICENSE: MIT (ZFTurbo/Roman Solovyev) - Free to use and modify
2025-08-08 12:01:22 -03:00