Краткий справочник

Шпаргалка по Web Speech Synthesis API

Краткое справочное руководство по Web Speech API браузера: SpeechSynthesisUtterance, скорость речи, высота тона, выбор голосов и события воспроизведения.

· Опубликовано

Интерфейс 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();  // Отменить и очистить очередь синтеза речи

Ссылки и документация

Связанные темы