Kaldi 语音识别总结
一、编译安装
1、下载:
建议使用kaldi-trunk 版本,来进行语音识别,下载代码:
git clonehttps://github.com/kaldi-asr/kaldi.git kaldi-trunk --origin golden
若没有安装git 请先安装,代码:
sudo apt-get install git
2、各目录功能:
./tools 目录下为kaldi的依赖包。
./src 目录下为kaldi 的源代码。
./egs 目录下为 kaldi 的一些例子。
3、kaldi 的编译安装:
安装前需要确保安装一下软件:
sudo apt-get install autoconf automakegcc libtool subversion libatlas-dev libatlas-base-dev gfortran g++ zlib1g-dev
进入./tool目录,输入make 也可make -j X (X为你电脑的核心数,可加大编译速度)之后切换到./src目录下,输入./configure进行配置,然后输入make depend,完成之后输入make进行编译。
至此,kaldi 基本包安装完成。
4、测试:
进入./egs/yesno/s5 目录下运行 sudo./run.sh 这是kaldi自带的一个识别yesno的一个例子。
训练完成的结果:WER为0.00 (注:WER(Word Error Rate)是字错误率,是一个衡量语音识别系统的准确程度的度量。其计算公式是WER=(I+D+S)/N,其中I代表被插入的单词个数,D代表被删除的单词个数,S代表被替换的单词个数。也就是说把识别出来的结果中,多认的,少认的,认错的全都加起来,除以总单词数。这个数字当然是越低越好。)
5、特别注意:
(1)Kaldi 中实例众多,但由于都不自带数据集的原因,绝大部分是不能直接运行的,有的下载数据集的方式集成在 run.sh 代码中,不自带的需要自行从网上下载。(每个脚本文件中的注释语句均为这个脚本的使用说明,请注意查看)
(2)有的示例在训练的过程中会提示缺少irstlm。是因为在新版的kaldi中irstlm不是默认编译的,需要自行编译,安装目录在tools/extras下。直接运行install_irstlm.sh脚本即可。并将安装完成的irstlm 复制一份放在tools目录下。
(3)在进行训练之前:需要更改一些环境变量。通常要更改的设置如下
①将cmd.sh中所有的queue.pl更改为 run.pl。(具体修改方式均在cmd.sh的注释语句中)
②确认数据集的位置:在run.sh中找到放置数据集的默认路径,将其改为你的数据集路径
二、进行语音识别
语音识别有两种模式,一为录制好的音频文件进行识别(注:音频文件格式必须为单声道,16000Hz,16bit模式,否者程序报错)。二为通过麦克风进行的实时识别。
1、音频文件识别:
(注:建议先安装如下软件后再执行以下步骤:
sudo apt-get install pulseaudio
sudo apt-get install libportaudio-dev
sudo apt-get install libportaudio0
sudo apt-get install libportaudio2
sudo apt-get install libportaudiocpp0
sudo a