Voice settings now list only the voices that speak the app language (German shows German voices, English shows English ones) as a horizontal carousel: one card per voice, a play button next to the name, tap to make it the active voice. Changing the app language moves the saved voice to that language. The hosted voice providers (ElevenLabs, OpenAI, Cartesia, Fish Audio) are removed; Kokoro on the server is the only voice. E2E runs against a stub Kokoro server so the carousel is covered. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KxoSHAyzMXvdtwcDJZcn57
35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# Kokoro (lokale Stimme)
|
|
|
|
Kokoro ist die einzige Stimme in EvOo: **Kokoro-82M** (Apache 2.0) läuft lokal über [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI), ohne Cloud-Dienst und ohne API-Key.
|
|
|
|
## Schnellstart
|
|
|
|
```bash
|
|
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
|
|
```
|
|
|
|
Optional auf dem EvOo-Server (wenn Kokoro woanders läuft):
|
|
|
|
```bash
|
|
export KOKORO_BASE_URL=http://127.0.0.1:8880
|
|
```
|
|
|
|
## In EvOo verbinden
|
|
|
|
1. **Stimme** in den Einstellungen öffnen.
|
|
2. **Kann sprechen** einschalten. EvOo prüft `GET /v1/audio/voices` und speichert einen Platzhalter-Token (`local-kokoro`), kein API-Key.
|
|
3. Im Karussell eine Stimme antippen; der Play-Knopf spielt sie vorher an.
|
|
4. Voice First / CallView nutzt dann `POST /v1/audio/speech` (OpenAI-kompatibel, `stream: false`).
|
|
|
|
## Stimmen und Sprache
|
|
|
|
Kokoro kodiert die Sprache im ersten Buchstaben der Stimm-ID (`a`/`b` Englisch, `d` Deutsch, `e` Spanisch, `f` Französisch, …). EvOo zeigt nur die Stimmen der eingestellten App-Sprache und wechselt die gespeicherte Stimme mit, wenn die Sprache wechselt. Bietet der Server keine Stimme in dieser Sprache an (das Standard-Image von Kokoro-FastAPI hat keine deutschen `df_`/`dm_`-Stimmen), zeigt EvOo alle Stimmen.
|
|
|
|
## Fehler
|
|
|
|
| Meldung | Ursache |
|
|
|---------|---------|
|
|
| *Kokoro lokal nicht erreichbar…* | Kokoro-FastAPI läuft nicht oder `KOKORO_BASE_URL` stimmt nicht. |
|
|
|
|
API-Dokumentation nach Start: `http://127.0.0.1:8880/docs`
|