摘要:本文来自公众号“AI大道理”。 三音子模型词错误率为:36.03%,对比单音素模型词错误率为50.58%。 可见三音素模型识别率已经有了提高。 不管模型识别率怎么样,先利用三音子模型搭建一个中文在线识别系统看看效果。 在线识别与离线识别 本文主要搭建在线语音识别,还有一种离线语音识别,两者有什
阅读全文
摘要:本文来自公众号“AI大道理” 单音素模型词错误率为50.58%,三音子模型词错误率为36.03%,lda-mllt模型词错误率为32.12%,说话人自适应模型词错误率为28.41%,quick模型词错误率为27.94%。 可见quick模型识别率继续有了一定的提高。 能否继续优化模型?又要从哪些方面
阅读全文
摘要:本文来自公众号“AI大道理”。 单音素模型词错误率为50.58%,三音子模型词错误率为36.03%,lda-mllt模型词错误率为32.12%,说话人自适应模型词错误率为28.41%。 可见说话人自适应模型识别率继续有了一定的提高。 能否继续优化模型?又要从哪些方面入手进行优化呢? quick模型将
阅读全文
摘要:本文来自公众号“AI大道理”。 单音素模型词错误率为50.58%,三音子模型词错误率为36.03%,lda-mllt模型词错误率为32.12%。 可见lda-mllt模型识别率继续有了一定的提高。 能否继续优化模型?又要从哪些方面入手进行优化呢? 说话人自适应技术将继续改善现有模型。 以kaldi的
阅读全文
摘要:本文来自公众号“AI大道理”。 三音子模型词错误率为:36.03%,对比单音素模型词错误率为50.58%。 可见三音素模型识别率已经有了提高。 能否继续优化模型?又要从哪些方面入手进行优化呢? 特征变换带来一定的改善。 语音识别中,为了增强音频特征的鲁棒性,需要提取区分能力较强的特征向量,常用的方法
阅读全文
摘要:本文来自公众号“AI大道理”。 程序acc-tree-stats累积好了构建决策树所需的统计量,程序cluster-phones和compile-questions自动生成好了构建决策树所需的问题集,也准备好了roots.int文件。 接下来可以开始构建决策树,对三音素GMM的状态进行绑定。 以ka
阅读全文
摘要:本文来自公众号“AI大道理”。 上文已经累计了相关统计量phone的特征均值、方差、phone所出现的语音帧数量。 接下来利用统计量自动生成问题集。 问题集的生成是为了构造决策树对三音子模型进行状态绑定。 以kaldi的thchs30为例。 5 三音子模型训练 过程之道: 5.2 自动生成问
阅读全文
摘要:本文来自公众号“AI大道理”。 单音子模型的假设是一个音素的实际发音与其左右的音素无关。这个假设与实际并不符合。由于单音子模型过于简单,识别结果不能达到最好,因此需要继续优化升级。就此引入多音子的模型。 最为熟悉的就是三音子模型,即上下文相关的声学模型。 (本篇主要解析kaldi源码实现,详细算法原
阅读全文
摘要:本文来自公众号“AI大道理”。 单音子模型的假设是一个音素的实际发音与其左右的音素无关。这个假设与实际并不符合。由于单音子模型过于简单,识别结果不能达到最好,因此需要继续优化升级。就此引入多音子的模型。 最为熟悉的就是三音子模型,即上下文相关的声学模型。 在YesNo实例中没有进行三音子的模型训练。
阅读全文
摘要:本文来自公众号“AI大道理”。 构建了HCLG解码图后,解码就是在这个图上寻找一条最优路径。 最优路径上去除epsilon后的输出标签序列就是单词级别的识别结果。 (本篇主要解析kaldi源码实现,详细算法原理请阅读: AI大语音(十一)——WFST解码器(上)(深度解析)) 1 解码 5 de
阅读全文
摘要:本文来自公众号“AI大道理”。 L.fst与G.fst经过合成、确定化、最小化、权重推移和随机性检查后成为了LG.fst。紧接着加入C,构造了CLG.fst。接下来继续加入H,构造HCLG.fst。 (本篇主要解析kaldi源码实现,详细算法原理请阅读 AI大语音(十二)——WFST解码器(下)(深
阅读全文
摘要:本文来自公众号“AI大道理”。 上篇训练完了单音子模型。不管模型好坏先进行解码试试效果。解码之前首先要构建解码图,即HCLG.fst。(本篇主要解析kaldi源码实现,详细算法原理请阅读 AI大语音(十二)——WFST解码器(下)(深度解析)) 1 解码图构造 4 mkgraph.sh 源码解析
阅读全文
摘要:本文来自公众号“AI大道理”。 构造好训练图接下来就可以进行训练了。所谓训练就是在训练图上进行解码,获得最优路径的同时得到对齐序列,根据对齐序列进行统计信息量。转移概率可以进行数数获得,GMM参数随着对齐的帧数变化而更新,同时GMM分量从一开始的单高斯split出更多的高斯。如此不断迭代训练获得单音
阅读全文
摘要:本文来自公众号“AI大道理” 提取了MFCC特征,并进行倒谱均值方差归一化,数据检查无误后就可以进行模型训练了。 首先进行的是单音素模型训练,然后进行三音子模型训练。 单音子模型为后期训练提供对齐基础。以kaldi中的yesno为例。 1 单音子模型训练 3 train_mono.sh 源码解
阅读全文
摘要:本文来自公众号“AI大道理”。 准备好了数据,接下来就可以特征提取了。最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequency Cepstral Coefficients,简称MFCC)。以最简单的YesNo为例。 1 run.sh 特征提取步骤: MFCC提取过程包括预处理、快速
阅读全文
摘要:本文来自公众号“AI大道理”。 正所谓巧妇难为无米之炊。对于语音识别任务来说,对于Kaldi来说,数据就是这个米。 在进行特征提取、模型训练之前,首先要做的就是数据准备。以最简单的YesNo为例。 1 YesNo实例结构 其中: 文件夹 脚本 2 脚本解析 cmd.sh 源码解读:
阅读全文
摘要:本文来自公众号“AI大道理”。 作为传统语音识别神器,kaldi拥有自己一套独特的输入输出机制。先来感受一下吧。 feats="ark,s,cs:apply-cmvn $cmvn_opts --utt2spk=ark:$sdata/JOB/utt2spk scp:$sdata/JOB/cmvn.sc
阅读全文
摘要:本文来自公众号“AI大道理”。 Kaldi是使用c++写的传统语音识别的工具,是基于HMM架构的。Kaldi的目标和范围与HTK相似。目标是拥有易于修改和扩展的用C++编写的现代而灵活的代码。 Kaldi的目标是为构建语音识别系统提供完整的配方,这些配方可从语言数据库(LDC)提供的数据库中获得。
阅读全文