MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

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

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

Конструктор

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>.

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;
}

Specifications

Спецификация Статус Комментарии
Web Speech API
Определение 'SpeechRecognition' в этой спецификации.
Черновик  

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

Таблица совместимостей
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Базовая поддержка CompatChrome(33)}}property_prefix("webkit")[1] Не совместима[2] Не совместима Не совместима Не совместима
постоянная CompatChrome(33) [1] Не совместима Не совместима Не совместима Не совместима
Feature Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support Неизвестно Неизвестная совместимая версия [1] Совместим с GeckoMobile(44) 2.5 Не совместима Не совместима Не совместима
continuous Неизвестно Неизвестная совместимая версия[1] Совместимость неизвестна Не совместима Не совместима Не совместима Не совместима
  • [1] Интерфейсы распознавания речи в настоящее время префиксные в Chrome, поэтому вам нужно указать имена интерфейсов, например, префикс. WebkitSpeechRecognition; Вы также должны будете обслуживать свой код через веб-сервер для распознавания работы
  • [2] Может быть активированна через media.webspeech.recognition.enable флаг в about:config на телефоне. Не реализовано вообще на рабочем столе Firefox - см.баг 1248897.

Firefox OS разрешения

Чтобы использовать распознавание речи в приложении, вам необходимо указать следующие разрешения в своем manifest:

"permissions": {
  "audio-capture" : {
    "description" : "Audio capture"
  },
  "speech-recognition" : {
    "description" : "Speech recognition"
  }
}

Вам также нужно привилегированное приложение, поэтому вам необходимо также включить его:

  "type": "privileged"

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

Метки документа и участники

 Внесли вклад в эту страницу: Sparks
 Обновлялась последний раз: Sparks,