• Stefy Lanza (nextime / spora )'s avatar
    say what a voice can speak · 49543895
    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: 's avatarClaude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_014T3rZozi1Ehk96NG1WesgC
    49543895
Name
Last commit
Last update
..
audiogenrequest.py Loading commit data...
embedrequest.py Loading commit data...
imagerequest.py Loading commit data...
textrequest.py Loading commit data...
transcriptionrequest.py Loading commit data...
videorequest.py Loading commit data...