kaldi-语音识别 实践部分
文章平均质量分 76
以运行kaldi为主,理论部分在其他专栏
dhj_tsukuba
这个作者很懒,什么都没留下…
展开
-
利用kaldi源码自定义功能和程序
文章目录前言目标功能kaldi源码解析编译和运行代码前言虽然还未完全看完kaldi的C++源码,但已经发现kaldi真的是一个复杂而庞大的开源项目,想找到并理解某一种功能的具体实现,比如对齐,解码,GMM迭代… 等等,都绕不开其繁杂而完备的数据结构设计,当然也可能是因为笔者的C++功底一般,还在kaldi源码的苦海中挣扎。本文是秉着总结,学习和经验分享的目的,利用现有的kaldi数据结构和类型来实现一种功能,整体并不复杂,但有助于对源码的进一步理解,具体来说是编写1个新的kaldi程序,即cpp源码。原创 2022-04-20 11:46:52 · 691 阅读 · 0 评论 -
OpenSeq2Seq中修改beam search解码器使其返回token id而不是string
文章目录前言解码器源码概览前言Nvidia的OpenSeq2Seq是一个基于Tensorflow的开源深度学习工具,可以用来训练和部署asr或者nlp相关的模型,但距今为止已经有2-3年没更新了,反倒是Nvidia新开发的基于pytorch的Nemo框架逐渐流行起来,github上的star也逐渐超过了OpenSeq2Seq,主要还是因为pytorch的易用性和易读性。但OpenSeq2Seq中有一套基于 ctc beam search 的解码器却一直被很多开发者引用,包括在Nemo里面的decoder原创 2021-12-03 19:43:10 · 600 阅读 · 0 评论 -
CTC 讲解和python实现
文章目录损失函数解码和语言模型结合代码实现讲解比较详细的博客CTC的原始paper在大多数语音识别任务中,我们都缺少文本和音频特征的alignment,Connectionist Temporal Classification作为一个损失函数,用于在序列数据上进行监督式学习,可以不需要对齐输入数据及标签。对于输入序列X=[x1,x2,..,xT]X=[x_1, x_2, .., x_T]X=[x1,x2,..,xT] 和 输出序列 Y=[y1,y2,...,yU]Y = [y_1, y_2.原创 2021-04-21 17:06:55 · 1309 阅读 · 2 评论 -
tensorflow1.14编译自定义运算时报错:cannot find -ltensorflow_framework
问题描述:在tensorflow中自定义了一个函数想注册到运算库中,用g++编译时报出错误没找到动态链接库:g++ -std=c++11 -shared ConvCustom.cc -o ConvCustom.so -fPIC -I/usr/local/lib/python3.5/dist-packages/tensorflow/include -D_GLIBCXX_USE_CXX11_ABI=0 -L/usr/local/lib/python3.5/dist-packages/tensorflow -原创 2021-02-03 16:09:22 · 903 阅读 · 3 评论 -
kaldi nnet模型的decode流程解析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1、特征提取1-1 filter bank特征计算1-2 cmvn处理1-3 拼帧2、nnet-forward3、解码生成词图(lattice)前言前面的文章中讲过nnet3模型的线上解码流程,本文用的是nnet模型,又称nnet1,之前虽然讲过nnet3,但并没有对nnet系列模型进行说明,具体细节以后的文章中会讲到,简单概括一下就是,nnet1-3是目前kaldi中神经网络3个版本的实现,其中nnet1只能单GPU训练原创 2021-04-01 00:27:29 · 1846 阅读 · 0 评论 -
kaldi nnet3模型对单一语音文件在线解码
文章目录一、online2-wav-nnet3-latgen-faster二、lattice生成脚本三、lattice解码脚本本文主要以kaldi中的CSJ日语数据集为例进行讲解,文中涉及的路径都是在egs/csj/s5 中可以找到的。一、online2-wav-nnet3-latgen-fasteronline2-wav-nnet3-latgen-faster 是nnet3模型解码的核心程序,它读取wav 文件,进行mfcc 和ivector 特征处理,根据单词符号表生成对应的词图,即latti.原创 2021-02-04 00:13:58 · 1724 阅读 · 3 评论 -
kaldi 在线解码时报错 dimension mismatch 39 vs. 40
目录问题描述原因分析解决方案问题描述kaldi中用 online-wav-gmm-decode-faster 对单一wav文件解码时报出如下错误:online-wav-gmm-decode-faster --verbose=1 --rt-min=0.8 --rt-max=0.85 --max-active=4000 --beam=12.0 --acoustic-scale=0.0769 scp:./work/input.scp online-data/models/tri4/model online-原创 2021-01-25 12:34:10 · 579 阅读 · 0 评论 -
kaldi单音素模型训练 - train_mono.sh脚本解读
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言上下文无关的单音素模型,或者monophone模型,是声学模型中最基础的模型。用HMM建模时每个状态对应一个上下文无关的单音素,大多数kaldi的训练脚本run.sh都是从monophone模型的训练开始,重复几次训练-对齐的过程,最后用HMM-GMM模型的对齐结果作为label去训练DNN模型。本文着重讲解一下steps/train_mono.sh脚本,原创 2020-10-16 14:26:56 · 1369 阅读 · 0 评论 -
Kaldi 语音识别工具使用记录
Kaldi 语音识别工具使用记录 - 日语数据集CSJ数据下载数据前处理1. 生成phone.txt 和 lexcion.txt2. 语言模型3 特征提取原创 2020-05-11 00:20:39 · 1547 阅读 · 9 评论