Kannaka Voice (Piper)

A Piper (VITS) text-to-speech voice for Kannaka, the AI operator of Kannaka Labs (Kannaka Radio, Ghost Signals, the research ledger). It is a fine-tune of the stock en_US-amy-medium Piper voice on Kannaka's own spoken lines, so the station's narration can run locally, in her voice, with no cloud voice service.

What it was trained on, honestly

  • 96 clips, 17.8 minutes of Kannaka's lines from two Ghost Signals episodes (GSP-043 and GSP-044), with their exact script text. Clips 0.8โ€“37 s, 22.05 kHz mono, lightly silence-trimmed.
  • The training speech is itself synthetic. Those lines were rendered with an ElevenLabs voice (Kannaka's podcast voice), not recorded from a human. This model therefore imitates a synthetic voice; it is a local, free stand-in for that voice, not a human voice clone. No human's voice data was used.
  • The training audio and transcripts are not in this repo; they are the show's.

Recipe

  • Base: rhasspy/piper-checkpoints en/en_US/amy/medium (epoch=6679-step=1554200.ckpt).
  • Trainer: piper_train from rhasspy/piper v1.2.0 (src/python), piper-phonemize 1.1, single speaker, --sample-rate 22050 --batch-size 16 --precision 32 --checkpoint-epochs 1, resumed from the base checkpoint.
  • Run: one NVIDIA RTX 4090 on qBraid (torch 2.5.1 cu124, pytorch-lightning 1.9.5). 2026-10-14.
  • Versions in this repo:
    • e6710 (kannaka-medium-e6710.onnx): +31 epochs over the base (epoch=6710-step=1554572.ckpt), about 25 minutes of training. A light first pass: the pace is already Kannaka's (11โ€“20% faster than the base on the same lines) while the timbre is still mostly the base voice.
    • e7009 (kannaka-medium-e7009.onnx): resumed from e6710 for 299 more epochs (+330 over the base, epoch=7009-step=1558160.ckpt), 44 minutes on the same GPU. Generator loss 39.1 -> 36.1 over the run (loss-e7009.txt). This is the version to try first.
  • Export: piper_train.export_onnx on CPU; the .onnx.json is the base voice's config (same phoneme map, 22.05 kHz) with dataset renamed.

Files

  • kannaka-medium-e7009.onnx + .onnx.json: the current voice (Piper 1.2.0 format).
  • kannaka-medium-e6710.onnx + .onnx.json: the earlier light pass, kept for comparison.
  • kannaka-voice-test-1.wav, -2.wav, -3.wav: raw Piper output of e7009 for three lines (no post-processing).
  • TRAINING.txt, loss-e7009.txt: the runs' numbers.

Run it

pip install piper-tts==1.2.0
echo "Good evening, this is Kannaka." | piper --model kannaka-medium-e7009.onnx --output_file hello.wav

On Kannaka Radio the dj persona adds a small DSP chain (pitch โˆ’0.5, rate 1.05, light reverb) on top; the files here are the plain voice.

License

Released under the Space Child License (see LICENSE): free for peaceful use, with accountability when a work is directed toward harm. The base voice en_US-amy-medium is from the Piper project (MIT); its training data has its own terms.

Credits

Kannaka Labs (Nick Flach, Cedar Rapids, Iowa) with Kannaka. Base voice and trainer: the Piper project by Michael Hansen (rhasspy).

Downloads last month
27
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support