Read text aloud with any voice your system provides, with sentence-by-sentence progress that works even for voices that report no word boundaries, and a reading-time estimate calibrated from the voice you pick.
Initializing in your browser…
Real pitch shifting in semitones that keeps the recording the same length, with speed as a separate control. Nine presets plus ring modulation, distortion, filters and echo.
Cut a region out of any audio file, exact to the sample and measured at zero milliseconds of error. Waveform handles, real keyboard shortcuts, click-free cut fades, and WAV or MP3 output that matches its extension.
Join clips end to end or stack them on one timeline, with an equal-power crossfade that holds the level through the join, BS.1770 loudness matching between files, and the merged result measured before you download it.
You want to hear a paragraph read back, and to know how long it will take before you press play.
Input
122 characters, 3 sentences - voice Samantha (en-US) - rate 1.0x
Output
Estimated 8.08 s, took 7.92 s: 2.0 percent out, then 3.8 percent once calibrated
The estimate is calibrated from what your own voice actually did, and the panel shows it against the real time so the error is visible rather than assumed. Text is spoken one sentence at a time, so the progress highlight advances even for the many voices that report no word boundaries. There is no download and there never was: the Web Speech API sends audio to the speakers and gives the page no access to it, which older copy on this page claimed otherwise. Changing the voice mid-passage used to cut the reading off; it no longer does.
Text-to-speech in the browser runs through the Web Speech API's SpeechSynthesis interface, which exposes whatever TTS engines your operating system provides. On macOS that means Apple's voices including the newer Siri voices; on Windows it is the Microsoft voices (legacy ones like Zira and David plus the newer neural voices like Aria); on Android it is typically the Google engine; on Linux it varies by distribution. Voice availability is not portable, a voice your users hear on Safari on Mac does not exist on Chrome on Windows, and this is the main reason TTS results feel inconsistent across devices. The quality gap between classic concatenative TTS and modern neural TTS is large. Older system voices sound robotic because they were built by splicing prerecorded phoneme samples; you can hear the joins. Neural voices (Apple's Siri voices, Microsoft's neural voices, Google's WaveNet-derived voices) synthesize speech from learned prosody models and sound close to human speech, including natural intonation on questions, emphasis on stressed syllables, and convincing pauses at punctuation. If the neural option is available, use it, the difference is not subtle.
Listen to your writing read back to catch errors your eyes skip over.
Generate a scratch narration track to test timing against a video before recording a real voice.
Hear how screen readers might handle your content.
The synthesis pipeline works in two stages under the hood: text normalization (expanding "Dr." to "doctor""1999" to "nineteen ninety-nine"handling abbreviations and numbers according to the target language) and waveform generation (producing the actual audio from the normalized text). Modern neural engines combine these into a single end-to-end model, which is why they handle edge cases better than older systems that treated normalization as separate rule-based preprocessing. Punctuation directly affects prosody: commas produce short pauses of roughly 200-300 ms, periods produce longer pauses of 400-500 ms with sentence-final falling pitch, and question marks produce rising pitch contours in the final phrase. Adding commas and periods where you want pacing is the main knob you have without leaving the browser API.
Speed and pitch controls scale the engine's output. Speed (the rate parameter) ranges 0.1x to 10x in the API but values outside 0.5x to 2x sound visibly artificial, natural speech falls in a narrow range around 150-180 words per minute, and pushing well outside that band reveals the synthesis algorithm. Pitch ranges 0 to 2 with 1 as the neutral default. Higher pitch makes voices sound younger or more excited; lower pitch sounds older or more serious. Both parameters work by post-processing the synthesized waveform, not by generating a different performance, which means extreme values can introduce audible artifacts as the time-stretching algorithm strains to keep voice quality intact.
Caveat on voice licensing: the voices exposed by SpeechSynthesis come from your OS, and their commercial usage rights vary by vendor. Apple, Microsoft, and Google generally permit personal use without restrictions but have specific terms for commercial products. For commercial voiceovers that need explicit licensing, dedicated TTS services (Azure Neural TTS, ElevenLabs, Play.ht) provide clear commercial terms and typically better voice quality than the free system voices. For drafting, previewing, proofreading, and accessibility testing, the built-in voices are sufficient and free.
No, and older copy on this page said you could, which was wrong. The Web Speech API sends its audio straight to your speakers and gives the page no access to the samples, so there is nothing here to save. Capturing it means recording your system output through a loopback device, which is outside what a web page can do.
Because they come from your operating system rather than from this page. macOS, Windows, Android and Linux each ship different sets, and Chrome, Edge and Safari expose different subsets of them. Trying another browser is the quickest way to see more.
It is calibrated from your own voice. The first estimate uses a general speaking rate and came within a few percent on the test passage; after one playback the rate is measured from what the engine actually did, and the panel shows the estimate against the real time so you can see the error rather than trust it.
Because many voices report no word-boundary events at all. The text is spoken one sentence at a time, so progress advances at least once per sentence whatever the voice does, and moves word by word on top of that when the voice offers it.
Not here. Chrome is known for stopping long utterances after about fifteen seconds, so it was measured: passages predicted to take 10, 25 and 45 seconds all reached the end with the completion event firing normally. The text is split into sentences regardless, which is what makes progress reliable.
The voices belong to your operating system, so the licence terms are its, not this page's. Check what your OS speech engine allows.
Audio is decoded and processed locally with the Web Audio API. Your files are never uploaded to a server.