深度学习+语音,基础普及篇笔记(二)

接上篇,这里主要讲基于深度学习的语音识别框架。


(一)Kaldi

目前在Github上这个项目依旧非常活跃,可以在 https://github.com/kaldi-asr/kaldi 下载代码,以及在http://kaldi-asr.org/ 查看它的文档。

下载kaldi源码,编译,这一步应该没什么问题,过程如下:

$ git clone https://github.com/kaldi-asr/kaldi
$ cd kaldi/tools

$ sudo apt-get install automake autoconf libtool subversion
$ sudo apt-get install libatlas3-base
$ sudo ln -s -f bash /bin/sh

$ extras/check_dependencies.sh
$ make -j 16
$ cd ../src
$ ./configure
$ make depend
$ make -j 16

然后,下载音频数据进行训练和测试,上文有讲,主要中文音频数据集有如下几个:

1、gale_mandarin: 中文新闻广播数据集(LDC2013S08, LDC2013S08)
2、hkust: 中文电话数据集(LDC2005S15, LDC2005T32)
3、thchs30: 清华大学30小时的数据集

前两个暂时还没找到免费的路径,所以开始下载第三个,在http://www.openslr.org/18/下载。


1、下载数据

有3个文件压缩包:data_thchs30.tgz、resource.tgz、test-noise.tgz,下载后,解压。如下:


哦,路径是在“kaldi/egs/thchs30/s5”下面新建一个文件夹thchs30-openslr,然后放在里面。


2、运行

这些工作还是比较基础的,

修改kaldi/egs/thchs30/s5下面的cmd.sh脚本

export train_cmd=run.pl
export decode_cmd="run.pl --mem 4G"
export mkgraph_cmd="run.pl --mem 8G"
export cuda_cmd="run.pl --gpu 1"

修改kaldi/egs/thchs30/s5下面的run.sh脚本(这里/home/123/是你的kaldi目录)

#thchs=/nfs/public/materials/data/thchs30-openslr
thchs=/home/123/kaldi/egs/thchs30/s5/thchs30-openslr


在kaldi/egs/thchs30/s5下面执行run.sh脚本

./run.sh

3、结果(等吧)


(二)Tensorflow

git clone https://github.com/tensorflow/tensorflow.git
然后执行

python tensorflow/examples/speech_commands/train.py

就可以,等结果出来吧,我的结果如下:

INFO:tensorflow:Confusion Matrix:
 [[258   0   0   0   0   0   0   0   0   0   0   0]
 [  3 196   7   1   6   2   3  10  14   3   3  10]
 [  3   2 245   5   1   1   3   0   0   0   0   1]
 [  0   8   2 233   4   3   1   0   0   0   2  17]
 [  3   4   0   0 236   0   2   0   0   6   6   3]
 [  0   4   3  15   0 233   0   0   0   0   3   6]
 [  1   5  11   1   0   0 225   4   0   0   0   0]
 [  1   7   0   0   2   1   3 242   0   0   0   0]
 [  4   5   0   0   2   0   0   0 241   4   0   1]
 [  0   2   0   0  19   0   1   3   3 226   1   1]
 [  2   2   0   0   8   1   1   1   0   2 229   0]
 [  7   5   0  20   1   7   1   5   3   1   0 210]]
INFO:tensorflow:Step 18000: Validation accuracy = 89.7% (N=3093)
INFO:tensorflow:Saving to "/tmp/speech_commands_train/conv.ckpt-18000"
INFO:tensorflow:set_size=3081
INFO:tensorflow:Confusion Matrix:
 [[257   0   0   0   0   0   0   0   0   0   0   0]
 [  0 189   3   3   6   8   4  13   7   3   8  13]
 [  1   7 233   2   1   0   9   2   0   0   1   0]
 [  1   4   0 217   2   8   4   3   1   0   1  11]
 [  0   2   0   0 260   0   2   0   0   2   3   3]
 [  2   2   0  17   0 218   0   1   2   0   2   9]
 [  0   6  11   0   4   0 240   4   0   1   1   0]
 [  1   8   0   0   3   0   0 243   0   2   0   2]
 [  0   4   0   0   2   2   1   2 234   1   0   0]
 [  1   5   0   0  12   1   1   4   9 222   6   1]
 [  0   0   0   0   8   1   1   1   0   3 234   1]
 [  0   9   0  28   5   8   4   4   0   1   3 189]]
INFO:tensorflow:Final test accuracy = 88.8% (N=3081)

默认模型在/tmp/speech_commands_train下面:



tensorboard查看结果

tensorboard --logdir /tmp/retrain_logs


是不是也很简单,先这样,后续再写。


(三)附上一些名词解释
ASR(自动语音识别)
WER(文字差错率(Word Error Rate))
CMVN:倒谱均值和方差归一化
FFT:快速傅里叶变换
GMM:高斯混合模型
MFCC:梅尔倒谱系数
PCM:脉冲编码调制
PDF:概率分布函数
PLP:感知线性预测系数
SGMM:子空间高斯混合模型
UBM:通用背景模型
VTLN:特征级声道长度归一化




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值