我已经用Angular/websockets/node js和google speech to text api构建了一个语音识别系统。
I对几乎所有的单词都能很好地工作,但是对于单词"no"-好像"不"这个词甚至不会传递给API,因为没有中间结果发生。此问题不会发生在诸如"yes"或较长的单词,或偶数- 1,2,3等。
即streamingRecognise
的.on('data', (data) => {
似乎没有输出-直到它"听到";比如"是"、"你好"等等,而不是"不是"。没有太多的声音
任何想法?
配置:
sampleRateHertz = 48000;
languageCode = 'en-US';
single_utterance = true; // Processes after short sound burst (sentence/word)
interimResults = true; // Reports back findings mid-sentence. Useful for "processing" UI
metadata = {
microphoneDistance: 'NEARFIELD',
interactionType: 'VOICE_SEARCH',
recordingDeviceType: 'PC',
};```
我可以提出一些建议:
- 您是否检查当您试图识别
no
单词时是否出现一些END_OF_SINGLE_UTTERANCE
事件?这将有助于了解问题发生在哪里,因为你正在使用single_utterance
。 - 您可以尝试使用它来增加语音到文本识别单词
no
的概率。即:
"config": {
"sampleRateHertz": 8000,
"languageCode":"en-US",
"single_utterance":true,
"interimResults":true,
"metadata" : {
"microphoneDistance": 'NEARFIELD',
"interactionType": 'VOICE_SEARCH',
"recordingDeviceType": 'PC',
};
"speechContexts": [{
"phrases": ["no"]
}]
}