Everything runs on your machine — no uploads, no per-hour meter, no queue. See what a licence costs →

How to remove breaths from an AI voiceover

Text-to-speech systems add inhales to make narration sound human. They are also the fastest way to tell that narration was generated. Here is why, and what to do about it.

Why AI breaths sound wrong

A person breathes where they need air: at the end of a clause, before a long sentence, more heavily when they are excited. The breath is part of the delivery, and a listener reads meaning from it without noticing they are doing it.

A synthetic voice inserts breaths as punctuation. They arrive at regular intervals, often mid-clause, at a consistent volume, and frequently with the same shape every time. None of that is how breathing works, and a listener hears it as wrong several seconds before they could tell you why.

That is why removing them matters more for generated narration than for a human recording. A human breath is information. A generated one is an artefact.

Why a noise gate is the wrong tool

The obvious fix is to silence anything quiet. That is what a gate does, and it fails in a specific, recognisable way: a breath is often louder than the start of a softly spoken word, so the gate keeps the breath and eats the word.

You have heard the result. Narration where the first consonant of some sentences is clipped, and the pacing stutters slightly. It reads as cheap, which is the opposite of what the edit was for.

The tool that works has to know what a breath sounds like rather than how loud it is. That means a model trained on breaths rather than a filter tuned to a frequency band.

Do not remove them completely

This is the mistake that costs people the most time. Cutting every breath to digital silence sounds unnatural — speech with no air in it at all is something a listener has never heard outside of a robot voice.

Soften rather than delete. Pull the breaths down until they stop drawing attention and leave a trace of them behind. Listen to a paragraph, not a sentence, because pacing problems only show up over time.

The order to run things in

Breath removal, then silence trimming, then loudness — in that order, and ideally in one pass over lossless audio.

The order matters because these tools interfere with each other. Trimming silence first leaves the breath sitting against the next word with nowhere to go. Normalising loudness first means normalising to a level that includes material you are about to remove, so the finished file lands somewhere other than the target you asked for.

A note on client work

Most breath-removal tools are web services: you upload the narration and download the result. If the script belongs to a client under an agreement that forbids third-party services, that route is closed regardless of how good it sounds.

Processing locally avoids the question entirely, which is why this application does it that way.

In short: Find breaths with a model rather than a volume threshold, soften them instead of deleting them, and run the chain in one pass.

In the app

The tools this post is about

Try it on your own recording

Free tier, no account, nothing uploaded.