evOo-local/docs/kokoro-voice.md
cynarAI 459d7c99e4
Pick the voice from a carousel in the app language, local voice only (#166)
* 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

* test(e2e): measure the workspace panel width after its transition settles

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KxoSHAyzMXvdtwcDJZcn57

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-05 22:20:06 +02:00

1.4 KiB

Kokoro (lokale Stimme)

Kokoro ist die einzige Stimme in EvOo: Kokoro-82M (Apache 2.0) läuft lokal über Kokoro-FastAPI, ohne Cloud-Dienst und ohne API-Key.

Schnellstart

docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest

Optional auf dem EvOo-Server (wenn Kokoro woanders läuft):

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