# CLI + dummy backend + Seed-VC adapter: standard library only.
# The CLI and tests run with a plain Python 3.10+ environment, no installs.
#
# The Seed-VC backend runs as a SUBPROCESS against a separately-installed
# Seed-VC checkout, so its heavy GPU dependencies (PyTorch, etc.) live in
# *that* environment — NOT this one. That keeps the dummy path dependency-free
# and means this app never imports torch.

# ---------------------------------------------------------------------------
# GUI (Phase 3-lite) — only needed for `python run_gui.py`. The CLI does NOT
# require this; install it just to use the graphical window.
PySide6>=6.6

# ---------------------------------------------------------------------------
# Seed-VC environment (install in the cloned Plachtaa/seed-vc repo, separately):
#
#   git clone https://github.com/Plachtaa/seed-vc
#   cd seed-vc
#   python -m venv .venv && .\.venv\Scripts\Activate.ps1
#   # Install PyTorch with CUDA matching the RTX 2080 SUPER from pytorch.org:
#   pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu121
#
#   # Seed-VC's requirements.txt currently mixes nightly torch lines with
#   # pinned torch lines. Keep the CUDA torch install above, then install the
#   # non-torch requirements:
#   Get-Content requirements.txt |
#     Where-Object { $_ -notmatch '^(torch|torchvision|torchaudio|resemblyzer)(\s|=|$)' } |
#     Set-Content requirements-no-torch-no-resemblyzer.txt
#   pip install webrtcvad-wheels
#   pip install resemblyzer --no-deps
#   pip install -r requirements-no-torch-no-resemblyzer.txt
#
#   # pip check may still report "resemblyzer requires webrtcvad" because the
#   # prebuilt Windows package is named webrtcvad-wheels, but `import webrtcvad`
#   # and `import resemblyzer` should both work.
#
# Then point this app at it (no hard-coded paths):
#   $env:SEEDVC_REPO   = "C:\path\to\seed-vc"
#   $env:SEEDVC_PYTHON = "C:\path\to\seed-vc\.venv\Scripts\python.exe"

# ---------------------------------------------------------------------------
# Later: richer analysis layer (pitch contour / loudness / pause deltas) may
# add a light dependency here, e.g.:
# librosa
# numpy
