基于Kaldi+GStreamer搭建线上的实时语音识别器
2019-08-12 本文已影响0人
习惯了千姿百态
安装 gst-kaldi-nnet2-online
1.安装并编译kaldi
2.安装gstreamer-1.0
sudo apt-get install gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-plugins-ugly gstreamer1.0-tools libgstreamer1.0-dev
3.安装libjansson-dev
sudo apt-get install libjansson-dev
4.安装并编译gst-kaldi-nnet2-online
git clone https://github.com/alumae/gst-kaldi-nnet2-online.git
cd src
KALDI_ROOT=/path/of/kaldi make depend
KALDI_ROOT=/path/of/kaldi make
成功的话可以在src目录中看到libgstkaldinnet2onlinedecoder.so
这个文件
vim ~/.bashrc中设置export GST_PLUGIN_PATH=your gstkaldinnet2online installation directory/src
输入
GST_PLUGIN_PATH=. gst-inspect-1.0 kaldinnet2onlinedecoder
可以看到以下信息:
5.测试
#下载训练好的nnet2模型
cd demo
chmod +x prepare-models.sh
./prepare-models.sh
下载完成之后。运行./transcribe-audio.sh dr_strangelove.mp3
可以看到一句一句输出
安装kaldi-gstreamer-server
1.安装依赖
sudo pip install tornado
sudo pip install ws4py==0.3.2
sudo pip install pyyaml
2.在kaldi中编译online extensions
cd kaldi/src
make ext
3.基于onlinegmmdecodefaster的worker
这是个部署通过GMM-HMM训练的模型,注意,这里面提取的特征只能是mfcc,不能加上pitch
cd tools
./install_portaudio.sh
vim ~/.bashrc
在最后面设置LD_LIBRARY_PATH=path/kaldi/tools/portaudio:$LD_LIBRARY_PATH
sudo ldconfig
在kaldi中
cd src/gst-plugin/
KALDI_ROOT=/path/of/kaldi make depend
KALDI_ROOT=/path/of/kaldi make
然后会在src/gst-plugin中看到libgstonlinegmmdecodefaster.so
export GST_PLUGIN_PATH=pathkaldi/src/gst-plugin (可以把这个目录写入~/.bashrc中)
gst-inspect-1.0 onlinegmmdecodefaster
然后会看到一些输出信息即表示安装成功
4.基于kaldinnet2onlinedecoder的worker
kaldi-gstreamer-server目录结构下载测试的模型:
cd test/models
./test/models/download-tedlium-nnet2.sh
cd ../../
开启server:
开启server开启worker:
开启worker
开启client:
开启client
最后会输出类似的结果:
识别结果