Demos / Speech synthesis

Have your iPad read it back.

The Web Speech API talks to the same TTS engine that powers VoiceOver. The voice picker lists every voice your device has downloaded — including Personal Voice, if you've trained one.

Loading voices…

How it works

const u = new SpeechSynthesisUtterance(text);
u.voice = chosenVoice;
u.rate = 1.0;
u.pitch = 1.0;
speechSynthesis.speak(u);

speechSynthesis.getVoices() returns asynchronously on first load — Safari fires a voiceschanged event when the list is ready. We populate the picker then.