1

我想构建一个基于音素的小“对话系统”,它可以收听语音,将其转换为一串音素(无论多么错误都无关紧要),处理/存储这些并在音素级别播放它们。我的目标是使用节日/mbrola 或 espeak。都在树莓派上运行(该项目称为 babble pi)。

我在这里遵循了非常好的说明: https ://wolfpaulus.com/jounal/embedded/raspberrypi2-sr/

而且我还通过以下命令得到了很好的认可:

pocketsphinx_continuous -hmm /usr/local/share/pocketsphinx/model/en-us/en-us -lm 3199.lm -dict 3199.dic -samprate 16000/8000/48000 -inmic yes

现在我已经在 sourceforge 网站上阅读了这篇关于音素识别的文章:http: //cmusphinx.sourceforge.net/wiki/phonemerecognition

并且还意识到显然 prealpha5 具有新的二进制格式。关于音素识别器的文章指出,基本上英语音素识别器是默认安装包的一部分,因此邀请通过以下方式对其进行测试:

pocketsphinx_continuous -infile test/data/goforward.raw -hmm en-us -allphone model/en-us/en-us-phone.lm.dmp -backtrace yes -beam 1e-20 -pbeam 1e-20 -lw 2.0

我假设音素文章指的是旧版本的 (pocket-)sphinx,因为它指的是 .dmp 而不是 .bin 文件扩展名,所以我尝试了:

pocketsphinx_continuous -infile test/data/goforward.raw -hmm en-us -allphone model/en-us/en-us-phone.lm.bin -backtrace yes -beam 1e-20 -pbeam 1e-20 -lw 2.0

但我收到以下错误:

ERROR: "acmod.c", line 83: Folder 'en-us' does not contain acoustic model definition 'mdef'

查看 en-us,实际上只有一个 .dict、一个 .lm.bin 和电话文件。和另一个包含 mdef 文件以及其他几个文件的 en-us 目录。复制它没有帮助。

那么该怎么办?卸载 prealpha5 并安装版本 4?或者我可以在某处下载正确的文件吗?

4

1 回答 1

2

-hmm您设置的选项的参数en-us是文件夹的路径。在您的情况下,它是相对路径。如果 lm path 是model/en-us/en-us-phone.lm.bin,那么-hmmpath 必须是model/en-us/en-us,而不是简单en-us的。

于 2015-08-05T21:47:14.803 回答