Fritter / README.md
danielrosehill's picture
Card: link the Fritter-Models index and the Parakeet/Nemotron collections
a7ce33e verified
|
Raw History Blame
6.45 kB
---
license: cc-by-nc-4.0
language:
- en
base_model: nvidia/parakeet-tdt-0.6b-v2
base_model_relation: finetune
pipeline_tag: automatic-speech-recognition
library_name: nemo
tags:
- parakeet
- tdt
- speaker-adaptation
- english
- tech-vocabulary
- irish-english
- dictation
- fritter
datasets:
- danielrosehill/Read-Aloud-Voice-Sentences
- openslr/librispeech_asr
---
# Fritter v1.3: Parakeet TDT 0.6B v2 for English dictation, no code-switching
> Formerly [`danielrosehill/Fritter`](https://huggingface.co/danielrosehill/Fritter), where Fritter was a proof of concept. It moved to the Fritter-ASR organisation in November 2026, and new releases are published here.
![Fritter: English dictation for technical vocabulary](figures/banner.png)
## What it's for
Stock speech models stumble on the words technical people say all day. Fritter is tuned for higher accuracy on technical vocabulary, including AI: model and product names, CLI and cloud terms, brands, acronyms and numbers in digits.
![What Fritter is for: AI model names, CLI and cloud terms, brands and acronyms, numbers in digits](figures/objective.png)
**App developers:** you're welcome to add Fritter to your app or model catalogue, with no strings attached, for non-commercial use with attribution. [Fritter Models](https://huggingface.co/spaces/Fritter-ASR/Fritter-Models) lists every build with direct download links, the licence and the attribution line to use. Collections: [Fritter-ASR-Parakeet](https://huggingface.co/collections/Fritter-ASR/fritter-asr-parakeet-6af1b23cae51f0c28e3a352d) (this model) and [Fritter-ASR-Nemotron](https://huggingface.co/collections/Fritter-ASR/fritter-asr-nemotron-6af1b7b1db780deb8706be17) (the [streaming version](https://huggingface.co/Fritter-ASR/Fritter-Nemotron-0.6B)).
A personal speech-recognition fine-tune for **English dictation without code-switching**: tech vocabulary (model and product names, CLI and cloud terms), brand names, acronyms, numbers and currency in digits, Irish-English phrasing, fast and slow speech, whispering, and everyday email and message dictation, all in one speaker's voice.
**Name.** Fritter is the code name of this model line; later retrains keep it and bump the version. The first release's run id is `r11-general`.
A full fine-tune of [`nvidia/parakeet-tdt-0.6b-v2`](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2) on one
speaker's read-aloud phone recordings (an Irish English speaker living in Israel), run `r11-general`, trained
2026-10-27. Output keeps v2's casing and punctuation; numbers are written in digits.
**Current version: v1.3** (run `r35-general`, trained 2026-11-08): v1.2 continued on 184.7 min of new own takes plus a replay sample (clips over 25 s left out). The weights and every build in this repo are v1.3. v1.1 to v1.3 have not been benchmarked, so the results below are v1.0's (run `r11-general`).
**Try it in your browser:** [Fritter-ASR/Fritter-Demo](https://huggingface.co/spaces/Fritter-ASR/Fritter-Demo) runs the int8 ONNX build on your own device.
**Licence and access.** Public and ungated. CC-BY-NC-4.0: free for non-commercial use with attribution. A personal project by Daniel Rosehill; not affiliated with NVIDIA.
## Results
All models scored on the same test clips (dataset revision `520e7506e379`, blend `general` test sets;
never trained on, never used for checkpoint selection). WER is normalised (lowercase, no punctuation).
| Model | Hebrew-free English WER (319 clips) | tech WER | own English WER (364) | LibriSpeech WER (200) | code-switching WER (614) | held-out Hebrew term recall | long-form WER |
|---|---|---|---|---|---|---|---|
| stock `nvidia/parakeet-tdt-0.6b-v2` | 7.46% | 7.53% | 7.23% | 1.23% | 12.64% | 24.90% | 11.05% |
| **this model** (`r11-general`) | 4.73% | 4.01% | 4.85% | 1.47% | 11.69% | 24.27% | 12.16% |
On its target, Fritter cuts tech-sentence WER from 7.53% to 4.01% and Hebrew-free English WER from 7.46% to 4.73%, and recalls 79.6% of the tech and English target terms in the test takes against stock's 65.1% (447 occurrences of 262 terms; exact-case 74.1% vs 58.2%). Numbers recall rises from 33.9% to 50.0% (62 tokens). LibriSpeech is 0.24 points worse than stock (1.47% vs 1.23%, 200 utterances) and long-form dictation 1.1 points worse (12.16% vs 11.05%, 23 files), so general English outside the speaker's own voice is about where stock is, not better. It is not a code-switching model: its code-switching WER is only slightly better than stock's. Test takes are one speaker's, and their target terms are disjoint from training. Validation WER at the best epoch (17 of 20) was 4.24%.
## Training data
Source: [`danielrosehill/Read-Aloud-Voice-Sentences`](https://huggingface.co/datasets/danielrosehill/Read-Aloud-Voice-Sentences) at revision `520e7506e379`; the mix is rebuilt from it by `prepare` (blend `general`).
- The speaker's takes that are not code-switching (`is_code_switching()` false). Every task subset is in except `name-cipher` and the held-back tags (weird voices); 10% LibriSpeech-PC replay.
- Mix: 319.9 min of the speaker's takes
plus 35.6 min of LibriSpeech-PC replay (cased, punctuated; CC-BY-4.0) = 391.0 min, 3,848 clips.
- Validation: 1 in 16 of the speaker's train takes by id hash, used only to pick the checkpoint.
## Training
NeMo 2.7.3 on one L40S (Modal), bf16. AdamW, lr 3e-05 (cosine, 10% warmup), 20 epochs,
batch 16, seed 7. Best checkpoint `best-epoch=17-val_wer=0.0424.ckpt`,
38.2 min of training.
## Usage
```python
import nemo.collections.asr as nemo_asr
from huggingface_hub import hf_hub_download
path = hf_hub_download("Fritter-ASR/Fritter", "Fritter.nemo")
model = nemo_asr.models.ASRModel.restore_from(path)
print(model.transcribe(["clip.wav"])[0].text) # 16 kHz mono
```
GGUF builds for transcribe.cpp (Offline Voice Input on Android, Handy on Linux) are in `gguf/`: Q8_0 (recommended),
Q4_K_M and F16.
## Limitations
- **One speaker.** It is adapted to one voice, accent and phone; others will see less benefit.
- The test sets are small (Hebrew-free English is 319 clips), so differences under about
one WER point are within noise.
- Not trained on English-Hebrew code-switching: romanized Hebrew words come out as stock v2 writes them.
- Disfluent takes were trained on with clean targets, so the model may drop some fillers and repeated words.
## Licence
CC-BY-NC-4.0. The base model, `nvidia/parakeet-tdt-0.6b-v2`, is CC-BY-4.0, by NVIDIA.