今天七夕节,祝大家七夕快乐!
但这与我这种秃头女程序猿又有什么瓜系.jpg,继续搭建模型。。

由于昨天关闭了电脑,今天打开cmd之后要先做运行VCVARS32和连接bin.win32两步,具体操作见第一个教程开头

十、绑定三音素

首先,制作一个脚本文件mktri.led,放在data/scripts文件夹中,内容为:

WB sp
WB sil
TC

!!!!记得最后要有一行换行
执行命令:

HLEd -n labels/triphones1 -i labels/wintry.mlf scripts/mktri.led labels/aligned.mlf

得到triphones1和wintry.mlf两个文件。
这里要对wintry.mlf用python代码处理,将路径修改为“*/XXXX”。代码如下:

a1=open("d:/data/labels/wintry.txt",'r+')
b=[]
str='S'
txt1=a1.readlines()
a1.close()
for lines in txt1:a=linesc=aif a.find(str)>=0:b=a.split('S',1)c='"*/S'+b[1]#print(c)a2=open("d:/data/labels/wintry_new.txt",'a')a2.write(c)a2.close()

再把wintry_new.txt修改为wintry.mlf即可。
执行命令:

perl scripts/maketrihed monophones0 labels/triphones1

在data文件夹中找到mktri.hed文件,并放入scripts文件夹中
执行命令:

HHEd -H hmms/hmm9/macros -H hmms/hmm9/hmmdefs -M hmms/hmm10 scripts/mktri.hed monophones0

似乎有warning,不过应该不重要 。
重估两次:

HERest  -A -D -T 1 -C configs/config -I labels/wintry.mlf -t 250.0 150.0 1000.0 -S scps/train.scp -H hmms/hmm10/macros -H hmms/hmm10/hmmdefs -M hmms/hmm11 labels/triphones1
HERest  -A -D -T 1 -C configs/config -I labels/wintry.mlf -t 250.0 150.0 1000.0 -s stats -S scps/train.scp -H hmms/hmm11/macros -H hmms/hmm11/hmmdefs -M hmms/hmm12 labels/triphones1

接着,使用脚本生成fullist和tielist文件
首先制作脚本文件global3.ded,内容如下:

RS cmu
MP sil sil sp
TC

!!!!记得最后要有一行换行
然后,在dict3的基础上制作新发音字典dict4。去掉了以下内容:

SILEN sil
SEND-END [] sil
SEND-START [] sil

执行如下命令:

HDMan -b sp -n lists/fullist -g global3.ded -l floag dict/dict4-tri dict/dict4

可能会有如下报错:

ERROR [+1452] ReadDictProns: word – out of order in dict dict/dict4
FATAL ERROR - Terminating program HDMan

把dict4里面的“-- sp”这一行换到“A”的上面就好了。之后在data/lists中生成fullist文件。
然后对fullist文件进行处理。用记事本打开fullist,在最后添加如下内容:

sil
ay
em
ow
ax

!!!!记得最后要有一行换行
接下来生成tree.hed文件
首先,在HTK samples文件夹中找到mkclscript.prl,将其复制到data/scripts文件夹中,再执行以下命令:

perl scripts/mkclscript.prl TB 350.0 monophones0>tree.hed

在data文件夹中找到生成的tree.hed,但这个文件还缺少一些内容,因为生成的tree.hed只有TB开头。
按照路径打开HTK\samples\RMHTK\libquests.hed文件,ctrl+a复制全部内容,粘贴在生成的tree.hed的前面,然后在开头、中间、结尾分别按如下形式添加:

