Files
miku-discord/soprano_to_rvc/PACKAGES_EXPLICIT.md
koko210Serve 8ca716029e add: absorb soprano_to_rvc as regular subdirectory
Voice conversion pipeline (Soprano TTS → RVC) with Docker support.
Previously tracked as bare gitlink; removed .git/ directories and
absorbed into main repo for unified tracking.

Includes: Soprano TTS, RVC WebUI integration, Docker configs,
WebSocket API, and benchmark scripts.
Updated .gitignore to exclude large model weights (*.pth, *.pt, *.onnx, *.index).
287 files (3.1GB of ML weights properly excluded via gitignore).
2026-03-04 00:24:53 +02:00

4.5 KiB

Explicit Package Dependencies - Complete

Summary

All Python packages from both virtual environments (.venv-cuda and .venv) have been explicitly documented and will be installed in their respective Docker containers with exact version pinning.

What Was Done

1. Extracted Package Lists

  • Exported complete package list from .venv-cuda (CUDA/Python 3.11)
  • Exported complete package list from .venv (ROCm/Python 3.10)

2. Created Requirements Files

requirements-soprano.txt (35 packages + PyTorch)

  • Core dependencies: fastapi, uvicorn, pyzmq, numpy, pydantic
  • Audio: sounddevice, pydub
  • ML: lmdeploy, transformers, tokenizers, huggingface-hub, safetensors
  • Supporting: accelerate, sentencepiece, protobuf, tiktoken, requests, tqdm, PyYAML, etc.
  • Additional: einops, peft, scipy

requirements-rvc.txt (60+ packages)

  • Core dependencies: fastapi, uvicorn, pyzmq, numpy, pydantic
  • Audio processing: librosa, soundfile, sounddevice, pydub, audioread, resampy, soxr, pyworld, praat-parselmouth, torchcrepe, torchfcpe
  • RVC core: fairseq, faiss-cpu, gradio, gradio_client
  • ML: lmdeploy, transformers, tokenizers, huggingface-hub, safetensors
  • Scientific: scipy, scikit-learn, matplotlib, pandas
  • Performance: numba, llvmlite
  • Additional: av, pillow, omegaconf, hydra-core, python-dotenv, ray, local-attention

3. Updated Dockerfiles

Dockerfile.soprano changes:

  • Added COPY requirements-soprano.txt /app/
  • Explicitly install PyTorch with CUDA 11.8: torch==2.7.1+cu118, torchvision==0.22.1+cu118, torchaudio==2.7.1+cu118
  • Install requirements: pip install -r requirements-soprano.txt
  • Install soprano from source: pip install -e '.[lmdeploy]'

Dockerfile.rvc changes:

  • Added curl to system dependencies (for healthcheck)
  • Added COPY requirements-rvc.txt /app/
  • Added COPY models/ /app/models/
  • Install requirements: pip install -r requirements-rvc.txt
  • Removed old dual-install approach (requirements.txt + pyzmq separately)

4. Created Documentation

DOCKER_DEPENDENCIES.md

  • Complete list of all packages in each container
  • Version numbers explicitly listed
  • Key differences between containers highlighted
  • Installation order documented
  • Verification commands provided
  • Maintenance procedures outlined

Key Version Pins

Soprano Container (CUDA)

Python: 3.11.14
pip: 25.3
PyTorch: 2.7.1+cu118
NumPy: 2.4.1
FastAPI: 0.128.0
LMDeploy: 0.11.1
Transformers: 4.57.5
Soprano TTS: 0.1.0 (editable install)

RVC Container (ROCm)

Python: 3.10.19 (target, from base image)
pip: 24.0
PyTorch: 2.5.1+rocm6.2 (from base image)
NumPy: 1.23.5
FastAPI: 0.128.0
LMDeploy: 0.11.1
Transformers: 4.57.3
Fairseq: 0.12.2
Librosa: 0.10.2

Critical Differences

  1. Python Version: 3.11.14 vs 3.10.19
  2. pip Version: 25.3 vs 24.0
  3. PyTorch Version: 2.7.1 (CUDA) vs 2.5.1 (ROCm)
  4. NumPy Version: 2.4.1 vs 1.23.5 (RVC requires older numpy)
  5. Package Count: ~35 (Soprano) vs ~60 (RVC)

Benefits

No Ambiguity: Every package version explicitly specified Reproducible Builds: Exact versions match working venvs Isolated Dependencies: Each container has only what it needs Version Pinning: No unexpected updates breaking compatibility Documentation: Complete package manifest for troubleshooting Maintenance: Clear reference for future updates

Files Modified

soprano_to_rvc/
├── requirements-soprano.txt        ✅ CREATED (35 packages)
├── requirements-rvc.txt            ✅ CREATED (60+ packages)
├── Dockerfile.soprano              ✅ UPDATED (explicit installs)
├── Dockerfile.rvc                  ✅ UPDATED (explicit installs)
└── DOCKER_DEPENDENCIES.md          ✅ CREATED (documentation)

Next Steps

  1. Build containers: ./build_docker.sh
  2. Verify packages: Check with verification commands in DOCKER_DEPENDENCIES.md
  3. Test functionality: Ensure performance matches bare metal
  4. Deploy: ./start_docker.sh

Verification Commands

After building, verify installations match expectations:

# Soprano container
docker exec miku-soprano-tts pip list | grep -E "torch|soprano|lmdeploy|numpy"

# RVC container
docker exec miku-rvc-api pip list | grep -E "torch|fairseq|librosa|numpy"

Expected output should match versions in requirements files.


Status: All packages explicitly pinned and documented! 🎯

The Docker containers will now install exact package versions from working virtual environments with no ambiguity.