Paprika 🌶️ — Lithuanian Whisper (large-v3-turbo)
⚠️ A newer model is available, and please read this about inference
paprika-whisper-lt-v3supersedes this model: better WER, and long-form decoding actually works. Ready-to-run pipelines (punctuation, speaker labels, live subtitles): https://github.com/kristijonasatpro/paprikaThis card used to recommend
chunk_length_s=30as the only usable path. On this model that is still true — its native long-form decoding is broken (+23 WER). But the chunked pipeline has a failure mode we did not know about when this card was written: it decodes fixed windows independently and merges them by matching text in the overlaps, discarding any span it cannot align. Measured 2026-08-15 on clean audio, it silently dropped 30 words from one recording and 52 from another, both at a seam, with nothing in the output to mark the gap. It also emits 24–164 characters of invented Lithuanian when given silence or room tone, where long-form decoding emits nothing.So v1 has no fully safe decode path: long-form is broken, and chunked can lose content. If that matters to you, move to v3.
This is no longer the most accurate open Lithuanian ASR.
akisviete/azuolas-whisper-lt
(whisper-large-v3, CC BY 4.0) is more accurate, and the comparison is a fair one:
its authors ran all three models through this project's harness, decoding
settings and text normalisation.
| FLEURS LT | Common Voice LT | speed | |
|---|---|---|---|
| Ąžuolas (large-v3, 1.55 B) | 9.05 | 4.60 | 26x realtime |
| paprika-whisper-lt-v3 (turbo, 0.81 B) | 12.06 | 8.60 | 83x realtime |
| kmynas-parakeet-lt-v3 (0.6 B) | 17.73 | 22.86 | 819x realtime |
Use Ąžuolas when you want the lowest WER. The paprika line trades some accuracy for roughly 3x the speed at half the parameters, and kmynas trades more again for another order of magnitude plus punctuation.
The number below is what this model measured in August 2026: 16.98% WER / 10.01% CER on a held-out VoxPopuli LT benchmark (11 plenary speeches, normalized text).
| model | WER % |
|---|---|
| paprika (this model) | 16.98 |
| svogunas/whisper-large-v3-turbo-lt (base) | 18.13 |
| sam8000/whisper-large-v3-turbo-lithuanian… | 26.75 |
| openai/whisper-large-v3-turbo (stock) | 30.03 |
Continuing the fine Lithuanian tradition of vegetable-named speech models: paprika is warm-started from svogunas 🧅 and fine-tuned for 8,000 steps (effective batch 32) on ~320 h of Lithuanian speech: LIEPA-3 spontaneous (245 h) + LIEPA-3 read (76 h) + VoxPopuli LT. Benchmark speakers were excluded from training. RTF ≈ 0.10 with MLX on Apple Silicon, ≈ 0.27 with HF transformers fp16 on MPS.
Public benchmark (FLEURS-lt, same-harness comparison)
Measured 2026-08-07 on identical hardware/protocol (greedy, language=lt,
whisper-style normalization, FLEURS-lt test n=986):
| model | WER |
|---|---|
| paprika (this model) | 12.32 % |
| svogunas/whisper-large-v3-turbo-lt (base) | 12.83 % |
(The svogunas model card reports 13.18 % on its own harness — protocol differences account for the offset; the same-harness pair above is the fair comparison.) Our fine-tune improves on its base model out-of-domain as well as on the VoxPopuli bench.
Usage
from transformers import pipeline
asr = pipeline("automatic-speech-recognition",
model="kristijonas/paprika-whisper-lt",
chunk_length_s=30)
print(asr("audio.wav",
generate_kwargs={"language": "lithuanian", "task": "transcribe"})["text"])
Known limitations (v1 — honest by design)
- No punctuation or casing: output is lowercase and unpunctuated — the training labels lacked both. Pair with a punctuation/truecase post-processor for readable text.
- Neither decode path is fully safe on v1: native long-form/timestamp
decoding degrades badly here (the fine-tune lost timestamp competence), and
the
chunk_length_s=30alternative silently drops words at window seams (see the notice at the top). v3 fixes long-form and is the recommended path. - 16 kHz audio; parliamentary and spontaneous speech dominate the training mix.
v3 is out and addresses the timestamp/long-form problem: trained on ~3,281 h of LIEPA-3 including all four dialect regions, with a valid timestamp share of 1.00 and a long-form gap of +1.3 rather than +23. Punctuation and casing are still left to a separate tagger by design — the repo linked above ships one. Issues, feedback, and hard Lithuanian test cases are very welcome.
Attribution
- Base model: svogunas/whisper-large-v3-turbo-lt (CC BY 4.0)
- Data: LIEPA-3 garsynas (CC BY 4.0, via raštija.lt / Vilnius University) — ačiū už atvirus duomenis; VoxPopuli (Meta AI)
- Built by the Kalamo team — real-time translation and speech tools for smaller languages.