[结束提示音]:完成对话结束音效提示,包含本地短音生成、恢复待机播放和配置测试

This commit is contained in:
mkbk
2026-06-18 13:59:12 +08:00
parent ac72738fc8
commit 80549fb312
12 changed files with 130 additions and 23 deletions
+8 -1
View File
@@ -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, sanitize_tts_text
from owner_voice_pet.tts import CloudTtsProvider, SentenceBuffer, SineTtsProvider, make_prompt_chime, sanitize_tts_text
from owner_voice_pet.vad import EnergyVadProvider, VadRecorder
from owner_voice_pet.wakeword import KeywordWakeWordProvider
@@ -73,6 +73,13 @@ class PipelineLlmTtsTests(unittest.TestCase):
self.assertGreater(len(segment.pcm), 0)
self.assertGreater(segment.duration_ms, 0)
def test_prompt_chime_generates_short_pcm_audio(self) -> None:
segment = make_prompt_chime(frequency_hz=880, duration_ms=140, sample_rate=16000, channels=1)
self.assertEqual(segment.duration_ms, 140)
self.assertEqual(segment.metadata["chime"], "end")
self.assertGreater(len(segment.pcm), 0)
def test_cloud_tts_posts_speech_request(self) -> None:
class FakeResponse:
def __enter__(self):