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
+13
View File
@@ -379,6 +379,19 @@ def build_tts(args: argparse.Namespace, voice_manager=None):
if args.voice_rate:
logger.warning("--voice-rate only applies to --tts apple; ignoring it.")
voice = (voice_manager.load_saved_voice() if voice_manager else None) or args.voice or "af_heart"
if voice in ("custom_pocket", "jv_pocket") or "pocket" in voice or voice.startswith("pocket_custom"):
from pocket_tts_service import PocketTTSService
logger.info(f"Text to speech: Kyutai Pocket TTS (Voice Clone: {voice})")
tts = PocketTTSService(
voice=voice,
sample_rate=TTS_SAMPLE_RATE,
text_filters=[SpokenTextFilter(voice_manager=voice_manager)],
)
if voice_manager:
voice_manager.set_tts_processor(tts)
return tts
logger.info(f"Text to speech: Kokoro {voice}")
tts = KokoroTTSService(
settings=KokoroTTSService.Settings(voice=voice, language=Language.EN),