SpeechRecognition

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

Интерфейс Распознавание голоса Web Speech API является интерфейсом контроллера для сервиса распознавания; который так же перехватывает событие SpeechRecognitionEvent, отправленное сервисом распознавания.

Конструктор

SpeechRecognition.SpeechRecognition()

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

Свойства

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

SpeechRecognition.grammars

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

SpeechRecognition.lang

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

SpeechRecognition.continuous

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

SpeechRecognition.interimResults

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

SpeechRecognition.maxAlternatives

Устанавливает максимальное количество предоставленных результатов SpeechRecognitionAlternative. По умолчанию значение 1.

SpeechRecognition.serviceURI

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

Обработчики событий

SpeechRecognition.onaudiostart

Вызывается когда пользовательский агент начал захват аудио.

SpeechRecognition.onaudioend

Вызывается когда пользовательский агент закончил захват аудио.

SpeechRecognition.onend

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

SpeechRecognition.onerror

Вызывается когда произошла ошибка распознавания речи.

SpeechRecognition.onnomatch

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

SpeechRecognition.onresult

Вызывается когда возвращает результат — слово или фраза были распознаны положительно, и это было передано обратно в приложение.

SpeechRecognition.onsoundstart

Вызывается при обнаружении любого звука - не важно, распознана речь или нет.

SpeechRecognition.onsoundend

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

SpeechRecognition.onspeechstart

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

SpeechRecognition.onspeechend

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

SpeechRecognition.onstart

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

Методы

Распознавание речи также наследует методы от своего родительского интерфейса, EventTarget.

SpeechRecognition.abort()

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

SpeechRecognition.start()

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

SpeechRecognition.stop()

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

Примеры

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

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

js
var 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 ;";
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
//recognition.continuous = false;
recognition.lang = "en-US";
recognition.interimResults = false;
recognition.maxAlternatives = 1;

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

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

recognition.onresult = function (event) {
  var color = event.results[0][0].transcript;
  diagnostic.textContent = "Result received: " + color;
  bg.style.backgroundColor = color;
};

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

Specification
Web Speech API
# speechreco-section

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

BCD tables only load in the browser

Смотрите также