Chromium игнорирует набор грамматик для распознавания речи

Я использую SpeechRecognition в Chromium (интерфейс Web Speech API) и имеют грамматика, установленная для распознавания, определенная в JSGF:

"#JSGF V1.0 UTF-8; grammar animal_list; public <animal> = dog | cat | horse ;"

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

Сначала я подумал, что проблема в моем коде, но потом обнаружил, что Mozilla сделала живая демонстрация, которая иллюстрирует именно этот вариант использования API: вы что-то говорите, и если это один из цветов, определенных в грамматике, API распознает это. Вот как это должно было работать, я думаю.

Но посмотрите внизу страницы на диагностические сообщения: что бы вы ему ни сказали, он распознает. Не только те цвета, которые определены в грамматике. Как будто грамматики вообще не было.

Как вы думаете, должен ли я сообщить об этом как об ошибке Chrome/Chromium, и если да, то где? Или я что-то не понимаю, как это работает?


comment
Они по-прежнему не поддерживают грамматики.   -  person Nikolay Shmyrev    schedule 08.01.2018
comment
Хорошо, спасибо, я разместил отчет об ошибке, посмотрим, Google делает все, чтобы API соответствовал рекомендации W3C.   -  person tom    schedule 08.01.2018
comment
@NikolayShmyrev Как текущий вопрос дублирует связанный вопрос?   -  person guest271314    schedule 10.01.2018
comment
В SpeechRecognition вы можете установить для переменной maxAlternatives большое целое число и циклически просматривать результаты, пока не найдете предопределенные ответы. Пример: // Перед вызовом функции start() распознавание.maxAlternatives = 100; // в методе onresult опознавание.onresult = (event) { /* Цикл по event.results */ }   -  person Ricardo Metring    schedule 13.08.2020