基于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 gst­kaldi­nnet2­online 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

最后会输出类似的结果:


识别结果
上一篇下一篇

猜你喜欢

热点阅读