1

我用 Angular/websockets/node js 和谷歌语音转文本 api 构建了一个语音识别系统。

我在几乎所有单词上都表现得很好,但是“no”这个词确实存在问题 - 似乎“no”这个词甚至没有传递给 API,因为没有中间结果发生。对于诸如“是”之类的词、更长的词或偶数(1、2、3 等)不会出现此问题。

IE th .on('data', (data) => {ofstreamingRecognise什么都不输出 - 似乎直到它“听到”诸如“是”、“你好”等词,但不是“不”而没有很多 umph。

有任何想法吗?

配置:

  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',             
  };```
4

1 回答 1

0

我可以提出一些想法:

  • 您是否检查过当您尝试识别单词时是否出现了no某些END_OF_SINGLE_UTTERANCE事件?这将有助于了解问题发生在哪里,因为您正在使用single_utterance.
  • 您可以尝试使用来增加 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"]
    }]
  }

于 2021-05-26T13:24:43.900 回答