L interface speechSynthesis de la Web Speech API permet aux applications web de générer une sortie vocale synthétique à partir de texte.
Synthèse vocale de base
const msg = new SpeechSynthesisUtterance('Bonjour le monde !');
window.speechSynthesis.speak(msg);
Personnalisation des propriétés et des événements
const msg = new SpeechSynthesisUtterance('Bienvenue dans notre application');
msg.rate = 1.0; // Débit (vitesse) : 0.1 à 10 (défaut 1)
msg.pitch = 1.2; // Hauteur : 0 à 2 (défaut 1)
msg.volume = 1.0; // Volume : 0 à 1 (défaut 1)
msg.lang = 'en-US';
// Écouteurs d événements
msg.onstart = () => console.log('Lecture vocale démarrée');
msg.onend = () => console.log('Lecture vocale terminée');
msg.onerror = (e) => console.error('Erreur vocale :', e);
window.speechSynthesis.speak(msg);
Sélection des voix installées
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;
}
};
Contrôles de lecture
window.speechSynthesis.pause(); // Mettre la synthèse en pause
window.speechSynthesis.resume(); // Reprendre la lecture en pause
window.speechSynthesis.cancel(); // Annuler et vider la file d attente vocale