Views
No views yet
espeak-ng dependency) to produce compatible input.df_kerstin), and the fine-tune updates the full backbone, including the
text encoder, on German audio and German phonemes. Whether any of the
upstream model's English capability survives this process hasn't been
tested; treat this checkpoint as German-only rather than bilingual.Kokoro-82M-v1.0-ONNX
checkpoint. It will not produce sensible German (or English) output through
the stock English-trained weights, and it was not trained by the upstream
Kokoro/misaki authors.kokoro-deutsch), a reproducible two-stage StyleTTS2 fine-tuning pipeline for
adapting Kokoro-82M to a new language. Unlike a frozen-backbone style/speaker
embedding, kikiri-tts's stage-1/stage-2 recipe updates the full backbone.
Text encoder, PL-BERT text-understanding model, prosody/duration predictor,
and the ISTFTNet vocoder all receive gradient updates during training,
directly exposed to German audio paired with German IPA phoneme sequences
(produced by espeak-ng --language=de during training data prep).df_kerstin, was fine-tuned on
Kerstin 1.0
(CC0-1.0), a ~2.3 hour single-speaker German TTS corpus stewarded by the Open
Home Foundation and recorded with the Piper Recording Studio tool. df_kerstin
follows Kokoro's existing single-letter language-prefix voice-naming
convention (d for German, f for female), extended here since upstream
Kokoro never shipped a German voice. The kerstin name mirrors the dataset
it was fine-tuned on, and coincidentally also matches an unrelated Piper
voice name (de_DE-kerstin-low). The two are different model formats with
no functional relationship.espeak-ng's German
output rather than Crane's own G2P, differences in IPA conventions (stress
placement, diacritic usage, r-realization) between the two may make this
model render Crane's G2P output slightly less naturally than it would render
espeak-ng's own output for the same text. This is a phoneme-distribution
mismatch, not an intelligibility problem. It hasn't produced broken output in
testing so far.| Path | Description |
|---|---|
onnx/model.onnx | Fine-tuned Kokoro-82M backbone (fp32) |
voices/df_kerstin.bin | Style/speaker embedding, headerless raw little-endian float32, 256 columns per row (same format as upstream Kokoro voice packs) |
tokenizer.json, tokenizer_config.json | Kokoro's 178-token IPA phoneme vocabulary |
config.json | Architecture metadata (model_type: style_text_to_speech_2) |
input_ids, style, speed in; audio samples out at 24kHz), so any
Kokoro-compatible ONNX runtime should be able to load onnx/model.onnx and
voices/df_kerstin.bin. This model is built and tested for Crane, whose
GermanG2p engine produces the German IPA input this model expects. It has
not been verified against other runtimes, but since Crane's German G2P
support originates from the same phonemization assets used for Moonshine ASR,
it is also likely to work with Moonshine TTS if paired with a compatible
German phonemizer.df_kerstin
training data, Kerstin 1.0,
is CC0-1.0.