A voice model that lives in your tab
Almost every free text to speech site is a front end for a paid cloud API. That shapes everything about them: a character limit so the free tier stays free, an account so usage can be attributed, a watermark or a lower quality voice for anyone who has not paid, and your text sitting on somebody else’s server because that is where the synthesis happened.
This page inverts the arrangement. The voice model itself is fetched once, about 92 MB in the quantized build, and from then on it runs inside your browser on your own processor. There is nothing to meter, so there is no character limit and no account. There is no server involved in synthesis, so your text does not go anywhere.
The trade is honest and worth stating: you pay a one time download and each generation uses your own device rather than a data centre. On a modern machine that is a fair deal.
Producing an audio file
- Type or paste your text into the box.
- Choose a Voice from the six available.
- Adjust Speaking speed if the default pace is not right for your material.
- Choose MP3 or WAV as the download format.
- Generate, listen back, and download.
The very first generation includes the model download and will take noticeably longer than the ones after it.
The reason there are only English voices
The model behind this page can produce more than English. The tool does not offer more than English, and the reason is a component most people never think about.
Text to speech is two stages. The first converts written text into phonemes, the actual sound units of a language, resolving spelling into pronunciation. The second turns phonemes into a waveform. Only the second stage is the neural model. The first is a rule based system, and the rules bundled here cover American and British English.
Point an English voice at German text and the phoneme stage applies English rules to German spelling, producing something that sounds like an English speaker reading German aloud without knowing any. That is worse than useless because it sounds fluent. Offering only the languages the pronunciation layer genuinely supports is the honest configuration.
If your text is in another language, translate it first with Translate Text and then read the English version here.
Speed is generated, not applied afterwards
There is a meaningful difference between generating speech at a faster pace and speeding up a recording after the fact.
Playing audio faster compresses the waveform in time, which raises every frequency in it, which is why a sped up voice sounds high and thin. Some tools work around that with pitch correction, which introduces its own artefacts.
Here the speed setting is handed to the model before generation, so the voice speaks faster in the way a person does, with shorter pauses and quicker delivery, at its own natural pitch. The audio you download at 1.3 sounds like the same speaker in a hurry rather than a different, smaller speaker.
If you do need to change the speed of audio you already have, that is a separate operation and Change Audio Speed is built for it.
Two output formats and what to do with them
The model outputs raw single channel audio at 24 kHz. WAV is that audio wrapped in a container with nothing else done to it. MP3 adds one encoding pass at 192 kbps, which makes the file several times smaller at a quality difference you will not hear on speech.
Take WAV if the audio is heading into an editor, since re-encoding an already lossy file at the end of a chain is the thing to avoid. Take MP3 for anything you are simply going to play or send. If you take WAV and later want it smaller, WAV to MP3 does the conversion with a bitrate you choose, and Compress MP3 reduces an existing MP3 further.
For the reverse operation, turning recorded speech into text, Transcribe Audio runs a different model in the same local way.