我想建立一个基于音素的“对话系统”,听取语音将其转换成一串音素(无论如何都没关系),处理/存储这些并在音素级别播放它们。我的目标是使用它的节日/ 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
我认为音素文章引用旧版本的(口袋)狮身人面像,因为它引用.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'
看着我们,实际上只有.dict,.lm.bin和手机文件。和另一个包含mdef文件以及其他几个文件的en-us目录。复制它没有用。
那么,该怎么办?卸载prealpha5并安装版本4?或者我可以在某处下载正确的文件吗?
答案 0 :(得分:2)
您设置为-hmm
的{{1}}选项的参数是该文件夹的路径。在你的情况下,它是一个相对路径。如果lm路径为en-us
,那么model/en-us/en-us-phone.lm.bin
路径必须为-hmm
,而不仅仅是model/en-us/en-us
。