• Stefy Lanza (nextime / spora )'s avatar
    declare the phonemisers XTTS needs for Chinese and Japanese · 274ea9a8
    Stefy Lanza (nextime / spora ) authored
    Probing XTTS's seventeen languages after the truncation fix: fifteen spoke, and
    the two with non-Latin scripts failed on dependencies coqui-tts does not declare.
    
        zh-cn -> ImportError: Chinese requires: pypinyin
        ja    -> ModuleNotFoundError: No module named 'cutlet'
    
    So the venv installs cleanly, reports success, advertises all seventeen, and then
    refuses two of them at synthesis time — the same shape as the torch that was
    never installed, which is what pinned this file in the first place. They are now
    declared in requirements-xtts.txt and in the _PINS copy the worker falls back to
    when the file is not mounted (a test keeps the two in step).
    
    cutlet romanises through fugashi, which needs its dictionary at RUNTIME and not
    only at install, so unidic-lite is declared too — the chain
    requirements-melotts.txt already notes for MeloTTS.
    
    pypinyin is pure Python and is installed on zeiss now, so Chinese works there.
    Japanese needs a build: cutlet pulls mojimoji, which ships no cp313 wheel, so it
    compiles — gcc and the Python headers are both in the image, but the install has
    to run where build deps are available. It is declared here so an image build
    picks it up.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_014T3rZozi1Ehk96NG1WesgC
    274ea9a8
xtts_worker.py 10.2 KB