Text-to-Speech Recorder

Type a script, pick one of your browser's voices, hit preview. When it sounds right, hit record — the browser captures the playback into a downloadable audio file.

How recording works: The Web Speech API doesn't expose its audio to JavaScript directly, so we capture it via the browser's tab/screen-share API. When you click Record, your browser will show a share dialog — pick "This tab" (Chrome/Edge) or your current window, and make sure "Share audio" is checked. The capture stops automatically when the speech ends. Audio-only; no video is captured.

Browser support: Chrome and Edge work fully. Firefox supports system-audio capture only on Windows. Safari currently does not allow capturing tab audio — preview works but Record will fail there.

How it works

Synthesis uses window.speechSynthesis — the same engine that drives your operating system's narrator. Available voices come from your OS (macOS / iOS bring Siri voices, Windows brings Microsoft voices, Android brings Google + Samsung voices). The dropdown lists everything your browser exposes.

Recording uses navigator.mediaDevices.getDisplayMedia({ audio: true }) to capture this tab's audio output, then MediaRecorder writes it to a WebM Blob. The recorder auto-stops when speechSynthesis fires its onend event. The .wav export decodes the WebM back to PCM via decodeAudioData and re-encodes as 16-bit PCM WAV.

Nothing leaves your device. The tab-share prompt is the browser's privacy gate — you choose what to share, the tool only sees the audio.