Интерфейс speechSynthesis в Web Speech API позволяет веб-приложениям генерировать синтезированную речь из текста.
Базовый синтез речи
const msg = new SpeechSynthesisUtterance('Привет, мир!');
window.speechSynthesis.speak(msg);
Настройка свойств речи и событий
const msg = new SpeechSynthesisUtterance('Добро пожаловать в наше приложение');
msg.rate = 1.0; // Скорость: от 0.1 до 10 (по умолчанию 1)
msg.pitch = 1.2; // Высота тона: от 0 до 2 (по умолчанию 1)
msg.volume = 1.0; // Громкость: от 0 до 1 (по умолчанию 1)
msg.lang = 'en-US';
// Слушатели событий
msg.onstart = () => console.log('Воспроизведение речи началось');
msg.onend = () => console.log('Воспроизведение речи завершено');
msg.onerror = (e) => console.error('Ошибка воспроизведения речи:', e);
window.speechSynthesis.speak(msg);
Выбор установленных голосов
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;
}
};
Управление воспроизведением
window.speechSynthesis.pause(); // Приостановить воспроизведение речи
window.speechSynthesis.resume(); // Возобновить приостановленное воспроизведение
window.speechSynthesis.cancel(); // Отменить и очистить очередь синтеза речи