Объекты технологии синтеза речи.

  Технология синтеза речи позволяет синтезировать аудио звучание из заданного текста.
  Эта технология сильно зависит от поддержки браузеров и распространения голосовых сервисов, она, несомненно, имеет большое будущее.
  SpeechSynthesis
  SpeechSynthesis - Является интерфейсом для синтезирования текстового сообщения в аудиосообщение.
  Экземпляр доступен:

  1. Через свойство speechSynthesis объекта Window
  2. Через свойство speechSynthesis объекта Self
  SpeechSynthesis свойства.
  paused - Содержит значение true если воспроизведение сообщения приостановлено, и значение false - в противном случае.
  Значение имеет логический формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.paused

Значения формата записи:

  pending - Содержит значение true если в очереди для воспроизведения есть сообщение, и значение false - в противном случае.
  Значение имеет логический формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.pending

Значения формата записи:

  speaking - Содержит значение true если в текущий момент воспроизводится какое-либо сообщение, и значение false - в противном случае.
  Значение имеет логический формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.speaking

Значения формата записи:

  SpeechSynthesis методы.
  cancel - Очищает очередь текстовых сообщений для синтезирования аудио и останавливает текущее воспроизведение.
  Возвращает значение undefined.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.cancel()

Значения формата записи:

  getVoices - Возвращает ссылку на интерфейс SpeechSynthesisVoiceList к списку доступных голосовых сервисов.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.getVoices()

Значения формата записи:

  pause - Приостанавливает текущее воспроизведение текстового сообщения.
  Возвращает значение undefined.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.pause()

Значения формата записи:

  resume - Возобновляет приостановленное текущее воспроизведение текстового сообщение.
  Возвращает значение undefined.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.resume()

Значения формата записи:

  speak - Добавляет в очередь для синтезирования аудио заданное текстовое сообщение.
  Возвращает значение undefined.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesis.speak(Сообщение)

Значения формата записи:

  SpeechSynthesisVoice
  SpeechSynthesisVoice - Является интерфейсом к голосовым сервисам, которые могут применяться при синтезировании аудиосообщений с помощью методов объекта SpeechSynthesis.
  Существуют сервисы разных голосов. Некоторые лучше соответствуют акцентам регионов, а некоторые синтезируют характерные голоса. Кроме того существуют (по крайней мере развиваются) сервисы для разных языков.
  Экземпляр доступен:

  1. В составе списка SpeechSynthesisVoiceList
  2. В выражении new SpeechSynthesisVoice([Адрес])
  SpeechSynthesisVoice свойства.
  default - Содержит значение true если этот сервис используется браузером по умолчанию, и значение false - в противном случае.
  Значение имеет логический формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoice.default

Значения формата записи:

  lang - Содержит код языка этого сервиса.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoice.lang[ = Код]

Значения формата записи:

  localService - Содержит значение true если этот сервис находится на локальном устройстве, и значение false - в противном случае.
  Значение имеет логический формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoice.localService[ = true|false]

Значения формата записи:

  name - Содержит имя этого сервиса.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoice.name[ = Имя]

Значения формата записи:

  voiceURI - Содержит сетевой адрес сервиса.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoice.voiceURI[ = Адрес]

Значения формата записи:

  SpeechSynthesisUtterance
  SpeechSynthesisUtterance - Является интерфейсом к тексту аудиосообщения, которое может быть синтезировано с помощью методов объекта SpeechSynthesis.
  Экземпляр доступен:

  1. В выражении

      new SpeechSynthesisUtterance([Текст])

    где:
    • SpeechSynthesisUtterance - Имя функции конструктора.
    • Текст - Текст для аудио синтеза.
  SpeechSynthesisUtterance свойства.
  lang - Содержит код языка сообщения для синтезирования.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.lang[ = Код]

Значения формата записи:

  onboundary - Содержит функцию, которая должна быть вызвана, если, во время озвучивания этого сообщения, достигнута граница между словами и(или) предложениями.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.onboundary[ = Функция]

Значения формата записи:

  onend - Содержит функцию, которая должна быть вызвана, если это сообщение закончено озвучиваться синтезатором.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.onend[ = Функция]

Значения формата записи:

  onerror - Содержит функцию, которая должна быть вызвана, если при озвучивании этого сообщения синтезатором, возникла ошибка.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.onerror[ = Функция]

