JavaScript:Библиотеки/p5.speech
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
p5.speech[1]
Это JavaScript-библиотека, обеспечивающая простой и понятный доступ к WEB Speech API. Она позволяет создавать на p5.js скетчи, умеющие воспринимать и синтезировать человеческую речь. Написана Р. Люком Дюбуа в рамках проекта ABILITY LAB при Нью-Йоркском университете.
Пример использования для синтеза речи:
var foo = new P5.Speech(); // создаем объект для синтеза речи
foo.speak('hi there'); // говорим что-нибудь
Пример использования для распознавания речи:
var foo = new P5.SpeechRec(); // создаем объект для распознавания речи
// (понадобится микрофон)
foo.onResult = showResult; // задаем функцию обратного вызова,
// которая будет запускаться
// при распознавании речи
foo.start(); // запускаем прослушивание синтезированной речи
function showResult()
{
console.log(foo.resultString); // записываем результат
}
Еще примеры
Синтез речи:
- Простой пример синтеза речи (исходный код)
- Пример синтеза речи с изменениями параметров (использует p5.dom; исходный код)
- Пример синтеза речи с функцией обратного вызова (исходный код)
Распознавание речи (требуется Chrome):
- Простой пример распознавания речи (исходный код)
- Пример постоянного распознавания речи (исходный код)
Где взять
Последнюю версию библиотеки p5.speech можно скачать по этой ссылке. GitHub-репозиторий библиотеки p5.speech смотрите тут.
Справочник по библиотеке
Класс p5.Speech
Конструктор:
- default_voice – опциональный параметр, задающий голос синтезатора по номеру или названию. Список доступных голосов можно узнать с помощью listVoices()
Методы:
- cancel() – отключает текущую реплику и очищает список реплик, стоящих в очереди на синтез
- listVoices() – печатает список доступных голосов синтезатора в консоль JavaScript
- pause() – ставит на паузу проигрывание текущей реплики и запускает функцию обратного вызова onPause()
- resume() – возобновляет проигрывание текущей реплики и запускает функцию обратного вызова onResume()
- setLang(language) – задает интерпретатор языка для синтезатора речи. В параметре «language» задается код языка по стандарту BCP-47. По умолчанию стоит «en-US»
- setPitch(pitch) – задает высоту синтезируемой речи. Значения варьируются от «0.01» (очень низкий звук) до «2.0» (очень высокий звук). По умолчанию стоит «1.0». Поддерживается не всеми комбинациями браузер/ОС
- setRate(rate) – задает скорость синтеза речи. Значения варьируются от «0.1» (очень медленно) до «2.0» (очень быстро). Значение по умолчанию – «1.0». Поддерживается не всеми комбинациями браузер/ОС
- setVoice(voice) – задает голос синтезатора по номеру, который определяется с помощью функции listVoices(), или по названию. Эта функция эквивалентна использованию параметра «default_voice» в конструкторе класса p5.Speech
- setVolume(volume) – задает громкость воспроизведения синтезируемой речи. Значения варьируются от «0.0» (полная тишина) до «1.0» (полная громкость). Значение по умолчанию – «1.0»
- speak(utterance) – воспроизводит строку, заданную в параметре «utterance». При помощи свойства «interrupt» задается то, будут ли строки в новых функциях speak() ставиться в очередь на воспроизведение или воспроизводиться сразу же, вклиниваясь в то, что воспроизводится прямо сейчас. В момент начала синтеза будет вызвана функция обратного вызова onStart(), а в момент окончания синтеза – onEnd()
- stop() – останавливает воспроизведение текущей реплики. Запускает функцию обратного вызова onEnd()
Свойства:
- interrupt – булево значение, задающее, прервет ли новый вызов speak() уже воспроизводимую реплику («true») или же станет в очередь, в результате чего строка в этой функции будет воспроизведена после текущей реплики («false»). По умолчанию стоит «false»
- onEnd() – функция обратного вызова, запускаемая в момент завершения синтеза реплики
- onLoad() – функция обратного вызова, запускаемая после загрузки голосов синтеза
- onPause() – функция обратного вызова, запускаемая, когда проигрывание реплики ставится на паузу
- onResume() – функция обратного вызова, запускаемая в момент возобновления проигрывания реплики
- onStart() – функция обратного вызова, запускаемая в момент начала синтеза реплики
Класс p5.SpeechRec
Конструктор:
- default_voice – опциональный аргумент, с помощью которого задается код языка/региона (используется стандарт BCP-47) для системы распознавания речи
Методы:
- start() – приказывает системе распознавания речи начать прослушивание. С помощью свойства «continuous» задается, будет ли система распознавания речи выдавать результаты постоянно или сработает только один раз
Свойства:
- continuous – булево значение, которое задает, будет ли система распознавания речи выдавать результаты постоянно («true») или сработает только один раз («false»). По умолчанию стоит «false»
- interimResults – булево значение, которое задает, будет ли система распознавания речи выдавать более частые, но частичные результаты («true») или будет ждать во время пауз, чтобы пользователь договорил нужные слова («false»). По умолчанию стоит «false»
- onEnd() – функция обратного вызова, запускаемая в момент завершения распознавания речи
- onError() – функция обратного вызова, запускаемая при возникновении ошибки (на стороне клиента) в записи и передаче речи
- onResult() – функция обратного вызова, запускаемая, кода движок синтеза сообщил результат
- onStart() – функция обратного вызова, запускаемая в момент начала распознавания речи
- resultConfidence – значение типа «float» (в диапазоне между «0.0» и «1.0»), задающее доверительную вероятность для синтезатора речи касаемо того, что данные в свойстве «resultString» действительно являются тем, что сказал пользователь
- resultJSON – объект JSON, содержащий полный набор данных, возвращенных системой распознавания речи
- resultString – строка (String), содержащая последние распознанные слова
- resultValue – булево значение, которое содержит флажок состояния, сообщаемый сервером (значение «true» значит, что распознавание речи прошло успешно)