美文网首页
语音识别解码概述

语音识别解码概述

作者: 期望最大化 | 来源:发表于2019-03-07 15:23 被阅读1次

什么是语音解码

解码就是在网络中寻找最优路径。语音解码就是一个从特征序列到最优状态序列的映射。
网络就是WFST,利用HMM,跨词三音子模型,词典,以及语言模型,构建出来的网络。
寻找最优路径的算法用的是viterbi算法,本质上是动态规划。

语音解码步骤

每来一帧数据,提取特征得到特征向量,输入特征向量,在WFST图中寻找最优路径,包括两个主要操作:确定当前时刻状态得分计算跳转到下一时刻状态得分

确定当前时刻状态得分

利用声学模型,计算P(o|s) ,其中o是当前语音帧提取的特征,s是状态。所以声学模型本质上就是一个映射关系,确定每一帧语音与对应的状态得分。kaldi中叫am_cost。

计算跳转到下一时刻状态得分

利用WFST,用来计算从这一状态到(有限的)下一状态的得分,是四个转换的复合得分,也就是前面提到过的HMM,跨词三音子模型,词典,以及语言模型,kaldi中叫graph_cost。WFST其实起到了两个作用,一个是计算graph_cost,也就是WFST图中弧上的权重,另外一个作用是将状态限制在一定范围,无论是当前状态,还是下一状态,只有在个网络中,才会计算。

am_cost 和 graph_cost合在一起确定了当前一步的得分。当前一步有N^2 种可能,语音如果有T帧,那么时间复杂度就是TN^2

以上解码概述都是基于Kaldi的静态WFST解码。

WFST构图部分见语音识别WFST构图
Viterbi解码部分见语音识别Viterbi解码

Reference

http://kaldi-asr.org/doc/index.html
https://www.zhihu.com/question/274765693/answer/615441339
https://www.leiphone.com/news/201610/BQLMnSiPoM8TvAfX.html

相关文章

网友评论

      本文标题:语音识别解码概述

      本文链接:https://www.haomeiwen.com/subject/eppcpqtx.html