(添加)RO 100 stats
(添加)TR 0
QS “R_NonBoundary” { + }
QS “R_Silence” { +sil }
QS “R_Stop” { +p,+pd,
+b,+t,+td,+d,+dd,+k,+kd,+g }
………………….
QS “L_y” { y-
}
QS “L_z” { z-* }
(添加)TR 2
TB 350.0 “ST_ax_2_” {(“ax”,"-ax+",“ax+","-ax”).state[2]}
TB 350.0 “ST_b_2_” {(“b”,"-b+",“b+","-b”).state[2]}
TB 350.0 “ST_r_2_” {(“r”,"-r+",“r+","-r”).state[2]}
……………………
TB 350.0 “ST_sil_4_” {(“sil”,"-sil+",“sil+","-sil”).state[4]}
TB 350.0 “ST_sp_4_” {(“sp”,"-sp+",“sp+","-sp”).state[4]}
(添加)TR 1
(添加)AU lists/fullist
(添加)CO lists/tiedlist
(添加)ST trees

新建hmms/hmm13,hmms/hmm14,hmms/hmm15,执行如下命令:

HHEd -H hmms/hmm12/macros -H hmms/hmm12/hmmdefs -M hmms/hmm13 tree.hed labels/triphones1>log

这时你会发现在lists文件夹中生成了tiedlist文件
然后重估两次:

HERest -C configs/config -I labels/wintry.mlf -t 250.0 150.0 1000.0 -S scps/train.scp -H hmms/hmm13/macros -H hmms/hmm13/hmmdefs -M hmms/hmm14 lists/tiedlist

知道你看到了很多WARNING,但不要怕,继续重估 。

HERest -C configs/config -I labels/wintry.mlf -t 250.0 150.0 1000.0 -S scps/train.scp -H hmms/hmm14/macros -H hmms/hmm14/hmmdefs -M hmms/hmm15 lists/tiedlist

仍然有很多WARNING,但没有关系,做到这里,我们就可以进行最后的评估步骤了。
————————————————————————————————————————————
分割线。重估的时候要用到新的配置文件,是在data/configs/config的基础上添加如下两行内容:

FORCECXTEXP = T
ALLOWXWRDEXP = F

得到新的配置文件config2
!!!!记得最后要有一行换行
最后,执行评估命令:

HVite -C configs/config2 -H hmms/hmm15/macros -H hmms/hmm15/hmmdefs -S scps/test.scp -l * -i results/recout_hmm15.mlf -w dict/wdnet -p 0.0 -s 5.0 dict/dict3 lists/tiedlist

然后耐心等待结果,这里用时大概1个小时。。。
来康康recout_hmm15.mlf长什么样子,这里还放了右图语音原句做对比。

很好!!句子识别成功!!
再来康康具体数据,使用如下命令:

HResults -I test/testwords.mlf lists/tiedlist results/recout_hmm15.mlf


可以看到优化效果还是蛮显著的,句正确率提升10.00%,词正确率提升15.59%,词准确率提升20.16%。
至此,用HTK搭建大词汇量连续语音识别系统系列教程结束~

