如何在pocketsphinx.js中优化阈值

时间:2016-10-19 18:00:19

标签: javascript speech-recognition pocketsphinx

在pocketsphinx.js的原始文件夹中,我应该在哪里添加阈值代码?我添加到recognizer.js但没有工作。这是我找到的代码:

["-kws_threshold", '2']

我这样添加(进入recognizer.js):

function initialize(data, clbId) {
var config = new Module.Config();
config.push_back(["-kws_threshold", '300']);

this是pocketsphinx的自述文件.. 谢谢

1 个答案:

答案 0 :(得分:1)

您需要使用预先录制的音频文件在桌面上对其进行优化,请参阅tutorial

中的详细信息

必须为每个关键短语指定阈值。对于较短的关键短语,您可以使用较小的阈值,如1e-1,因为较长的阈值必须更大,最高可达1e-50。如果您的关键短语非常长,大于10个音节,建议将其拆分并分别找到部分。为获得最佳准确度,最好使用3-4个音节的关键短语。太短的短语容易混淆。

必须调整阈值以平衡错误警报和错过检测,调整阈值的最佳方法是使用预先录制的音频文件。调整过程如下:

  • 进行长时间录制,几乎没有关键字和一些关键字 其他的声音。你可以拍电影声音或其他东西。该 音频长度应约为1小时
  • 运行关键字 发现每个关键字具有不同阈值的文件

使用以下命令:

pocketsphinx_continuous -infile <your_file.wav> -keyphrase <"your keyphrase"> -kws_threshold <your_threshold> -time yes
  • 它会打印多行,其中一些是具有检测次数和置信度的关键字。您还可以使用-logfn your_file.log选项禁用额外日志,以避免混乱。

  • 从关键字定位结果中计算错误警报的数量 您遇到的检测选择最小的阈值 错误警报和漏检的数量