evOo-local/docs/kokoro-voice.md
Claude bc7353f1f2
Pick the voice from a carousel in the app language, local voice only
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
2026-10-05 14:44:03 +00:00

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`