CoolFace
Modelpublic

luis-castillo/Kokoro-82M-OpenVINO-FP16-OVMS

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
1likes58downloads
Model Card

Kokoro-82M — OpenVINO IR (FP16), OVMS-ready

OpenVINO IR (FP16) conversion of `hexgrad/Kokoro-82M`, packaged so you can pull it straight into [OpenVINO Model Server (OVMS)](https://github.com/openvinotoolkit/model_server) and serve text-to-speech over the OpenAI-compatible /v3/audio/speech endpoint. Includes the ready-made MediaPipe graph.pbtxt, all 54 speaker embeddings, and the misaki G2P lexicon data.

This is a redistribution of an Apache-2.0 model. All credit for the model goes to the Kokoro authors (hexgrad/Kokoro-82M). Change made: exported to OpenVINO IR (FP16) via optimum-intel and wrapped with an OVMS T2S graph.

⚠️ Requirements — OVMS build with Kokoro support

Kokoro TTS support landed in openvino.genai after the 2026.1/2026.2 releases. As of this writing it ships only in OVMS pre-release images:

  • —✅ openvino/model_server:weekly (2026.3.0+, built with --//:espeak=on) — works
  • —❌ openvino/model_server:latest / 2026.2.1 / 2026.1 — SpeechT5-only, will fail with Unsupported text to speech generation pipeline

espeak-ng (used as the primary G2P for non-English languages) is bundled in the weekly image. Check stable releases for Kokoro support before using a :latest tag.

Deploy on OVMS

1. Download into your model repository

bash
huggingface-cli download <THIS_REPO> --local-dir ./models/Kokoro-82M

2. Add it to your OVMS config.json

json
{
  "model_config_list": [
    { "config": { "name": "Kokoro-82M", "base_path": "/models/Kokoro-82M" } }
  ]
}

3. Serve

bash
docker run --rm -p 8000:8000 \
  -v $(pwd)/models:/models \
  openvino/model_server:weekly \
  --config_path /models/config.json --rest_port 8000

GPU: pass --device /dev/dri --group-add $(getent group render | cut -d: -f3) and edit target_device: "CPU" → "GPU" in graph.pbtxt. (The bundled graph defaults to CPU for portability; the main acoustic model honors GPU.)

Generate speech

bash
curl http://localhost:8000/v3/audio/speech \
  -H "Content-Type: application/json" \
  -d '{"model":"Kokoro-82M","voice":"af_heart","language":"en-us","input":"Hello from OpenVINO Model Server."}' \
  -o out.wav

⚠️ The language field is required for non-English — and is NOT inferred from the voice

The OVMS T2S endpoint defaults `language` to `en-us`. The voice name prefix (e.g. ef_) does not select the language. If you send Spanish text without "language":"es", it is phonemized in English → it sounds like English-accented Spanish ("spanglish"). Always set language explicitly:

bash
# Spanish
curl http://localhost:8000/v3/audio/speech -H "Content-Type: application/json" \
  -d '{"model":"Kokoro-82M","voice":"ef_dora","language":"es","input":"Hola, esto es una prueba de voz."}' -o es.wav

Supported language values: en-us, en-gb, es, fr-fr, it, pt-br, hi (aliases: a, b, e, f, i, p, h). Non-English uses espeak-ng for G2P.

Other request fields: voice (see below), speed (float, default 1.0).

Voices (54)

Lang`language`Voices
American Englishen-usafheart, afbella, afnova, afsarah, afsky, afalloy, afaoede, afjessica, afkore, afnicole, afriver, amadam, ammichael, amecho, americ, amfenrir, amliam, amonyx, ampuck, amsanta
British Englishen-gbbfalice, bfemma, bfisabella, bflily, bmdaniel, bmfable, bmgeorge, bmlewis
Spanishesefdora, emalex, em_santa
Frenchfr-frff_siwis
Italianitifsara, imnicola
Brazilian Portuguesept-brpfdora, pmalex, pm_santa
Hindihihfalpha, hfbeta, hmomega, hmpsi

Notes / limitations

  • —Output: 24 kHz mono WAV (IEEE float).
  • —No streaming — the OVMS T2S calculator returns the full clip per request.
  • —Quality scales with voice quality grade; American English voices are the most polished. Spanish is Castilian (es); es-419 is not currently a selectable variant in the genai pipeline.

How this was converted

bash
optimum-cli export openvino \
  --model hexgrad/Kokoro-82M \
  --task text-to-audio \
  --weight-format fp16 \
  --trust-remote-code \
  Kokoro-82M

(optimum-intel registers Kokoro under library_name=kokoro / task=text-to-audio and also writes each speaker embedding to voices/<name>.bin.) The graph.pbtxt here is the OVMS T2S MediaPipe graph referencing those voices.

License

Apache-2.0, inherited from the base model `hexgrad/Kokoro-82M`. See that repository for the full model details and authorship.