[主说话人端点]:完成音色消失结束录音,包含临时音色画像、端点配置和回归测试

This commit is contained in:
mkbk
2026-06-17 21:33:33 +08:00
parent f9da304568
commit da91be6e5c
8 changed files with 372 additions and 12 deletions
+17
View File
@@ -74,6 +74,12 @@ class ModelsConfigTests(unittest.TestCase):
self.assertEqual(config.wake_kws_score, 1.0)
self.assertEqual(config.wake_ack_text, "我在")
self.assertEqual(config.post_playback_drain_ms, 50)
self.assertEqual(config.pipeline_mode, "live_turn_based")
self.assertEqual(config.endpoint_mode, "primary_speaker")
self.assertEqual(config.speaker_profile_ms, 600)
self.assertEqual(config.speaker_absent_ms, 300)
self.assertEqual(config.speaker_similarity_threshold, 0.70)
self.assertEqual(config.speaker_min_rms, 0.012)
self.assertEqual(config.vad_provider, "hybrid")
self.assertEqual(config.vad_threshold, 0.5)
self.assertEqual(config.vad_min_duration_ms, 250)
@@ -85,6 +91,7 @@ class ModelsConfigTests(unittest.TestCase):
self.assertEqual(config.tts_model, "mimo-v2.5-tts")
self.assertEqual(config.tts_voice, "mimo_default")
self.assertEqual(str(config.speech_models_dir), "models")
self.assertEqual(config.context_mode, "session_memory")
self.assertTrue(config.llm_stream)
self.assertEqual(config.validate_basic(), [])
@@ -103,6 +110,16 @@ class ModelsConfigTests(unittest.TestCase):
errors = config.validate_basic()
self.assertTrue(any("OWNER_VAD_PROVIDER" in error.message for error in errors))
def test_endpoint_provider_must_be_primary_speaker_or_vad(self) -> None:
config = AppConfig(endpoint_mode="invalid")
errors = config.validate_basic()
self.assertTrue(any("OWNER_ENDPOINT_MODE" in error.message for error in errors))
def test_speaker_similarity_threshold_range_is_validated(self) -> None:
config = AppConfig(speaker_similarity_threshold=1.5)
errors = config.validate_basic()
self.assertTrue(any("OWNER_SPEAKER_SIMILARITY_THRESHOLD" in error.message for error in errors))
def test_missing_dotenv_uses_non_secret_defaults(self) -> None:
config = AppConfig.from_dotenv("/tmp/owner-voice-pet-missing.env")
self.assertEqual(config.llm_base_url, "https://token-plan-cn.xiaomimimo.com/v1")