leokani-tts-4.5M
milliwattlabs/leokani-tts-4.5M
- 作者
- milliwattlabs
- 任务
- 语音合成
- 下载量
- 144
- 点赞数
- 6
- 趋势分
- 6
- 许可证
- other
- 收录时间
- 2026/11/13
license: other license_name: milliwatt-labs-model-license license_link: https://huggingface.co/milliwattlabs/leokani-tts-4.5M/blob/main/LICENSE-MILLIWATT-LABS.md language:
- en pipeline_tag: text-to-speech library_name: pytorch tags:
- text-to-speech
- tts
- kokoro
- cpu
Leokani-tts 4.5M
Leokani-tts 4.5M is the smaller Leokani-tts: the same voice in 4.3 million parameters, for slower CPUs and microcontrollers. It speaks in one female American English voice, Dala, trained on synthetic speech generated with Kokoro-82M. The name is Hawaiian: leo (voice) and kani (sound).
Leokani-tts is from Milliwatt Labs: AI measured in milliwatts, not megawatts. We build small, efficient models that run on the devices you already own, with no data center and no GPU.
Apps, docs and the full-size model are on milliwattlabs.com:
- Python with PyTorch or ONNX Runtime: the files in this repo.
- Home Assistant: add https://github.com/Milliwatt-Labs/home-assistant-addons in the app store, install Leokani and set Model to Leokani-tts 4.5M (amd64 and arm64).
- Leokani-tts 7M: the full-size voice, with apps for Mac, iPhone, Android, Linux, Raspberry Pi, Home Assistant and the browser.
Samples
| Text | Audio |
|---|---|
| Hello! I'm a small text-to-speech model, and I run on an ordinary computer. | |
| That sounds like a great plan! Let me know how it goes, and good luck tomorrow. | |
| Did you remember to water the tomatoes before the rain started? | |
| Your flight leaves on March 14th at 7:45 AM, and the fare is 219 dollars. | |
| The trail is 4.2 miles long, climbs about 1,200 feet, and takes around 3 hours. | |
| Maria Gonzalez and Hiroshi Tanaka are meeting Dr. Okafor in Minneapolis on Friday. | |
| The old lighthouse stood at the edge of the bay for more than a century, and every evening the keeper climbed one hundred and twelve steps to light the lamp. | |
| Sure, no problem. |
Usage
hf download milliwattlabs/leokani-tts-4.5M --local-dir leokani-tts-4.5M
cd leokani-tts-4.5M
pip install -r requirements.txt # torch, safetensors
python leokani.py "Hello there. How was your day?" -o hello.wav
python leokani.py "A little slower, please." --speed 0.85 -o slow.wav
python leokani.py --fp16 "Same voice, half-size weights." -o fp16.wav
To turn text into phonemes, Leokani-tts uses espeak-ng by default, or Leokani G2P with --g2p leokani.
Leokani G2P is our own espeak-ng-compatible phonemizer, included in g2p/, so nothing else needs installing:
python leokani.py "Hello there. How was your day?" --g2p leokani -o hello.wav
espeak-ng is a separate dependency under GPL-3.0, and it is not included here. Install it with
brew install espeak-ng (macOS) or sudo apt install espeak-ng (Debian/Ubuntu), or point to it with
--espeak PATH. Or pass Kokoro-style phonemes with --phonemes "...". Leokani G2P on its own:
milliwattlabs/leokani-g2p.
Usage (ONNX)
pip install onnxruntime
python leokani_onnx.py "Hello there. How was your day?" -o hello.wav
python leokani_onnx.py "No espeak-ng needed." --g2p leokani -o g2p.wav
python leokani_onnx.py --int8 "Same voice, a smaller file." -o int8.wav
Specs
4.3M parameters · 17 MB (fp32) or 8.6 MB (fp16) safetensors · leokani-tts.onnx (fp32), leokani-tts-fp16.onnx
(fp16) and leokani-tts-int8.onnx (int8, 5.1 MB) · 24 kHz mono output.
On every platform
| Platform | Device | Speed | First speech |
|---|---|---|---|
| Linux | 1 Arm core (Cortex-A725, 2.8 GHz) | 38× | 128 ms |
| ESP32-P4 | ESP32-P4, 360 MHz, Arduino | 1.06× | 126 ms |
| ESP32-S3 | ESP32-S3, 240 MHz, Arduino | 0.56× | 247 ms |
| GPU | DGX Spark (GB10), many lines at once | 4,257× | 9 ms |
Speed = seconds of speech per second of compute. First speech = time to the first audio of a line, with the voice already loaded. ESP32: both cores. Leokani-tts 7M on the same ESP32-P4 and library: 0.84×.
On a GPU
No GPU is needed, but on one Leokani is very efficient. Same GPU (NVIDIA GB10, DGX Spark), same test:
| Model | Params | × real time, per line | × real time, many lines at once | GPU J per minute of speech |
|---|---|---|---|---|
| Leokani-tts 4.5M | 4.3M | 485× | 4,257× | 0.47 |
| Leokani-tts 7M | 7M | 486× | 3,500× | 0.52 |
| Piper (en_US lessac medium) | 15.7M | 72× | — | 3.52 |
| KittenTTS nano 0.8 | 14M | 75× | — | 6.15 |
| KittenTTS mini 0.8 | 73M | 29× | — | 9.29 |
| Kokoro-82M | 82M | 86× | — | 14.6 |
| Kyutai Pocket TTS | 110M | 14.1× | — | 32.1 |
| Chatterbox | 798M | 2.1× | — | 430 |
J per minute = GPU energy above idle; the GB10 has no CPU power sensor, so models that do part of their work on the CPU look slightly better than they are. — = no batch mode. Both Leokani rows were measured together, on one DGX Spark.
Performance on One Thread
| Model | Params | Size | Speed, Mac | Speed, 1 Arm core | First speech, Mac | First speech, 1 Arm core | WER | UTMOS |
|---|---|---|---|---|---|---|---|---|
| Leokani-tts 4.5M ¹ | 4.3M | 17 MB | — | 38× | — | 128 ms | 0.07 % | 3.56 |
| Leokani-tts 7M | 7.0M | 28 MB | 90× | 27× | 50 ms | 181 ms | 0.07 % | 3.61 |
| KittenTTS nano 0.8 | 14.0M | 60 MB | 26× | 3.6× | 240 ms | 1.7 s | 0.41 % | 2.18 |
| Piper (en_US lessac medium) | 15.7M | 63 MB | 49× | 5.6× | 86 ms | 710 ms | 0.90 % | 3.77 |
| KittenTTS mini 0.8 | 73M | 82 MB | 16× | 3.4× | 330 ms | 1.6 s | 0.21 % | 2.04 |
| Kokoro-82M | 82M | 328 MB | 7.6× | 0.48× | 670 ms | 11 s | 0.35 % | 3.76 |
| Kyutai Pocket TTS | 110M | 226 MB | 9.7× | 1.2× | 34 ms | 280 ms | 0.35 % | 3.25 |
| Chatterbox | 798M | 3.2 GB | 0.28× | 0.028× | 15 s | 150 s | 0.55 % | 3.36 |
¹ PyTorch on one thread, like every row here. The ONNX version gives the same output, within 1 % of this speed on the Arm core.
Speed = seconds of speech per second of compute; first speech = median time to first audio over 20 sentences. Mac: M3 Pro CPU; Arm: one 2.8 GHz Cortex-A725 core (Raspberry Pi-class). WER (Whisper large-v3), UTMOSv2: 120 sentences. — = not measured yet.
Limitations
- One voice, English only.
- Pronunciation follows espeak-ng, so unusual names may be misread. Some symbols are read literally ("$219" becomes "dollar two hundred nineteen"), so write amounts out ("219 dollars").
- Delivery is neutral, intended for a home-assistant style of inflection.
Acceptable use
Don't use Leokani-tts, or speech made with it, to:
- impersonate a real person, or make it sound like someone said something they didn't, without their consent;
- deceive or defraud people, including scams, phishing calls and fake emergency or official messages;
- harass, threaten or bully anyone, or produce hateful or sexual content involving minors;
- spread disinformation, including fake news audio or election-related deception;
- break any law, including privacy, consumer-protection and robocall rules.
Tell people when speech is synthetic wherever the law requires it or they could reasonably be misled. You are responsible for what you make with the model. These terms come in addition to the license.
Speech made with Leokani-tts carries an inaudible watermark, built into the model, that lets Milliwatt Labs recognize audio it generated. The mark is the same in all audio and contains no information about you or your text.
License
From November 8, 2026, Leokani-tts is under the Milliwatt Labs Model License 1.0
(see LICENSE-MILLIWATT-LABS.md): free for organizations with up to US$1M in annual revenue. Commercial use needs a free,
one-time registration and a yearly one-tap self-report. Above US$1M, one
flat, predictable yearly fee and no royalties: email hello@milliwattlabs.com.
Copies downloaded before November 8, 2026 were licensed under CC BY-NC 4.0
(see LICENSE), non-commercial use only. You may keep using them under it, or move them to the new license.
For a custom voice, email hello@milliwattlabs.com.
Training audio data generated from Kokoro-82M by hexgrad, which is licensed under
Apache-2.0 (licenses/Kokoro-82M-Apache-2.0.txt).
The Leokani G2P files in g2p/ have their own licence: its code is MIT and its weights and lexicon are
CC BY 4.0, free with attribution (g2p/LICENSE, g2p/NOTICE).
内容来源:Hugging Face 模型卡
在 Hugging Face 查看