次の問題があります。
曲の歌詞から文法文字列を作成します。次に、(webkit) SpeechRecognition 文法を次のように設定します。
const grammars = new SpeechGrammarList();
grammars.addFromString(grammarString, 1);
const config = {
lang: 'en-US',
interimResults: true,
maxAlternatives: 0,
continuous: true,
grammars,
onresult,
};
const recognition = new SpeechRecognition();
Object.entries(config).forEach(([key, val]) => (recognition[key] = val));
設定後、recognition.grammars.src
戻ります(元の形式からこれをデコードしました):
data:application/xml,#JSGF V1.0; 文法の歌詞; public <歌詞> = 見る | |場合 | あなた | | 持っていた 1 つ | ショット | または | 機会 | へ | つかむ | すべて | 今まで | 欲しかった | | で 瞬間 | |だろう | キャプチャ | それ | ただ | させて | スリップ; (あなたは歌を認識するかもしれません;))
その結果によると、すべてが問題ないはずです。
しかし、私はネイティブ スピーカーではないので、"look"と言い始めると、少なくとも 25% の確率で"Luke"が "高い信頼度" で返されます。
今、私は混乱しています。文法の目的は、含まれる単語 (およびフレーズ) を主に強調することではありませんか?
実際の質問:正しい文法を達成するための最善のアドバイスは何ですか? サードパーティのサービスを使用せずに成功できますか?