Значения формата записи:

  onpause - Содержит функцию, которая должна быть вызвана, если озвучивание этого сообщения синтезатором приостановлено.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.onpause[ = Функция]

Значения формата записи:

  onresume - Содержит функцию, которая должна быть вызвана, если озвучивание этого сообщения синтезатором продолжено после приостановки.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.onresume[ = Функция]

Значения формата записи:

  onstart - Содержит функцию, которая должна быть вызвана, если это сообщение начинает озвучиваться синтезатором.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.onstart[ = Функция]

Значения формата записи:

  pitch - Содержит уровень низкого тона синтезированного произношения этого сообщения.
  Значение имеет числовой формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.pitch[ = Уровень]

Значения формата записи:

  rate - Содержит скорость синтезированного произношения этого сообщения.
  Значение имеет числовой формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.rate[ = Скорость]

Значения формата записи:

  • Экземпляр объекта SpeechSynthesisUtterance - Любой операнд значения со значением экземпляра объекта SpeechSynthesisUtterance.
  • . - Оператор доступа к свойству объекта.
  • rate - Ключевое слово.
  • = - Оператор присвоения. Ключевое слово в этом формате.
  • Скорость - Значение скорости заданное в любом числовом формате.
      По умолчанию 1 - нормальная скорость.
      Большее значение кратно увеличивает, а меньшее значение кратно уменьшает скорость.
      Значения ниже 0.1 или выше 10 не допустимы.
  text - Содержит текст сообщения, который должен быть синтезирован.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.text[ = Текст]

Значения формата записи:

  voice - Содержит ссылку на интерфейс SpeechSynthesisVoice, который настраивает голосовой сервис для этого сообщения.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.voice[ = Объект]

Значения формата записи:

  volume - Содержит уровень громкости синтезированного произношения этого сообщения.
  Значение имеет числовой формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.volume[ = Уровень]

Значения формата записи:

  SpeechSynthesisUtterance методы.
  addEventListener - Устанавливает функцию обработчик событий для этого сообщения.
  Возвращает значение undefined.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.addEventListener(Событие, Функция, false)

Значения формата записи:

  • Экземпляр объекта SpeechSynthesisUtterance - Любой операнд значения со значением экземпляра объекта SpeechSynthesisUtterance.
  • . - Оператор доступа к методу объекта.
  • addEventListener - Ключевое слово.
  • ( - Оператор группировки. Ключевое слово в этом формате.
  • Событие - Имя события, предусмотренного для объекта SpeechSynthesisUtterance, заданное в любом строковом формате.
  • Функция - Любой операнд значения со значением функция.
      Значением первого аргумента этой функции, при ее вызове браузером, всегда является экземпляр объекта Event обрабатываемого события.
      Одна функция-обработчик устанавливается методом addEventListener только один раз и повторные вызовы метода для этой же функции не имеют значения.
      Однако другие функции могут быть установлены сообщению для этого же события методом addEventListener, причем выполняться, в случае возникновения события, они будут в том же порядке, как записаны в скрипте.
      Если же обработчики для этого сообщения и этого события установлены методом addEventListener в разных скриптах, то порядок их выполнения не предсказуем.
  • false - Логическое значение. Если указано, то функция будет отмечена как обычный обработчик.
  • , - Оператор группировки. Ключевое слово в этом формате.
  • ) - Оператор группировки. Ключевое слово в этом формате.
  dispatchEvent - Инициализирует возникновение заданного события в этом сообщении.
  Возвращает значение undefined.
  Инициализированное событие не происходит на самом деле, но инициализация приводит к вызову его обработчика.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.dispatchEvent(Событие)

Значения формата записи:

  removeEventListener - Отменяет функцию обработчик событий, установленную методом addEventListener, для этого сообщения.
  Возвращает значение undefined.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisUtterance.removeEventListener(Событие, Функция, false)

Значения формата записи:

  SpeechSynthesisVoiceList
  SpeechSynthesisVoiceList - Является интерфейсом к спискам, элементами которых являются экземпляры объекта SpeechSynthesisVoice.
  Экземпляр доступен:

  1. С помощью метода getVoices объекта SpeechSynthesis
  SpeechSynthesisVoiceList свойства.
  length - Содержит количество элементов в списке.
  Значение имеет числовой формат.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoiceList.length

Значения формата записи:

  Указатель - Содержит ссылку на экземпляр объекта SpeechSynthesisVoice - элемент списка, определяемый его указателем.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoiceList[Указатель]

