
kaldi
xmdxcsj
毕业于中科院声学所,在BAT从事语音技术研究多年。微信公众号:谈谈语音技术,关注后跟踪最新博文。
展开
-
kaldi-matrix
kaldi的矩阵运算是对BLAS和BAPACK进行的封装,封装后的类列表(可以查看每一个类型的详细定义)参考:http://kaldi.sourceforge.net/group__matrix__group.html一、分类(一)、matrix和vectorMatrix矩阵,Vector向量,父类分别是MatrixBase和VectorBase1.初始化Vector v(翻译 2016-03-02 21:05:33 · 2852 阅读 · 0 评论 -
kaldi 1d-CNN网络结构
生成nnet.proto utils/nnet/make_cnn_proto.py假设输入26维的fbank,feat_raw_dim=26,splice_num=8,delta_order=0: num_filters1=128 num_filters2=256 pool_size=3 pool_step=3 pool_type=MAX num_splice=8 patch_s原创 2017-03-15 21:23:40 · 4880 阅读 · 0 评论 -
kaldi feature extraction
支持提取mfcc/plp特征,和HTK特征的主要差别在于默认参数值的设定。使用选项-htk-compat=true以及合适的参数,可以得到htk特征。全局CMVNcompute-cmvn-stats假设帧数为i,特征维度为j,cmvn计算得到两个矩阵: (A1,A2,...,Aj,Aj+1)(A_1, A_2,...,A_j,A_{j+1}) (B1,B2,...,Bj)(B_1, B_2,..原创 2017-02-25 17:37:53 · 3871 阅读 · 2 评论 -
kaldi data preparation
主要两个文件夹data/train和data/langtrain需要手动创建三个文件 - utt2spk - text - wav.scp以上文件需要提前按照C++方式排序export LC_ALL=C然后可以调用steps下的脚本抽特征steps/make_mfcc.sh --nj 20 --cmd "$train_cmd" data/train exp/make_mfcc/train $m原创 2017-02-25 17:35:09 · 860 阅读 · 0 评论 -
kaldi NFS/GlusterFS
NFS详细介绍参考《鸟哥的LINUX私房菜-服务器架设篇》第十三章 主要流程server端配置安装两个软件:rpcbind和nfs-utils配置/etc/exports<DIR> *(rw,no_root_squash)启动nfs/etc/init.d/rpcbind start/etc/init.d/nfs start/etc/init.d/nfslock startchkco原创 2017-02-25 17:19:23 · 1122 阅读 · 0 评论 -
kaldi GridEngine
概况queue.ql: gridengine 多机运行 run.ql: 本地多进程,忽略除了JOB以外的其他参数queue.pl test.log echo foo \| awk 's/f/F/';基本格式queue.pl <options> <log-file> <command>其中command对于”|>;”这些shell会解析的符号需要做转义 queue.pl传入参数到qsub参数的对原创 2017-02-25 17:13:24 · 4651 阅读 · 1 评论 -
kaldi mmi/bmmi/mpe/smbr训练及源码
训练流程make_denlats.sh 产生1gram语言模型对应的解码网络nnet-latgen-faster产生denominator lattice,作为smbr训练的分母,充当竞争路径的作用align.sh 根据标注的reference作为G构建WFST解码获得最优路径,产生每一帧对齐的最好结果numerator alignment,作为smbr训练的分子,充当标准路径的作用g原创 2017-01-23 19:53:24 · 4208 阅读 · 3 评论 -
kaldi lattice
概况两种lattice结构Lattice结构FST的形式,weight包括两部分(graph cost和acoustic cost),输入是transition-ids,输出是words。 其中weight的graph cost包含LM+transition+pronunciation三部分。CompactLattice结构和lattice相似,区别在于它是接收机,输入和输出一样(都是words)原创 2017-01-23 19:52:26 · 8053 阅读 · 1 评论 -
kaldi 神经网络
overview type author CPU/GPU feature nnet1 Karel GPU单卡训练 使用pre-training,使用early stopping nnet2 Dan 支持多GPU训练,以及多CPU多线程 使用固定epoch个数,最后几个epoch参数平均 nnet3 Dan 是nnet2的扩展 支持更多的网原创 2017-01-23 19:50:58 · 5469 阅读 · 0 评论 -
kaldi I/O机制
扩展文件名使用扩展的文件名来表示输入输出: - rxfilename表示读取的数据流,比如file/stream/standard input - wxfilename表示输出的数据流1.rxfilename 类型包括 - “-” or “” 表示标准输入 - “command |” 命令通过管道作为输入,解析的时候去掉”|”,将剩下的command通过popen()交由shell处理原创 2016-11-13 20:44:08 · 1615 阅读 · 0 评论 -
kaldi使用的相关问题和解决
一、编译相关1.libcublas.so.7.5: cannot open shared object file: No such file or directory原因:使用的kaldi是从GPU机器上面复制来解决:需要将kaldi在CPU机器上面重新进行编译2.GPU编译过的kaldi在CPU上面编译报错路径不对cd toolsrm -rf openfest原创 2016-03-05 11:22:06 · 2190 阅读 · 0 评论 -
kaldi-cuda matrix
如果想要将矩阵运算放到GPU上面跑的话,需要使用CuMatrix和CuVector,以替换CPU版的Matrix和Vector类。因为CuMatrix类使用的是GPU的存储空间,所以不能将CuMatrix和Matrix混合使用。kaldi也会判断某个运算需要使用GPU或者CPU,需要人为编程指定。1.kaldi编译默认的,如果系统路径中包含nvcc,那么编译选项HAVE_CUDA=1,Ma翻译 2016-03-05 11:11:09 · 4894 阅读 · 0 评论 -
kaldi-external matrix
一、计算库的介绍:1.BLAS(basic linear algebra subroutines)参考https://zh.wikipedia.org/wiki/BLAS基本的矩阵向量基本运算的API标准,具体实现有:“reference BLAS”、“ATLAS”2.LAPACK(linear algebra package)参考https://zh.wikipedia.or翻译 2016-03-05 11:09:53 · 1093 阅读 · 0 评论 -
kaldi-关键词识别kws
将kaldi中的kws部分的脚本跑通,并且把所有的二进制命令使用一个脚本串联起来。#########################################files dir#######################################dataset_id=newskeyword_id=news#input pcm datapcm_dir=pcm/$data原创 2016-03-02 21:18:00 · 11266 阅读 · 5 评论 -
kaldi 1d-CNN源码
CNN nnet/nnet-convolutional-component.h假设CNN相关参数如下###输入相关参数num_splice=3 #语音数据的左右context,此处左右一帧path_stride=5 #一帧原创 2017-03-15 21:33:43 · 2682 阅读 · 0 评论