S1-ASR-Cleanup: cleaning up dictation with a fine-tuned S1-mini

A fine-tune of S1-mini by Superwhisper that cleans speech-to-text dictation: paragraphs, dates and money as digits, contractions and fillers handled. 0.6B, with GGUF builds for llama.cpp and phones.

Daniel Rosehill AI

(23 Cheshvan 5787)

3 min read

S1-ASR-Cleanup: cleaning up dictation with a fine-tuned S1-mini

Raw dictation is honest to a fault. It has every "gonna", every "the the", every "wait, where was I", and it arrives as one unbroken block. I clean my transcripts in more or less the same way every time, so I trained a small model to do it the way I would.

S1-ASR-Cleanup is a fine-tune of S1-mini by Superwhisper (superwhisper/s1-mini), a 0.6B Qwen3-based model that Superwhisper built for exactly this job. S1-mini was already a good starting point. What I wanted was for it to match my own house style, so I fine-tuned it on pairs of my raw transcripts and the versions I'd actually send.

Hugging Face Model danielrosehill/S1-ASR-Cleanup S1-ASR-Cleanup is a fine-tune of S1-mini by Superwhisper (superwhisper/s1-mini, Qwen3-0.6B) that cleans raw speech-to-text dictation the way one user edits his own. One standalone model: the LoRA is merged in, nothing… ↓ 358Text generationUpdated Oct 2026 View model on Hugging Face Hugging Face Model superwhisper/s1-mini A 0.6B-parameter text normalizer for speech-to-text output. It takes a raw ASR transcript and rewrites it as clean written text: fillers removed, false starts and self-corrections resolved to the value the speaker… ↓ 2k♥ 383Text generationUpdated Aug 2026 View model on Hugging Face

What it does differently

  • Paragraphs. Long dictation becomes short paragraphs, one thought each, with greetings and sign-offs on their own lines. Stock S1-mini mostly returns one block.

  • Dates and money, consistently. "The twelfth of March" becomes March 12, "two thousand two hundred shekels" becomes 2,200 NIS, and "forty bucks" becomes $40.

  • Informal contractions expanded. "Gonna", "gotta" and "shoulda" become "going to", "have to" and "should have", while ordinary contractions like "don't" stay.

  • Spelled-out names dropped. "Ronen, that's R O N E N" becomes just "Ronen".

  • Stray capitals fixed. The capital a recogniser leaves after a pause ("we could Use those") is lowercased, while real names stay capitalised.

  • Self-corrections resolved to what I finally meant, and asides to people in the room left out. Romanised Hebrew words and tech names are kept as they are.

An example

Here's a held-out transcript, shortened, and what the model makes of it:

Hi Sharon just checking about the annual tax form deadline because Mas Hachnasah moved it to the twelfth of March instead of March the nineteenth so could you send me the updated PDF ... thanks.

Hi Sharon,

Just checking about the annual tax form deadline because Mas Hachnasah moved it to March 12 instead of March 19.

...

Thanks.

The model card has a fuller set of side-by-side examples against stock S1-mini, one per behaviour, and I didn't cherry-pick them beyond that. They also show where it still falls short: it sometimes leaves a run-on clause alone ("send me the updated PDF ping Guy on WhatsApp") that a person would have split.

Getting it

It's one standalone model with the LoRA merged in. There's a transformers build, a Q8_0 GGUF for llama.cpp, and a 397 MB Q4_K_M GGUF for phones. Use S1-mini's prompt format as given on the card, with thinking disabled and greedy decoding. It is licensed under Apache 2.0 with S1-mini's naming term, so anything that uses it has to credit S1-mini by Superwhisper. The training code is in ASR-Post-Processor-Model.

GitHub Repository danielrosehill/ASR-Post-Processor-Model Light-touch text-in/text-out model that cleans raw Parakeet v2 dictation: disfluencies, contractions, paragraphs. Planning stage. PythonUpdated Oct 2026 View on GitHub

This is the two-step approach done properly, a speech model followed by a small text model. It's also the baseline for Proofed, my experiment in getting the speech model to do this cleanup itself, in one pass. It sits alongside my earlier paragraph-break model, which only adds breaks and never changes a word.

GitHub Repository danielrosehill/Proofed Proofed: integrated ASR + post-processing model, from speech straight to clean, proofed text. Updated Oct 2026 View on GitHub
Daniel Rosehill

Daniel Rosehill

Agentic AI systems architect in Jerusalem. I design and build multi-agent systems, MCP tooling and speech-to-text pipelines, and write up what I learn along the way.

More about me at danielrosehill.com