Использование грамматики с Web Speech API для предложения (правильный путь) - PullRequest
1 голос
/ 03 марта 2020

Я хочу создать простое распознавание речи, используя Web Speech API . И чтобы быть более точным, я хочу использовать конструктор SpeechGrammarList().

Примечание: есть много устаревших ответов о том, что грамматика еще не поддерживается в chrome, но основана на этой ссылке это теперь полностью поддерживается, я думаю!:

https://developer.mozilla.org/en-US/docs/Web/API/SpeechGrammarList/SpeechGrammarList#Browser_compatibility

Я все еще не уверен, поддерживается ли он в chrome сейчас? и как правильно реализовать грамматику, если она работает и поддерживается в chrome?

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

Мы можем добавить список грамматики на основе слов paragraph, например:

let paragraph = 'i was sent to earth to protect you to do'; 
let paragraphWords = paragraph.split(' ');

var grammar = '#JSGF V1.0; grammar paragraphWords; public <paragraphWords> = ' + paragraphWords.join(' | ') + ' ;';
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;

Или мне просто нужно вставить целое предложение:

let paragraph = 'i was sent to earth to protect you to do'; 
// let paragraphWords = paragraph.split(' ');

var grammar = '#JSGF V1.0; grammar paragraph ; public <paragraph> = ' + paragraph + ' ;';
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;
...