Skip to content

Commit 9b83253

Browse files
committed
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
1 parent ec6f127 commit 9b83253

5 files changed

Lines changed: 49 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [4.25.10] - 2026-04-12
9+
10+
### Added
11+
12+
- Show clearer install warnings when faiss is present but unusable
13+
14+
### Changed
15+
16+
- Improve RVC training FAISS setup on Linux
17+
- Improve RVC training setup when Linux CUDA faiss packages install incorrectly
18+
19+
### Fixed
20+
21+
- Fall back to faiss-cpu automatically if the GPU faiss package is broken
822
## [4.25.9] - 2026-04-11
923

1024
### Changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[![Dynamic TOML Badge][version-shield]][version-url]
88
[![Ko-Fi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge&logo=ko-fi&logoColor=white)](https://ko-fi.com/diogogo)
99

10-
# TTS Audio Suite v4.25.9
10+
# TTS Audio Suite v4.25.10
1111

1212
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/diogogo)
1313

install.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,24 @@ def install_pytorch_with_cuda(self):
448448

449449
self.run_pip_command(pytorch_cmd_25, f"Installing PyTorch 2.5+ ({cuda_version} support)")
450450

451+
def verify_python_import(self, module_name: str) -> bool:
452+
"""Verify a module imports in the target Python environment."""
453+
try:
454+
result = subprocess.run(
455+
[sys.executable, "-c", f"import {module_name}"],
456+
capture_output=True,
457+
text=True,
458+
timeout=30,
459+
)
460+
if result.returncode == 0:
461+
return True
462+
error_text = (result.stderr or result.stdout or "unknown import failure").strip()
463+
self.log(f"Python import check failed for {module_name}: {error_text}", "WARNING")
464+
return False
465+
except Exception as e:
466+
self.log(f"Python import check failed for {module_name}: {e}", "WARNING")
467+
return False
468+
451469
def check_package_installed(self, package_spec):
452470
"""Check if a package meets the version requirement"""
453471
try:
@@ -721,12 +739,22 @@ def install_rvc_dependencies(self):
721739

722740
# Try GPU installation first with --no-deps to prevent numpy downgrade
723741
self.run_pip_command(["install", "--no-deps", faiss_gpu_package], f"Installing {faiss_gpu_package} for GPU acceleration (--no-deps)")
724-
self.log("faiss-gpu installed with --no-deps - RVC will use GPU acceleration without downgrading numpy", "SUCCESS")
742+
if self.verify_python_import("faiss"):
743+
self.log("faiss-gpu import test passed", "SUCCESS")
744+
else:
745+
self.log("faiss-gpu package installed but import failed - falling back to CPU version", "WARNING")
746+
faiss_gpu_name = faiss_gpu_package.split(">=")[0]
747+
self.run_pip_command(["uninstall", "-y", faiss_gpu_name], f"Removing broken {faiss_gpu_name}", ignore_errors=True)
748+
self.run_pip_command(["install", "--no-deps", "faiss-cpu>=1.7.4"], "Installing faiss-cpu (fallback, --no-deps)")
749+
if not self.verify_python_import("faiss"):
750+
self.log("faiss-cpu installed but faiss import still failed", "WARNING")
725751

726752
except subprocess.CalledProcessError:
727753
# GPU installation failed - fallback to CPU
728754
self.log("faiss-gpu installation failed - falling back to CPU version", "WARNING")
729755
self.run_pip_command(["install", "--no-deps", "faiss-cpu>=1.7.4"], "Installing faiss-cpu (fallback, --no-deps)")
756+
if not self.verify_python_import("faiss"):
757+
self.log("faiss-cpu installed but faiss import still failed", "WARNING")
730758
else:
731759
# Windows or no CUDA - use reliable CPU version
732760
if self.is_windows and cuda_version != "cpu":
@@ -739,6 +767,9 @@ def install_rvc_dependencies(self):
739767
else:
740768
self.run_pip_command(["install", "--no-deps", "faiss-cpu>=1.7.4"], "Installing faiss-cpu for RVC voice matching (--no-deps)")
741769

770+
if not self.verify_python_import("faiss"):
771+
self.log("faiss-cpu is installed but faiss import still failed", "WARNING")
772+
742773
def install_numpy_with_constraints(self):
743774
"""Install numpy with version constraints for compatibility"""
744775
self.log("Checking numpy compatibility", "INFO")

nodes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
pass
1212

1313
# Version and constants
14-
VERSION = "4.25.9"
14+
VERSION = "4.25.10"
1515
IS_DEV = False # Set to False for release builds
1616
VERSION_DISPLAY = f"v{VERSION}" + (" (dev)" if IS_DEV else "")
1717
SEPARATOR = "=" * 70

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "tts_audio_suite"
33
description = "TTS Audio Suite - Universal multi-engine TTS extension for ComfyUI with unified architecture supporting IndexTTS-2, ChatterBox, Chatterbox Multilingual TTS (Official 23-Lang), F5-TTS, Higgs Audio 2, VibeVoice, and RVC engines. It has character voice management, SRT subtitle TTS support, and audio processing capabilities."
4-
version = "4.25.9"
4+
version = "4.25.10"
55
license = {file = "LICENSE"}
66

77
[project.urls]

0 commit comments

Comments
 (0)