chore: vollständiger Workspace-Snapshot 03.07.2026
- publish_gatekeeper.py (neues Gatekeeper-System) - 4 Premium-Artikel: Veggie Match, Berlin 1960, Wild Tiled West, Scream Park - Alle kumulierten Artikel, Scripts, Medien und Caches
This commit is contained in:
@@ -0,0 +1,217 @@
|
||||
# TTS auf AMD Strix Halo (ROCm) mit OpenWebUI — Recherche-Ergebnis
|
||||
|
||||
**Datum:** 24. Juni 2026
|
||||
**Hardware:** AMD Ryzen AI Max+ 395 (Strix Halo), RDNA 3.5 GPU, 128 GB unified memory, x86_64 Linux
|
||||
**Ziel:** Chatterbox, Orpheus, XTTS-v2 auf ROCm lauffähig + in OpenWebUI integrierbar?
|
||||
|
||||
---
|
||||
|
||||
## KURZANTWORT: JA — alle drei Tools laufen auf Strix Halo mit ROCm und sind in OpenWebUI integrierbar.
|
||||
|
||||
---
|
||||
|
||||
## 1. Chatterbox (Kartoffelbox)
|
||||
|
||||
### ROCm-Kompatibilität: ✅ JA
|
||||
- **Chatterbox TTS Server** (devnen/Chatterbox-TTS-Server) hat explizit:
|
||||
- `docker-compose-rocm.yml`
|
||||
- `requirements-rocm.txt`
|
||||
- SourceForge-Eintrag bestätigt: "AMD ROCm 6.1 with PyTorch 2.5.1"
|
||||
- **Expliziter Strix-Halo-Guide:** Medium-Artikel "Voice Cloning on AMD Strix Halo: Running Chatterbox TTS with Native GPU Acceleration" (bkpaine1, 2025).
|
||||
- **Installationspfad Strix Halo:**
|
||||
1. Python 3.12 Environment
|
||||
2. TheROCK Nightly PyTorch installieren (ROCm 7.1 kompatibel mit Strix Halo)
|
||||
3. ODER: ROCm 7.1 + PyTorch nightly wheels von pytorch.org
|
||||
- **Bekannte Probleme:** Torch-Versionskonflikt (2.5.1 vs 2.6.0) im devnen/Chatterbox-TTS-Server, lösbar.
|
||||
|
||||
### OpenAI-kompatible API: ✅ JA
|
||||
- **Chatterbox TTS API** (travisvn/chatterbox-tts-api): FastAPI-basierter OpenAI-kompatibler TTS-Server
|
||||
- Endpoint: `POST /v1/audio/speech`
|
||||
- 22 Sprachen, Voice Cloning
|
||||
- Docker Compose mit GPU-Profil: `docker-compose.gpu.yml`, `docker-compose.uv.gpu.yml`
|
||||
|
||||
### OpenWebUI-Integration: ✅ JA — DOKUMENTIERT
|
||||
- **Offizielle OpenWebUI-Doku:** https://docs.openwebui.com/features/chat-conversations/audio/text-to-speech/chatterbox-tts-api-integration
|
||||
- Konfiguration:
|
||||
- TTS Engine: OpenAI
|
||||
- API Base URL: `http://localhost:4123/v1`
|
||||
- API Key: `none`
|
||||
- TTS Model: `tts-1` oder `tts-1-hd`
|
||||
|
||||
### CPU-Fallback: ✅ JA
|
||||
- `docker-compose.cpu.yml` verfügbar
|
||||
- 128 GB RAM auf Strix Halo = mehr als ausreichend (min. 4 GB, empfohlen 8 GB)
|
||||
|
||||
---
|
||||
|
||||
## 2. Orpheus (Thorsten) / Orpheus TTS
|
||||
|
||||
### ROCm-Kompatibilität: ✅ JA
|
||||
- **Orpheus-FastAPI** (Lex-au/Orpheus-FastAPI) hat:
|
||||
- `docker-compose-gpu-rocm.yml` (seit v1.3.1, beigesteuert von @wizardeur)
|
||||
- Native ROCm PyTorch Installation: `pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.4/`
|
||||
- **llama.cpp ROCm-Support:** Erstklassig!
|
||||
- AMD-validierte Prebuilt-Binaries für ROCm
|
||||
- ROCm-Dokumentation: https://rocm.docs.amd.com/projects/llama-cpp/
|
||||
- Build mit `LLAMA_HIPBLAS=1`
|
||||
- Offizielle ROCm-Docker-Images: `rocm/llama.cpp`
|
||||
- Reddit-Bestätigung: "you can actually get Orpheus TTS to run on AMD GPU btw. with llama.cpp?"
|
||||
- Orpheus-Modelle als GGUF (Q2_K, Q4_K_M, Q8_0) via HuggingFace
|
||||
|
||||
### OpenAI-kompatible API: ✅ JA
|
||||
- Orpheus-FastAPI bietet vollständige OpenAI-kompatible API
|
||||
- Endpoint: `POST /v1/audio/speech`
|
||||
- 24 Stimmen in 8 Sprachen (inkl. Deutsch: jana, thomas, max)
|
||||
- Emotion-Tags: `<laugh>`, `<sigh>`, `<chuckle>`, etc.
|
||||
- Web-UI mit Waveform-Visualisierung
|
||||
|
||||
### OpenWebUI-Integration: ✅ JA
|
||||
- Orpheus-FastAPI verhält sich wie OpenAI TTS API → nahtlose Integration via Custom TTS
|
||||
- Konfiguration:
|
||||
- TTS Engine: OpenAI
|
||||
- API Base URL: `http://localhost:5005/v1`
|
||||
- API Key: beliebig (wird nicht geprüft)
|
||||
- TTS Model: `orpheus`
|
||||
- Auch via Ollama mit ROCm möglich (ollama.com/legraphista/Orpheus)
|
||||
|
||||
### CPU-Fallback: ✅ JA
|
||||
- `docker-compose-cpu.yml` verfügbar
|
||||
- llama.cpp CPU-Mode funktioniert auf 128 GB RAM problemlos
|
||||
|
||||
---
|
||||
|
||||
## 3. XTTS-v2 (Coqui TTS)
|
||||
|
||||
### ROCm-Kompatibilität: ✅ JA
|
||||
- **openedai-speech** (matatonic/openedai-speech) hat explizit:
|
||||
- `docker-compose.rocm.yml`
|
||||
- Dediziertes ROCm Docker-Image: `ghcr.io/matatonic/openedai-speech-rocm`
|
||||
- `requirements-rocm.txt`
|
||||
- `USE_ROCM=1` Environment-Variable
|
||||
- OpenWebUI-Doku bestätigt ROCm-Support:
|
||||
- https://docs.openwebui.com/features/chat-conversations/audio/text-to-speech/openedai-speech-integration
|
||||
- Abschnitt "AMD GPU (ROCm) Notes":
|
||||
1. `USE_ROCM=1` in `speech.env` entkommentieren
|
||||
2. `docker-compose.rocm.yml` verwenden
|
||||
3. ROCm-Treiber auf Host installiert
|
||||
- **Hinweis:** openedai-speech ist "mostly obsolete" (laut README), aber funktioniert.
|
||||
Alternativen: speaches.ai, Kokoro-FastAPI, Auralis, LitServe
|
||||
|
||||
### OpenAI-kompatible API: ✅ JA
|
||||
- openedai-speech ist per Design ein OpenAI TTS API Drop-in-Replacement
|
||||
- Endpoint: `POST /v1/audio/speech`
|
||||
- Modelle: `tts-1` (Piper/fast CPU), `tts-1-hd` (XTTS v2/GPU)
|
||||
- Voice Cloning mit 6+ Sekunden Audio
|
||||
- 16+ Sprachen (multilingual)
|
||||
- Output-Formate: mp3, opus, aac, flac, wav, pcm
|
||||
|
||||
### OpenWebUI-Integration: ✅ JA — DOKUMENTIERT
|
||||
- **Offizielle OpenWebUI-Doku:** https://docs.openwebui.com/features/chat-conversations/audio/text-to-speech/openedai-speech-integration
|
||||
- Konfiguration:
|
||||
- TTS Engine: OpenAI
|
||||
- API Base URL: `http://host.docker.internal:8000/v1`
|
||||
- API Key: `sk-111111111` (Dummy)
|
||||
- TTS Model: `tts-1` oder `tts-1-hd`
|
||||
|
||||
### CPU-Fallback: ✅ JA
|
||||
- `docker-compose.min.yml` nur mit Piper (CPU, < 1 GB Image)
|
||||
- XTTS-v2 läuft auch auf CPU (langsamer, aber 128 GB RAM ausreichend)
|
||||
|
||||
---
|
||||
|
||||
## 4. OpenWebUI TTS-Integration — Übersicht
|
||||
|
||||
### Unterstützte TTS-Backends (offiziell dokumentiert):
|
||||
| Backend | Typ | ROCm? | OpenWebUI-Doku |
|
||||
|---------|-----|-------|----------------|
|
||||
| OpenAI TTS | Cloud-API | N/A | ✅ |
|
||||
| OpenAI Edge TTS | Lokal/Docker | ✅ (CPU) | ✅ |
|
||||
| Kokoro-FastAPI | Lokal/Docker | ✅ (via ONNX) | ✅ |
|
||||
| Kokoro Web | Lokal/Docker | ✅ | ✅ |
|
||||
| Mistral TTS | Cloud-API | N/A | ✅ |
|
||||
| **openedai-speech** (XTTS-v2) | Lokal/Docker | ✅ | ✅ |
|
||||
| **Chatterbox TTS API** | Lokal/Docker | ✅ | ✅ |
|
||||
|
||||
### Custom TTS Engine (seit OpenWebUI Discussion #12937):
|
||||
- Beliebiges OpenAI-kompatibles TTS-Backend einbindbar
|
||||
- Erwartet: `GET /models` und `POST /v1/audio/speech`
|
||||
- Alle drei untersuchten Tools (Chatterbox, Orpheus, XTTS-v2) implementieren dieses Protokoll
|
||||
|
||||
---
|
||||
|
||||
## 5. Empfohlener Installationspfad (pro Tool)
|
||||
|
||||
### Chatterbox (höchste Qualität, Voice Cloning):
|
||||
```bash
|
||||
git clone https://github.com/travisvn/chatterbox-tts-api
|
||||
cd chatterbox-tts-api
|
||||
cp .env.example.docker .env
|
||||
# GPU-Mode (ROCm):
|
||||
docker compose -f docker/docker-compose.gpu.yml up -d
|
||||
# ODER CPU-only:
|
||||
docker compose -f docker/docker-compose.cpu.yml up -d
|
||||
# OpenWebUI: Engine=OpenAI, URL=http://localhost:4123/v1, Key=none
|
||||
```
|
||||
|
||||
### Orpheus (llama.cpp-basiert, GGUF-Modelle):
|
||||
```bash
|
||||
git clone https://github.com/Lex-au/Orpheus-FastAPI
|
||||
cd Orpheus-FastAPI
|
||||
cp .env.example .env
|
||||
# ROCm GPU:
|
||||
docker compose -f docker-compose-gpu-rocm.yml up
|
||||
# ODER CPU:
|
||||
docker compose -f docker-compose-cpu.yml up
|
||||
# OpenWebUI: Engine=OpenAI, URL=http://localhost:5005/v1, Key=any
|
||||
```
|
||||
|
||||
### XTTS-v2 (via openedai-speech):
|
||||
```bash
|
||||
git clone https://github.com/matatonic/openedai-speech
|
||||
cd openedai-speech
|
||||
cp sample.env speech.env
|
||||
# In speech.env: USE_ROCM=1 entkommentieren
|
||||
# ROCm GPU:
|
||||
docker compose -f docker-compose.rocm.yml up -d
|
||||
# ODER CPU/Minimal (nur Piper):
|
||||
docker compose -f docker-compose.min.yml up -d
|
||||
# OpenWebUI: Engine=OpenAI, URL=http://host.docker.internal:8000/v1, Key=sk-111111111
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. ROCm-Versionen für Strix Halo
|
||||
|
||||
Strix Halo (Ryzen AI Max+ 395) = RDNA 3.5, gfx1151:
|
||||
- **ROCm 6.4+** erforderlich (offizielle Unterstützung)
|
||||
- **ROCm 7.1** empfohlen (aktuelle Nightly-Builds, beste Strix-Halo-Unterstützung)
|
||||
- PyTorch ROCm Nightly: `https://download.pytorch.org/whl/nightly/rocm7.1/`
|
||||
- TheROCK-Projekt bietet optimierte PyTorch-Builds für Strix Halo
|
||||
- Referenz: https://rocm.docs.amd.com/projects/radeon-ryzen/
|
||||
|
||||
---
|
||||
|
||||
## 7. Fazit
|
||||
|
||||
| Tool | ROCm | OpenAI-API | OpenWebUI | CPU-Fallback | Empfehlung |
|
||||
|------|------|-----------|-----------|--------------|------------|
|
||||
| **Chatterbox** | ✅ | ✅ | ✅ Dokumentiert | ✅ | Höchste Qualität, Voice Cloning |
|
||||
| **Orpheus** | ✅ | ✅ | ✅ | ✅ | Schnell, GGUF-Modelle, Emotion-Tags, Deutsch |
|
||||
| **XTTS-v2** | ✅ | ✅ | ✅ Dokumentiert | ✅ | Bewährt, multilingual, Piper-Fallback |
|
||||
|
||||
**Alle drei Tools sind auf AMD Strix Halo mit ROCm lauffähig und per OpenAI-kompatibler API in OpenWebUI integrierbar.**
|
||||
|
||||
### Performance-Erwartung auf Strix Halo:
|
||||
- **Chatterbox / XTTS-v2:** GPU-Beschleunigung über PyTorch ROCm — RDNA 3.5 GPU liefert gute Performance
|
||||
- **Orpheus:** llama.cpp mit HIPBLAS — exzellente ROCm-Performance auf APUs dokumentiert (Ryzen 7 5700U Guide zeigt 9+ tok/s)
|
||||
- **CPU-Fallback:** 128 GB unified memory reichen für alle Modelle; CPU-Inferenz ist langsamer aber zuverlässig
|
||||
|
||||
### Quellen:
|
||||
- OpenWebUI Docs: https://docs.openwebui.com/category/text-to-speech
|
||||
- Chatterbox TTS API: https://github.com/travisvn/chatterbox-tts-api
|
||||
- Orpheus-FastAPI: https://github.com/Lex-au/Orpheus-FastAPI
|
||||
- openedai-speech: https://github.com/matatonic/openedai-speech
|
||||
- Medium: Voice Cloning on AMD Strix Halo (bkpaine1, 2025)
|
||||
- ROCm on Radeon/Ryzen: https://rocm.docs.amd.com/projects/radeon-ryzen/
|
||||
- llama.cpp on ROCm: https://rocm.docs.amd.com/projects/llama-cpp/
|
||||
- Reddit r/LocalLLaMA, r/ROCm, r/OpenWebUI (diverse Threads, 2025)
|
||||
Reference in New Issue
Block a user