Fritter started life as one more repository under my personal Hugging Face account, which is where most of my experiments live (and, frankly, where most of them stay). It has outgrown that. Now that it's past the proof-of-concept stage, it has its own organisation on GitHub and Hugging Face, it's at v1.5, and it's inside an Android app that other people actually install. That last part is the reason for this post, and for the section at the end, which is for anyone building an app.
The new home
Every Fritter model, build and Space now lives at huggingface.co/Fritter-ASR, and the public tracker (releases and progress) is at github.com/Fritter-ASR. The old copies under my personal account stay online, so nothing that links to them breaks, but new versions only go to the org.
Fritter-TTS, the text-to-speech voice trained on the same recordings, moved there too.
Hugging Face Model Fritter-ASR/Fritter-TTS A single-speaker text-to-speech fine-tune of Qwen3-TTS-12Hz-1.7B-Base on one voice: Daniel Rosehill, Irish-accented English. It is the text-to-speech side of the Fritter line: technical and general English, with AI… ↓ 44Text to speechCC-BY-NC-4.0Updated Nov 2026 View model on Hugging FaceWhat changed in the model
Fritter is my fine-tune of NVIDIA Parakeet TDT 0.6B v2 for English dictation with a lot of technical vocabulary in it: AI model and product names, CLI and cloud terms, brands, acronyms, and numbers in digits.
Hugging Face Model nvidia/parakeet-tdt-0.6b-v2 parakeet-tdt-0.6b-v2 is a 600-million-parameter automatic speech recognition (ASR) model designed for high-quality English transcription, featuring support for punctuation, capitalization, and accurate timestamp… ↓ 149.1k♥ 1.6kAutomatic speech recognitionCC-BY-4.0Updated Jun 2026 View model on Hugging FaceIt now gets small incremental updates rather than occasional big retrains. Each one continues from the previous weights and adds the recordings I've made since the last release, plus a sample of older audio replayed so it doesn't forget what it already knew. v1.4 went out on 10 November on 359.3 minutes of new recordings. v1.5 followed on 12 November on 316.5 minutes, trained on a single H100 (and released by a script while I was doing something else, which is the point of making the process boring). Across all the releases that comes to about 29 hours of my own voice.
The updates come from real use. When I notice a word the model keeps getting wrong, I write new sentences around it, record them, and the next update learns from those. Expect roughly one release a week, sometimes more. The streaming version, Fritter Nemotron, stays at v1.0 for now.
Hugging Face Model Fritter-ASR/Fritter-Nemotron-0.6B Streaming version of Fritter, an English dictation fine-tune for technical vocabulary, including AI terms. Current version: Fritter Nemotron v1.0 (run r31-nemotron-general, 2026-11-05). It is a full fine-tune of… ↓ 61Automatic speech recognitionCC-BY-NC-4.0Updated Nov 2026 View model on Hugging FaceThe usual caveat applies, and I'd rather repeat it than have anyone miss it. Fritter is trained on one speaker, me, and the only benchmark I'll stand behind is v1.0's: word error rate on tech sentences from 7.53% on stock Parakeet to 4.01%, on held-out recordings of my own voice. v1.1 to v1.5 haven't been benchmarked.
Fritter in Anti-Vocale
I found Anti-Vocale while looking for a way to transcribe WhatsApp voice notes on my phone without sending them anywhere. It is an open-source Android app that runs sherpa-onnx models on the device, and it can import outside models, so I wrote to its developer and offered Fritter.
GitHub Repository RisorseArtificiali/anti-vocale Android app for transcribing voice messages locally on-device, with no internet required. ★ 145KotlinApache-2.0Updated Nov 2026 androidkotlinofflineon-deviceprivacy View on GitHubThe response was better than I'd hoped. Fritter was tested on a real phone, and since Anti-Vocale 1.16.0 (released 10 November) both Fritter and streaming Fritter are listed in the app's community catalogue. You pick them inside the app and they download, with no manual step. It's on Google Play, on GitHub, and on F-Droid through the automatic index. (I've also added "Anti-Vocale" to the vocabulary I train on, so from the next update Fritter should at least spell its host's name correctly.)
For other app developers: please integrate it
If you build a dictation or transcription app, you're welcome to offer Fritter to your users or list it in a model catalogue. The licence is CC-BY-NC-4.0: free for non-commercial use with attribution. There is nothing to ask permission for, though I'd love to hear about it.
The route I'd recommend is the one Anti-Vocale settled on: point your app at the version manifest, not at a file or a Hugging Face revision.
Offline Fritter: https://models.carrotcakeai.com/asr/fritter/latest/manifest.json
Streaming Fritter: https://models.carrotcakeai.com/asr/fritter-streaming/latest/manifest.json
These URLs are stable and not tied to a version, so it is fine to hardcode them. Only the latest version is kept there. Each release overwrites the files beside the manifest in place and rewrites the manifest itself. A trimmed copy of the current one looks like this:
{
"schema": 1,
"model": "fritter",
"type": "offline",
"version": "Fritter v1.5",
"revision": "4e925b39b1713f3218d4eed3c6993fa9274dd8dd",
"source": "https://huggingface.co/Fritter-ASR/Fritter",
"licence": "CC-BY-NC-4.0",
"base_url": "https://models.carrotcakeai.com/asr/fritter/latest/",
"files": {
"encoder.int8.onnx": {"size": 652282306, "sha256": "ca59395d..."},
"decoder.int8.onnx": {"size": 7257753, "sha256": "dfd4d204..."},
"joiner.int8.onnx": {"size": 1739080, "sha256": "8a3eb31c..."},
"tokens.txt": {"size": 9384, "sha256": "ec182b70..."},
"bpe.vocab": {"size": 12441, "sha256": "23286427..."}
}
}A few notes on using it:
To check for an update, fetch the manifest and compare "version" or "revision" with what the user has installed. The revision is the matching commit on Hugging Face.
Download each file from base_url plus its name, and check it against the size and sha256 in the manifest. Read the hashes fresh on every check rather than pinning them, because the next release changes them.
"type" is "offline" or "streaming", so you don't have to infer it from the model name (that field was added at Anti-Vocale's request, and every future release writes it).
The files are a sherpa-onnx int8 transducer: encoder, decoder, joiner and tokens. The offline manifest also lists GGUF builds for transcribe.cpp under a separate "gguf" key.
If you would rather pin an exact version, every release is also on Hugging Face at Fritter-ASR/Fritter, with the same sherpa-onnx build under sherpa-onnx/int8/ and hashes that match the manifest.
Hugging Face Model Fritter-ASR/Fritter 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… ↓ 1.1kAutomatic speech recognitionCC-BY-NC-4.0Updated Nov 2026 View model on Hugging FaceAnd one request. If you or your users notice words Fritter keeps getting wrong, send them to me through my contact form. I'll write them into the next round of recordings, and that is the main way the model improves.
The model card, every build and the release history are on the Fritter page of my AI site, ai.danielrosehill.com/models/fritter.