# Shared-dep pins for the tts env (GPU; kokoro + ChatTTS + CosyVoice).
torch==2.4.1
torchaudio==2.4.1
numpy>=1.24,<2.0
# pyworld imports pkg_resources; setuptools 81+ removed it.
setuptools<81
huggingface_hub>=0.23,<1.0
# CosyVoice transitive deps (git-cloned into /opt/cosyvoice at build time).
# openai-whisper 20231117 is the version CosyVoice's requirements.txt pins.
# omegaconf 2.3 is compatible with the torch 2.4 stack.
# matcha-tts satisfies CosyVoice's Matcha-TTS submodule dependency via PyPI.
# matcha-tts pinned to 0.0.7.0 — the only 0.0.7.x with a cp311 manylinux
# wheel. Later patches (0.0.7.1/0.0.7.2) are cp310-only + sdist, which would
# force a Cython compile at Docker build time. Same API at CosyVoice's 3
# import sites (matcha.models.components.{flow_matching,decoder,transformer},
# matcha.hifigan.models).
openai-whisper>=20231117
omegaconf>=2.3,<2.4
matcha-tts==0.0.7.0
HyperPyYAML>=1.2,<2.0
inflect>=7.0,<8.0
# kokoro/misaki stack. misaki 0.9.x's espeak.py calls
# EspeakWrapper.set_data_path, which lives in phonemizer-fork (NOT upstream
# phonemizer). matcha-tts above pulls upstream `phonemizer` into the same
# `phonemizer/` namespace, shadowing the fork — see the dedicated uninstall+
# reinstall step in the Dockerfile tts-env stage. Pinned so rebuilds are
# reproducible (these were previously unpinned and drifted, breaking kokoro).
kokoro==0.9.4
misaki==0.9.4
phonemizer-fork==3.3.2
