A interface speechSynthesis da Web Speech API permite que aplicações web gerem fala sintetizada a partir de texto.
Síntese de Fala Básica
const msg = new SpeechSynthesisUtterance('Olá Mundo!');
window.speechSynthesis.speak(msg);
Personalizando Propriedades e Eventos
const msg = new SpeechSynthesisUtterance('Bem-vindo à nossa aplicação');
msg.rate = 1.0; // Velocidade: 0.1 a 10 (padrão 1)
msg.pitch = 1.2; // Tom: 0 a 2 (padrão 1)
msg.volume = 1.0; // Volume: 0 a 1 (padrão 1)
msg.lang = 'en-US';
// Ouvintes de eventos
msg.onstart = () => console.log('Reprodução de fala iniciada');
msg.onend = () => console.log('Reprodução de fala concluída');
msg.onerror = (e) => console.error('Erro na fala:', e);
window.speechSynthesis.speak(msg);
Selecionando Vozes Instaladas
window.speechSynthesis.onvoiceschanged = () => {
const voices = window.speechSynthesis.getVoices();
const selectedVoice = voices.find(v => v.lang === 'en-US' && v.name.includes('Google'));
if (selectedVoice) {
msg.voice = selectedVoice;
}
};
Controles de Reprodução
window.speechSynthesis.pause(); // Pausar reprodução de fala
window.speechSynthesis.resume(); // Retomar reprodução pausada
window.speechSynthesis.cancel(); // Cancelar e limpar fila de fala