Значения формата записи:

  SpeechSynthesisVoiceList методы.
  item - Возвращает ссылку на экземпляр объекта SpeechSynthesisVoice- элемент списка заданный указателем.

Формат записи в коде скрипта:

  • Экземпляр объекта SpeechSynthesisVoiceList.item(Указатель)

Значения формата записи:

Сводная таблица событий
Имя Свойство Объект Тип Примечание
boundary onboundary SpeechSynthesisUtterance События синтеза речи Граница озвучивания
end onend SpeechSynthesisUtterance События синтеза речи Конец озвучивания
error onerror SpeechSynthesisUtterance События синтеза речи Ошибка
pause onpause SpeechSynthesisUtterance События синтеза речи Пауза
resume onresume SpeechSynthesisUtterance События синтеза речи Продолжение озвучивания
start onstart SpeechSynthesisUtterance События синтеза речи Начало озвучивания

Сводная таблица методов
Имя метода Объект Функционал Возвращаемое значение
addEventListener SpeechSynthesisUtterance Устанавливает функцию обработчик событий. undefined
cancel SpeechSynthesis Очищает очередь текстовых сообщений аудио-синтеза и останавливает его. undefined
dispatchEvent SpeechSynthesisUtterance Инициализирует возникновение заданного события. undefined
getVoices SpeechSynthesis Возвращает списков экземпляров объектов SpeechSynthesisVoice. Экземпляр объекта SpeechSynthesisVoiceList
item SpeechSynthesisVoiceList Возвращает элемент списка или коллекции заданный указателем. Любой тип значения
pause SpeechSynthesis Приостанавливает текущее воспроизведение текстового сообщения. undefined
removeEventListener SpeechSynthesisUtterance Отменяет функцию обработчик событий. undefined
resume SpeechSynthesis Возобновляет приостановленное текущее воспроизведение текстового сообщения. undefined
speak SpeechSynthesis Добавляет в очередь для аудио-синтеза текстовое сообщение. undefined

Сводная таблица свойств
Имя свойства Объект Содержание Тип значения
default SpeechSynthesisVoice Флаг использования голосового сервиса. Логический формат
lang SpeechSynthesisUtterance
SpeechSynthesisVoice
Содержит код языка сообщения для аудио-синтеза или голосового сервиса. Строковый формат
length SpeechSynthesisVoiceList Количество элементов списка или коллекции. Числовой формат
localService SpeechSynthesisVoice Флаг присутствия голосового сервиса. Логический формат
name SpeechSynthesisVoice Имя голосового сервиса. Строковый формат
paused SpeechSynthesis Индикатор приостановки аудио-синтеза текстового сообщения. Логический формат
pending SpeechSynthesis Индикатор очереди текстовых сообщений для аудио-синтеза. Логический формат
pitch SpeechSynthesisUtterance Уровень низкого тона сообщения для аудио-синтеза. Числовой формат
rate SpeechSynthesisUtterance Скорость синтезированного произношения сообщения для аудио-синтеза. Числовой формат
speaking SpeechSynthesis Индикатор процесса аудио-синтеза текстового сообщения. Логический формат
text SpeechSynthesisUtterance Текст сообщения для аудио-синтеза. Строковый формат
voice SpeechSynthesisUtterance Экземпляр объекта SpeechSynthesisVoice. Экземпляр объекта
voiceURI SpeechSynthesisVoice Сетевой адрес голосового сервиса. Строковый формат
volume SpeechSynthesisUtterance Уровень громкости синтезированного произношения сообщения для аудио-синтеза. Числовой формат
Указатель SpeechSynthesisVoiceList Элемент списка или коллекции. Любой формат
Пример (Chrome):
<TEXTAREA ID="TEXTS">This is an experimental technology</TEXTAREA>
<BUTTON ID="Synthesis">Синтез</BUTTON>
<SCRIPT>
  var Txt = document.getElementById("TEXTS");
  var Synt = document.getElementById("Synthesis");
  var Sis = null;
  var Utter = null;
  var Val = null;
  var Voice = null;
  var OPP = function(W)
    {
      Sis = speechSynthesis;
      Val = Txt.value;
      Utter = new SpeechSynthesisUtterance(Val);
      Utter.lang = "en-US";
      Sis.speak(Utter);
    };
  Synt.onclick = OPP;

</SCRIPT>

Результат.