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

流程每一步意义如下:

  1. 使用compute-mfcc-feats提取特征,生成对应的特征文件feats.ark
  2. 使用copy-feats来拷贝特征文件,并创建特征的scp文件,生成feat.scp feat.ark
  3. 使用compute-cmvn-stats计算CMVN归一化,得到cmvn.scp cmvn.ark
  4. 使用apply-cmvn得到了applycmvn.ark文件;
  5. 使用splice-feats来继续变换特征 ,拼接相邻帧的特征;
  6. 使用transform-feats来进行特征转换,为了解码调用 ;
  7. 最后通过得到的transform.ark进行解码的操作,得到解码后的lattice文件 。

3. 具体流程指令:

  1. 首先列出具体文件,这里我就按照自己的文件给出了,如果用别的,改相应文件就行了

    2. wav.scp(里面是保存了wav的绝对路径)

    3. final.mdl(训练模型得到的模型文件)

    4. final.mat(用来特征转换)

    5. HCLG.fst(fst文件,用于解码)
  2. 使用compute-mfcc-feats生成对应的特征文件feats.ark:

    compute-mfcc-feats --use-energy=false scp:wav.scp ark:feats.ark
  3. 使用copy-feats来拷贝特征文件,并创建特征的scp文件,生成feat.scp feat.ark

    copy-feats ark:feats.ark ark,scp:feat.ark,feat.scp
  4. 使用compute-cmvn-stats计算CMVN归一化,得到cmvn.scp cmvn.ark

    compute-cmvn-stats scp:feat.scp ark,scp:cmvn.ark,cmvn.scp
  5. 使用apply-cmvn,得到了applycmvn.ark文件

    apply-cmvn scp:cmvn.scp scp:feat.scp ark:applycmvn.ark
  6. 使用splice-feats来继续变换特征

    splice-feats --left-context=3 --right-context=3 ark:applycmvn.ark ark:splice.ark
  7. 使用transform来进行特征转换,为了解码调用

    transform-feats final.mat ark:splice.ark ark:transform.ark
  8. 最后通过得到的transform.ark进行解码的操作,得到一个晶格文件

    nnet-latgen-faster [options] <nnet-in> <fst-in|fsts-rspecifier> <features-rspecifier> <lattice-wspecifier>

版权声明:转载请注明出处,谢谢

kaldi解码及特征提取详解的更多相关文章

  1. kaldi GMM模型解码指令 gmm-latgen-faster详解

    目录 - 作用: - 用法: - 可选项及含义: - 使用实例: - 作用: Generate lattices using GMM-based model. 生成基于GMM模型的lattice词格) ...

  2. AAC解码算法原理详解

  3. FFmpeg编解码处理2-编解码API详解

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10584925.html FFmpeg编解码处理系列笔记: [0]. FFmpeg时间戳详 ...

  4. 协议分析 - DHCP协议解码详解

    协议分析 - DHCP协议解码详解 [DHCP协议简介]         DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...

  5. Url解码和编码 escape()、encodeURI()、encodeURIComponent()区别详解

    Server.UrlDecode;解码 Server.UrlEncode;编码 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value ...

  6. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  7. JPEG文件编/解码详解

    JPEG文件编/解码详解(1) JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写.它由国际电话与电报咨询委员会CCITT(The Interna ...

  8. 【转】小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)

    转:https://blog.csdn.net/cqfdcw/article/details/84995904 小波与小波包.小波包分解与信号重构.小波包能量特征提取   (Matlab 程序详解) ...

  9. FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

随机推荐

  1. 解读JavaScript中的Hoisting机制(js变量声明提升机制)

    hoisting机制:javascript的变量声明具有hoisting机制,JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面. 知识点一:javascript是没有 ...

  2. 通过Ambari2.2.2部署HDP大数据服务

    node1 amari-server   node2 amari-agent namenode1,datanode,resourcemanager,zk node3 amari-agent namen ...

  3. 初学Splunk

    splunk简介 https://www.splunk.com/zh-hans_cn/download.html splunk 简体中文版手册 http://docs.splunk.com/Docum ...

  4. 浅谈linux系统中pdf文件的默认打开方式

    atril.gimp和evince,三者均可以打开application/pdf格式文件.gimp为一款图像处理软件:atril为mate环境下常用的文档查看器:evince为gnome环境下常用的文 ...

  5. jquery图片滚动normalizy.css

    article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block; ...

  6. Apache Maven(七):settings.xml

    settings.xml 文件中包含settings标签,这个标签可以配置如何去执行Maven.其中包括本地存储库位置,备用远程存储库服务器和身份验证信息等值. 有如下两个位置可能存放这setting ...

  7. 洛谷 T51922 父子

    题目描述 对于全国各大大学的男生寝室,总是有各种混乱的父子关系. 那么假设现在我们一个男生寝室有不同的 nn 个人,每个人都至多有一个“爸爸”,可以有多个“儿子”,且有且只有一个人没有“爸爸”(毕竟是 ...

  8. Python学习 :深浅拷贝

    深浅拷贝 一.浅拷贝 只拷贝第一层数据(不可变的数据类型),并创建新的内存空间进行储蓄,例如:字符串.整型.布尔 除了字符串以及整型,复杂的数据类型都使用一个共享的内存空间,例如:列表 列表使用的是同 ...

  9. dedecms织梦首页被篡改 网站被黑被跳转的解决办法建议

    2018年的中秋节即将来临,我们Sine安全公司,最近接到很多用dedecms程序的企业公司网站客户的反馈,说是公司网站经常被篡改,包括网站首页的标题内容以及描述内容,都被改成了什么北京赛车,北京PK ...

  10. u-boot.bin生成过程分析

    ELF格式“u-boot”文件的生成规则如下,下面对应Makefile的执行过程分别分析各个依赖. $(obj)u-boot: depend version $(SUBDIRS) $(OBJS) $( ...