谷歌云语音对某些短词的文本难度

问题描述

我已经用 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"]
    }]
  }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...