kaldi解码及特征提取详解
1. 注意事项
- 首先要训练好模型,用到3个文件,分别是:
final.mdl
(训练模型得到的模型文件)final.mat
(用来特征转换)HCLG.fst
(fst文件)
- 此外要提供待解码音频文件或路径.scp文件:
wav.scp
(音频路径.scp文件)
2. 流程图:
st=>start: 开始
op1=>operation: compute-mfcc-feats
op2=>operation: copy-feats
op3=>operation: compute-cmvn-stats
op4=>operation: apply-cmvn
op5=>operation: splice-feats
op6=>operation: transform-feats
op7=>operation: nnet-latgen-faster
st->op1->op2->op3->op4->op5->op6->op7
流程每一步意义如下:
- 使用
compute-mfcc-feats
提取特征,生成对应的特征文件feats.ark
; - 使用
copy-feats
来拷贝特征文件,并创建特征的scp文件,生成feat.scp
feat.ark
; - 使用
compute-cmvn-stats
计算CMVN归一化,得到cmvn.scp
cmvn.ark
; - 使用
apply-cmvn
得到了applycmvn.ark
文件; - 使用
splice-feats
来继续变换特征 ,拼接相邻帧的特征; - 使用
transform-feats
来进行特征转换,为了解码调用 ; - 最后通过得到的
transform.ark
进行解码的操作,得到解码后的lattice文件 。
3. 具体流程指令:
- 首先列出具体文件,这里我就按照自己的文件给出了,如果用别的,改相应文件就行了
2.wav.scp
(里面是保存了wav的绝对路径)
3.final.mdl
(训练模型得到的模型文件)
4.final.mat
(用来特征转换)
5.HCLG.fst
(fst文件,用于解码) - 使用compute-mfcc-feats生成对应的特征文件feats.ark:
compute-mfcc-feats --use-energy=false scp:wav.scp ark:feats.ark
- 使用copy-feats来拷贝特征文件,并创建特征的scp文件,生成feat.scp feat.ark
copy-feats ark:feats.ark ark,scp:feat.ark,feat.scp
- 使用compute-cmvn-stats计算CMVN归一化,得到cmvn.scp cmvn.ark
compute-cmvn-stats scp:feat.scp ark,scp:cmvn.ark,cmvn.scp
- 使用apply-cmvn,得到了applycmvn.ark文件
apply-cmvn scp:cmvn.scp scp:feat.scp ark:applycmvn.ark
- 使用splice-feats来继续变换特征
splice-feats --left-context=3 --right-context=3 ark:applycmvn.ark ark:splice.ark
- 使用transform来进行特征转换,为了解码调用
transform-feats final.mat ark:splice.ark ark:transform.ark
- 最后通过得到的transform.ark进行解码的操作,得到一个晶格文件
nnet-latgen-faster [options] <nnet-in> <fst-in|fsts-rspecifier> <features-rspecifier> <lattice-wspecifier>
版权声明:转载请注明出处,谢谢
kaldi解码及特征提取详解的更多相关文章
- kaldi GMM模型解码指令 gmm-latgen-faster详解
目录 - 作用: - 用法: - 可选项及含义: - 使用实例: - 作用: Generate lattices using GMM-based model. 生成基于GMM模型的lattice词格) ...
- AAC解码算法原理详解
”
- FFmpeg编解码处理2-编解码API详解
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10584925.html FFmpeg编解码处理系列笔记: [0]. FFmpeg时间戳详 ...
- 协议分析 - DHCP协议解码详解
协议分析 - DHCP协议解码详解 [DHCP协议简介] DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...
- Url解码和编码 escape()、encodeURI()、encodeURIComponent()区别详解
Server.UrlDecode;解码 Server.UrlEncode;编码 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value ...
- javascript中的Base64.UTF8编码与解码详解
javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...
- JPEG文件编/解码详解
JPEG文件编/解码详解(1) JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写.它由国际电话与电报咨询委员会CCITT(The Interna ...
- 【转】小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)
转:https://blog.csdn.net/cqfdcw/article/details/84995904 小波与小波包.小波包分解与信号重构.小波包能量特征提取 (Matlab 程序详解) ...
- FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
随机推荐
- MR中使用sequnceFIle输入文件
转换原始数据为块压缩的SequenceFIle import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.C ...
- JS JavaScript中的this
this是JavaScript语言中的一个关键字 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用. function test() { this.x = 1; } 上面代码中,函 ...
- JVM垃圾回收补充知识点
1. 分代 虚拟机中的共划分为三个代: 年轻代(Young Gen):eden和survivor-8:1:1 年老代(Old Gen):存储大对象,由survivor晋升 永久代(perm Gen): ...
- SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot15-rabbitmq/ 本文出自方志朋的博客 这 ...
- 基于Cent os 云服务器中SVN 服务器的搭建---具体实践是可行的 一次备注便于后续查找
https://blog.csdn.net/shadowyingjian/article/details/80588544http://www.hongyanliren.com/2015m04/329 ...
- rm -f + 文件名+* 与 rm -f + 文件名* 的不同效果,大坑呀。
rm -f catalina.2018-10-22.* 与*号间无空格 rm -f catalina.2018-10-22. * :多了空格:
- oracle权限配置
系统权限管理:1.系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构. RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构. CON ...
- Js操作DOM及获取浏览器高度以及宽度
1.获取网页可见区域的宽度:document.body.clientWidth ; 2.获取网页可见区域的高度:document.body.clientHeight; 3.获取 网页可见区域宽:doc ...
- 关于echarts整合多个类似option
最近项目里面遇到一些图表需要用echarts来做.而我之前只用过一次echarts,也只是做了一个简单的饼状图,并没有涉及到很多的配置.但是现在这个项目,这些图表需要自己配置很多东西.像什么多余的网格 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--G-旋转矩阵
链接:https://www.nowcoder.com/acm/contest/90/G 来源:牛客网 1.题目描述 景驰公司自成立伊始,公司便将“推动智能交通的发展,让人类的出行更安全,更高效,更经 ...