현재 작업 상태 저장
This commit is contained in:
parent
07cc67761e
commit
6bd91b0d5e
674 changed files with 8726 additions and 298 deletions
|
|
@ -3,6 +3,8 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
from tempfile import TemporaryDirectory
|
||||
|
||||
from .services.voice import (
|
||||
DEFAULT_OPENAI_VOICE,
|
||||
|
|
@ -173,6 +175,49 @@ class VoiceServiceStreamTest(unittest.IsolatedAsyncioTestCase):
|
|||
self.assertEqual(payload["instructions"], "Keep the tone grounded.")
|
||||
self.assertEqual([chunk.audio for chunk in chunks], [b"\x80\x80", b"\xff\x00"])
|
||||
|
||||
async def test_dev_p1_sample_tts_streams_local_mp3_without_openai_key(self) -> None:
|
||||
with TemporaryDirectory() as tmp:
|
||||
sample_dir = Path(tmp)
|
||||
default_audio = b"default-mp3"
|
||||
anxious_audio = (b"anxious-mp3-" * 500)
|
||||
(sample_dir / "p1_seoyeon_01_depressed_slow.mp3").write_bytes(default_audio)
|
||||
(sample_dir / "p1_seoyeon_03_anxious_guarded.mp3").write_bytes(anxious_audio)
|
||||
service = VoiceService(
|
||||
api_key="",
|
||||
poc_sample_tts_enabled=True,
|
||||
environment="dev",
|
||||
poc_sample_tts_dir=sample_dir,
|
||||
)
|
||||
voice = VoicePreset(preset="soft-young-fem", openai_voice="coral")
|
||||
|
||||
chunks = [
|
||||
chunk
|
||||
async for chunk in service.synthesize_stream(
|
||||
"엄마한테 말하지 않는 거죠? 진짜 불안해요.",
|
||||
voice,
|
||||
)
|
||||
]
|
||||
|
||||
self.assertFalse(service.is_available())
|
||||
self.assertTrue(service.poc_sample_tts_available())
|
||||
self.assertEqual(service.tts_provider(), "p1-sample-poc")
|
||||
self.assertEqual(b"".join(chunk.audio for chunk in chunks), anxious_audio)
|
||||
|
||||
async def test_p1_sample_tts_is_disabled_outside_dev(self) -> None:
|
||||
with TemporaryDirectory() as tmp:
|
||||
sample_dir = Path(tmp)
|
||||
(sample_dir / "p1_seoyeon_01_depressed_slow.mp3").write_bytes(b"default-mp3")
|
||||
service = VoiceService(
|
||||
api_key="",
|
||||
poc_sample_tts_enabled=True,
|
||||
environment="prod",
|
||||
poc_sample_tts_dir=sample_dir,
|
||||
)
|
||||
|
||||
self.assertFalse(service.is_available())
|
||||
self.assertFalse(service.poc_sample_tts_available())
|
||||
self.assertEqual(service.tts_provider(), "disabled-non-dev")
|
||||
|
||||
|
||||
class EndOfTurnDecisionTest(unittest.TestCase):
|
||||
def test_end_of_turn_requires_silence_threshold(self) -> None:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue