What "cleaned, never rewritten" removes
The exact list: fillers, accidental repeats, trailing filler phrases and orphaned commas. And the list of things deliberately left alone, including self-corrections.
Cleaned, never rewritten is only a promise if the cleaning can be enumerated. If the list of edits is open-ended -- if the software may decide, sentence by sentence, that a shorter phrasing would be better -- then the promise is a matter of taste, and you find out where its taste differs from yours one document at a time.
Voicecape’s cleanup is a set of rules rather than a language model, so everything it can do to your text is finite and can be written out. The rules live in plain text files, one set per language. Here is that list in both directions: what comes out, and what is deliberately left in.
The six kinds of edit
Exact Clean, the default mode, can make six kinds of change and no others.
- Filler words, from a fixed per-language list.
- One kind of accidental repeat: an exact, adjacent, twice-only repeat of a function word.
- A trailing filler phrase at the end of a sentence, in English and Spanish only.
- The pair of commas that was bracketing a filler which just got deleted.
- The capital letter at the start of a sentence whose first word was the thing deleted.
- Whitespace: runs of spaces and tabs collapsed to one, edges trimmed, runs of blank lines capped at two.
Line breaks themselves survive. Nothing is reflowed, merged or reordered, so the paragraph structure you spoke is the paragraph structure you get.
How short the filler lists are
The English list has seven entries: um, umm, uh, uhh, uhm, erm, hmm. All of them are sounds rather than words. Not on it, and removed by nothing: like, so, well, right, actually, basically -- the ones people usually mean when they complain about their own speech, excluded because each is also a real word doing real work somewhere.
Korean has two entries, 음 and 으음. Two obvious candidates are missing on purpose: 어 is also an answer, roughly yes or uh-huh, and 그 is the determiner that. Spanish has eh, ehh, em, emm, mmm, hmm, ajá, leaving out bueno, pues, vale and este -- that last one was tried and then removed, after it deleted the this in este documento while removing a genuine hesitation in the same recording.
Japanese and Chinese separate no words with spaces, so there the deletion works on substrings -- the only place in the engine where anything goes without a word boundary to anchor it. The Japanese list therefore keeps only forms carrying a long-vowel mark or otherwise unusable as words (えー, えーと, あのー, うーん) and excludes あの, その, まあ, なんか. Chinese has four interjections, 嗯, 呃, 唔, 噢, with 那个, 这个, 就是, 然后 left out for the same reason. Longer entries match first, and a line that turns out to be nothing but filler is restored.
Words that look like fillers and are not
Matching is case-insensitive, which creates a hazard the rules defend against by hand. An all-capitals token is never filler, so Take him to the ER survives. A capitalised token mid-line is never filler, so Please ask Um about it keeps the surname and The Er reading was high keeps the element. Only a capitalised filler at the actual start of a line can go, and a full stop does not count as a sentence boundary here -- which is what keeps the name in I met Mr. Um at the office.
There is also a floor: a line that is nothing but filler is kept whole. Dictate a single um and you get um back, because the alternative is an empty result with no way to tell whether anything was heard.
One kind of repeat, and no others
The repeat rule is narrower than most people expect. It fires only on an exact adjacent duplicate, only when there are exactly two, and only when the word is on a short function-word list: i, a, an, the, and, to, we, you, he, she, it, they, is, was, of, in, on, at, but, or, my, your.
So I I think we should we should send it becomes I think we should we should send it. The doubled I collapses; the repeated phrase does not, because phrase-level restart reduction was taken out once it was shown to swallow spelled-out numbers. that and this are absent on purpose: I know that that report is wrong is correct English. Three or more repeats read as emphasis and stay. Content words are kept even at two, and digits are always kept -- the code is 0 0 7 arrives intact.
The Korean list is two words, 그 and 저, determiners that double as hesitation sounds and have no legitimate doubled form. Everything else survives: 하나 하나, 빨리 빨리, 뭐 뭐 있어요 are ordinary speech. For Spanish, Japanese and Chinese, repeat reduction is off entirely -- the stutter check returns false there rather than falling back to the English list, since borrowing it would mean Spanish words deleted for resembling English function words. An empty list means this axis is not measured yet, which is more honest than measuring it with the wrong ruler.
Punctuation and capitals left behind by a deletion
Removing a word can strand punctuation that belonged to it. Retries the upload once, then, uh, falls back to the queue wraps a filler in a pair of commas, and deleting only the word leaves then, falls back -- punctuation the speaker never produced. So a filler bracketed by commas on both sides takes both with it. The rule reaches backwards only when both are there; a single comma may be the sentence’s own, and it stays.
The trailing phrase rule uses the same signal. In English, you know at the end of a sentence goes only when the token before it ends in a comma: The meeting is at 3, you know becomes The meeting is at 3, with the full stop carried back. Without the comma it stays, because Now you know is a sentence in which those words are the point. In Japanese and Chinese, deleting a leading えーと strands a 、 at the head of the line, which is trimmed -- but only at the very start, since punctuation anywhere else is a pause you made.
Deleting the first word also leaves the sentence starting lowercase, so the next word is capitalised: Uh, can you take a look at the the PR? becomes Can you take a look at the PR? That happens only when the deletion was at the start and the original already began with a capital. Anything dictated lowercase stays lowercase, and a word with an internal capital is never touched -- Um, PostgreSQL is fine becomes PostgreSQL is fine, not POstgreSQL. There is no general capitalisation pass; casing and sentence punctuation come from the recogniser.
Self-corrections, left in
This is the deliberate omission that matters most. Send it Friday -- no, Thursday is a self-correction, and a cleaner that resolved it would delete the Friday and hand you a tidy sentence. Voicecape does not: the engine reserves a transform type for self-correction and never applies it at the text stage.
Resolving one means knowing where the speaker broke off, and that is in the audio rather than the words. On text alone the same shape means different things, and the failures are not cosmetic:
- You can say no, you can say yes -- both halves are meant.
- I told him no, I told him yesterday -- reading the repeated anchor here deletes an answer.
- I’m so sorry I’m so late -- an apology, not a restart.
- Ship it, Bob. No, sorry, ship it now -- resolving this drops the name.
- 저는 돈이 없어요, 아니 아니, 저는 돈이 필요해요 -- resolving this drops a negation.
Those five are regression tests, each a defect a self-correction pass actually produced during adversarial review: flipped negations, lost names, whole clauses removed. What would make the pass safe is not more text rules but segment timings and per-word confidence from the audio, which the text stage does not have.
The asymmetry that sets every threshold
One principle explains why the lists above are short, why three repeats count as emphasis, why a one-sided comma stays and why a line of pure filler is kept.
A wrong deletion is invisible. You never see the word that was removed: the sentence in front of you is grammatical, it reads fine, it says something slightly different from what you said, and nothing marks the spot. A wrong retention is visible -- an extra um sits there in plain sight and costs one keystroke. Both are errors; only one is an error you can find.
So the engine is tuned to miss some cleaning rather than risk removing something you meant, and the missed cleaning is a price paid on purpose. If you would rather it did nothing at all, Verbatim mode keeps the fillers, repeats and restarts exactly as spoken. The wider argument for constraining a dictation tool this way is in why dictation software rewrites what you said, and one model, five languages covers how the language is picked before any of these rules run.