feat: integrate JV Voice Profile cloning, Voicebox research, and ensure session voice/markdown prompt nudge

This commit is contained in:
Adolfo Reyna
2026-08-12 19:57:03 -04:00
parent 811a40f2cc
commit 70da5d857a
11 changed files with 661 additions and 50 deletions
+25
View File
@@ -0,0 +1,25 @@
"""test_pocket_tts_service.py
Test script verifying PocketTTSService with custom_pocket voice clone state.
"""
import asyncio
from pocket_tts_service import PocketTTSService
from pipecat.frames.frames import TTSAudioRawFrame
async def test_pocket_service():
print("Testing PocketTTSService with 'custom_pocket' voice clone state...")
service = PocketTTSService(voice="custom_pocket", sample_rate=24000)
frames = []
async for frame in service.run_tts("Hello! This is a real-time speech test of Pocket TTS.", "test-ctx"):
if isinstance(frame, TTSAudioRawFrame):
frames.append(frame)
assert len(frames) > 0, "No audio frames generated!"
total_bytes = sum(len(f.audio) for f in frames)
duration_s = (total_bytes / 2) / 24000.0
print(f"PASS: Generated {len(frames)} audio frame(s), total {total_bytes} bytes ({duration_s:.2f}s audio at 24kHz)!")
if __name__ == "__main__":
asyncio.run(test_pocket_service())