首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么方法可以提高pocketsphinx在语音识别方面的准确性吗?

有什么方法可以提高pocketsphinx在语音识别方面的准确性吗?
EN

Stack Overflow用户
提问于 2018-07-06 11:05:44
回答 2查看 1.7K关注 0票数 0

我有一个脚本,简单地转换视频为wav格式与特定的参数,然后转录其音频。

代码语言:javascript
复制
def video_to_wav(self):
    mp4_video = os.path.join(self.dir, self.name + ".mp4")
    if os.path.isfile(mp4_video):
        subprocess.call("ffmpeg -i {0} -acodec pcm_s16le -ac 1 -ar 16000 {1}.wav".format(
            mp4_video, os.path.join(self.dir, self.name)), shell=True, env=os.environ)
        os.remove(mp4_video)
    else:
        raise SystemError
    return self.name + ".wav"

对于音频转录,PocketSphinx是我的选择,但我从语音识别库中使用它。

PocketSphinx是非常不准确的,除非音频有一个非常高的质量(它几乎不承认讲话的体面/良好的质量)。您可以看到,转换参数是专门为狮身人面像识别选择的:

ffmpeg -i {0} -acodec pcm_s16le -ac 1 -ar 16000 {1}.wav

我能做些什么来提高准确性吗?也许声学模型会调整语音识别的准确性?如果是这样的话,我如何在speech-recognition模块中使用它?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-06-19 18:04:06

提高PocketSphinx的准确度的最佳方法是缩小你希望它识别的词汇量范围。如果你能把它限制在几千个可能的单词上,它的准确性就会大大提高。CMU狮身人面像网站有一些工具可以帮助你做到这一点。

此外,由于您正在使用记录,您可以调整回溯和置信参数,以提供更慢,但更准确的结果。

PocketSphinx在文本输出中包含时间戳,当它对抄写的可信度较低时,还包括通知。您可以尝试运行两个进程--第一个过程使用一个较小的词汇表,然后在第二个过程中用更广泛的词汇表重新尝试那些低自信的时间间隔。然后,你将不得不合并文本转录。

票数 1
EN

Stack Overflow用户

发布于 2018-08-18 22:02:56

为了准确起见,您可以使用更高级的工具包,如卡尔迪。对于python,您可以检查https://github.com/gooofy/py-kaldi-asr

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51209028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档