Spaces:
Sleeping
Sleeping
Commit History
-
Add an IPA panel, open the language list to espeak, build on CPU
Three changes: * IPA / phonemes panel. "Get IPA from text" runs the full front end and shows the phonemes with the internal <lang> tags stripped; "Generate from IPA" feeds the box back with phonemize=False, so nothing sits between the typed phonemes and the encoder. The flag is plumbed through _synthesize_with_fallback and both engine wrappers, and each chunk is re-wrapped in its language tag on the way in. The note under the box lists any symbol missing from vocab.json (those encode to the pad id and are heard as nothing). * Any espeak-ng language. The dropdown is built from the espeak build actually installed rather than a hardcoded six, so ~130 voices and their regional variants are selectable. Hebrew and Russian are blocked from that path (ESPEAK_BLOCKED_BASES) and keep RenikudPlus/Phonikud and RUAccent+RUPhon. Two things had made the six a hard limit: UnicodeProcessor._preprocess raised on any other code, and Cyrillic text was routed to the Russian fron…eebd92d
-
Name the voice files after the voices
voices/libri_male_6209.json is now voices/daniel.json. The model repo keeps the LibriTTS-R reader ids — renaming there would break every client pinned to the published bundle — so the catalog carries both: `remote` is what is fetched, `file` is what it is called on disk. The old stems are retired so they are deleted rather than discovered a second time as "Libri Male 6209", and aliased so a caller that pinned one still resolves to the voice it named. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138DB6F6YxWtYWy7WNaLAsUd0a3534 -
Withdraw the Maya voice
Dropping the catalog entry only stops new installs from fetching it: every deployment that already ran keeps voices/female.json on disk, and discover_voices names whatever it finds, so Maya would have come straight back as "Female". Retired stems are therefore deleted at startup and skipped if the delete cannot happen (read-only layer, mounted volume). The default voice becomes Noa, and "Female" from a v2 client now errors with the current names instead of resolving to a withdrawn speaker. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138DB6F6YxWtYWy7WNaLAsU2547fc3
-
Install onnxruntime last so the GPU wheel is not clobbered
The Space logs said "onnxruntime has no CUDA provider", which is why the probe kept reporting cpu on ZeroGPU hardware. renikud-plus depends on `onnxruntime` (the CPU build) and we ask for `onnxruntime-gpu`; both wheels install into the same onnxruntime/ directory, so whichever pip writes last wins. With the GPU wheel first in the file, renikud-plus's CPU wheel overwrote it and CUDAExecutionProvider disappeared. Confirmed in a clean linux/amd64 container: gpu installed last -> [Tensorrt, CUDA, CPU] cpu installed last -> [Azure, CPU] Move onnxruntime to the end of every requirements file. The Docker image happened to land the right way round already, so this is a no-op there — which is exactly the problem, so the build now asserts the provider survived rather than printing it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138DB6F6YxWtYWy7WNaLAsU9f6a881