[结束提示音优化]:完成Codex通知音资产内置,包含音频提取、配置默认值和回归测试
This commit is contained in:
@@ -12,7 +12,7 @@ from owner_voice_pet.models import AudioFrame, ErrorCode, Message, PipelineState
|
||||
from owner_voice_pet.pipeline import VoicePipeline
|
||||
from owner_voice_pet.stt import MetadataSttProvider
|
||||
from owner_voice_pet.transport import MemoryAudioTransport
|
||||
from owner_voice_pet.tts import CloudTtsProvider, SentenceBuffer, SineTtsProvider, make_prompt_chime, sanitize_tts_text
|
||||
from owner_voice_pet.tts import CloudTtsProvider, SentenceBuffer, SineTtsProvider, make_end_chime, make_prompt_chime, sanitize_tts_text
|
||||
from owner_voice_pet.vad import EnergyVadProvider, VadRecorder
|
||||
from owner_voice_pet.wakeword import KeywordWakeWordProvider
|
||||
|
||||
@@ -78,8 +78,24 @@ class PipelineLlmTtsTests(unittest.TestCase):
|
||||
|
||||
self.assertEqual(segment.duration_ms, 140)
|
||||
self.assertEqual(segment.metadata["chime"], "end")
|
||||
self.assertEqual(segment.metadata["source"], "synthetic")
|
||||
self.assertGreater(len(segment.pcm), 0)
|
||||
|
||||
def test_end_chime_uses_file_when_present(self) -> None:
|
||||
segment = make_end_chime(file_path="assets/sounds/codex-notification.wav")
|
||||
|
||||
self.assertEqual(segment.metadata["source"], "file")
|
||||
self.assertEqual(segment.metadata["path"], "assets/sounds/codex-notification.wav")
|
||||
self.assertEqual(segment.metadata["format"], "wav")
|
||||
self.assertGreater(segment.duration_ms, 0)
|
||||
|
||||
def test_end_chime_falls_back_to_synthetic_when_file_missing(self) -> None:
|
||||
segment = make_end_chime(file_path="/tmp/owner-voice-pet-missing-chime.wav", duration_ms=140)
|
||||
|
||||
self.assertEqual(segment.metadata["source"], "synthetic")
|
||||
self.assertEqual(segment.metadata["chime"], "end")
|
||||
self.assertEqual(segment.duration_ms, 140)
|
||||
|
||||
def test_cloud_tts_posts_speech_request(self) -> None:
|
||||
class FakeResponse:
|
||||
def __enter__(self):
|
||||
|
||||
Reference in New Issue
Block a user