描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302523840
第0章绪论1
0.1研究依据1
0.2研究对象与研究目标2
0.3研究方法3
0.4研究意义3
0.5本书的创新点4
0.6语料来源4
0.7本书的结构5
第1章语音识别技术研究综述7
1.1语音识别的定义与分类7
1.1.1语音识别的定义7
1.1.2语音识别的分类8
1.2语音识别技术的研究进展9
1.2.1语音识别技术的发展概况9
1.2.2国外俄语语音识别技术的研究进展10
1.2.3中国俄语语音识别技术的研究进展13
1.3语音识别系统的基本原理14
1.3.1特征提取15
1.3.2声学模型16
1.3.3语言模型17
1.3.4解码18
1.4语音识别技术研究所关注的关键问题19
本章小结21〖4〗新一代人工智能与语音识别〖2〗目录〖4〗第2章语音数据的加工处理22
2.1问题描述22
2.2众包的定义及内涵23
2.2.1众包的基本概念23
2.2.2众包的基本流程24
2.2.3众包的关键问题24
2.3解决方案25
2.3.1质量控制25
2.3.2语音标注平台的架构27
2.3.3标注平台的设计与实现28
2.4语音标注31
2.4.1语音有效性判断31
2.4.2语音转写规范32
2.4.3语音标注规范32
2.5实验设计与结果分析33
2.5.1实验设计33
2.5.2结果分析34
2.5.3结论36
本章小结36
第3章俄语声学模型的建立37
3.1连续语音识别37
3.1.1连续语音识别的整体模型38
3.1.2声学模型训练的HMMGMM方法40
3.1.3声学模型训练中的HMMDNN方法48
3.2俄语语音学概述52
3.2.1俄语的使用及分布情况52
3.2.2俄语语音的基本特点55
3.2.3俄语音素的发音特征56
3.2.4俄语元音音素的随位变化58
3.2.5俄语辅音音素的随位变化60
3.3俄语声学单元的选择61
3.3.1俄语SAMPA音素集61
3.3.2俄语音系表64
3.4实验设计与结果分析64
3.4.1实验设计65
3.4.2结果分析66
本章小结67
第4章俄语语言模型的建立68
4.1文本语料的准备与清洗68
4.1.1数据来源的筛选69
4.1.2数据爬取71
4.1.3数据的去重与清洗71
4.1.4格式化处理74
4.2语言模型简述75
4.2.1语言模型的平滑技术77
4.2.2语言模型的剪枝算法81
4.3语言模型的训练流程84
4.3.1语言模型的训练实现84
4.3.2词典的选择85
4.3.3LM的剪枝与优化87
4.4实验结果分析89
4.4.1词典规模测试89
4.4.2语料规模测试89
4.4.3语言模型剪枝测试90
本章小结91
第5章基于Kaldi的俄语语音识别原型系统92
5.1系统设计的目标与原则92
5.1.1系统设计的目标92
5.1.2系统设计的原则92
5.2系统的开发环境与整体架构93
5.2.1系统的开发环境93
5.2.2系统的整体架构93
5.3Kaldi环境的搭建94
5.3.1Kaldi及实验环境94
5.3.2Kaldi训练服务器的搭建96
5.3.3AM训练数据及参数设置98
5.3.4LM训练数据及参数设置107
5.4Kaldi训练优化111
5.4.1Kaldi声学建模111
5.4.2GPU加速113
5.5语音识别原型系统的设计114
5.5.1系统GUI的设计114
5.5.2在线识别功能114
5.5.3离线识别功能117
5.6实验设计与结果分析119
5.6.1实验设计119
5.6.2实验结果119
5.6.3结果分析120
本章小结121
第6章总结与展望122
6.1本书的主要成果122
6.2未来的研究计划123
附录A英汉术语对照表124
附录B其他相关资料126
B.1俄语发音词典(76277个词形)示例126
B.2俄语解码词表(189971个词形)示例127
B.3俄语字符Unicode编码对照表128
B.4俄语语音格式化程序(转换为16KB、16b)128
B.5俄语文本转Unicode编码程序129
B.6从https: //twitter.com网站上下载的部分网页文件
(json格式)示例131
B.7从http: //www.interfax.ru网站上下载的部分网页
文件(json格式)示例131
B.8俄语拉丁字母转写表132
参考文献134
自动语音识别(Automatic Speech Recognition,ASR)是自然语言处理(Natural Language Processing,NLP)的一个重要领域。
世界上第一台能够自动识别语音的机器当属一种名为Radio Rex的玩具。这种玩具出现于20世纪20年代。Radio Rex是一个用赛璐璐材料制作成的玩具狗,它受到一根弹簧的控制,弹簧在500Hz的声音频率下会释放,弹簧一旦释放,玩具狗就会动起来。由于500Hz的频率粗略等于单词Rex中元音的第一个共振峰的频率,因此当人们说出Rex的时候,这只叫作Radio Rex的玩具狗就会在人们的呼唤声中自动走过来。
20世纪40年代末至50年代初,美国建立了一系列机器语音识别系统。早期,美国贝尔实验室中的系统可以识别一个单独说话人讲出的10个数字中的任何一个,这个系统存储了不依赖于说话人的10个模式,每个数字各有一个模式,每个模式都代表每个数字中的前两个元音的共振峰,研究人员通过选择与输入语音存在最高相关系数的方法使数字的语音识别正确率达到了97%~99%。
英国伦敦大学的Fry和Denes建立了一个音位识别系统,根据模式识别原则,该系统能够识别英语中的4个元音和9个辅音。Fry和Denes研发的系统首次使用了音位转移概率对语音识别系统进行约束。
20世纪60年代末至70年代初出现了许多重要的创新性研究成果。
首先,出现了一系列特征抽取算法,包括高效的快速傅里叶变换(Fast Fourier Transform,FFT)、倒谱(cepstrum)处理在语音中的应用以及语音编码中的线性预测编码(Linear Predictive Coding,LPC)的研制。
其次,提出了一些处理翘曲变形(warping)的方法,当与存储模式匹配时,通过展宽和收缩输入信号的方法处理说话速率和切分长度的差异。解决这些问题的最自然的方法是动态规划(dynamic programming)。在研究这个问题的时候,同样的算法被多次重新提出。 最早把动态规划应用于语音处理技术的人是Vintsyk,尽管他的成果没有被其他研究人员提及,但是后来有很多研究者都再次重复了他的发明。随后,Itakura把这种动态规划的思想和LPC系数相结合,并首次在语音编码中使用,他建立的系统可以抽取输入单词中的LPC特征,并使用动态规划的方法把这些特征与存储的LPC模板相匹配。这种动态规划方法的非概率应用是对输入语音进行模板匹配,称为动态时间翘曲变形(dynamic time warping)。
〖4〗新一代人工智能与语音识别〖2〗序〖4〗最后是隐马尔可夫模型(Hidden Markov Model,HMM)的兴起。1972年前后,美国的研究人员分别在两个实验室独立应用HMM研究语音问题。其中一部分的应用是由一些统计学领域的工作引起的,Baum和他的同事在普林斯顿国防分析研究所研究HMM,并把它应用于各种预测问题的解决。James Baker在于卡内基梅隆大学(CarnegieMellon University, CMU)攻读硕士期间研究了Baum等人的工作内容,并把他们的算法应用于语音处理。同时,在IBM公司的Thomas J. Watson研究中心,Frederick Jelinek、Robert Mercer、Lalit Bahl独立把HMM应用于语音研究,他们在信息模型方面的研究受到了Shannon的影响。IBM的系统和Baker的系统非常相似,都使用了贝叶斯(Bayes)算法,不同之处是早期的解码算法。Baker的DRAGON系统使用了维特比(Viterbi)动态规划解码,而IBM系统则应用了Jelinek的栈解码算法。Baker在建立DRAGON系统之前曾经短期参加过IBM小组的工作。IBM的语音识别方法在20世纪末期完全主导了语音识别领域,IBM实验室是把统计模型应用于自然语言处理的推动力量,他们研制了基于类别的多元语法模型,研制了基于HMM的词类标注系统,研制了统计机器翻译系统,他们还使用熵和困惑度作为评测系统的度量指标。
HMM逐渐在语音处理界流传开来,原因之一是美国国防部(U.S. Department of Defense)高级研究计划署(Advanced Research Projects Agency,ARPA)发起了一系列相关研究和开发计划。第一个“五年计划”始于1971年,目标是建立基于少数说话人的语音理解系统。这个系统使用了一个约束性语法和一个词表(包括1000个单词),要求语义错误率低于10%。ARPA资助了四个系统,并且对它们进行了比较,这四个系统是: 系统开发公司的系统(System Development Corporation,SDC)、Bolt,Beranek & Newman (BBN)的HWIM系统、卡内基梅隆大学的HearsayⅡ系统和Harpy系统。其中,Harpy系统使用了Baker基于HMM的DRAGON系统的简化版本,在评测系统时得到了最佳成绩。对于一般任务,Harpy系统的语义正确率达到了94%,是唯一一个达到了ARPA计划目标的系统。
自20世纪80年代中期开始,ARPA陆续资助了一些新的语音研究计划。第一个计划的任务是资源管理(Resource Management,RM),与ARPA早期的课题类似,其主要进行阅读语音(说话人阅读的句子的词汇量包含1000个单词)的转写(即语音识别),但这个系统还包括一个不依赖于说话人的语音识别装置。该计划的另一个任务是建立《华尔街杂志》(Wall Street Journal)的句子阅读识别系统,该系统的初始词汇量被限制在5000个单词以内,到最后,系统已经没有了词汇量的限制。事实上,大多数系统的词汇量都已经有了约6万个单词。后来的语音识别系统能够识别的语音已经不再是简单的阅读语音了,而是更加自然的语音。其中,广播新闻识别系统可以转写广播新闻,甚至转写那些非常复杂的新闻,如现场采访;还有CallHome系统、 CallFriend系统和Fisher系统,它们可以识别人们在电话交流中的自然对话。空中交通信息系统(Air Traffic Information System,ATIS)属于语音理解领域的课题之一,该系统可以帮助用户预订飞机票,回答用户关于航班、飞行时间、日期等方面的问题。
ARPA计划大约每年进行一次汇报,参加汇报的除了有ARPA资助的课题以外,还有来自北美和欧洲的其他“志愿者”系统,汇报时将分别测试各个系统的单词错误率和语义错误率。在早期测试中,营利型公司一般不参加比赛,但是随着时间的推移,很多公司开始积极参赛(特别是IBM公司和AT&T公司)。ARPA的比赛促进了各个实验室之间的借鉴和交流,因为在比赛中可以很容易地看出大家过去一年的研究进展和成果,这成为了HMM模型能够传播到每一个语音识别实验室的重要因素。ARPA的计划也造就了很多有用的数据库,这些数据库原来都是为了评估而设计的训练系统和测试系统(如TIMIT、RM、WSJ、ATIS、BN、CallHome、Switchboard、Fisher),但是后来却都在其他总体性研究中得到了应用。
中国在语音自动处理领域也取得了很不错的成绩。于1999年6月9日成立的安徽科大讯飞信息科技股份有限公司(简称科大讯飞)是一家专门从事智能语音及语音技术研究、软件及芯片产品开发、语音信息服务的国家级骨干软件企业。科大讯飞推出的产品包括大型电信级的应用到小型嵌入式的应用,电信、金融等行业到企业和家庭用户,PC到手机再到MP3、MP4、PMP和玩具,能够满足不同的应用环境。科大讯飞占有中文语音技术市场60%以上的市场份额,以科大讯飞为核心的中文语音产业链已经初具规模。
由以上介绍不难看出,自动语音识别是一个交叉学科,需要具备语言学、计算机科学、声学等领域的知识。
本书作者马延周不惧困难,他努力进行知识更新后的再学习,根据俄语语音的特点优化了声学层的HMM模型,采用较好的算法解决了训练数据不足和训练速度慢的问题;他还在具有较强背景噪声和多个说话人的环境下采用了降噪技术,增强了俄语语音识别的健壮性;此外,他还利用了各种能够辅助俄语语音识别的语言信息,除了俄语语音的频谱特征参数、能量参数、韵律参数以外,他还综合利用了俄语构词规则、变格变位规则、句法表现形式以及语义辨析和语境条件,有效地降低了俄语语音识别的错误率。
在研究过程中,作者建立了基于众包的俄语语音标注平台和语音语料库,设计了面向俄语新闻网页文本数据过滤清洗系统的俄语文本语料库,为俄语连续语音识别系统的研究开辟了新途径。作者还构建了一个具有一定规模的俄语发音词典,可以将俄语文本转写为相应的俄语标准发音,并对俄语语音识别中的音素集和字音转换规则进行了优化,降低了声学模型的训练难度,提高了模型的训练效果。最后,作者设计并实现的俄语连续语音识别原型系统同时具有在线识别功能和离线识别功能,这在一定程度上填补了中国俄语语音识别研究领域的空白。
本书详细阐述了作者的创新性研究,值得我们认真学习,是为序。
冯志伟2019年6月5日
前言
随着人工智能、计算技术和信号处理技术的飞速发展,以及自然语言与计算机网络的结合,语言的功能已由人际交流延伸至人机交流和机机交流,而实现这一目标的重要前提是计算机能够听懂并识别和理解人类的语言。当前,作为人机交互的关键技术,语音信息智能处理已成为网络空间环境下世界各国研究者广泛关注的热点问题之一。尤其是随着新媒体的出现和大数据的兴起,人们迫切需要对具有多通道、多来源、多语言特征的海量语音信息技术进行深化研究与创新突破,此项技术的战略意义和安全价值日渐突显。
近年来,国内外众多科研院所和企业都对英文和中文语音识别进行了深入的探索和研究,开发了一系列实用化系统,但是在俄语语音识别领域,尤其是对连续语音识别的研究还相对薄弱。本书通过考察分析国内外语音识别技术的研究现状及存在的难题,重点研究俄语连续语音识别的基本原理和关键技术,尝试采用深度神经网络(DNN)的声学模型优化训练方法,设计俄语连续语音识别原型系统。
本书试图解决以下三个问题:
(1) 俄语新闻语音语料和文本语料的采集、过滤、清洗、标注及建库方法;
(2) 建立基于DNN的声学模型和基于SRILM的语言模型,分析两类模型的训练算法优化和训练结果,并通过对比预测生成适用于语音识别的俄语发音词典;
(3) 设计与实现兼具在线和离线识别功能的俄语连续语音识别原型系统,并对原型系统的性能进行测试验证。
本书取得的主要成果如下:
(1) 在俄语声学模型训练过程中设计了基于众包的语音标注平台,建立了360小时的俄语新闻标注语音语料库,形成俄语语音识别音素集,采用DNN的优化训练方法生成了大小为59.7MB的声学模型;
(2) 在俄语语言模型训练过程中设计了俄语新闻文本语料过滤清洗系统,建立了10GB规模的纯净可训练俄语文本语料库,采用SRILM的优化训练方法生成了大小为1.21GB的四元剪枝语言模型;
(3) 通过数据驱动的方法预测生成包含76277个词形的俄语发音词典,利用该词典的数据资源,并基于Kaldi进行二次开发,实现了具有在线识别和离线识别功能的俄语连续语音识别原型系统,可以为面向特定领域的俄语语音识别实用系统的研发提供基础理论和关键技术支撑。
马延周2019年7月〖4〗新一代人工智能与语音识别〖2〗前言〖4〗
基于Kaldi的俄语语音识别原型系统
接正文本章主要根据前文的研究成果,基于Kaldi平台设计并实现一个俄语连续语音识别原型系统,属于理论方法探讨向工程应用的转化研究,涉及各类知识的综合运用,是本书的实践成果展示部分。主要内容为首先阐述系统设计的目标与原则,其次介绍设计与实现连续语音识别系统、优化声学模型和语言模型建模的方法及过程,最后对实验的结果进行详细分析,验证系统的有效性。
5.1系统设计的目标与原则〖*4/5〗5.1.1系统设计的目标基于标注新闻语料的连续俄语语音识别原型系统设计建立在前文研究的基础之上,旨在对前述算法及模型优化方法进行编码与实现,主要目标包括:
① 实现俄语语言模型的建模及优化,将Katz、KN等算法体现在训练过程中,用来测试语言模型的有效性,并检验算法的可靠性;
② 基于Kaldi进行二次开发,设计可复用的代码模块,为其他语种的语音识别研究提供示范应用和程序保障;
③ 设计一个开放平台,为成果转化提供一种可操作的技术方案。
5.1.2系统设计的原则
本书设计的基于Kaldi的俄语连续语音识别原型系统主要遵循如下原则。
① 代码复用性。系统的主界面的核心代码可以复用,以减少系统的工作量,只需要更改部分参数设置即可应用于不同语种的识别应用。
② 界面易用性。人机交互界面往往决定了系统的易懂度和易用度,对用户来说,主界面的易用性体现在用户的首次使用感受,界面能够反映系统的主体功能,能够使用户在最短时间内掌握其使用方法。
③ 平台兼容性。当前绝大多数用户对Windows系统界面比较容易接受,而对Linux系统界面的掌握尚有一定难度,因此在系统开发的过程中应考虑平台的兼容性,以达到用户最容易接受的程度。
以上原则的主要目的是降低系统开发的成本及难度,增强用户的使用体验。
〖4〗新一代人工智能与语音识别〖2〗第5章基于Kaldi的俄语语音识别原型系统〖4〗5.2系统的开发环境与整体架构〖*4/5〗5.2.1系统的开发环境基于Kaldi平台的二次开发;
服务器端ASR运行环境: Ubuntu 14.0;
客户端的操作系统: Windows 7;
软件开发环境: Microsoft Visual Studio 2010;
开发语言: C#、.NET Framework 4.0。
5.2.2系统的整体架构
基于Kaldi的俄语语音识别原型系统的整体架构如图51所示。
图51俄语语音识别原型系统Gstreamer用于搭建ASR服务器,供用户远程访问、传入语音文件、返回该语音文件的识别结果,Gstreamer ASR的架构如图52所示。
图52Gstreamer ASR的架构
5.3Kaldi环境的搭建〖*4/5〗5.3.1Kaldi及实验环境〖*2〗1. Kaldi简介2009年,在约翰霍普金斯大学的夏季研讨会上,Daniel Povey提出了一种新的子空间高斯混合模型(Subspace Gaussian Mixture Model,SGMM),同时发布了Kaldi语音识别系统。Kaldi是一个开源的语音识别系统,主要通过C 实现,通过Github发布更新,可以在通用的类UNIX环境和Windows环境下编译。
Kaldi语音识别系统主要基于带权有限状态转换器对模型进行训练和识别,同时使用OpenFst库实现语音识别功能。此外,声学模型训练有着大量的矩阵运算,Kaldi 封装了部分CLAPACK、ATLAS和TNT 库以满足上述需求。Kaldi的特征主要有: 与文本无关的LVCSR系统;基于FST的训练和解码;最大似然训练;有VTLN、SAT的脚本;Kaldi支持标准的机器学习训练模型和线性变换,如LDA HLDA,MLLT/STC;说话人自适应,如fMLLR、MLLR。声学模型方面支持GMM、SGMMs、DNN。其中,Kaldi的最大优点在于提供了多套DNN训练方法,以方便用户训练自己的DNN声学模型。
① 由Karel Vesely提供的训练方法,称为nnet1,该方法仅支持一个GPU或CPU进行训练,训练速度较慢。
② 由Daniel Povey提供的训练方法,称为nnet2,该方法同时支持多个GPU或者多个CPU,使用更加灵活,训练速度也有较大幅度的提高。识别率与nnet1相比有轻微的下降,但与其出色的训练效率相比,结果是可以接受的。该方法也是目前Kaldi最受欢迎的DNN训练方法。
③ 由Daniel Povey维护,持续更新中,称为nnet3,同样支持多个GPU或多个CPU,可训练LSTM声学模型,但还没有提供在线解码程序。
2. 实验环境
本实验环境的拓扑结构如图53所示。
图53实验室拓扑结构
其中,1号服务器硬件配置: 曙光云图W760G20高性能服务器,16核i7至强CPU,128GB内存,4块600GB硬盘,2块K40m 12GB的GPU,主要用来训练俄语声学模型。
2号服务器硬件配置: 曙光I620G20服务器,16核i7至强CPU,64GB内存,4块600GB硬盘,主要用来进行俄语语言模型的训练。
3号服务器硬件配置: 曙光I620G20服务器, 16核i7至强CPU,64GB内存,4块600GB硬盘,主要用来提供ASR引擎,实现俄语在线和离线语音识别。
客户端通过GUI远程登录服务器实现语音识别等功能。
5.3.2Kaldi训练服务器的搭建
本书中的HMMGMM及DNN声学模型的训练流程和测试流程均是基于Kaldi搭建的。
1. GPU及CUDA的安装
使用Kaldi进行DNN训练需要在服务器上安装GPU。本次实验采用的GPU为2块Tesla K40m。K40m号称NVIDIA有史以来性能最强的加速器,与之前的GPU相比,Tesla K40的频率更高,核心从732MHz提升到了745MHz,并支持动态加速,且有810MHz、875MHz两个档次,浮点性能因此增至单精度4.29TFlops、双精度1.43TFlops。显存的频率不但从5.2GHz提升至6GHz,容量也翻了一番,在该系列中首次达到12GB,为此使用4Gb(512MB) GDDR5显存的24颗粒,配合384b的位宽,带宽也达到了288GB/s。Tesla K40的热设计功耗依然保持在235W,而散热方式除了被动式之外,还增加了主动式。K40m的高性能为DNN的训练提供了强有力的保障。
在NVIDIA的官方网站上下载最新版本的CUDA Linux 64位安装包cuda_7.5.18_linux.run,该CUDA安装包默认封装了GPU的驱动程序,故不需要单独安装K40m的驱动程序,直接安装CUDA即可。安装完成后,可运行NVIDIA_CUDA7.5_Sample/bin目录下的可执行文件查看CUDA是否安装成功。
2. Kaldi的安装及运行
安装Kaldi之前需要将CUDA安装成功。在Centos服务器上安装Kaldi时需要将服务器联网,在Kaldi官网上下载Kaldi安装包。Kaldi中需要用到一系列工具,如openfst、atlas、sctk等,需要先到Kaldi安装包的tools目录下按照该目录下的INSTALL文件安装这些工具。在所有这些外部工具安装完成后,在Kaldi的源代码src目录下根据该目录下的INSTALL文件对Kaldi的源代码进行编译和安装。至此,Kaldi工具安装成功,可以使用Kaldi目录下的egs中的yesno验证Kaldi是否安装成功。
在运行Kaldi中的样例时,需要注意三个脚本: cmd.sh、path.sh、run.sh。
cmd.sh脚本为# “queue.pl” uses qsub.The options to it are
# options to qsub.
# change this to a queue you have access to.
# Otherwise, use “run.pl”, which will run jobs locally
# (make sure your –num-jobs options are no more than
# the number of cpus on your machine.
#a) JHU cluster options
#export train_cmd=”queue.pl -l arch=64″
#export decode_cmd=”queue.pl -l arch=64,mem_free=2G,ram_free=2G”
#export mkgraph_cmd=”queue.pl -l arch=64,ram_free=4G,mem_free=4G”
#export cuda_cmd=run.pl
#b) BUT cluster options
#export train_cmd=”queue.pl -q all.q@@blade -l ram_free=1200M,mem_free=1200M”
#export decode_cmd=”queue.pl -qall.q@@blade -l ram_free=1700M,mem_free=1700M”
#export decodebig_cmd=”queue.pl -q all.q@@blade -l ram_free=4G,mem_free=4G”
#export cuda_cmd=”queue.pl -q long.q@@pco203 -l gpu=1″
#export cuda_cmd=”queue.pl -q long.q@pcspeech-gpu”
#export mkgraph_cmd=”queue.pl -q all.q@@servers -l ram_free=4G,mem_free=4G”
#c) run it locally…
export train_cmd=run.pl
export decode_cmd=run.pl
export cuda_cmd=run.pl
export mkgraph_cmd=run.pl可以看到有三个分类分别对应a、b、c。a和b都在集群上运行,c就是我们需要的。
path.sh脚本为export KALDI_ROOT=’pwd’/../../..
export
PATH=$PWD/utils/:$KALDI_ROOT/src/bin:$KALDI_ROOT/tools/openfst/bin:$KALDI_ROOT/tools/irstlm/bin/:$KALDI_ROOT/src/fstbin/:$KALDI_ROOT/src/gmmbin/:$KALDI_ROOT/src/featbin/:$KALDI_ROOT/src/lm/:$KALDI_ROOT/src/sgmmbin/:$KALDI_ROOT/src/sgmm2bin/:$KALDI_ROOT/src/fgmmbin/:$KALDI_ROOT/src/latbin/:$KALDI_ROOT/src/nnetbin:$KALDI_ROOT/src/nnet-cpubin/:$KALDI_ROOT/src/kwsbin:$PWD:$PATH
export LC_ALL=C
export IRSTLM=$KALDI_ROOT/tools/irstlm在此只需要修改export KALDI_ROOT=’pwd’/../../..为安装Kaldi的目录,有时候不修改也可以,需要根据实际情况而定。
run.sh需要指定数据在什么路径下,只需要修改。如: #timit=/export/corpora5/LDC/LDC93S1/timit/TIMIT # @JHU
timit=/mnt/matylda2/data/TIMIT/timit # @BUT修改训练数据所在的路径,其他的数据库都一样。
5.3.3AM训练数据及参数设置〖*2〗1. 数据库简介本书的声学模型训练和最后的解码测试需要的数据都来自于trainclean130、trainclean110、trainother120。这三个语音库的详细介绍如下。
① trainclean130(单句1)语料库包含200个俄语说话人的语音数据,共计239776条话语录音。纯录音时间约为130小时(单通道),其中包括句首的静音(约500毫秒)、句尾静音(约500毫秒)。该数据库的总大小为38GB。每个信道的声音采样频率为16kHz、16位、单声道,为未经压缩的PCM语音格式。所有波形文件均保存在\wav目录中。
文件结构为4级存储:data\channel\wave\Speaker每一部分的定义如表51所示。表51语音文件存储结构定义通道编号Defined as channel
where is the channel number from 0 to 3;说话人编号Defined as Speaker
where is a number from 0010 to 2000(numbers were randomly used)提示文件经过转录说话人的提示,包含噪声标记和真实内容。如: 20Борьбу за медали поведут немцы, голландцы, американцы, испанцы.
борьбу за медали поведут немцы голландцы американцы испанцы其中,20是波形文件的名称,后面是一个,最后是读音提示。
内容选择: 录音的句子是经过设计的,应尽量涵盖俄语音素,选择7~20个字的自然句子,包括政治、经济、文化、体育、社会等领域,使得音素的覆盖率尽可能平衡。
表52和表53所示分别是俄语字母和音素的统计结果。表52语音库1的字母统计表LetterCoverageLetterCoverageLetterCoverageLetterCoverageЁ4Ф252м87235Ё4А1001Х227н194489А1001Б1079Ц105о320804Б1079В5777Ч473п86893В5777Г783Ш190р151990Г783Д1223Щ25с160334Д1223Е748Э896т193599Е748Ж250Ю98у73297Ж250З914Я321ф9148З914И1316а229370х30533И1316Й12б47892ц17826Й12К2784в131375ч41775К2784Л548г45786ш18242Л548М1509д86355щ11947М1509表53语音库1的音素统计表PhoneCoveragePhoneCoveragePhoneCoveragePhoneCoverage197411j98131s’38383197411S19430k98627t146014S19430S’: 13809k’17955t’54699S’: 13809Z27165l55313tS’752Z27165a519858l’77276ts11351a519858b34805m59308tS’39635b34805b’9782m’28976ts17732b’9782d50998n127120u95855d50998d’29765n’68744v100283d’29765e96836o128279v’30011e96836转写标准: 所有语音文件的标注规则经过了俄语语言学家的评估,由俄语语音标注平台统一进行标注(标注平台的设计见2.3.3节),标注规范见2.4节。本语音数据库包含俄语单词词形76277个。
② trainclean110(单句2)语料库包含100名说话人录制的双通道语音,共计40096条,纯录音时间约110小时,规模约13GB。前50个说话人录制的是手机录音,后50个说话人录制的是不同的人名、数字串和地址等文本。
字母统计和音素统计分别如表54和表55所示。表54语音库2的字母统计表AlphabetCoverageAlphabetCoverageAlphabetCoverageAlphabetCoverageА3800в131023Р2413т185649Б5377г42223С2507у59669В1653д96172Т2343ф4944Г5204е245783У938х25919Д2503ж27761Ф601ц17704Е1131з49104Х151ч35152Ж58и221313Ц80ш18166З541й32628Ч441щ10416И2633к88588Ш872ъ888Й2л109650Щ6ы49960К3552м73386Э503ь50910Л1292н186336Ю894э11497М4617о297876Я896ю17920Н1343п86345а218407я66352О1054р150393б37860ё6729П1647с156282表55语音库2的音素覆盖表PhoneCoveragePhoneCoveragePhoneCoveragePhoneCoverage”S17715S20300″n’17246n’54655″S’: 2909S’: 9311″o7140o105548″Z10597Z21912″p25676p59045续表PhoneCoveragePhoneCoveragePhoneCoveragePhoneCoverage”a5238a525883″p’4245p’10434″b16659b13986″r20797r84367″b’4528b’6724″r’6114r’47769″d20449d35007″s29106s88102″d’18921d’22055″s’15273s’30661″e11386e104871″t28273t124015″f4415f34558″t’5062t’47820″f’111f’3616″ts456tS’80″g15096g18008″tS’10205ts10455″g’1549g’2988″ts2724tS’16267″i21692i383952″u4137ts12672″j8856j88203″v49297u83145″k20498k65618″v’7806v66585″k’3659k’14929″x3088v’23022″l7835l35106″x’24×22368″l’15516l’57692″z12466x’898″m10693m35467″z’1699z30218″m’11554m’22589191545z’4843″n26724n109470本语音数据库包含俄语单词12001个。
③ trainother120(数串)语料库包含50名说话人录制的59988条语音数据。每位说话人在一个会话中记录300条数字串,纯录音时间约为120小时,包括句首和句尾的静音段,该数据库的总大小为30.6GB。
录音提示包含在一个文件中,.txt在/script目录,文件格式如下所示。V100100166 0 4 9 7 3 2 5 8 1
шесть ноль четыре девять семь три два пять восемь один
V100100175 4 3 8 2 9 0 1 7 6
пять четыре три восемь два девять ноль один семь шесть
评论
还没有评论。