下面是安装PocketSphinx的完整攻略:
在安装PocketSphinx之前,我们需要安装一些依赖软件包,包括cmake、autoconf、libtool、bison、swig等。在终端(Terminal)中输入如下命令即可:
sudo apt-get install cmake autoconf libtool bison swig
首先,我们需要找到最新版PocketSphinx的源码包。在PocketSphinx的官方网站上,可以找到最新版的源码包。选择相应版本的压缩包下载并解压。
进入解压后的PocketSphinx文件夹下,依次执行以下命令:
./configure
make
sudo make install
这些命令会进行配置、编译和安装,安装完成后,我们可以使用PocketSphinx进行语音识别了。
在安装完成之后,我们需要将PocketSphinx的库文件路径加入到环境变量中。在终端中打开~/.bashrc
文件,加入以下语句:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
之后保存文件并执行source ~/.bashrc
,使配置生效。
我们可以将以下测试代码保存为test_pocketsphinx.c,并使用gcc编译并执行:
#include <pocketsphinx.h>
#include <stdio.h>
int main(int argc, char **argv) {
ps_decoder_t *ps;
cmd_ln_t *config;
FILE *fh;
char const *hyp;
char const *uttid;
int16 buf[512];
int rv;
int32 score;
config = cmd_ln_init(NULL, ps_args(), TRUE,
"-hmm", "/usr/local/share/pocketsphinx/model/en-us/en-us",
"-lm", "/usr/local/share/pocketsphinx/model/en-us/en-us.lm.bin",
"-dict", "/usr/local/share/pocketsphinx/model/en-us/cmudict-en-us.dict",
NULL);
ps = ps_init(config);
fh = fopen("test.wav", "rb");
rv = ps_decode_raw(ps, fh, NULL, -1);
hyp = ps_get_hyp(ps, &score);
printf("Recognized: %s\n", hyp);
fclose(fh);
ps_free(ps);
cmd_ln_free_r(config);
return 0;
}
执行以下命令编译并执行测试代码:
gcc test_pocketsphinx.c -o test_pocketsphinx -I/usr/local/include -L/usr/local/lib -lpocketsphinx -lsphinxbase
./test_pocketsphinx
执行完毕后,如果输出"Recognized: ..."表示安装成功。
示例说明1:上面代码中的"test.wav"是输入的测试音频文件,可以使用其他音频文件进行测试,只需将文件名换成对应的文件名即可。
示例说明2:上面代码中的"-hmm"、"-lm"、"-dict"是PocketSphinx的语言模型配置文件,可以使用其他配置文件进行测试,只需要将对应的文件名进行替换即可。