143 lines
3.4 KiB
Markdown
143 lines
3.4 KiB
Markdown
# GLaDOS TTS Server
|
|
|
|
Wyoming protocol TTS server for the [Portal_GLaDOS_v1](https://huggingface.co/WarriorMama777/GLaDOS_TTS) voice model (Style-Bert-VITS2), designed for Home Assistant integration.
|
|
|
|
## Quick Start
|
|
|
|
### CPU
|
|
|
|
```yaml
|
|
services:
|
|
glados-tts:
|
|
image: xerotacovix/glados-ladosp-tts:cpu
|
|
container_name: glados-tts
|
|
ports:
|
|
- "10200:10200"
|
|
volumes:
|
|
- glados_model_cache:/data
|
|
- glados_hf_cache:/root/.cache/huggingface
|
|
- glados_nltk_data:/root/nltk_data
|
|
environment:
|
|
- MODEL_DIR=/data
|
|
- URI=tcp://0.0.0.0:10200
|
|
- DEVICE=cpu
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
glados_model_cache:
|
|
glados_hf_cache:
|
|
glados_nltk_data:
|
|
```
|
|
|
|
### CUDA (NVIDIA GPU)
|
|
|
|
```yaml
|
|
services:
|
|
glados-tts:
|
|
image: xerotacovix/glados-ladosp-tts:cuda
|
|
container_name: glados-tts
|
|
ports:
|
|
- "10200:10200"
|
|
volumes:
|
|
- glados_model_cache:/data
|
|
- glados_hf_cache:/root/.cache/huggingface
|
|
- glados_nltk_data:/root/nltk_data
|
|
environment:
|
|
- MODEL_DIR=/data
|
|
- URI=tcp://0.0.0.0:10200
|
|
- DEVICE=cuda
|
|
- HALF=true
|
|
- PRELOAD=true
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: 1
|
|
capabilities: [gpu]
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
glados_model_cache:
|
|
glados_hf_cache:
|
|
glados_nltk_data:
|
|
```
|
|
|
|
### ROCm (AMD GPU)
|
|
|
|
```yaml
|
|
services:
|
|
glados-tts:
|
|
image: xerotacovix/glados-ladosp-tts:rocm
|
|
container_name: glados-tts
|
|
ports:
|
|
- "10200:10200"
|
|
volumes:
|
|
- glados_model_cache:/data
|
|
- glados_hf_cache:/root/.cache/huggingface
|
|
- glados_nltk_data:/root/nltk_data
|
|
- glados_miopen_cache:/root/.cache/miopen
|
|
environment:
|
|
- MODEL_DIR=/data
|
|
- URI=tcp://0.0.0.0:10200
|
|
- DEVICE=rocm
|
|
- HALF=true
|
|
- PRELOAD=true
|
|
- MIOPEN_FIND_MODE=1
|
|
- MIOPEN_DEBUG_CONV_GEMM=0
|
|
devices:
|
|
- /dev/kfd
|
|
- /dev/dri
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
glados_model_cache:
|
|
glados_hf_cache:
|
|
glados_nltk_data:
|
|
glados_miopen_cache:
|
|
```
|
|
|
|
## Docker Compose (All Variants)
|
|
|
|
The included [`docker-compose.yaml`](docker-compose.yaml) defines all three services with non-conflicting host ports:
|
|
- CPU on `10201`
|
|
- CUDA on `10200`
|
|
- ROCm on `10202`
|
|
|
|
Run only the service you need:
|
|
|
|
```bash
|
|
docker compose up glados-tts-cpu # CPU only
|
|
docker compose up glados-tts-cuda # CUDA only
|
|
docker compose up glados-tts-rocm # ROCm only
|
|
```
|
|
|
|
## Home Assistant Integration
|
|
|
|
See the detailed guides for Wyoming protocol setup and configuration:
|
|
- [HOMEASSISTANT_INTEGRATION.md](HOMEASSISTANT_INTEGRATION.md)
|
|
|
|
For AMD ROCm-specific deployment notes and troubleshooting:
|
|
- [README-GLaDOS-TYS-Wyoming-and-ROCM.md](README-GLaDOS-TYS-Wyoming-and-ROCM.md)
|
|
|
|
## Model
|
|
|
|
The model is downloaded automatically from HuggingFace on first start:
|
|
- **Repository**: [WarriorMama777/GLaDOS_TTS](https://huggingface.co/WarriorMama777/GLaDOS_TTS)
|
|
- **Model**: `Portal_GLaDOS_v1` (Style-Bert-VITS2)
|
|
|
|
## Languages
|
|
|
|
The server auto-detects input language and loads the appropriate BERT model:
|
|
- English (`microsoft/deberta-v3-large`)
|
|
- Japanese (`ku-nlp/deberta-v2-large-japanese-char-wwm`)
|
|
- Chinese (`hfl/chinese-roberta-wwm-ext-large`)
|
|
|
|
## Ports
|
|
|
|
| Variant | Container Port | Default Host Port |
|
|
|---------|---------------|-------------------|
|
|
| CPU | 10200 | 10201 |
|
|
| CUDA | 10200 | 10200 |
|
|
| ROCm | 10200 | 10202 |
|