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).
This commit is contained in:
77
soprano_to_rvc/docker-compose.yml
Normal file
77
soprano_to_rvc/docker-compose.yml
Normal file
@@ -0,0 +1,77 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# Soprano TTS Server (NVIDIA GTX 1660 + CUDA)
|
||||
soprano:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.soprano
|
||||
container_name: miku-soprano-tts
|
||||
runtime: nvidia
|
||||
environment:
|
||||
- NVIDIA_VISIBLE_DEVICES=0 # GTX 1660
|
||||
- CUDA_VISIBLE_DEVICES=0
|
||||
networks:
|
||||
- miku-voice
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
device_ids: ['0'] # GTX 1660
|
||||
capabilities: [gpu]
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "python3", "-c", "import zmq; ctx = zmq.Context(); s = ctx.socket(zmq.REQ); s.connect('tcp://localhost:5555'); s.close()"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
start_period: 60s
|
||||
retries: 3
|
||||
|
||||
# RVC API Server (AMD RX 6800 + ROCm)
|
||||
rvc:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.rvc
|
||||
container_name: miku-rvc-api
|
||||
command: ["python", "soprano_rvc_api.py"]
|
||||
volumes:
|
||||
- /opt/rocm:/opt/rocm:ro # Mount host ROCm (read-only)
|
||||
devices:
|
||||
- /dev/kfd:/dev/kfd
|
||||
- /dev/dri:/dev/dri
|
||||
group_add:
|
||||
- "989" # render group (for /dev/dri access)
|
||||
- "985" # video group
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
environment:
|
||||
- HSA_OVERRIDE_GFX_VERSION=10.3.0 # For RX 6800 (gfx1030)
|
||||
- HSA_FORCE_FINE_GRAIN_PCIE=1
|
||||
- SOPRANO_SERVER=tcp://soprano:5555
|
||||
- ROCR_VISIBLE_DEVICES=0
|
||||
- GPU_DEVICE=cuda # Force RVC to use 'cuda' device name for ROCm
|
||||
- DISABLE_ADDONS=1 # Disable fairseq/apex addons to avoid C++ extension issues
|
||||
- LD_LIBRARY_PATH=/opt/rocm/lib:/opt/rocm/lib64:$LD_LIBRARY_PATH
|
||||
- PATH=/opt/rocm/bin:$PATH
|
||||
ports:
|
||||
- "8765:8765" # Expose HTTP API externally
|
||||
networks:
|
||||
- miku-voice
|
||||
depends_on:
|
||||
soprano:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8765/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
start_period: 120s
|
||||
retries: 3
|
||||
|
||||
networks:
|
||||
miku-voice:
|
||||
name: miku-voice-network
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user