added
- Kyutai
pocket-ttsas an eighth provider. Local, $0/call, no API key, ~4× realtime on CPU. 26 built-in voices plus zero-shot cloning from a reference.wav. MIT code and CC-BY-4.0 weights, so it is clean for client work. Added because Voicebox was the only $0 provider and therefore a single point of failure. - Second cloning-capable backend.
generate_speech --referenceAudioPathnow accepts--provider pocket-tts, solocalis no longer the only option. check_pocket(CLI--check-pocket,/gen-check) — a full credentials and capability report: reachability, built-in voices, whether cloning actually works, and whether the provider is enabled. $0 and about half a second.
changed
ProviderHealthgained an optionalnote, rendered byhealth_check. A provider can be reachable and still be missing a capability; that used to read as a clean pass.
notes
- It must refuse rather than degrade. On any cloning-weights download failure the upstream library quietly loads the non-cloning model and speaks in a stock voice — and
/healthstill answers healthy throughout. Verified against a live server. Socheck_pocketclones a probe clip instead of trusting/health,generate_speechruns the same probe as a preflight, and the error becomes a refusal naming the fix (hf auth login). - The probe seeds itself — one token synthesized with a built-in voice, fed straight back as the cloning reference — so it needs no file from the user.
- Reference voices are keyed by their bytes, not their path. A reference can be re-recorded in place, and a path-keyed cache would serve the previous voice forever with nothing to say so.