Я хочу создать простое распознавание речи, используя 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;