Downloads · 30 days
0
miro-dietiker/kokoro-de-martin
kokoro-de-martin is a text-to-speech model from miro-dietiker. Use it when you need text read aloud. It is set up for sherpa-onnx. The card lists the license as apache-2.0.
The German Kokoro voice Martin, repackaged so it loads and runs in sherpa-onnx for fully offline, on-device German text-to-speech.
Downloads · 30 days
0
Access
Public
Updated Jul 13, 2026
Repo size
635 MB
Likes
1
Public
Click a slice to open those files.
.bz2318 MB · 100%
From the Hugging Face model README
The German Kokoro voice Martin, repackaged so it loads and runs in sherpa-onnx for fully offline, on-device German text-to-speech.
This is a repackaging, not a retraining — the weights are untouched. The only changes are the metadata and file layout sherpa-onnx needs in order to load a Kokoro model at all.
sherpa-onnx's Kokoro TTS reads its configuration out of the ONNX file's metadata (model type,
sample rate, speaker table, style dimensions, …) to know how to run the model, and it expects the
speaker style vectors as a single flat voices.bin. The upstream Martin export provides
neither — the ONNX carries no sherpa-onnx metadata, and the voice ships as a NumPy .npz — so
sherpa-onnx cannot load it directly. This package fixes exactly that:
model_type=kokoro,
sample_rate=24000, style_dim=510,1,256, n_speakers=1, id2speaker=0->martin, …), copied
from k2-fsa's own Kokoro release schema, and.npz (one (510,1,256) float32 array) into the flat little-endian
voices.bin sherpa expects (522 240 bytes).The result loads and synthesizes in sherpa-onnx with the weights unchanged.
kokoro-de-martin.tar.bz2:
model.onnx — the Martin ONNX with sherpa-onnx Kokoro metadata injectedvoices.bin — the voice style vector (510×1×256 float32)tokens.txt — from the k2-fsa sherpa-onnx Kokoro releaseespeak-ng-data/ — from espeak-ng 1.52 (see the pronunciation note below)sherpa-onnx phonemizes German with espeak-ng / piper-phonemize, and two properties of that pipeline affect raw-text rendering. Both are properties of the sherpa-onnx Kokoro G2P, not of the voice weights.
ʊɐ ("ur") vowel — fixed in this package. The espeak-ng-data shipped by k2-fsa's base
Kokoro release is stale and emits a literal ? for the vocalized-r ʊɐ, so durch, kurz,
wurde, … mispronounce. This package instead bundles current espeak-ng 1.52 data, which
resolves ʊɐ correctly (durch → dˈʊɐç). A build-time check guards it./ç/ — needs a phonemizer patch, not a lexicon. piper-phonemize NFD-decomposes
ç into c + combining cedilla (U+0327), which the precomposed Kokoro token set drops, so
ich, nicht, -lich / -ig don't render cleanly. Note the usual "add a lexicon entry"
workaround does not apply here: sherpa-onnx consults the Kokoro lexicon only for its
dictionary languages (en/zh); for espeak-driven languages (incl. German) it goes straight to
espeak and never reads the lexicon. The fix has to be in the phonemizer — recompose the pair
back to ç when that codepoint is a known token. The Page Reader app
that consumes this package carries exactly that patch in its bundled sherpa-onnx build; if you
run this archive on stock sherpa-onnx, ç-words are still affected.Reproducibly, by a small build chain: fetch the upstream Martin ONNX + voice .npz and k2-fsa's
base Kokoro release (for the metadata schema, tokens.txt, and espeak-ng-data/), inject the
metadata, convert the .npz to voices.bin, and assemble the archive. A verify step then loads
the result in sherpa-onnx and synthesizes a German clip to confirm it works before publishing.
Apache-2.0, inherited from upstream. The weights are unchanged from the source fine-tune:
tokens.txt + espeak-ng-data/: k2-fsa sherpa-onnx Kokoro releaseExtract kokoro-de-martin.tar.bz2 and point sherpa-onnx's Kokoro config at model.onnx,
voices.bin, tokens.txt, and espeak-ng-data/ with lang=de.