Speech recognition 用CMU Sphinx进行数字识别

Speech recognition 用CMU Sphinx进行数字识别,speech-recognition,voice-recognition,cmusphinx,pocketsphinx,Speech Recognition,Voice Recognition,Cmusphinx,Pocketsphinx,各位专家 我有很多包含数字(0-9)的mp3文件(原始音频流采样器为11.025 kHz) 不同的说话者(男性/女性)说例如“一”、“七”、“三”等,中间有停顿(~2-2.5秒) 我将使用CMU Sphinx来识别语音(桌面应用程序)。所以我有一些问题: MP3解码:如何解码我的MP3文件意味着什么 我是否应该指定为ffmpeg(据我所知,不建议指定为ffmpeg) 上采样/下采样流)。解码时是否应过滤噪音和/或频带 声学模型:如果我不对流进行上采样/下采样,怎么能 我发现一个声学模型支持110

各位专家

我有很多包含数字(0-9)的mp3文件(原始音频流采样器为11.025 kHz)

不同的说话者(男性/女性)说例如“一”、“七”、“三”等,中间有停顿(~2-2.5秒)

我将使用CMU Sphinx来识别语音(桌面应用程序)。所以我有一些问题:

  • MP3解码:如何解码我的MP3文件意味着什么 我是否应该指定为ffmpeg(据我所知,不建议指定为ffmpeg) 上采样/下采样流)。解码时是否应过滤噪音和/或频带

  • 声学模型:如果我不对流进行上采样/下采样,怎么能 我发现一个声学模型支持11025千赫。如果我这样做,什么是最好的数字模型

  • 识别模式:我发现转录有两种模式-键 发现和识别。哪种模式更适合考虑 帐户I只有数字(和一些噪音)

  • 谢谢

    UPD:

    尼古拉,谢谢你的回答。我已经试过你的建议了——它奏效了

    如果你不介意的话,我想问一些额外的问题:

  • 我发现其中一个voxforge声学模型比en-us-8khz更精确。可以吗

  • 只有45%的文件被正确识别。其他55%的人有20-90%的错误。因此,我的问题是:是否有可能估计所得结果的置信度?例如,我可以跳过“不确定”识别的文件

  • 如果答案2为“否”,您可以提出什么建议来提高准确性?我知道,这个问题很抽象

  • 提前谢谢你

    UPD2:

    顺便说一句,最好的参数集(我刚刚浏览了各种参数)是:

    MP3解码:我如何解码我的MP3文件,这意味着我应该为ffmpeg指定什么样的采样器(正如我所知,不建议向上采样/向下采样流)。解码时是否应过滤噪音和/或频带

    声学模型:如果我不对流进行上采样/下采样,如何找到支持11025 kHz的声学模型。如果我这样做,什么是最好的数字模型

    下载中提供了en-us-8khz,您需要创建一个数字语法,如中所示,然后按以下方式使用它

     pocketsphinx_continuous -infile file.wav -jsgf digits.gram -hmm en-us-8khz -samprate 8000
    
    识别模式:我发现转录有两种模式——按键识别和识别。考虑到我只有数字(还有一些噪音),哪个模式更好


    识别模式

    谢谢你,Nokilay。我的幸运组合是:
    pocketsphinx_continuous-infle file.wav-jsgf digits.gram-hmm-voxforge_model-samprate 8000-remove_dc yes-remove_noise no-vad_threshold 3.4-vad_prespeech 19-vad_postspeech 37-silprob 2.5
    CMU Sphinx常见问题解答:从mp3解码的音频文件中的零静音区域会破坏解码器。可以使用抖动引入小的随机噪声来解决此问题。你的意思是它会影响结果吗?不,voxforge模型的精度肯定要低得多。您的附加参数也是错误的,您不应该禁用噪声消除。要分析较差的精度,您需要提供少量的测试样本。我建议您在cmusphinx论坛上讨论这个问题,它并不真正适合stackoverflow格式。对于感兴趣的人,请继续:
     ffmpeg -i file.mp3 -ar 8000 file.wav
    
     pocketsphinx_continuous -infile file.wav -jsgf digits.gram -hmm en-us-8khz -samprate 8000