feat(tts): Chatterbox-Provider (hohe Qualitaet + Voice-Cloning) anbinden
Loest #7. Der chatterbox-Stub wird durch eine echte Anbindung an den lokalen Chatterbox-HTTP-Dienst ersetzt (POST /speak -> /status pollen -> GET /audio, WAV). no_playback=true -> der Dienst spielt nicht lokal ab, liefert nur Bytes. WAV->PCM (24 kHz, Resampling bei Bedarf). Waehlbar via tts_provider=chatterbox; piper bleibt der schnelle Default (chatterbox ist ~echtzeit-langsam, dafuer klonbare Stimme). - config: CHATTERBOX_BASE_URL/_VOICE/_LANG/_SPEED/_TIMEOUT; Registry verdrahtet - Tests: gemockter httpx (Synthese, WAV/Resample, Job-Fehler, Stimmenwahl) - Doku: README, Architektur (#7), deploy/README (GPU-Pinning per UUID, no_playback) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
77026bff1b
commit
5f01607b79
7 changed files with 223 additions and 7 deletions
|
|
@ -69,7 +69,14 @@ TTS_REGISTRY = {
|
|||
"openrouter": lambda s: OpenRouterTTSProvider(
|
||||
s.openrouter_api_key, s.openrouter_tts_model, s.openrouter_tts_voice
|
||||
),
|
||||
"chatterbox": lambda s: ChatterboxTTSProvider(),
|
||||
"chatterbox": lambda s: ChatterboxTTSProvider(
|
||||
s.chatterbox_base_url,
|
||||
s.chatterbox_voice,
|
||||
s.chatterbox_lang,
|
||||
s.chatterbox_speed,
|
||||
s.tts_sample_rate,
|
||||
s.chatterbox_timeout,
|
||||
),
|
||||
"piper": lambda s: PiperTTSProvider(
|
||||
s.piper_bin, s.piper_voices_dir, s.piper_voice, s.tts_sample_rate
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue