Я использую SpeechRecognition в Chromium (интерфейс Web Speech API) и имеют грамматика, установленная для распознавания, определенная в JSGF:
"#JSGF V1.0 UTF-8; grammar animal_list; public <animal> = dog | cat | horse ;"
Он успешно добавлен к распознаванию, поэтому я бы за исключением того, что он будет возвращать только одно из трех слов (собака, кошка или лошадь), когда я говорю, но вместо этого он продолжает распознавать все, что я говорю.
Сначала я подумал, что проблема в моем коде, но потом обнаружил, что Mozilla сделала живая демонстрация, которая иллюстрирует именно этот вариант использования API: вы что-то говорите, и если это один из цветов, определенных в грамматике, API распознает это. Вот как это должно было работать, я думаю.
Но посмотрите внизу страницы на диагностические сообщения: что бы вы ему ни сказали, он распознает. Не только те цвета, которые определены в грамматике. Как будто грамматики вообще не было.
Как вы думаете, должен ли я сообщить об этом как об ошибке Chrome/Chromium, и если да, то где? Или я что-то не понимаю, как это работает?