4

我正在考虑为我的应用程序使用 pocketsphinx 离线语音识别,但它的文档不清楚。如果有人可以回答以下问题,那么它真的会对我有很大帮助。

  1. setKeywordThreshold(1e-5f) 方法的作用(用途)是什么。此方法允许的最小值和最大值是多少。

  2. 我想为不同的语言提供支持,并在此链接http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/上找到某些语言的内置声学模型。但由于文档滞后,我无法理解哪种模型最适合哪种语言。任何人都可以向我推荐以下语言的最佳内置声学模型 -

    (一个)。澳大利亚英语 (b)。美国英语 (c)。英式英语 (d)。加拿大英语 (e)。欧洲英语(f)。印度英语(g)。爱尔兰英语 (h)。新西兰英语(一)。南非英语 (j)。俄语 (k)。西班牙语 (l)。法语(男)。荷兰语(n)。德语

  3. 我只想识别每种语言中从 1 到 200 的数字。做这个的最好方式是什么 ?

  4. 我创建了一个 digits.gram 文件来识别从 1 到 99 的数字,但它也可以识别背景声音。例如,当钻机出现任何背景声音时,它就会将其识别为一个。只有在说出特定数字时,我们才能识别数字?

数字.gram 文件

#JSGF V1.0;

grammar digits;

<single> = one | two | three | four | five | six | seven | eight | nine ;
<digit> = <single> |
          zero  |
          ten   |
          eleven |
          twelve |
          thirteen |
          fourteen |
          fifteen |
          sixteen |
          seventeen |
          eighteen |
          nineteen |
          twenty |
          thirty |
          forty |
          fifty |
          sixty |
          seventy |
          eighty |
          ninety |
          twenty <single> |
          thirty <single> |
          forty <single> |
          fifty <single> |
          sixty <single> |
          seventy <single> |
          eighty <single> |
          ninety <single> ;
4

1 回答 1

0

解决问题 4的最佳方法是添加关键字开始识别。当你有一个关键字时,你可以建议用户知道如何使用你的系统,并在真正的命令之前说“你好,Pocketsphinx”。

所以可以试试:

  • 使用关键字。
  • 按解码器应返回的置信度过滤输出。
  • 此外,您还可以在字典中添加更多常用词作为后备词,以便 Pocketsphinx 将匹配它们而不是您的“正确”列表,也许这会提高准确性。(但它甚至是值得的,你应该使用它来找到解决你的场景的最佳方法)
于 2019-02-26T10:30:42.703 回答