
asr
算法工程师000001
生命不息,奋斗不止。
展开
-
OpenFST源码解析一:权重前移或后移操作
openfst中reweight部分的源码解析(在注释部分)对边上的权重进行重新分配: 公式为:arc.weight = arc.weight + P(arc.nextstate) - P(state)// reweight.h//// Licensed under the Apache License, Version 2.0 (the "License");// you...原创 2019-10-24 11:41:55 · 901 阅读 · 2 评论 -
语音识别系列6-语音识别CTC之tensorflow前向计算
语音识别系列6-语音识别CTC之tensorflow前向计算一、介绍根据上一节的介绍,我们的模型就训练好了,但是如何使用模型呢,这一节我们进行介绍,模型训练完后,会在模型保存目录下生成至少四个文件,分别为:checkpoint、model.ckpt-*.data-00000-of-00001、model.ckpt-*.index、model.ckpt-*.meta二、源码解析...原创 2019-05-20 15:39:16 · 868 阅读 · 0 评论 -
语音识别系列5-语音活动端点检测(VAD)
语音识别系列7-语音活动端点检测(VAD)一、介绍语音活动端点检测(VAD)已经是一个古老的话题,用于分离信号中语音信号和非语音信号,首先我们讲述VAD的三种做法:1,通过分帧,判断一帧的能量,过零率等简单的方法来判断是否是语音段;2,通过检测一帧是否有基音周期来判断是否是语音段;3,通过DNN的方法训练模型来分类是否是语音帧。相对来说,通过DNN的方法来做VAD准确率会更好一些,本节我们...原创 2019-05-21 09:13:59 · 6325 阅读 · 4 评论 -
语音识别系列2--基于WFST解码器
一、总述解码器是ASR重要的组件之一,在传统的基于GMM-HMM/DNN-HMM混合系统中,解码器架起语言模型、声学模型、发音词典等知识源的桥梁,得到最终的识别结果,如图1所示。随着深度学习技术的盛行,一系列ASR端到端系统、ASR-NLP端到端系统甚至ASR-NLP-TTS端到端系统被相继提出,解码器的作用在被一步步弱化,但是笔者认为,抛弃解码器,实现完全的端到端系统还有相当长的...原创 2019-05-17 11:29:47 · 3384 阅读 · 2 评论 -
语音识别系列3--KALDI解码器(SimpleDecoder)
Kaldi简单解码器(SimpleDecoder)总述本节我们讲述kaldi中一个最简单的解码器,实现这个解码器的类是SimpleDecoder,理解了这个解码器,也就打下了解码搜索的基础,其他的解码器方法也与其类似,目录在kaldi/src/decoder/simple-decoder.h。解码图数据结构依赖于openfst,基本上可以通过名称猜到表达的含义。分析上一节已经知道,解码...原创 2019-05-17 11:40:57 · 3280 阅读 · 3 评论 -
语音识别系列4--语音识别CTC之模型训练源码解析
一、介绍上一节我们简单介绍了CTC及数据准备过程,做好了数据准备,本节我们介绍CTC模型训练及源码解析。CTC(Connectionist Temporal Classification)连接时间分类,直观上理解,循环神经网络(RNN)更适合于CTC训练,关于CTC的原理上的介绍,大家已经写的很多了,本节我们主要从代码着手,帮助大家从零搭建CTC-ASR训练系统。既然是系统,我们就让代码的...原创 2019-05-18 11:46:01 · 3692 阅读 · 5 评论 -
语音识别系列7-chain model 之分子部分
一、简介现在有越来越多的公司和团体开始使用chain model了,得益于kaldi社区日益活跃和kaldi作者povey的大力推荐,chain model的优越性在于:1,使用了单状态的biphone,建模粒度更大,有些类似于CTC;2,采用的低帧率策略,DNN每三帧输出一次,解码速度更快;3,使用了区分性训练,准确率更高;4,改进了MMI,提出了Lattice free MMI,训练速度更...原创 2019-06-01 14:31:21 · 1401 阅读 · 0 评论