语音识别工具箱之kaldi介绍

原创 2013年12月04日 19:38:32

      最近有几个人在群里问我kaldi的问题,不巧的是最近我在忙我的开题。我对kaldi的了解也就是语音识别+深度学习。如果不是kaldi有dnn模型,或许我更愿意用htk吧。其实,基本的都差不多吧。kaldi可以说是更加丰富吧。本来准备开题开语音识别,但是由于导师的反对,不得不做现在的歌曲人声分离。进入到这个新的领域,我不得不怀疑自己的学习能力,现在的我变的不淡定了。很久没有写博文,也许很忙,也许自己懒……等开题结束,我应该好好规划吧。此外,学长要和我在kaldi上用深度学习模块做下汉语的语音识别。等做好了,我一定会公开给大家。

      现在先说说kaldi的安装吧。我一般都会在虚拟机上弄。大家在实现前的平台可以是物理机或者虚拟机。然后大家安装网上的教程安装好linux。我就从安装好平台开始把。前一段时间,我根据http://kaldi.sourceforge.net/install.html中下载的时候有install.sh文件。安装时直接就./install.sh,然后make就可以了。但是今天我重新下载时就直接make就可以了。具体步骤:

                         1. svn co svn://svn.code.sf.net/p/kaldi/code/trunk kaldi-trunk

                         2.到tools文件夹下,直接make就可以了。

   你安装的时候最好看下tools里的install文档,里面说的很清楚。如果不出意外,基本就安装好了。如果你想实验下自己到底安装成功没,那就来个例子吧。

   下面的是例子。kaldi里的例子很多,在egs目录下。因为数据库的原因,一般可以做些简单的实验把。如果你有大量的数据库,如果愿意跟我分享,那我就非常感谢你了。里面的wsj数据库是LDC的。一般大家可以做timit和yesno实验。下面我演示下yesno实验,希望你可以学到更多吧。

    步骤和结果如下:

1. 把waves_yesno.zip.gz复制到yesno/s3目录下,然后使用
sudo yumzip  waves_yesno.zip.gz
tar –xvf  waves_yesno.tar
2.运行./run.sh。
 测试呈现在linux上的结果:
book@book-desktop:~/kaldi-trunk/egs/yesno/s3$ sudo ./run.sh
[sudo] password for book:
Data preparation succeeded
Dictionary preparation succeeded
Preparing train and test data
Preparing word lists etc.
fstaddselfloops 'echo 4 |' 'echo 4 |'
Preparing language models for test
arpa2fst - 
\data\
Processing 1-grams
Connected 0 states without outgoing arcs.
fstisstochastic data/lang_test_tg/G.fst
1.20397 0
Succeeded in formatting data.
Succeeded creating MFCC features for train_yesno
Succeeded creating MFCC features for test_yesno
Computing cepstral mean and variance statistics
Initializing monophone system.
Compiling training graphs
Aligning data equally (pass 0)
Pass 1
Aligning data
Pass 2
Aligning data
Pass 3
Aligning data
Pass 4
Aligning data
Pass 5
Aligning data
Pass 6
Aligning data
Pass 7
Aligning data
Pass 8
Aligning data
Pass 9
Aligning data
Pass 10
Aligning data
Pass 11
Pass 12
Aligning data
Pass 13
Pass 14
Aligning data
Pass 15
Pass 16
Aligning data
Pass 17
Pass 18
Aligning data
Pass 19
Pass 20
Aligning data
Pass 21
Pass 22
Pass 23
Aligning data
Pass 24
Pass 25
Pass 26
Aligning data
Pass 27
Pass 28
Pass 29
Aligning data
Pass 30
Pass 31
Pass 32
Aligning data
Pass 33
Pass 34
Pass 35
Aligning data
Pass 36
Pass 37
Pass 38
Aligning data
Pass 39
1 warnings in exp/mono0a/log/update.3.log
1 warnings in exp/mono0a/log/update.7.log
Done
fstminimizeencoded 
fstdeterminizestar --use-log=true
fsttablecompose data/lang_test_tg/L_disambig.fst data/lang_test_tg/G.fst
fstisstochastic data/lang_test_tg/tmp/LG.fst
1.20412 -2.34608e-05
warning: LG not stochastic.
fstcomposecontext --context-size=1 --central-position=0 --read-disambig-syms=data/lang_test_tg/tmp/disambig_phones.list --write-disambig-syms=data/lang_test_tg/tmp/disambig_ilabels_1_0.list data/lang_test_tg/tmp/ilabels_1_0
fstisstochastic data/lang_test_tg/tmp/CLG_1_0.fst
1.20412 -2.34608e-05
warning: CLG not stochastic.
make-h-transducer --disambig-syms-out=exp/mono0a/graph_tgpr/disambig_tid.list --transition-scale=1.0 data/lang_test_tg/tmp/ilabels_1_0 exp/mono0a/tree exp/mono0a/final.mdl
fstminimizeencoded 
fsttablecompose exp/mono0a/graph_tgpr/Ha.fst data/lang_test_tg/tmp/CLG_1_0.fst
fstdeterminizestar --use-log=true
fstrmsymbols exp/mono0a/graph_tgpr/disambig_tid.list
fstrmepslocal 
fstisstochastic exp/mono0a/graph_tgpr/HCLGa.fst
1.20412 -2.34608e-05
HCLGa is not stochastic
add-self-loops --self-loop-scale=0.1 --reorder=true exp/mono0a/final.mdl
Decoding with num-jobs = 1

 

