-
Stefy Lanza (nextime / spora ) authored
Every TTS model published `languages: null` on /v1/models while the STT models published theirs correctly. Nothing in the server restricted the languages — it simply never named them, so a client was told nothing about what any voice could say and could only discover a language by trying it. That is how XTTS-v2's seventeen languages got taken for English and Italian: those were the two somebody tried. Each set is read from the engine's own files rather than assumed — XTTS from its config.json, bark from its 13-language speaker bank, parler from its model card, and kokoro derived at call time from the accents already encoded in its voice ids, so adding a voice family cannot leave its language behind. An engine whose languages depend on the checkpoint (melo, the generic transformers fallback) claims nothing: a wrong list is worse than none, because a client that believes it sends text the voice cannot pronounce and gets noise back with no error. A `languages` list on the model's own card still wins. Bark's voice list was the ten English speakers, which is where "bark is English" literally came from; it now covers all 13 languages, English first so a client taking voices[0] as its default still gets an English speaker. The voices are published too, so a voice picker no longer needs to load a model to ask it — and since /v1/models is polled, the voices cache is memoised against its own mtime rather than re-read per model per poll. Co-Authored-By:
Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014T3rZozi1Ehk96NG1WesgC
49543895
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| audiogenrequest.py | ||
| embedrequest.py | ||
| imagerequest.py | ||
| textrequest.py | ||
| transcriptionrequest.py | ||
| videorequest.py |