前一篇博客说了一下怎么在 Windows 平台使用 pocketsphinx 做中文语音识别,今天看看在 Linux 上怎办实现。
由于 pocketsphinx 没有提供 Linux 的二进制包,因此我们需要自己根据源码编译。
下载
sudo apt -y install swig
sudo apt-get install python2.7-dev
从下面地址下载源代码
https://sourceforge.net/projects/cmusphinx/files/
这里,我使用的是 sphinxbase-5prealpha.tar.gz 和 pocketsphinx-5prealpha.tar.gz。
编译
编译 sphinxbase
tar zxvf sphinxbase-5prealpha.tar.gz
mv sphinxbase-5prealpha sphinxbase
cd sphinxbase
./configure
make
sudo make install
1
2
3
4
5
6
编译 pocketsphinx
tar zxvf pocketsphinx-5prealpha.tar.gz
cd pocketsphinx-5prealpha
./configure
make clean all
sudo make install
1
2
3
4
5
下载模型文件
模型文件下载地址
https://sourceforge.net/projects/cmusphinx/files/Acoustic and Language Models/
其中 Mandarin 为中文普通话,下载之后我们可以看到
声学模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2 (需要解压)
语言模型:zh_broadcastnews_64000_utf8.DMP
拼音字典:zh_broadcastnews_utf8.dic
测试中文语音识别
首先准备一个中文音频文件(要求:.wav 格式,采样频率 16000HZ,单声道)
将下载的中文模型文件和解压后的 pocketsphinx 目录放到同一个目录下,这里假定就叫 “test”。
进入“test”目录,然后运行下面的命令
pocketsphinx\bin\Release\x64\pocketsphinx_continuous.exe -hmm zh_broadcastnews_ptm256_8000 -lm zh_broadcastnews_64000_utf8.DMP -dict zh_broadcastnews_utf8.dic -infile myfile-16000.wav > myfile.txt
1
运行完毕后,查看 myfile.txt 文件,内容即是程序识别出来的中文。
————————————————
版权声明:本文为CSDN博主「kongxx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kongxx/article/details/85595517
下载安装 pocketsphinx
在 Windows 上,可以通过下面地址直接下载编译好的二进制可执行包。
CMU Sphinx Downloads – CMUSphinx Open Source Speech Recognition
注:下载其中 pocketsphinx 的 5prealpha 版本。
下载后,解压之。
下载模型文件
模型文件下载地址
CMU Sphinx - Browse /Acoustic and Language Models at SourceForge.net
其中 Mandarin 为中文普通话,下载下来之后我们可以看到
- 声学模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2 (需要解压)
- 语言模型:zh_broadcastnews_64000_utf8.DMP
- 拼音字典:zh_broadcastnews_utf8.dic
测试中文语音识别
- 首先准备一个中文音频文件(要求:.wav 格式,采样频率 16000HZ,单声道)
- 将下载的中文模型文件和解压后的 pocketsphinx 目录放到同一个目录下,这里假定就叫“中文语音识别”。
- 进入“中文语音识别”目录,然后运行下面的命令
pocketsphinx\bin\Release\x64\pocketsphinx_continuous.exe -hmm zh_broadcastnews_ptm256_8000 -lm zh_broadcastnews_64000_utf8.DMP -dict zh_broadcastnews_utf8.dic -infile myfile-16000.wav > myfile.txt
- 运行完毕后,查看 myfile.txt 文件,内容即是程序识别出来的中文。
作者:kongxx
链接:https://www.jianshu.com/p/f5d0b6bcea68
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
背景:
win8.1, python3.9.7
现象:
1. 需要安装PocketSphinx模块
2. 用 pip install PocketSphinx时,总是提示需要安装Visual C++ 14.0或以上
3.microsoft visual studio 官网上下载vs 2015安装后,依然提示需要安装Visual C++ 14.0或以上
解决办法:
1. 在这个网站上下载 3.9版本的非正式版
pocketsphinx‑0.1.15‑cp39‑cp39‑win_amd64.whl
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pocketsphinx
2. 切换到下载文件目录,进入cmd模式,pip install pocketsphinx-0.1.15-cp39-cp39-win_amd64.whl
3. 进入python后,导入pocketsphinx,没有任何错误提示;
————————————————
版权声明:本文为CSDN博主「work-harder」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/seeker3/article/details/123288501