La interfaz speechSynthesis de la Web Speech API permite a las aplicaciones web generar salida de voz sintetizada a partir de texto.
Síntesis de voz básica
const msg = new SpeechSynthesisUtterance('¡Hola Mundo!');
window.speechSynthesis.speak(msg);
Personalización de propiedades y eventos
const msg = new SpeechSynthesisUtterance('Bienvenido a nuestra aplicación');
msg.rate = 1.0; // Velocidad: 0.1 a 10 (por defecto 1)
msg.pitch = 1.2; // Tono: 0 a 2 (por defecto 1)
msg.volume = 1.0; // Volumen: 0 a 1 (por defecto 1)
msg.lang = 'en-US';
// Escuchadores de eventos
msg.onstart = () => console.log('Inicio de reproducción de voz');
msg.onend = () => console.log('Fin de reproducción de voz');
msg.onerror = (e) => console.error('Error de voz:', e);
window.speechSynthesis.speak(msg);
Seleccionar voces 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 reproducción
window.speechSynthesis.pause(); // Pausar reproducción de voz
window.speechSynthesis.resume(); // Reanudar reproducción pausada
window.speechSynthesis.cancel(); // Cancelar y limpiar cola de reproducción