Lithuanian speech to text for Home Assistant: a voice command in 0.2 s on an ordinary CPU.
Lithuanian. Local. Free.
A voice assistant needs a mouth and ears. The ears are speech-to-text (STT, also called ASR): they hear “Įjunk šviesą svetainėje” (“turn on the living-room light”) and turn it into text Home Assistant can act on. LT_ausys is Kristijonas Jakubsonas's Lithuanian model, which we converted to ONNX and compressed so it runs fast on a CPU with no GPU, served over the Wyoming protocol — the same one Home Assistant uses for its own voice services.
A voice command is recognised in 0.21 s. Whisper-family models (Paprika included) take 3.55 s on the same mini PC: they encode a 30-second window for every phrase, however short.
Four CPU cores and 4 GB of RAM are enough — a mini PC or a Proxmox container. The compressed (int8) model is 0.9 GB.
On read speech (FLEURS) it gets 10.6 % of words wrong; Paprika 12.0 %. Home Assistant's default Whisper base gets 88 % wrong in Lithuanian.
Everything runs on your own computer or home server. No account, no API key, no subscription. What is said at home stays at home.
The output is normal written Lithuanian: punctuation, capital letters and numbers spelled out as words.
The model is CC BY 4.0, like the original: commercial use is allowed with credit to Kristijonas Jakubsonas. The server and tools are GPL-3.0.
Whisper is the most popular open speech-recognition model, but it encodes a fixed 30-second window for every phrase, however short. On a CPU that is a cost of several seconds per command. LT_ausys is built on NVIDIA's Parakeet-TDT transducer, which processes only as much audio as it is given. Same machine (Ryzen 7 8845HS mini PC, 4 threads), same 127 home commands:
| per command | FLEURS word error rate | command intent exam | |
|---|---|---|---|
| LT_ausys (int8) | 0.21 s | 10.6 % | 101 / 119 |
| Paprika (Whisper large-v3-turbo) | 3.55 s | 12.0 % | 93 / 119 |
| faster-whisper tiny | 0.73 s | 99 % | 17 / 119 |
Measured on 2026-10-24 on one machine. Full tables, test sets and caveats: docs/results.md.
Three ways in — pick the one closest to what you already run.
pip install "onnx-asr[cpu,hub]"
import onnx_asr
model = onnx_asr.load_model("RobertasTa/lt-ausys", quantization="int8")
print(model.recognize("command.wav")) # 16 kHz mono WAV
About 5 minutes: a Python environment with a systemd unit, or a single Docker image. The full recipe is
in the README.
The server listens on port 10302.
wyoming-faster-whisper?Since version 3.9 it has an onnx-asr engine, so no new server is needed:
wyoming-faster-whisper --uri tcp://0.0.0.0:10302 --stt-library onnx-asr \
--model RobertasTa/lt-ausys --language lt --data-dir /data --download-dir /data
This route loads the larger fp32 model (2.5 GB) and ignores the thread count; for int8 use route B. Why.
Settings → Devices & services → Add integration → Wyoming Protocol → the server's address and port
10302. In your Assist pipeline choose lt_ausys as the Speech-to-text engine and
Lithuanian as the language.
For Home Assistant to understand and answer in Lithuanian you need three parts. All are free and run at home:
Home Assistant already has Lithuanian intents (“įjunk šviesą svetainėje”).
The ears are Kristijonas Jakubsonas's. His model kmynas-parakeet-lt-v4 is NVIDIA Parakeet-TDT 0.6B v3 fine-tuned on 3,087 hours of Lithuanian speech from Vilnius University's LIEPA-3 corpus, published under CC BY 4.0 with an honest model card.
We (Robertas and Claude) added only the packaging: conversion to ONNX, int8 compression that keeps the accuracy, a Wyoming server, measurements and install guides. If you use or redistribute the model, credit Kristijonas Jakubsonas and say what you changed.
Not a programmer? Paste this into any AI chat (Claude, ChatGPT or another) and keep asking in your own words:
Read https://raw.githubusercontent.com/RobertasTa/lt-ausys/main/AI_CONSULTANT_BRIEF.md
and help me connect the LT_ausys Lithuanian speech recognition to Home Assistant.
That file lists what the assistant must ask before advising and what it must not claim.
Kristijonas Jakubsonas — for the model itself. NVIDIA — for Parakeet-TDT 0.6B v3 (CC BY 4.0). Vilnius University and raštija.lt — for the LIEPA-3 corpus (CC BY 4.0). Ilya Stupakov — for onnx-asr, Microsoft — for onnxruntime, Open Home Foundation — for the Wyoming protocol.
No institution sponsors this project. Full credits with licences are at the end of the README.