# Core service (light — works with the mock engine out of the box)
fastapi>=0.110
uvicorn>=0.29
numpy>=1.26
soundfile>=0.12
sounddevice>=0.4.6
python-multipart>=0.0.9   # .actor uploads
python-socketio[client]>=5  # StreamElements listener

# Fast local base TTS (the recommended engine) + audio analysis for the Studio
piper-tts>=1.2
librosa>=0.11
pyloudnorm>=0.1
resemblyzer>=0.1

# The performance interpreter — reads chat the way a voice actor would.
emoji>=2.12             # emoji -> spoken intent (😂 -> a laugh)
vaderSentiment>=3.3     # social-media-tuned intensity/arousal
faster-whisper>=1.0     # transcription for casting + emotion-bank labelling
onnxruntime>=1.17       # runs the GoEmotions classifier (downloaded by install)

# Expressive engines (heavy: pull in torch + download a few GB of models on first
# run). install.bat installs these; for a manual setup:
#   pip install chatterbox-tts      # expressive base — performs the emotion in the text
# chatterbox-tts also pulls `transformers`, which provides Bark (suno/bark-small) —
# the scream engine for ALL-CAPS / "AAAARGH" segments. No separate install needed.
# On Windows + NVIDIA, install CUDA torch FIRST so chatterbox doesn't grab CPU torch:
#   pip install torch --index-url https://download.pytorch.org/whl/cu121
#   pip install chatterbox-tts
# Optional third route — XTTS-v2 (naturally acted delivery, between Chatterbox and
# Bark in intensity; model weights are CPML/non-commercial):
#   pip install coqui-tts