HTK搭建大词汇量连续语音识别系统(三)相关推荐

  1. HTK搭建大词汇量连续语音识别系统(一)

    使用HTK搭建大词汇量语音识别系统,这里使用的是timit语音库. 本人python小白,只学了两三天,代码写的有点菜..希望多多包涵 一.建立抄本文件trainprompts 所使用的python版 ...

  2. 使用HTK搭建英文大词汇量连续语音识别系统(一)

    在整个语音识别系统的搭建中,参考了博客https://blog.csdn.net/qq_43150721/article/details/98646889,自己动手搭建时,遇到了博客中没提到的问题,故 ...

  3. 使用HTK搭建英文大词汇量连续语音识别系统(三)

    接下来采用三音素模型进行改进. 一.绑定三音素 首先,制作一个脚本文件mktri.led,放在data/scripts文件夹中,内容为: WB sp WB sil TC 最后有一行换行 执行命令: H ...

  4. 使用HTK搭建英文大词汇量连续语音识别系统(二)

    六.提取特征参数,生成.mfc文件 在data/configs文件中编写配置文件wav_config,内容: SOURCEFORMAT=NIST TARGETKIND=MFCC_0_D_A TARGE ...

  5. 一种连续语音识别系统的制作方法

    本发明涉及一种连续语音识别系统,属于语音识别设备领域. 背景技术: 近五十年的时间里,自动语音识别一直是一个活跃的研究领域,它一直被认为是促进人类与机器,人类与人类通信的一个重要的桥梁.近些年,语音识 ...

  6. 高并发的大数据量查询导致系统频繁死机

    我们的大数据量查询是数据库分页的, 但是导出和打印功能是基于全部数据的. 系统投入使用后,对于导出和打印功能的使用远远要高于我们的预期. 而我们的系统的硬件设备是有限的 不能再升级了. 抓取内存大对象 ...

  7. 背单词数量c语言过程,英语之从3000到一万词汇量的历程 (三)

    没有一定量的词汇基础,文章基本上是看不懂的,看的过程很晦涩难懂,经常会没有耐心看完全文,半途而废.所以说,一定量的词汇量是理解文章的基础.而词汇量的增加其实是最容易的,背单词谁都会,最主要是怎么背,还 ...

  8. 从0到1搭建大数据平台之调度系统

    目前大数据平台经常会用来跑一些批任务,跑批处理当然就离不开定时任务.比如定时抽取业务数据库的数据,定时跑hive/spark任务,定时推送日报.月报指标数据.任务调度系统已经俨然成为了大数据处理平台不 ...

  9. 语音识别系统及科大讯飞最新实践

    http://geek.csdn.net/news/detail/96948 语音作为最自然便捷的交流方式,一直是人机通信和交互最重要的研究领域之一.自动语音识别(Automatic Speech R ...

  10. 干货:科大讯飞最新语音识别系统和框架深度剖析

    雷锋网按:本文作者魏思,博士,科大讯飞研究院副院长,主要研究领域为语音信号处理.模式识别.人工智能等,并拥有多项业界领先的科研成果.张仕良,潘嘉,张致江科大讯飞研究院研究员.刘聪,王智国科大讯飞研究院 ...

最新文章

  1. PTA(BasicLevel)-1007素数对猜想
  2. 《数据中心布线系统的设计与施工技术白皮书》目录
  3. Java 内存模型和 JVM 内存结构真不是一回事
  4. java怎么缓存行填充_为什么java的Exchanger.Slot缓存行填充像这样?
  5. vue3中ref、reactive、shallowRef、 shallowReactive、toRaw、unref、toRef、toRefs、customRef使用与区别
  6. 智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
  7. js三元判断html,JS 三元条件运算符
  8. 用贪婪算法解决背包问题_解决主要算法问题的贪婪策略
  9. 相乘的c语言,c语言矩阵相乘
  10. OpenGL学习一:OpenGL简介
  11. 电容触摸屏测试软件,电容式触摸屏FPCA的整板测试方案
  12. 【Choco Disco】MMD镜头+动作打包下载.zip
  13. SOJ-4484-后缀数组
  14. 【DSU+思维】CF855G Harry Vs Voldemort
  15. C语言数字图像处理---2.5图像频域滤波
  16. 云服务器系统一键安装,一键安装服务器系统
  17. “警视”公安指挥决策系统
  18. 时间序列模型(1)--移动平均法
  19. NAGVIS安装详解
  20. Java加密算法—非对称加密

热门文章

  1. 随便说说IE和Firefox的兼容性
  2. Excel基础学习笔记
  3. 在J.U.C多线程中,AQS维护这一个CLH同步队列,这个队列遵循着FIFO原则
  4. 第三章 栈和队列(含答案)
  5. java实现两张图片合并起来。
  6. MATLAB求分段函数最大值,如何用MATLAB求分段函数的最小值和最大值?
  7. 全球与中国高炉系统(钢铁厂)市场深度研究分析报告
  8. windows上开启winrm服务
  9. php iconv translit,php iconv translit for removing accents: not working as excepted?
  10. cad计算机土方软件,CAD土方工程量算量插件(土方工程量计算工具)V1.1 正式版