L interfaccia speechSynthesis della Web Speech API consente alle applicazioni web di sintetizzare voce partendo da testo.
Sintesi vocale di base
const msg = new SpeechSynthesisUtterance('Ciao Mondo!');
window.speechSynthesis.speak(msg);
Personalizzazione delle proprietà vocali ed eventi
const msg = new SpeechSynthesisUtterance('Benvenuti nella nostra applicazione');
msg.rate = 1.0; // Velocità: da 0.1 a 10 (predefinito 1)
msg.pitch = 1.2; // Tonalità: da 0 a 2 (predefinito 1)
msg.volume = 1.0; // Volume: da 0 a 1 (predefinito 1)
msg.lang = 'en-US';
// Listener di eventi
msg.onstart = () => console.log('Riproduzione vocale avviata');
msg.onend = () => console.log('Riproduzione vocale completata');
msg.onerror = (e) => console.error('Errore vocale:', e);
window.speechSynthesis.speak(msg);
Selezione delle voci installate
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;
}
};
Controlli di riproduzione
window.speechSynthesis.pause(); // Metti in pausa la riproduzione vocale
window.speechSynthesis.resume(); // Riprendi la riproduzione in pausa
window.speechSynthesis.cancel(); // Annulla e svuota la coda di sintesi vocale