From 68c4227cb7596b21a582c1ae0d58cf8947c743fd Mon Sep 17 00:00:00 2001 From: MasterPhooey Date: Tue, 4 Aug 2026 06:25:09 -0500 Subject: [PATCH] Release NVIDIA WakeWord Trainer v26 --- VERSION | 2 +- WHATS_NEW.md | 3 +-- cli/tts_generate_samples.py | 2 +- cli/tts_moss_worker.py | 1 - tests/test_modern_tts.py | 17 +++++++++++++++++ 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index 7273c0f..6f4247a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -25 +26 diff --git a/WHATS_NEW.md b/WHATS_NEW.md index b4462cd..09eaf12 100644 --- a/WHATS_NEW.md +++ b/WHATS_NEW.md @@ -1,2 +1 @@ -- Prevented unreadable audio files from freezing sample preparation by adding a bounded FFmpeg watchdog, safe cleanup, and visible normalization progress. -- Kept primary and guided STT results visible after captures are automatically sorted into positive or negative training samples. +- Restored MOSS-TTS-Nano generation with the current voice-cloning API so all four providers contribute to the final training corpus. diff --git a/cli/tts_generate_samples.py b/cli/tts_generate_samples.py index 62151b2..2e8cf1c 100755 --- a/cli/tts_generate_samples.py +++ b/cli/tts_generate_samples.py @@ -44,7 +44,7 @@ from tts_config import ( # noqa: E402 ) -GENERATOR_VERSION = "modern-tts-v15-four-provider-direct-corpus-safe-limits" +GENERATOR_VERSION = "modern-tts-v16-four-provider-direct-corpus-safe-limits" VOICE_BANK_VERSION = "modern-tts-voice-bank-v1-native-random-qualified-single-utterance" COMPATIBLE_VOICE_BANK_VERSIONS = { VOICE_BANK_VERSION, diff --git a/cli/tts_moss_worker.py b/cli/tts_moss_worker.py index 6bc870c..b175c06 100755 --- a/cli/tts_moss_worker.py +++ b/cli/tts_moss_worker.py @@ -69,7 +69,6 @@ def main() -> int: text=str(item["text"]), output_audio_path=str(output_path), mode="voice_clone", - prompt_text=str(item["ref_text"]), prompt_audio_path=str(item["ref_audio"]), reference_audio_path=None, text_tokenizer_path=None, diff --git a/tests/test_modern_tts.py b/tests/test_modern_tts.py index e9d2237..310798d 100644 --- a/tests/test_modern_tts.py +++ b/tests/test_modern_tts.py @@ -1,6 +1,7 @@ from __future__ import annotations import argparse +import ast import importlib.util import json import math @@ -70,6 +71,22 @@ class ModernTtsTests(unittest.TestCase): ["--position_temperature", "5.0", "--class_temperature", "0.0"], ) + def test_moss_voice_clone_uses_audio_without_disallowed_prompt_text(self) -> None: + worker_path = REPO_ROOT / "cli" / "tts_moss_worker.py" + tree = ast.parse(worker_path.read_text(encoding="utf-8")) + inference_calls = [ + node + for node in ast.walk(tree) + if isinstance(node, ast.Call) + and isinstance(node.func, ast.Attribute) + and node.func.attr == "inference" + ] + + self.assertEqual(len(inference_calls), 1) + keywords = {keyword.arg for keyword in inference_calls[0].keywords} + self.assertIn("prompt_audio_path", keywords) + self.assertNotIn("prompt_text", keywords) + def test_omnivoice_uses_a_hidden_stable_prompt_before_short_clone(self) -> None: with tempfile.TemporaryDirectory() as temp_dir: data_dir = Path(temp_dir)