2026-10-24 11:15:35 +02:00
|
|
|
// Package provider implements talk's TTS providers and their fallback
|
|
|
|
|
// chain. The contract (Name/Available/Synthesize) carries the four-tier
|
|
|
|
|
// chain: ElevenLabs → OpenAI TTS → Edge TTS → OS built-in (overridable via
|
|
|
|
|
// --provider/config provider). The cloud providers return MP3 (keys come
|
|
|
|
|
// exclusively from TALK_ELEVENLABS_KEY and TALK_OPENAI_KEY, endpoints are
|
|
|
|
|
// configurable and therefore fakeable); osbuiltin returns RIFF/WAVE PCM.
|
|
|
|
|
// The documented optional extension DirectSpeaker covers platforms whose
|
|
|
|
|
// OS TTS cannot provide audio bytes (Linux speech-dispatcher); Chain.Speak
|
|
|
|
|
// handles that case, including silent discarding on the null sink, so that
|
|
|
|
|
// the CLI and the daemon use the same chain unchanged.
|
2026-10-18 15:14:18 +02:00
|
|
|
package provider
|