问题描述
我已经用 Angular/websockets/node js 和谷歌语音到文本 api 构建了一个语音识别系统。
我在几乎所有单词上都能很好地工作,但是“不”这个词确实存在问题 - 似乎“不”这个词甚至没有传递给 API,因为没有中间结果发生。对于诸如“是”之类的词,或更长的词,甚至数字 - 1、2、3 等,不会出现此问题。
IE th .on('data',(data) => {
of streamingRecognise
不输出任何内容 - 似乎直到它“听到”像“是”、“你好”等词,而不是没有很多嗡嗡声的“不”。
有什么想法吗?
配置:
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
,这对于了解问题发生的位置很有用。 - 您可以尝试使用 this 来增加 Speech-to-Text 识别单词
no
的概率。 IE:
"config": {
"sampleRateHertz": 8000,"languageCode":"en-US","single_utterance":true,"interimResults":true,"metadata" : {
"microphoneDistance": 'NEARFIELD',"interactionType": 'VOICE_SEARCH',"recordingDeviceType": 'PC',};
"speechContexts": [{
"phrases": ["no"]
}]
}