Automatic Speech Recognition
NeMo
Lithuanian
speech
parakeet
tdt
fastconformer
lithuanian
telephony
spontaneous-speech
punctuation
capitalization
inverse-text-normalization
liepa-3
Eval Results (legacy)
Instructions to use Digisensus/parakeet-tdt-0.6b-lt-phone with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use Digisensus/parakeet-tdt-0.6b-lt-phone with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("Digisensus/parakeet-tdt-0.6b-lt-phone") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
|
Download README.md from Digisensus/parakeet-tdt-0.6b-lt-phone: direct link, hf CLI and curl.
- Browser
- Download file 8.01 kB
-
https://huggingface.co/Digisensus/parakeet-tdt-0.6b-lt-phone/resolve/main/README.md
- Command line
-
hf download hf://Digisensus/parakeet-tdt-0.6b-lt-phone/README.md
-
curl -L -o README.md https://huggingface.co/Digisensus/parakeet-tdt-0.6b-lt-phone/resolve/main/README.md
8.01 kB
| license: cc-by-4.0 | |
| language: | |
| - lt | |
| library_name: nemo | |
| pipeline_tag: automatic-speech-recognition | |
| base_model: nvidia/parakeet-tdt-0.6b-v3 | |
| datasets: | |
| - Digisensus/lithuanian-phone-speech-liepa-3-429h-punctuated | |
| tags: | |
| - speech | |
| - automatic-speech-recognition | |
| - parakeet | |
| - tdt | |
| - fastconformer | |
| - nemo | |
| - lithuanian | |
| - telephony | |
| - spontaneous-speech | |
| - punctuation | |
| - capitalization | |
| - inverse-text-normalization | |
| - liepa-3 | |
| model-index: | |
| - name: parakeet-tdt-0.6b-lt-phone | |
| results: | |
| - task: | |
| type: automatic-speech-recognition | |
| name: Automatic Speech Recognition | |
| dataset: | |
| type: Digisensus/lithuanian-phone-speech-liepa-3-429h-punctuated | |
| name: Lithuanian Phone Speech (LIEPA-3), 2,000 held-out clips (eval/test_ids.txt) | |
| metrics: | |
| - type: wer | |
| value: 12.4 | |
| name: WER (normalized) | |
| - type: wer | |
| value: 19.48 | |
| name: WER (cased + punctuated) | |
| # Parakeet Lithuanian Phone 0.6B — 12.4 % WER on spontaneous telephone speech | |
| A Lithuanian speech recogniser for **spontaneous telephone speech**, fine-tuned from | |
| [`nvidia/parakeet-tdt-0.6b-v3`](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3) on 426 hours | |
| of Lithuanian phone calls from the | |
| [Lithuanian Phone Speech 429 h](https://huggingface.co/datasets/Digisensus/lithuanian-phone-speech-liepa-3-429h-punctuated) | |
| dataset. It writes **readable text directly**: punctuation, capitalisation, and numbers, dates, | |
| times and amounts as digits ("2026 m. rugsėjo 6 d., 9:30", "65 000 €"). | |
| Released by **[Digisensus](https://digisensus.com)**, a conversational intelligence company from | |
| Vilnius, Lithuania, building custom enterprise ASR and LLM solutions for call transcription and | |
| conversation analytics. | |
| ## Key finding | |
| **The LIEPA-3 spontaneous phone speech helped Parakeet a lot, but on real calls from outside | |
| that corpus the model is still far from usable.** | |
| - On held-out LIEPA-3 phone speech, fine-tuning cut the word error rate from 42.7 % to 12.4 % | |
| (normalized): about 3.4× fewer errors. | |
| - On independent real phone calls it improved too, from 59.5 % to 39.3 %, but roughly two words | |
| in five are still wrong: not good enough for production call transcription. | |
| - **Why the gap:** the LIEPA-3 phone speech consists mostly of radio and TV broadcasts in which | |
| the person speaking took part over the phone. That speech is much cleaner than regular | |
| customer-service or sales calls. The | |
| main weaknesses of LIEPA-3 as training data for real calls are: | |
| - **generic topics**: broadcast subjects, not the products, services and vocabulary of real | |
| customer conversations; | |
| - **clean speech**: fluent interview speech, not everyday callers with noise, interruptions | |
| and overlapping talk; | |
| - **no context between segments**: short, isolated clips, so the model never learns from the | |
| surrounding conversation. | |
| ## Results | |
| Word error rate, %, on clips never used in training: | |
| | Test set | `parakeet-tdt-0.6b-v3` (base) | **This model** | | |
| |---|---:|---:| | |
| | LIEPA-3 phone speech, 2,000 held-out clips (2.1 h), normalized | 42.7 | **12.4** | | |
| | LIEPA-3 phone speech, 2,000 held-out clips, cased + punctuated | 51.5 | **19.5** | | |
| | Independent real phone calls, 488 clips (2.8 h), normalized | 59.5 | **39.3** | | |
| | Independent real phone calls, 488 clips, cased + punctuated | 66.8 | **53.4** | | |
| - **Normalized** WER compares lowercase text with punctuation removed; **cased + punctuated** WER | |
| compares the text exactly as written. Both keep numbers as digits. | |
| - **Independent real phone calls:** 488 human-verified clips of real Lithuanian telephone | |
| conversations from other sources. They are not public and were not used in training. They are | |
| longer and harder than LIEPA-3, so this set shows how the model does outside its training data. | |
| ## Quick start | |
| ```python | |
| import nemo.collections.asr as nemo_asr | |
| model = nemo_asr.models.ASRModel.from_pretrained("Digisensus/parakeet-tdt-0.6b-lt-phone") | |
| out = model.transcribe(["call.wav"]) # 16 kHz mono audio | |
| print(out[0].text) | |
| ``` | |
| Needs [NVIDIA NeMo](https://github.com/NVIDIA/NeMo) 2.x (`pip install "nemo_toolkit[asr]"`). | |
| Clips of up to 30 seconds match the training data; split longer recordings into segments first. | |
| ## Training | |
| - **Data:** 413,638 clips (425.8 h) of spontaneous telephone speech from the | |
| [Lithuanian Phone Speech 429 h](https://huggingface.co/datasets/Digisensus/lithuanian-phone-speech-liepa-3-429h-punctuated) | |
| dataset, 0.5–30 s each, with written-form transcripts (`text`). | |
| - **Held-out data:** before training, 3,000 clips of the same dataset were set aside and never | |
| trained on: 1,000 for validation (used to pick the checkpoint) and 2,000 for the final test. | |
| Their IDs are in [`eval/`](eval). These held-out sets are not the dataset's own | |
| validation/test splits, which were drawn independently and overlap with this model's training | |
| data. To reproduce the results, evaluate on `eval/test_ids.txt`. | |
| - **Setup:** full fine-tune of the encoder and TDT decoder; 6,000 updates, effective batch 192 | |
| clips, learning rate 1e-4 with 300 warm-up steps and cosine decay to 1e-6, SpecAugment, bf16. | |
| One NVIDIA GeForce RTX 5090, 1.9 hours. Full settings are in [`config.json`](config.json). | |
| - **Released checkpoint:** step 4,500, the one with the lowest validation WER. | |
|  | |
|  | |
| The numbers behind the charts are in [`training_log.csv`](training_log.csv) and | |
| [`eval_log.csv`](eval_log.csv). | |
| ## Files | |
| | File | Content | | |
| |---|---| | |
| | `model.nemo` | Weights, configuration and tokenizer (NeMo format) | | |
| | `config.json` | Training data, hyperparameters and validation results | | |
| | `training_log.csv` | Loss, learning rate and gradient norm every 25 steps | | |
| | `eval_log.csv` | Validation WER and CER every 300 steps | | |
| | `eval/validation_ids.txt`, `eval/test_ids.txt` | IDs of the held-out clips in the dataset | | |
| | `charts/` | Training loss and validation error rate | | |
| ## Limitations | |
| - **Domain:** trained on one corpus of spontaneous phone speech. On other real calls the error | |
| rate is much higher (39.3 % normalized); expect the same for noisy audio, strong accents and | |
| specialised vocabulary. | |
| - **Dialects:** regional dialect speech was not in the training data. | |
| - **Written form:** the output follows the dataset's | |
| [transcription conventions](https://huggingface.co/datasets/Digisensus/lithuanian-phone-speech-liepa-3-429h-punctuated#transcription-conventions), | |
| including their known inconsistencies. | |
| - **Speakers:** mostly adults; children and teenagers are rare in the training data. | |
| ## Licence and attribution | |
| This model is licensed under | |
| [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/). | |
| The full licence text is in [`LICENSE`](LICENSE). | |
| It is derived from [`nvidia/parakeet-tdt-0.6b-v3`](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3) | |
| by NVIDIA (CC BY 4.0) and trained on data derived from **LIEPA-3** by Vytautas Magnus University, | |
| Vilnius University and the Institute of the Lithuanian Language (CC BY 4.0). When you use or | |
| redistribute it, credit all three: | |
| > Parakeet Lithuanian Phone 0.6B by [Digisensus](https://digisensus.com), licensed under CC BY 4.0. | |
| > Fine-tuned from nvidia/parakeet-tdt-0.6b-v3 by NVIDIA (CC BY 4.0) on data derived from LIEPA-3 | |
| > by Vytautas Magnus University, Vilnius University and the Institute of the Lithuanian Language | |
| > (CC BY 4.0). | |
| ## Citation | |
| ```bibtex | |
| @misc{digisensus_parakeet_lt_phone_2026, | |
| title = {Parakeet Lithuanian Phone 0.6B}, | |
| author = {{Digisensus}}, | |
| year = {2026}, | |
| howpublished = {Hugging Face}, | |
| url = {https://huggingface.co/Digisensus/parakeet-tdt-0.6b-lt-phone}, | |
| note = {Digisensus, https://digisensus.com. Fine-tuned from nvidia/parakeet-tdt-0.6b-v3 | |
| (NVIDIA) on data derived from LIEPA-3 (Vytautas Magnus University, Vilnius | |
| University, Institute of the Lithuanian Language), CC BY 4.0} | |
| } | |
| ``` | |