# --- required (this is the whole hard dependency list) ---
numpy>=1.23

# --- optional, each unlocks one thing; all free ---
onnxruntime>=1.16    # runs the downloaded voices (song.py voices --get)
pypinyin>=0.49       # Chinese: characters -> pinyin, for the zh voice
zhconv>=1.4          # Chinese: keeps lyrics in Simplified even if the LLM writes Traditional
edge-tts>=6.1        # the online fallback voice; opt-in, see CHANGELOG
soundfile>=0.12      # decodes edge-tts audio (libsndfile >= 1.1)
gradio-client>=1.0   # free hosted song models (ACE-Step, DiffRhythm)
pillow>=10.0         # image sources: mood from colour and light
pypdf>=4.0           # PDF sources
faster-whisper>=1.0  # audio sources: local speech-to-text
pyworld>=0.3.4       # sings the words on pitch without moving the vocal tract
pytest>=7.0          # tests
