Interfejs speechSynthesis w ramach Web Speech API umożliwia aplikacjom internetowym generowanie syntetycznego głosu z tekstu.
Podstawowa synteza mowy
const msg = new SpeechSynthesisUtterance('Witaj świecie!');
window.speechSynthesis.speak(msg);
Dostosowywanie właściwości mowy i zdarzeń
const msg = new SpeechSynthesisUtterance('Witamy w naszej aplikacji');
msg.rate = 1.0; // Tempo mowy: 0.1 do 10 (domyślnie 1)
msg.pitch = 1.2; // Wysokość tonu: 0 do 2 (domyślnie 1)
msg.volume = 1.0; // Głośność: 0 do 1 (domyślnie 1)
msg.lang = 'en-US';
// Nasłuchiwanie zdarzeń
msg.onstart = () => console.log('Rozpoczęto odtwarzanie mowy');
msg.onend = () => console.log('Zakończono odtwarzanie mowy');
msg.onerror = (e) => console.error('Błąd syntezy mowy:', e);
window.speechSynthesis.speak(msg);
Wybór zainstalowanych głosów
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;
}
};
Kontrola odtwarzania
window.speechSynthesis.pause(); // Wstrzymaj odtwarzanie mowy
window.speechSynthesis.resume(); // Wznów wstrzymane odtwarzanie
window.speechSynthesis.cancel(); // Anuluj i wyczyść kolejkę mowy