没有合适的资源?快使用搜索试试~ 我知道了~
HTK一个实例(语音拨号系统)
4星 · 超过85%的资源 需积分: 9 18 下载量 14 浏览量
2009-12-07
22:29:21
上传
评论 1
收藏 253KB PDF 举报
温馨提示
试读
14页
这是一个语音拨号系统的实例,实在htk搭建的平台上实现的,有具体的步骤
资源推荐
资源详情
资源评论
应用 HTK 搭建语音拨号系统
苏统华
哈尔滨工业大学人工智能研究室
2006 年 10 月 30 日
声明:版权所有,转载请注明作者和来源
该系统能够识别连续说出的数字串和若干组姓名。建模是针对子词(sub-word, eg. 音
素),具有一定的可扩充性。当加入一个新名字时,只需修改发音词典和任务语法即可。模
型为连续混合高斯输出,运用语音决策树聚类形成的绑定状态式三音素。
1. 数据准备
需要录制训练数据和测试数据。为进行校准,还需要数据的标注文本。这里用任务语法
(task grammar)产生真值文本(ground truth)。为了处理训练数据,需要定义一个语音集合和一
个字典用以涵盖训练和测试数据中涉及的单词。
[step 1]任务语法定义
任务语法以包含变量的正则表达式形式定义,存储在文件 gram 里:
文件名:gram
$digit = ONE | TWO | THREE | FOUR | FIVE |
SIX | SEVEN | EIGHT | NINE | OH | ZERO;
$name = [ SUE ] LAW |
[ JULIAN ] TYLER |
[ DAVE ] WOOD |
[ PHIL ] LEE |
[ STEVE ] YOUNG;
( SENT-START ( DIAL <$digit> | (PHONE|CALL) $name) SENT-END )
上面的语法是高层表示,必须通过 HParse 转成 HTK 可用的底层表示。底层表示存于文
件 wnet 中:
HParse gram wdnet
文件名:wdnet
VERSION=1.0
N=31 L=62
I=0 W=SENT-END
I=1 W=YOUNG
……
J=0 S=2 E=0
……
J=61 S=0 E=29
苏统华.哈尔滨工业大学人工智能研究室.2006
[step 2]字典定义
此例中利用 BEEP 语音字典,除去其中的重音符,并在每个发音后加入 sp(short pause,
小停顿)。如果有哑音标志,就用 MP 命令把 sil 和 sp 合并成 sil。这些处理命令放在 global.ded
编辑脚本中:
文件名:global.ded
AS sp
RS cmu
MP sil sil sp
执行 HDMan 生成与任务相关的发音词典 dict1:
HDMan -m -w .\lists\wlist -n .\lists\monophones1 -l dlog .\dict\dict1 .\dict\beep .\dict\names
上面的 names 文件是手工制作的专有人名的发音(包括 SEND-START,SEND-END),文件
wlist 是出现在任务语法中的所有单词的有序列表,文件 monophones1 是用到的音素的列表,
dlog 为参数文件。
注 1:实际上,这里应该手工修改 dict1,为 SENT-END 和 SENT-START 加上无输出标志,
为了展示队后面步骤地影响,这里故意不添加。
文件名:.\dict\dict1
CALL k ao l sp
DAVE d ey v sp
DIAL d ay ax l sp
EIGHT ey t sp
FIVE f ay v sp
FOUR f ao sp
FOUR f ao r sp
JULIAN jh uw l ia n sp
JULIAN jh uw l y ax n sp
LAW l ao sp
LEE l iy sp
NINE n ay n sp
OH ow sp
ONE w ah n sp
PHIL f ih l sp
PHONE f ow n sp
SENT-END sil
SENT-START sil
SEVEN s eh v n sp
SIX s ih k s sp
STEVE s t iy v sp
SUE s uw sp
SUE s y uw sp
2
利用 HTK 搭建语音拨号系统
THREE th r iy sp
TWO t uw sp
TYLER t ay l ax sp
WOOD w uh d sp
YOUNG y ah ng sp
ZERO z ia r ow sp
文件名:.\dict\names
DAVE d ey v
JULIAN jh uw l y ax n
JULIAN jh uw l ia n
LAW l ao
LEE l iy
PHIL f ih l
SENT-END [] sil
SENT-START [] sil
STEVE s t iy v
SUE s uw
SUE s y uw
TYLER t ay l ax
WOOD w uh d
YOUNG y ah ng
为了避免在 dlog 里出现烦人的 wanning,那就在 names 和 beep 同一目录下分别建立同
名的编辑脚本,内容为空即可。
文件名:names.ded
文件名:beep.ded
[step 3]录制语音数据
HSGen 工具可以生成符合 task grammar 的句子,用来指导录音(HTK book 里叫 sentence
prompts):
HSGen -l -n 140 wdnet .\dict\dict1>.\labels\trainprompts
HSGen -l -n 15 wdnet .\dict\dict1>.\labels\testprompts
根据上述指令文件,录制相应的 140 个训练用语音数据文件和 15 个测试用语音数据文
件。一个录制的例子如下:
HSLab .\data\Train\speech\S0001
3
剩余13页未读,继续阅读
资源评论
- yesl082014-01-22可以使用,比较普遍的那个。对我用处很大。靠这个学习了HTK
- BIOHANZARDX2012-05-22貌似内容有遗漏啊。 没有提供录制的语音,比较不方便。 不过很感谢,很不错的教材。
fangfangpp
- 粉丝: 3
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功