Prototype · experimental

Paragraph inference for ASR

Small models that do one thing to speech-to-text output: decide where the paragraphs go, and change nothing else.

The task

Modern speech recognition already handles punctuation and capitalisation well, and sentence boundary detection is a widely adopted, well-understood step. What most engines still return is one unbroken block of text. For a two-minute voice note that block is hard to read, and the fix is not more punctuation: it is paragraphs.

Paragraph inference takes flat, punctuated text and inserts paragraph breaks. It is meant to be deterministic in the sense that matters for a pipeline: the words, punctuation and casing that go in are exactly the words that come out. Only whitespace changes.

Input: Parakeet-style ASR output (one block)
Hi Mr. Delgado, this is Priya Raman in unit 4B. Calling about the lease renewal, and I'll keep this short. Need to confirm one thing before I sign. I've been taking evening classes in Portuguese since March. Three nights a week, Lisbon Language Hub on Calder Street. Reason I'm bringing it up: my work schedule is changing. Starting June 3rd I'll be working from home two days a week, and I'll be doing a lot of calls with a team in São Paulo. So I'll be on the apartment's Wi-Fi during business hours more than before. Is that okay under the lease? Clause 14 says no running a business from the unit. I don't think this counts, it's just employment. But I'd rather ask than guess. Also, the study thing. I'll need a quiet corner for flashcards and recordings, mostly weeknights, after nine. Nothing loud. No parties, no music. Just saying so in case you hear me reciting verb conjugations through the wall. Which, honestly, you probably will. Two questions. One, does the renewal stay at the current rate? Two, can I get a copy of the updated building rules before the 15th? I want to read them properly. Call me back at 555-0148 or email. Thanks. Priya
Output: MiniLM-L12 paragraph model (actual output)
Hi Mr. Delgado, this is Priya Raman in unit 4B. Calling about the lease renewal, and I'll keep this short. Need to confirm one thing before I sign. I've been taking evening classes in Portuguese since March. Three nights a week, Lisbon Language Hub on Calder Street. Reason I'm bringing it up: my work schedule is changing. Starting June 3rd I'll be working from home two days a week, and I'll be doing a lot of calls with a team in São Paulo. So I'll be on the apartment's Wi-Fi during business hours more than before. Is that okay under the lease? Clause 14 says no running a business from the unit. I don't think this counts, it's just employment. But I'd rather ask than guess. Also, the study thing. I'll need a quiet corner for flashcards and recordings, mostly weeknights, after nine. Nothing loud. No parties, no music. Just saying so in case you hear me reciting verb conjugations through the wall. Which, honestly, you probably will. Two questions. One, does the renewal stay at the current rate? Two, can I get a copy of the updated building rules before the 15th? I want to read them properly. Call me back at 555-0148 or email. Thanks. Priya

Why a dedicated model?

ASR post-processing models are already very good. Superwhisper's S1 Mini, for example, is a 0.6B normaliser that removes fillers, resolves self-corrections, punctuates and writes numbers and dates in written form. A general LLM cleanup pass can do all of that and paragraphing too.

The idea here is narrower: a very small module that does only paragraph inference, so that it can be

This is a prototype. The models are trained on synthetic English voice memos in one person's paragraphing style, and they are published to test the idea, not as finished components.

Where it fits: intended pipelines

Intended usage patterns Pattern A: audio to Parakeet ASR to the paragraph model to readable text. Pattern B: audio to Parakeet to the paragraph model to a generic cleanup step that does not paragraph, to final text. For contrast: audio to ASR to one all-in-one post-processor that does everything. A · ASR + PARAGRAPHS Audio voice note Parakeet (ASR) punctuated, cased no newline token: one block Paragraph model inserts breaks only words unchanged Readable text verbatim, paragraphed B · ASR + PARAGRAPHS + CLEANUP Audio voice note Parakeet (ASR) one block Paragraph model structure only Generic cleanup rules or LLM: fillers, numbers keeps the breaks it is given Final text clean, paragraphed FOR CONTRAST · ONE POST-PROCESSOR DOES EVERYTHING Audio ASR All-in-one post-processor (S1 Mini, an LLM prompt) cleanup, formatting and any paragraphing in one rewrite: capable, but paragraphing can't be measured or tuned on its own Final text

A is the minimal deployment: Parakeet does not emit a newline token, so its output is always one block, and the paragraph model is the only step after it. The transcript stays verbatim.

B adds a generic cleanup step afterwards that tidies the text (fillers, numbers, formatting) without doing its own paragraph inference, so each stage owns one job and can be swapped or evaluated separately.

The models

Three repos, two models. All score break-position precision and recall on the same 26 held-out, hand-reviewed synthetic memos (290 breaks).

ModelTypeSizeF1Notes
MiniLM-L12-ASR-Paragraph-Breaks Token classifier33M · 32 MB int8 ONNX0.85 Recommended. Labels each word as a paragraph start or not, so it cannot change the text. ~0.65 s for a 340-word memo on a laptop CPU.
Gemma-3-270M-ASR-Paragraph-Breaks Generative270M0.78 First attempt. Retypes the text, so every output is checked and falls back to the input if anything but whitespace changed (2 of 26).
Gemma-3-270M-ASR-Paragraph-Breaks-ONNX ONNX export1.66 GB fp32 · 417 MB int8– ONNX Runtime build of the Gemma model; the int8 quant is experimental.

Baseline for comparison: SaT segment-any-text/sat-3l-sm in paragraph mode scores F1 0.65 (precision 0.48, recall 1.00) on the same set.

Data: danielrosehill/ASR-Paragraph-Breaks · Try it: demo Space · Code: GitHub · Write-up: blog post

Prior art and related work

Paragraph segmentation of speech isn't a new idea. This is a short, non-exhaustive map of what's already out there, collected 2026-10-25.

Closest to this project

ASR API features

Text and topic segmentation

Adjacent step