简单吧。其实很简单。那个waves_yesno.zip.gz数据可以在http://sourceforge.net/projects/kaldi/files/上下载。里面还有些其他的数据。此外,有时不需要下载,run.sh里就帮你做好了。所以我上面的步骤也许就不一样。你在实验前可以看下里面的说明文档。

   当然,学习kaldi最重要的资料就是http://kaldi.sourceforge.net/index.html。全是英文,而且很多。也许由于没有htk有名或者是最新的开源程序的原因,他的中文资料很少,可以说基本没有吧。希望有志之士能够翻译的话记得跟我分享。呵呵……

   还有,如果大家做研究的话timit就可以吧,你也可以去voxforge上去收集更多的资料。

   写这个博文,希望可以帮助大家解决一些问题。如果大家遇到什么问题,可以找我。希望在我们的共同学习下能够学到更多的东西。谢谢你的阅读……

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

kaldi 在线中文识别系统搭建

原始数据下载http://www.openslr.org/18/ 总共三个tgz文件: data_thchs30.tgz [6.4G] ( speech data and transcri...

基于kaldi的在线中文识别,online的操作介绍

最近研究了下kaldi,也看了好多文章,感觉这方面的有用文章太少! 大多停留在编译和深层理论方面。对于我们这种没有基础的人,除了看完编译,就只能很茫然的看哪些高高在上的理论了。 本文章,适合那些...
  • AMDS123
  • AMDS123
  • 2017年04月21日 13:17
  • 7537

kaldi上第一个免费的中文语音识别例子

今天在清华大学cslt实验室王东老师的分享下,kaldi终于有了免费的中文语音识别的例子,网址为:https://github.com/kaldi-asr/kaldi/tree/master/egs/...

几个常见的语音交互平台的简介和比较

1.概述 最近做了两个与语音识别相关的项目,两个项目的主要任务虽然都是语音识别,或者更确切的说是关键字识别,但开发的平台不同, 一个是windows下的,另一个是android平台的,于是也就选用了...
  • lchunli
  • lchunli
  • 2014年01月19日 16:04
  • 27777

基于kaldi的在线中文识别,online的操作介绍

最近研究了下kaldi,也看了好多文章,感觉这方面的有用文章太少! 大多停留在编译和深层理论方面。对于我们这种没有基础的人,除了看完编译,就只能很茫然的看哪些高高在上的理论了。 本文章,适合那些...
  • cdj0311
  • cdj0311
  • 2017年05月05日 13:41
  • 1811

语音识别系统kaldi----实例说明

最近一直在折腾kaldi,在这个庞大的系统面前,自己是那么的微小。由于数据库的原因,我只能运行kaldi所给例子的一部分。下面就来说说最近的进展吧。      第一个例子就是yesno这个例子。由于提...

Kaldi 中文语音识别需要考虑的问题

转自:点击打开链接 原文作者:英语流利说团队 李飞腾 Kaldi语音识别 1.声学建模单元的选择 1.1对声学建模单元加入位置信息 2.输入特征3.区分性技术4...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

kaldi

第一阶段:./cmd.sh . ./path.sh(设置执行路径以及命令脚本名字)ps:decode 解码 train 训练第二阶段:data preparation(数据准备阶段)执行 l...

Kaldi学习笔记(一)

运行kaldi的准备工作,使用的数据集为thchs30。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:语音识别工具箱之kaldi介绍
举报原因:
原因补充:

(最多只允许输入30个字)