mirror of
https://github.com/TaterTotterson/microWakeWord-Trainer-Nvidia-Docker.git
synced 2026-08-12 07:55:33 -06:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68c4227cb7 |
@@ -1,2 +1 @@
|
|||||||
- Prevented unreadable audio files from freezing sample preparation by adding a bounded FFmpeg watchdog, safe cleanup, and visible normalization progress.
|
- Restored MOSS-TTS-Nano generation with the current voice-cloning API so all four providers contribute to the final training corpus.
|
||||||
- Kept primary and guided STT results visible after captures are automatically sorted into positive or negative training samples.
|
|
||||||
|
|||||||
@@ -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"
|
VOICE_BANK_VERSION = "modern-tts-voice-bank-v1-native-random-qualified-single-utterance"
|
||||||
COMPATIBLE_VOICE_BANK_VERSIONS = {
|
COMPATIBLE_VOICE_BANK_VERSIONS = {
|
||||||
VOICE_BANK_VERSION,
|
VOICE_BANK_VERSION,
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ def main() -> int:
|
|||||||
text=str(item["text"]),
|
text=str(item["text"]),
|
||||||
output_audio_path=str(output_path),
|
output_audio_path=str(output_path),
|
||||||
mode="voice_clone",
|
mode="voice_clone",
|
||||||
prompt_text=str(item["ref_text"]),
|
|
||||||
prompt_audio_path=str(item["ref_audio"]),
|
prompt_audio_path=str(item["ref_audio"]),
|
||||||
reference_audio_path=None,
|
reference_audio_path=None,
|
||||||
text_tokenizer_path=None,
|
text_tokenizer_path=None,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import ast
|
||||||
import importlib.util
|
import importlib.util
|
||||||
import json
|
import json
|
||||||
import math
|
import math
|
||||||
@@ -70,6 +71,22 @@ class ModernTtsTests(unittest.TestCase):
|
|||||||
["--position_temperature", "5.0", "--class_temperature", "0.0"],
|
["--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:
|
def test_omnivoice_uses_a_hidden_stable_prompt_before_short_clone(self) -> None:
|
||||||
with tempfile.TemporaryDirectory() as temp_dir:
|
with tempfile.TemporaryDirectory() as temp_dir:
|
||||||
data_dir = Path(temp_dir)
|
data_dir = Path(temp_dir)
|
||||||
|
|||||||
Reference in New Issue
Block a user