logo资料库

kaldi详细介绍资料.pdf

第1页 / 共154页
第2页 / 共154页
第3页 / 共154页
第4页 / 共154页
第5页 / 共154页
第6页 / 共154页
第7页 / 共154页
第8页 / 共154页
资料共154页,剩余部分请下载后查看
目录
0 开篇前的话
1 kaldi的介绍
1.1 kaldi简介
1.2 kaldi的特色
1.3 kaldi的声学模型
1.4 kaldi所用到的库介绍:
2 kaldi的安装和出现错误的解决方案
2.1安装前的配置
2.2安装
2.2.1 Unbunt
2.2.2 Cygwin
2.2.3服务器或者工作站
3 kaldi的使用
3.1总述
3.2 kaldi里各种数据库的介绍
3.3 yesno的例子
3.4 timit
3.5 rm
3.6 voxforge
Kaldi上使用GPU以及如何安装cuda
3.8可以使用的公开数据库
3.9如何使用自己的数据集
3.10 kaldi上第一个中文数据库
3.11对各位语音识别新手的建议
学生角度
工业角度
3.12如何使用kaldi工具包使用小数字语料库创建一个简单的ASR系统
4 kaldi主页上的翻译
4.1数据准备
4.2特征提取
4.3声学建模代码     
4.4 kaldi里解码图的构建
4.5 Karel的深度神经网络训练实现
4.6 Kaldi中的关键词搜索
Typical Kaldi KWS system
Proxy keywords代理关键词
Babel scripts
A highlevel look 概述
Prepare KWS data
Indexing and searching索引和检索
4.7 kaldi中的关键词检索(之前的版本)
4.8在线识别
4.9决策树是如何在kaldi中使用
4.10 Decision tree internals
4.11 HMM 拓扑结构和转移模型
4.12 kaldi里的聚类机制
4.13 Decoding-graph creation recipe (training time
4.14 Decoding-graph creation recipe (test time)
4.15 kaldi tutorial
How to open files in Kaldi
Extended filenames: rxfilenames and wxfilenames
The Table concept
The Kaldi script-file format
The Kaldi archive format
Specifying Table formats: wspecifiers and rspecifi
Writing an archive and a script file simultaneousl
Valid options for wspecifiers
Valid options for rspecifiers
Holders as helpers to Table classes
How the binary/text mode relates to the file open
Avoiding memory bloat when reading archives in ran
io_sec_mapped
5 附录
5.1 kaldi上搭建TIMIT基线系统
5.2 kaldi里的voxforge
5.3
5.4 kaldi学习联盟群第一次讨论记录
6 其他资料和资源
7 版本更新日志
kaldi 资料归纳和总结 wbglearn(吴本谷) version 0.7 2016 年 9 月 5 日
目录 目录......................................................................................................................................2 0 开篇前的话......................................................................................................................4 1 kaldi 的介绍......................................................................................................................5 1.1 kaldi 简介...............................................................................................................5 1.2 kaldi 的特色...........................................................................................................5 1.3 kaldi 的声学模型...................................................................................................5 1.4 kaldi 所用到的库介绍:..........................................................................................5 2 kaldi 的安装和出现错误的解决方案..............................................................................6 2.1 安装前的配置........................................................................................................6 2.2 安装........................................................................................................................6 2.2.1 Unbunt.........................................................................................................6 2.2.2 Cygwin........................................................................................................ 6 2.2.3 服务器或者工作站.....................................................................................7 3 kaldi 的使用......................................................................................................................8 3.1 总述........................................................................................................................8 3.2 kaldi 里各种数据库的介绍.................................................................................15 3.3 yesno 的例子....................................................................................................... 16 3.4 timit...................................................................................................................... 16 3.5 rm......................................................................................................................... 16 3.6 voxforge............................................................................................................... 17 3.7 kaldi 上使用 GPU 以及如何安装 cuda.............................................................. 17 3.8 可以使用的公开数据库......................................................................................19 3.9 如何使用自己的数据集......................................................................................19 3.10 kaldi 上第一个中文数据库...............................................................................20 3.11 对各位语音识别新手的建议............................................................................20 3.12 如何使用 kaldi 工具包使用小数字语料库创建一个简单的 ASR 系统........23 4 kaldi 主页上的翻译........................................................................................................34 4.1 数据准备..............................................................................................................35 4.2 特征提取..............................................................................................................51 4.3 声学建模代码......................................................................................................53 4.4 kaldi 里解码图的构建.........................................................................................55 4.5 Karel 的深度神经网络训练实现........................................................................59 4.6 Kaldi 中的关键词搜索........................................................................................63 4.8 在线识别..............................................................................................................75 4.9 决策树是如何在 kaldi 中使用............................................................................79 4.10 Decision tree internals........................................................................................88 4.11 HMM 拓扑结构和转移模型............................................................................92 4.12 kaldi 里的聚类机制.........................................................................................100 4.13 Decoding-graph creation recipe (training time)...............................................102 4.14 Decoding-graph creation recipe (test time)......................................................104 4.15 kaldi tutorial..................................................................................................... 112 5 附录..............................................................................................................................136 5.1 kaldi 上搭建 TIMIT 基线系统..........................................................................136
5.2 kaldi 里的 voxforge........................................................................................... 139 5.3 在 vs 2013 中编译 kaldi.................................................................................... 144 5.4 kaldi 学习联盟群第一次讨论记录...................................................................145 6 其他资料和资源..........................................................................................................153 7 版本更新日志..............................................................................................................154
0 开篇前的话 首先,先打 2 个广告。希望大家看到文档的同时,可以积极参与讨论。 第一个广告:kaldi 学习 语音深度学习群,群号是:367623211。欢迎大家的 加入。 第二个广告:语音识别论坛,论坛地址: http://www.threedweb.cn/forum-76-1.html 论坛欢迎大家的发帖和跟帖,欢迎大家 积极讨论。 其次,关注我博客(http://blog.csdn.net/wbgxx333)的人应该知道本文档是建 立在群里大家的共同努力完成的,特别是对 kaldi 主页翻译的部分,感谢每个参 与翻译的人,感谢你们的辛勤劳动和付出,希望可以对学习 kaldi 的人有用。 最后,希望大家可以积极参与讨论,让群和论坛全部活跃起来,也可以使语 音识别逐渐成为大家的生活的一部分。 备注:此文档不定期更新,如果您发现有任何问题和疑问,欢迎随时在群里 跟我联系或者通过邮箱(wbglearn@gmail.com 或者 354475072@qq.com)与我联 系,我们将逐渐完善该文档。 2014.8.16 最近都在对 kaldi 的脚本和源码有兴趣,欢迎大家积极交流。大家的看的时候 希望做下笔记,然后写下你自己的理解,希望你可以发给我,我将放在我们这里, 供大家学习,希望越多的人加入进来,为未来的人铺好路。此外,大家在学习 kaldi 的过程一定要注重对代码和脚本的学习,学的深一点,不要仅仅会运行。 祝大家学习愉快! 2016.9.8 Kaldi 新手群:279295537。欢迎各位新手加入。Kaldi 学习群现在人员满了, 需要回答问题才能入群。
1 kaldi 的介绍 1.1 kaldi 简介 kaldi是一个开源的语音识别工具箱,是基于c++编写的,可以在windows和unix 平台上编译。 1.2 kaldi 的特色 与文本无关的LVCSR系统; 基于FST的训练和解码; 最大似然训练; 各种各样的线性和映射变换; 有VTLN,SAT的脚本; 1.3 kaldi 的声学模型 支持标准的机器学习训练模型: 线性变换如:LDA HLDA,MLLT/STC; 说话人自适应:fMLLR,MLLR; 支持GMM,SGMMs,DNN 1.4 kaldi 所用到的库介绍: 1.OpenFst:Weighted Finite State Transducer library 2.ATLAS/CLAPACK:标准的线性代数库 3.sph2pipe:由 sph 文件转成其他音频文件 4.srilm:语言模型的工具箱 5.sctk:score benchmark(评价 ASR 基准) (加权有限状态转换器)
2 kaldi 的安装和出现错误的解决方案 2.1 安装前的配置 安装前你需要对你的 linux 进行配置,你需要安装的软件有: apt-get subversion automake autoconf libtool g++ zlib libatal wget 具体安装方法如下: (1)sudo apt-get install libtool (2)sudo apt-get install autoconf (3)sudo apt-get install wget (4)sudo apt-get install perl (5)sudo apt-get install subversion (6)sudo apt-get install build-essential (7)sudo apt-get install gfortran (8)sudo apt-get install libatlas-dev (9)sudo apt-get install libatlas-base-dev (10)sudo apt-get install zlib1g-dev (11)如果报function gensub never defined,则需要安装gawk (中间有个数字1) 安装办法:apt-get install gawk 2.2 安装 2.2.1 Unbunt 1. git clone clone https://github.com/kaldi-asr/kaldi.git 2.先回到tool目录下,在命令行输入:make。 Note that "make" takes a long time; you can speed it up by running make in parallel, for instance "make -j 4" 4是机器的cpu核心数,说明比较好。 3.make 完后,在src目录下: ./configure make depend make 2.2.2 Cygwin
32 位的系统稳定,不会出现错误。据说 64 位的会出现 bug。 kaldi在cygwin里安装出现minsize.o错误的解决办法: 在openfst 里面执行 configure 然后make 然后到tools 里面make . --enable-static --disable-shared 备注:这部分有待完善,将在后面的版本中更新。 2.2.3 服务器或者工作站 实测CentOS7.0, 工作站安装。 I 安装前准备 安装前你需要对你的centos进行配置,步骤如下: # yum check-update; 检查更新 # yum install -y; 安装找到的更新,确保已安装的软件是最新版的 依赖软件的安装(如果已经安装可以跳过)。 (1)sudo yum install libtool (2)sudoyum install autoconf (3)sudo yum install wget (4)sudo yum install perl (5)sudo yum install subversion (6)sudo yum install zlib (7)sudo yum groupinstall "Development Tools" II 安装 (1)静态库安装方法(默认): # cd tools; make # ./install_atlas.sh(这里不行就需要安装 atlas-devel.i686 和 atlas-devel.x86_64) # cd ../src; ./configure; %此步骤中只能用configure, 加入--shared会报错: # make depend; make (2)动态库安装方法: # cd tools; make 将 install_atlas.sh 中的 ../configure $opt --prefix=`pwd`/install || exit 1; 改为: ../configure $opt --prefix=`pwd`/install --shared|| exit 1; # ./install_atlas.sh # cd ../src; ./configure --shared 这里如果报错,请将--shared去掉
# make depend; make (待写) 备注:由于各个平台和你自己电脑配置的问题,如果大家遇到什么问题,欢 迎在群里交流。 3 kaldi 的使用 3.1 总述 在跑 kaldi 里的样例时,你需要注意三个脚本:cmd.sh path.sh run.sh。下 面分别来说, Cmd.sh 脚本为: # "queue.pl" uses qsub. The options to it are # options to qsub. # change this to a queue you have access to. # Otherwise, use "run.pl", which will run jobs locally # (make sure your --num-jobs options are no more than # the number of cpus on your machine. If you have GridEngine installed, #a) JHU cluster options #export train_cmd="queue.pl -l arch=*64" #export decode_cmd="queue.pl -l arch=*64,mem_free=2G,ram_free=2G" #export mkgraph_cmd="queue.pl -l arch=*64,ram_free=4G,mem_free=4G" #export cuda_cmd=run.pl #b) BUT cluster options #export train_cmd="queue.pl -q all.q@@blade -l ram_free=1200M,mem_free=1200M" #export decode_cmd="queue.pl -q all.q@@blade -l ram_free=1700M,mem_free=1700M" #export decodebig_cmd="queue.pl -q all.q@@blade -l ram_free=4G,mem_free=4G" #export cuda_cmd="queue.pl -q long.q@@pco203 -l gpu=1" #export cuda_cmd="queue.pl -q long.q@pcspeech-gpu" #export mkgraph_cmd="queue.pl -q all.q@@servers -l ram_free=4G,mem_free=4G" #c) run it locally... export train_cmd=run.pl
分享到:
收藏