Spec-Zone.ru › Web APIs

SpeechRecognition

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Интерфейс SpeechRecognition API речи веб-приложений — это интерфейс-контроллер для сервиса распознавания; он также обрабатывает событие SpeechRecognitionEvent, отправленное сервисом распознавания.

Примечание: В некоторых браузерах, например, Chrome, использование распознавания речи на веб-странице подразумевает использование серверного движка распознавания. Ваш аудиосигнал отправляется на веб-сервис для обработки распознавания, поэтому он не будет работать офлайн.

EventTarget SpeechRecognition

Конструктор

SpeechRecognition()

Создаёт новый объект SpeechRecognition.

Свойства экземпляра

SpeechRecognition также наследует свойства от родительского интерфейса, EventTarget.

SpeechRecognition.grammars

Возвращает и задаёт коллекцию объектов SpeechGrammar, представляющих грамматики, которые будет понимать текущий SpeechRecognition.

SpeechRecognition.lang

Возвращает и задаёт язык текущего SpeechRecognition. Если не указан, по умолчанию используется значение атрибута HTML lang, или язык пользователя, если он не задан.

SpeechRecognition.continuous

Управляет тем, возвращаются ли непрерывные результаты для каждого распознавания, или только один результат. По умолчанию — один (false).

SpeechRecognition.interimResults

Управляет тем, должны ли возвращаться промежуточные результаты (true) или нет (false). Промежуточные результаты — это результаты, которые ещё не окончательные (например, свойство SpeechRecognitionResult.isFinal имеет значение false).

SpeechRecognition.maxAlternatives

Задает максимальное количество SpeechRecognitionAlternative на результат. Значение по умолчанию — 1.

Методы экземпляра

SpeechRecognition также наследует методы от родительского интерфейса, EventTarget.

SpeechRecognition.abort()

Останавливает службу распознавания речи от прослушивания входящего аудио, и не пытается вернуть SpeechRecognitionResult.

SpeechRecognition.start()

Запускает службу распознавания речи, прослушивая входящий аудиосигнал с целью распознать грамматики, связанные с текущим SpeechRecognition.

SpeechRecognition.stop()

Останавливает службу распознавания речи от прослушивания входящего аудио, и пытается вернуть SpeechRecognitionResult с использованием захваченного аудио.

События

Подключайтесь к этим событиям с помощью addEventListener() или назначив обработчик событий свойству oneventname этого интерфейса.

audiostart

Срабатывает, когда пользовательский агент начал захват аудио. Также доступно через свойство onaudiostart.

audioend

Срабатывает, когда пользовательский агент завершил захват аудио. Также доступно через свойство onaudioend.

end

Срабатывает, когда служба распознавания речи отключилась. Также доступно через свойство onend.

error

Срабатывает при возникновении ошибки распознавания речи. Также доступно через свойство onerror.

nomatch

Срабатывает, когда служба распознавания речи возвращает окончательный результат без значимого распознавания. Это может включать некоторую степень распознавания, которая не соответствует или не превышает порог confidence. Также доступно через свойство onnomatch.

result

Срабатывает, когда служба распознавания речи возвращает результат — слово или фраза были распознаны положительно, и это было сообщено приложению. Также доступно через свойство onresult.

soundstart

Срабатывает, когда был обнаружен любой звук — распознаваемая речь или нет. Также доступно через свойство onsoundstart.

soundend

Срабатывает, когда обнаружение любого звука — распознаваемой речи или нет — прекратилось. Также доступно через свойство onsoundend.

speechstart

Срабатывает, когда звук, распознанный службой распознавания речи как речь, был обнаружен. Также доступно через свойство onspeechstart.

speechend

Срабатывает, когда речь, распознанная службой распознавания речи, перестала обнаруживаться. Также доступно через свойство onspeechend.

start

Срабатывает, когда служба распознавания речи начала прослушивать входящий аудиосигнал с целью распознать грамматики, связанные с текущим SpeechRecognition . Также доступно через свойство onstart.

Примеры

В нашем простом примере изменения цвета при речи мы создаём новый экземпляр объекта SpeechRecognition с помощью конструктора SpeechRecognition(), создаём новый SpeechGrammarList и устанавливаем его в качестве грамматики, которая будет распознаваться экземпляром SpeechRecognition с помощью свойства SpeechRecognition.grammars.

После определения других значений, мы устанавливаем распознавание так, чтобы оно запускалось при событии клика (см. SpeechRecognition.start()). Когда результат успешно распознан, срабатывает событие result, мы извлекаем цвет, который был произнесён из объекта события, а затем устанавливаем цвет фона элемента <html> на этот цвет.

const grammar =
  "#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;";
const recognition = new SpeechRecognition();
const speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
recognition.continuous = false;
recognition.lang = "en-US";
recognition.interimResults = false;
recognition.maxAlternatives = 1;

const diagnostic = document.querySelector(".output");
const bg = document.querySelector("html");

document.body.onclick = () => {
  recognition.start();
  console.log("Ready to receive a color command.");
};

recognition.onresult = (event) => {
  const color = event.results[0][0].transcript;
  diagnostic.textContent = `Result received: ${color}`;
  bg.style.backgroundColor = color;
};

Спецификации

Спецификация
Web Speech API
# speechreco-section

Совместимость браузеров

Настольные компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
SpeechRecognition 33 79 No No 14.1 33 No No 14.5 2.0 37
SpeechRecognition
33Вам нужно будет разместить свой код на веб-сервере, чтобы распознавание работало.
79Вам нужно будет разместить свой код на веб-сервере, чтобы распознавание работало.
No
20Вам нужно будет разместить свой код на веб-сервере, чтобы распознавание работало.
14.1
33Вам нужно будет разместить свой код на веб-сервере, чтобы распознавание работало.
No
20Вам нужно будет разместить свой код на веб-сервере, чтобы распознавание работало.
14.5
2.0Вам нужно будет разместить свой код на веб-сервере, чтобы распознавание работало.
4.4.3Вам нужно будет разместить свой код на веб-сервере, чтобы распознавание работало.
abort 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
audioend_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
audiostart_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
continuous 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
end_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
error_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
grammars 33 79 No 20 No 33 No 20 No 2.0 4.4.3
interimResults 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
lang 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
maxAlternatives 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
nomatch_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
result_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
soundend_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
soundstart_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
speechend_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
speechstart_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
start 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
start_event 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3
stop 33 79 No 20 14.1 33 No 20 14.5 2.0 4.4.3

См. также

  • Web Speech API

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API