这是参考您在问题描述中给出的link。
我遇到了类似的问题,这是因为“pocketsphinx”库没有文件 en-us.lm.bin 和 cmudict-en-us.dict 默认情况下。
通过下载文件并将它们粘贴到正确的位置并提供正确的路径解决了这个问题:
P.S.:确保您的 PocketSphinx 是最新的。您可以通过在终端上执行pip install pocketsphinx 来安装/更新它。
详细步骤如下:
STEP-1:给出正确的路径
通过以下方式获取 MODELDIR:
MODELDIR= get_model_path()
第 2 步: 下载文件 en-us.lm.bin 和 cmudict-en-us.dict
从以下位置下载“en-us.lm.bin”文件:
https://github.com/cmusphinx/sphinx4/tree/master/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us
从以下位置下载“cmudict-en-us.dict”文件:https://github.com/cmusphinx/sphinx4/blob/master/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict
第 3 步:将文件粘贴到正确的位置。
将下载的文件粘贴到(MODELDIR + '/en-us/')给出的目录中
应该是这样的:C:\Users\Username\Anaconda3\Lib\site-packages\pocketsphinx\model\en-us
STEP-4:修改代码
你给的link有如下代码:
config = Decoder.default_config()
config.set_string('-hmm', path.join(MODELDIR, 'en-us/en-us'))
config.set_string('-lm', path.join(MODELDIR, 'en-us/en-us.lm.bin'))
config.set_string('-dict', path.join(MODELDIR, 'en-us/cmudict-en-us.dict'))
decoder = Decoder(config)
确保目录MODELDIR + 'en-us/en-us' 确实存在。
在我的例子中,目录直到MODELDIR + '/en-us'。
如果是这种情况,用正确的目录修改上面的代码:
config = Decoder.default_config()
config.set_string('-hmm', path.join(MODELDIR, 'en-us'))
config.set_string('-lm', path.join(MODELDIR, 'en-us/en-us.lm.bin'))
config.set_string('-dict', path.join(MODELDIR, 'en-us/cmudict-en-us.dict'))
decoder = Decoder(config)
希望这会有所帮助:)