版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通信工程毕业论文青岛大学本科毕业生论文(设计) 题 目: 孤立词语音识别的并行编程实现 专 业: 通信工程 青岛大学本科生毕业论文(设计) 摘 要 语音识别是解决机器“听懂”人类语言的一项技术。首先介绍了目前国内外语音识别系统的现状、发展及研究方向,并对语音识别系统的原理、并行化的实现做了详细分析,在此基础上进行语音识别系统的设计,主要内容有:提取语音、端点检测、特征值提取、训练数据、语音识别。选用HMM隐马尔科夫模型,基于VC2005编译环境下的的多线程编程,实现算法的并行运算,提升了语音识别的效率。设计完成后在实验室进行了模拟调试,实验结果表明:所设计的程序满足语音识别系统的基本要求。 关
2、键词 语音识别 孤立词 多线程 并行 特征值 断点检测 Abstract Speech recognition is a technique to solve the machine ”understand human language. First introduces the current status of speech recognition system at home and abroad, development and research, and the principle of speech recognition systems, parallel implementat
3、ion of a detailed explanation to do in this speech recognition system based on the design of main contents are: Extract voice, endpoint detection, feature extraction, training data, voice recognition。 HMM hidden Markov model selection, based on VC2005 compiler environment of multithreaded programmin
4、g, parallel computing algorithms to improve the efficiency of speech recognition. Upon completion of the design was simulated in the lab debugging, experimental results show that: the design process to meet the basic requirements of speech recognition systems. Keywords Speech Recognition Isolated Wo
5、rds Multi-Threads Parallel Eigenvalue Breakpoint Detection 目 录 前 言 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 1 第1章 语音识别技术概述 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 2 1.1 语音识别的历史背景 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 2 1.1.1 国外研究历史及现状 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。
6、.。.。.。.。.。.。.。.。.。.。. 3 1.1。2 国内研究历史及现状 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 4 1.2 语音识别技术应用 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 4 1.3 语音识别技术的发展 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 6 1。4 语音识别技术的研究方向 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 6
7、 第二章 主要研究内容和方法 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 8 2.1 语音识别的研究内容 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 8 2。2 语音识别系统的分类 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 8 2。3 语音识别的研究方法 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 9 2.4 并行计算技术 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.
8、。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 10 2。5 OPENMP编程模型 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 12 2。5。1 OpenMP介绍 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 12 2.5。2 OpenMP指导命令流程 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 14 第三章 基于VC2005孤立词语音识别编程的实现 。.。.。.。.。.。.。.。.。.。.。.。.。
9、 17 3。1 语音识别系统原理及设计方法 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 17 3。1.1 语音识别系统的基本原理 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 17 3。1。2 语音识别的几种基本设计方法.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 18 3。2 孤立词语音识别系统 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 19 3.2。1 孤立词语音识别系统的构成 .。.。.。.。.。.。.。.。
10、.。.。.。.。.。.。.。.。.。.。.。.。. 19 3。2。2 孤立词语音识别系统的技术主要项目 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 20 3.2。3 基于语音轨迹特征的匹配技术.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 21 3.3 语音识别设计流程 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 21 3.3。1 样本语音采集 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 21 3.3.2 语音信号预处
11、理 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。 21 3。3.3 Mel倒谱系数特征表示 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 22 3。3。4 HMM隐马尔科夫模式匹配 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 24 3。3.7 OpenMP编程实现多核并行运算 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 25 结束语 .。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。
12、.。.。.。.。. 30 谢 辞 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 31 参考文献 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。. 32 青岛大学本科生毕业论文(设计) 前 言 语音识别是解决机器“听懂人类语言的一项技术。作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注.如今,随着语音识别技术研究的突破,其对计算机发展和社会生活的重要性日益凸现出来。以语音识别技术开发出的产品应用领域非常广泛,如声控电话交换、信息
13、网络查询、家庭服务、宾馆服务、医疗服务、银行服务、工业控制、语音通信系统等,几乎深入到社会的每个行业和每个方面。 广泛意义上的语音识别按照任务的不同可以分为4个方向:说话人识别、关键词检出、语言辨识和语音识别。说话人识别技术是以话音对说话人进行区别,从而进行身份鉴别和认证的技术。关键词检出技术应用于一些具有特定要求的场合,只关注那些包含特定词的句子。语言辨识技术是通过分析处理一个语音片断以判别其所属语言种类的技术,本质上也是语音识别技术的一个方面。语音识别就是通常人们所说的以说话的内容作为识别对象的技术,它是4个方面中最重要和研究最广泛的一个方向,也是本文讨论的主要内容。 语音识别技术,也被称
14、为自动语音识别Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容. 语音识别技术的应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。语音识别技术与其他自然语言处理技术如机器翻译及语音合成技术相结合,可以构建出更加复杂的应用,例如语音到语音的翻译。 语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等. 1 第1章 语音识别技术
15、概述 语音识别是解决机器“听懂”人类语言的一项技术.作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。如今,随着语音识别技术研究的突破,其对计算机发展和社会生活的重要性日益凸现出来。以语音识别技术开发出的产品应用领域非常广泛,如声控电话交换、信息网络查询、家庭服务、宾馆服务、医疗服务、银行服务、工业控制、语音通信系统等,几乎深入到社会的每个行业和每个方面. 广泛意义上的语音识别按照任务的不同可以分为4个方向:说话人识别、关键词检出、语言辨识和语音识别.说话人识别技术是以话音对说话人进行区别,从而进行身份鉴别和认证的技术。关键词检出技术应用于一些具有
16、特定要求的场合,只关注那些包含特定词的句子。语言辨识技术是通过分析处理一个语音片断以判别其所属语言种类的技术,本质上也是语音识别技术的一个方面.语音识别就是通常人们所说的以说话的内容作为识别对象的技术,它是4个方面中最重要和研究最广泛的一个方向,也是本文讨论的主要内容. 语音识别技术,也被称为自动语音识别Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列.与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。 语音识别技术所涉及的领域包括:信号处理、模
17、式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。 1。1 语音识别的历史背景 早在计算机发明之前,自动语音识别的设想就已经被提上了议事日程,早期的声码器可被视作语音识别及合成的雏形.而1920年代生产的”Radio Rex”玩具狗可能是最早的语音识别器,当这只狗的名字被呼唤的时候,它能够从底座上弹出来。最早的基于电子计算机的语音识别系统是由ATT贝尔实验室开发的Audrey语音识别系统,它能够识别10个英文数字。其识别方法是跟踪语音中的共振峰。该系统得到了98的正确率。到1950年代末,伦敦学院(Colledge of London)的Denes已经将语法概率加入语音识别中。 196
18、0年代,人工神经网络被引入了语音识别.这一时代的两大突破是线性预测编码Linear Predictive Coding (LPC), 及动态时间弯折Dynamic Time Warp技术. 语音识别技术的最重大突破是隐含马尔科夫模型Hidden Markov Model的应用。从Baum提出相关数学推理,经过Labiner等人的研究,卡内基梅隆大学的李开复最终实现了第一个基于隐马尔科夫模型的大词汇量语音识别系统Sphinx。此后严格来说语音识别技术并没有脱离HMM框架。 2 尽管多年来研究人员一直尝试将“听写机”推广,语音识别技术在目前还无法支持无限领域,无限说话人的听写机应用。 1。1.1
19、国外研究历史及现状 语音识别的研究工作可以追溯到20世纪50年代ATT贝尔实验室的Audry系统,它是第一个可以识别十个英文数字的语音识别系统。 但真正取得实质性进展,并将其作为一个重要的课题开展研究则是在60年代末70年代初。这首先是因为计算机技术的发展为语音识别的实现提供了硬件和软件的可能,更重要的是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术的提出,有效的解决了语音信号的特征提取和不等长匹配问题。这一时期的语音识别主要基于模板匹配原理,研究的领域局限在特定人,小词汇表的孤立词识别,实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统;同时提出了矢量量化(VQ)和
20、隐马尔可夫模型(HMM)理论。 随着应用领域的扩大,小词汇表、特定人、孤立词等这些对语音识别的约束条件需要放宽,与此同时也带来了许多新的问题:第一,词汇表的扩大使得模板的选取和建立发生困难;第二,连续语音中,各个音素、音节以及词之间没有明显的边界,各个发音单位存在受上下文强烈影响的协同发音(Coarticulation)现象;第三,非特定人识别时,不同的人说相同的话相应的声学特征有很大的差异,即使相同的人在不同的时间、生理、心理状态下,说同样内容的话也会有很大的差异;第四,识别的语音中有背景噪声或其他干扰。因此原有的模板匹配方法已不再适用。 实验室语音识别研究的巨大突破产生于20世纪80年代末
21、:人们终于在实验室突破了大词汇量、连续语音和非特定人这三大障碍,第一次把这三个特性都集成在一个系统中,比较典型的是卡耐基梅隆大学(CarnegieMellonUniversity)的Sphinx系统,它是第一个高性能的非特定人、大词汇量连续语音识别系统。 这一时期,语音识别研究进一步走向深入,其显著特征是HMM模型和人工神经元网络(ANN)在语音识别中的成功应用。HMM模型的广泛应用应归功于ATTBell实验室Rabiner等科学家的努力,他们把原本艰涩的HMM纯数学模型工程化,从而为更多研究者了解和认识,从而使统计方法成为了语音识别技术的主流。 统计方法将研究者的视线从微观转向宏观,不再刻意
22、追求语音特征的细化,而是更多地从整体平均(统计)的角度来建立最佳的语音识别系统。在声学模型方面,以Markov链为基础的语音序列建模方法HMM(隐式Markov链)比较有效地解决了语音信号短时稳定、长时时变的特性,并且能根据一些基本建模单元构造成连续语音的句子模型,达到了比较高的建模精度和建模灵活性。在语言层面上,通过统计真实大规模语料的词之间同现概率即N元统计模型来区分识别带来的模糊音和同音词。另外,人工神经网络方法、基于文法规则的语言处理机制等也在语音识别中得到了应用。 3 20世纪90年代前期,许多著名的大公司如IBM、苹果、AT,T和NTT都对语音识别系统的实用化研究投以巨资.语音识别
23、技术有一个很好的评估机制,那就是识别的准确率,而这项指标在20世纪90年代中后期实验室研究中得到了不断的提高。比较有代表性的系统有:IBM公司推出的ViaVoice和DragonSystem公司的NaturallySpeaking,Nuance公司的NuanceVoicePlatform语音平台,Microsoft的Whisper,Sun的VoiceTone等。 1.1.2 国内研究历史及现状 我国语音识别研究工作起步于五十年代,但近年来发展很快。研究水平也从实验室逐步走向实用.从1987年开始执行国家863计划后,国家863智能计算机专家组为语音识别技术研究专门立项,每两年滚动一次。我国语音
24、识别技术的研究水平已经基本上与国外同步,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。中科院自动化所、声学所、清华大学、北京大学、哈尔滨工业大学、上海交通大学、中国科技大学、北京邮电大学、华中科技大学等科研机构都有实验室进行过语音识别方面的研究,其中具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室。 清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到94.8(不定长数字串)和96。8(定长数字串)。在有5的拒识率情况下,系统识别率可以达到96。9%(不定长数字串)和98。7%(定长数字串),
25、这是目前国际最好的识别结果之一,其性能已经接近实用水平.研发的5000词邮包校核非特定人连续语音识别系统的识别率达到98。73%,前三选识别率达99。96;并且可以识别普通话与四川话两种语言,达到实用要求. 中科院自动化所及其所属模式科技(Pattek)公司2002年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品-PattekASR,结束了中文语音识别产品自1998年以来一直由国外公司垄断的历史。 如果从识别系统的词汇量大小考虑,也可以将识别系统分为3类:(1)小词汇量语音识别系统。通常包括几十个词的语音识别系统。(2)中等词汇量的语音识别系统。通常包括几百个词到上千个词
26、的识别系统。(3)大词汇量语音识别系统。通常包括几千到几万个词的语音识别系统。随着计算机与数字信号处理器运算能力以及识别系统精度的提高,识别系统根据词汇量大小进行分类也不断进行变化。目前是中等词汇量的识别系统到将来可能就是小词汇量的语音识别系统。这些不同的限制也确定了语音识别系统的困难度. 1.2 语音识别技术应用 1、语音识别获得应用 伴随着语音识别技术的不断发展,诞生了全球首套多语种交谈式语音识别系统Etalk。这是全球惟一拥有中英混合语言的识别系统,能听能讲普通话、广东话和英语,还可以高度适4 应不同的口音,因而可以广泛适用于不同文化背景的使用者,尤其是中国地区语言差别较大的广大用户。由
27、于Etalk可以大大提高工作效率,降低运营成本,并为用户提供更便捷的增值服务,我们相信它必将成为电信、证券、金融、旅游等重视客户服务的行业争相引用的电子商务应用系统,并成为电子商务发展的新趋势,为整个信息产业带来无限商机。 2、语音合成信息服务被用户接受 语音合成技术把可视的文本信息转化为可听的声音信息,其应用的经济效益和社会效益前景良好。尤其对汉语语音合成技术的应用而言,全球有十几亿人使用中文,其市场需求、应用前景和经济效益等可见一斑。 语音技术已逐渐在电信声讯信息服务领域智能电话查询系统中展开应用,并迅速推广。在电话高度普及的今天,如果打电话就能查询到所需信息,无疑将给人们的日常生活带来极
28、大方便。汉语语音合成技术应用到声讯服务领域内,对现有的电话查询系统将产生革命性的影响。 语音技术与互联网已成功地结合。电话Internet网关是一种用于实现电话网和Internet网之间信息互访的系统。简而言之,就是让电话用户能够轻松地通过电话网访问Internet网。利用语音合成技术的信息服务得到了用户的广泛接纳,给用户生活提供了极大的方便。 3、面向对象的语音编码 长期以来,在通信网的发展中,解决信息传输效率是一个关键问题,极其重要。目前科研人员已通过两个途径研究这一课题,其一是研究新的调制方法与技术,来提高信道传输信息的比特率,指标是每赫兹带宽所传送的比特数;其二是压缩信源编码的比特率,
29、例如标准PCB编码,对3.4KHz频带信号需用64KHz编码比特率传送,而压缩这一比特率,显然可以提高信道传送的话路数.这对任何频率资源有限的传输环境来说,无疑是极为重要的,尤其是在无线通信技术决定今后通信发展命运的今天更显得重要。实际上,压缩语音编码比特率与话音存储、语音识别及语音合成等技术都直接相关。 语音编码技术的进展对通信新业务的发展有极为明显的影响,例如IP电话业务、实时长途翻译业务、交换机的人工智能接口等。因此,国际电报电话咨询委员会(CCITT)第15组提出了许多急需制订的话音编码标准建议,以推动通信网的发展。由于VLDSI的发展,实现这一技术的代价已从在昂贵的信道中采用,发展到
30、一般信道中都可接受的水平,因此,编码技术日益受到重视。当前,数字移动通信和个人通信(PCN)是深受人们重视的通信手段,其重要问题之一是压缩语音编码速率,形成面向对象的语音编码技术。 数字语音编码技术从1938年提出PCM开始,其编码方法已有了很大的发展,如1968年提出的线性预测编码技术(LPC)、20世纪70年代末出现的隐马尔科夫技术(HMM)以及矢量量化(VQ)等。 4、口语机器翻译受到重视 口语翻译的一个重要目的就是帮助聋哑人与正常人交流,近来越来越受到人们的重视。首先,聋哑人要戴上一副特制的手套,计算机根据他打出的手语进行识别,然后,通过语音5 合成系统就可以把图像信息翻译成语言信息。
31、同时,系统还能够完成将正常人的语言翻译成聋哑人的手语,只要将正常人说的话键入计算机,经程序分析处理之后,翻译成有表情、有动作的三维图像,从而最终达到聋哑人与正常人之间通过翻译机进行交流的目的。口语翻译的研究在其他很多方面都有重要价值,如用手势控制计算机,甚至用手势导航等。 1.3 语音识别技术的发展 1、神经网络用于训练韵律模型 由于人工神经网络具备良好的自学习和自适应能力,将其应用于语音合成系统中的韵律模型研究具有很重要的意义.将神经网络模型与已有的文语转换系统有机结合,可以改变传统的文语转换系统的韵律模型,具有更强的适应性和可训练性,使合成语音的自然度得到显著提高,增加了系统的灵活性和风格
32、的多样性。 2、数据挖掘用于发现语音知识 数据挖掘作为一种在大量数据库中发现隐藏新知识的计算技术方法,通过语音定性模型的建立,将数据分析和挖掘结果转化为逻辑规则或用可视化的形式进行表达。因此,将数据挖掘和人机交互接口紧密地联系在一起,将对计算机语音信号处理的研究工作产生巨大的推动力,为语音信号处理提供了一条崭新的研究途径. 3、文本可视语音转换系统研制成功 文本可视语音转换技术的出现是多媒体技术迅速发展的产物 也迎合了社会发展的需求。它给人们的生活增添了新的色彩,使计算机更加人性化,人们与计算机的交流变得更为简单.相信在不久的将来,它会在众多的技术、商业和娱乐领域得到广泛的应用,并逐步进入我们
33、每个人的生活。 1。4 语音识别技术的研究方向 1、连续自然语音的识别与理解 自然语音识别与理解研究的是计算机如何理解人类的语言 其目的就是让计算机能够理解人说的话,当我们使用计算机时,要告诉它应该做什么,它就能按照所理解的去执行。虽然现在自然语音识别与理解的理论研究得到了进一步完善,同时,计算机的功能、容量和速度都有了很大的提高,但研究仍局限在对孤立音节的识别与理解上。人类流畅的自然发音不是孤立音节发音的简单组合,它是在一定时间范围内输出的一种连续语流,因此,需要对连续语音进行处理.连续语音识别与理解技术中需要解决的难点很多,对它的研究是语音技术今后的目标之一。 2、高自然度、具有表现力的合
34、成语音 提高合成语音的自然度仍然是高性能文语转换的当务之急。就汉语语音合成来说,目前在单字和词组级上,合成语音的可懂度和自然度已基本解决,但是对于句子乃至篇章级,其6 自然度问题就比较大。未来的文语转换系统的发展趋势是采用基于语境相关的合成思想进行设计,能够将发音人的原始发音特征最大限度地保留下来,辅助以先进的层次化语言韵律模型,通过分散统计的模型方法来涵盖语义语音之间的内在联系,使系统能够输出具有高自然度和表现力的合成语音。但是,在目前的合成系统中,普遍存在合成输出语音的机器味比较浓、语境的知识层次模型研究不完善等问题.因此,获得高自然度、具有表现力的合成语音,也是今后语音技术的研究目标之一
35、 。 3、语音技术与多媒体技术的结合 伴随着现代语音技术的不断发展,人类对语音信号的需要已经不仅仅停留在可懂性和正确性上,语音合成技术的研究方向已是合成语音的美感并同时输出辅助的视频特征,实现虚拟主持人的效果,通过将视觉效果包括人的头部建模、唇形同步技术和表情因素等视频信息的加入,可以更好地体现语音合成系统的表现力和感染力。因此,我们完全有理由相信,语音技术和多媒体技术的有机结合将使合成系统展现出广阔的应用前景。 4、语音技术与网络技术的结合 目前,语音技术已逐渐应用于电信的声讯信息服务领域和互联网消息收发方面。随着电话网与互联网的融合、网络信息项目的增多和时效性要求逐步提高,建立适合于股票交
36、易、航班动态查询、电话自动报税等业务的语音系统成为可能,电话用户可以通过传统的语音、传真获取互联网上无穷无尽的信息.这些业务将彻底解决传统数字录音回放技术所无法解决的海量信息库和动态变化信息的实时生成与存储的难题.因此,将语音技术与网络进行完美的结合具有强大的生命力。 5、多语种 语言是人们交流的工具,不同民族有自己不同的语言,不同语言之间的交流在今天开放的信息社会和网络时代显得十分重要,因此,多语种的文语合成有着独特的应用价值.例如,在自动电话翻译、有声电子邮件等应用中都提出了多语种语音合成的需求,即使是对汉语合成也有多方言文语转换问题。理想的多语种合成系统最好是各种语言共用一种合成算法或语
37、音合成器,但现有的语音合成系统大多是针对某一种语言或若干种语言开发出来的,所采用的算法及规则都是与某种语言密切相关的,因此很难推广到其他语种。如汉语和西方语言之间存在着很大的差异,而目前国内的系统都是做汉语文语转换的 其韵律控制规则完全不适合于英语,而且它们主要是合成汉语普通话的,即使推广到广东话和上海话都有相当的难度. 可见要真正解决多语种的文语合成,从文本处理到语音合成都必须有新的思路,因此,研制多语种语音合成转换系统具有重要的理论和现实意义. 7 第二章 主要研究内容和方法 2.1 语音识别的研究内容 语音识别技术是利用计算机对语音进行特征提取,获取最能表征语音特征的有用信息,根据这些信
38、息来对语音所代表的内容或说话人身份判断的技术.因此需要对语音波形的幅值、频率等特点进行研究,我们把语音识别的研究内容大致可以分为语音提取、特征提取、语音识别、内容分析、内容匹配。 语音识别是一门交叉学科,语音识别正逐步成为信息技术中人机接口的关键技术,语音识别技术与语音合成技术结合使人们能够甩掉键盘,通过语音命令进行操作。语音技术的应用已经成为一个具有竞争性的新兴高技术产业. 与机器进行语音交流,让机器明白你说什么,这是人们长期以来梦寐以求的事情。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术.语音识别是一门交叉学科。近二十年来,语音识别技术取得显著进步,开始
39、从实验室走向市场。人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。语音识别听写机在一些领域的应用被美国新闻界评为1997年计算机发展十件大事之一。很多专家都认为语音识别技术是2000年至2010年间信息技术领域十大重要的科技发展技术之一。 2。2 语音识别系统的分类 语音识别系统可以根据对输入语音的限制加以分类。如果从说话者与识别系统的相关性考虑,可以将识别系统分为3类:(1)特定人语音识别系统:仅考虑对于专人的话音进行识别;(2)非特定人语音系统:识别的语音与人无关,通常要用大量不同人的语音数据库对识别系统进行学习;(3)多人的识
40、别系统:通常能识别一组人的语音,或者成为特定组语音识别系统,该系统仅要求对要识别的那组人的语音进行训练. 如果从说话的方式考虑,也可以将识别系统分为3类:(1)孤立词语音识别系统:孤立词识别系统要求输入每个词后要停顿;(2)连接词语音识别系统:连接词输入系统要求对每个词都清楚发音,一些连音现象开始出现;(3)连续语音识别系统:连续语音输入是自然流利的连续语音输入,大量连音和变音会出现。 如果从识别系统的词汇量大小考虑,也可以将识别系统分为3类:(1)小词汇量语音识别系统。通常包括几十个词的语音识别系统。(2)中等词汇量的语音识别系统。通常包括几百个词到上千个词的识别系统。(3)大词汇量语音识别
41、系统。通常包括几千到几万个词的语音识别系统.随着计算机与数字信号处理器运算能力以及识别系统精度的提高,识别系统根据词汇8 量大小进行分类也不断进行变化。目前是中等词汇量的识别系统到将来可能就是小词汇量的语音识别系统。这些不同的限制也确定了语音识别系统的困难度。 2。3 语音识别的研究方法 根据语音识别技术的发展历史,语音识别方法大致可分为基于说话人的语音识别方法、基于说话内容的语音识别方法、基于统计的语音识别方法和基于网络的语音识别方法. 目前,主流的大词汇量语音识别系统多采用统计模式识别技术。典型的基于统计模式识别方法的语音识别系统由以下几个基本模块所构成: 信号处理及特征提取模块。该模块的
42、主要任务是从输入信号中提取特征,供声学模型处理。同时,它一般也包括了一些信号处理技术,以尽可能降低环境噪声、信道、说话人等因素对特征造成的影响。统计声学模型.典型系统多采用基于一阶隐马尔科夫模型进行建模。 发音词典.发音词典包含系统所能处理的词汇集及其发音。发音词典实际提供了声学模型建模单元与语言模型建模单元间的映射。语言模型对系统所针对的语言进行建模。理论上,包括正则语言,上下文无关文法在内的各种语言模型都可以作为语言模型,但目前各种系统普遍采用的还是基于统计的N元文法及其变体. 解码器,解码器是语音识别系统的核心之一,其任务是对输入的信号,根据声学、语言模型及词典,寻找能够以最大概率输出该
43、信号的词串. 从数学角度可以更加清楚的了解上述模块之间的关系。首先,统计语音识别的最基本问题是,给定输入信号或特征序列,符号集(词典),求解符号串使得: W = argmaxP(W O) 通过贝叶斯公式,上式可以改写为: 由于对于确定的输入串O,P(O)是确定的,因此省略它并不会影响上式的最终结果,因此,一般来说语音识别所讨论的问题可以用下面的公式来表示,可以将它称为语音识别的基本公式。 从这个角度来看,信号处理模块提供了对输入信号的预处理,也就是说,提供了从采集的语音信号(记为S)到 特征序列O的映射.而声学模型本身定义了一些更具推广性的声学建模单元,并且提供了在给定输入特征下,估计P(O
44、uk)的方法. 为了将声学模型建模单元串映射到符号集,就需要发音词典发挥作用。它实际上定义了映射的映射。为了表示方便,也可以定义一个由到U的全集的笛卡尔积,而发音词典则是这个笛卡尔积的一个子集.并且有: 最后,语言模型则提供了P(W)。这样,基本公式就可以更加具体的写成: 对于解码器来所,就是要在由ui以及时间标度t张成的搜索空间中,找到上式所指明的W. 9 2.4 并行计算技术 多任务在32位的Windows系统中,采用的是抢先式多任务,这意味着程序对CPU的占用时间是由系统决定的.系统为每个程序分配一定的CPU时间,当程序的运行超过规定时间后,系统就会中断该程序并把CPU控制权转交给别的程
45、序.与协同式多任务不同,这种中断是汇编语言级的.程序不必调用像PeekMessage这样的函数来放弃对CPU的控制权,就可以进行费时的工作,而且不会导致系统的挂起. 例如,在Windows 3(x中,如果某一个应用程序陷入了死循环,那么整个系统都会瘫痪,这时惟一的解决办法就是重新启动机器。而在Windows 95,NT中,一个程序的崩溃一般不会造成死机,其他程序仍然可以运行,用户可以按Ctrl+Alt+Del键来打开任务列表并关闭没有响应的程序. 1、进程与线程 在32位的Windows系统中,多任务指系统可同时运行多个进程,而每个进程也可同时执行多个线程。 进程就是应用程序的运行实例.每个进
46、程都有自己私有的虚拟地址空间,都有一个主线程(但可以建立另外的线程。进程中的线程是并行执行的,每个线程占用CPU的时间由系统来划分。 可以把线程看成是操作系统分配CPU时间的基本实体.系统不停地在各个线程之间切换,他对线程的中断是汇编语言级的。系统为每一个线程分配一个CPU时间片,某个线程只有在分配的时间片内才有对CPU的控制权。实际上,在PC机中,同一时间只有一个线程在运行.由于系统为每个线程划分的时间片很小(20ms左右),所以看上去好像是多个线程在同时运行。进程中的所有线程共享进程的虚拟地址空间,这意味着所有线程都可以访问进程的全局变量和资源。这一方面为编程带来了方便,但另一方面也容易造
47、成冲突。虽然在进程中进行费时的工作不会导致系统的挂起,但这会导致进程本身的挂起。所以,如果进程既要进行长期的工作,又要响应用户的输入,那么他可以启动一个线程来专门负责费时的工作,而主线程仍然可以与用户进行交互。 2、基于Win 32基础上进行多线程编程的过程线程分用户界面线程和工作者线程2种。用户界面线程拥有自己的消息泵来处理界面消息,可以与用户进行交互.工作者线程没有消息泵,一般用来完成后台工作。 (1)用Win 32函数创建和中止线程 win32函数库中提供了多线程控制的操作函数,包括创建线程、中止线程、建立互斥区等。首先,在应用程序的主线程或者其他活动线程的适当地方创建新的线程。创建线程
48、的函数如下: HANDLE CreateThread(LPSECURITYATTRIBUTES lpThreadAttributes DWORD dwStackSize; 10 LPTHREADSTARTROUTINE lpStartAddress。 LPVOID IpParameter DWORD dwCreationFlags; LPDW0RDIpThreadId); 其中:lpThreadAttributes指定了线程的安全属性,在Windows 95中被忽略;dwStackSize指定了线程的堆栈深度;lpStartAddress指定了线程的起始地址,一般情况为原型函数DW0RDWIN
49、API ThreadFunc (I PVOID);lpParameter指定了线程执行时传送给线程的32位参数,即上面函数的参数;dwCreationFlags指定了线程创建的特性;lpThreadld指向一个DWORD变量,可返回线程ID值.如果创建成功则返回线程的句柄,否则返回NUII.创建了新的线程后,则该线程就开始启动执行了。如果在dwCreationFlags中用了CREATESUSPENDED特性,那么线程并不马上执行,而是先挂起,等到调用ResumeThread后才开始启动线程,在这个过程中可以调用函数:BOOI SetThread Priority (HANDI E hThre
50、ad,int nPriority)来设置线程的优先权.当线程的函数返回后,线程自动中止。如果在线程的执行过程中中止的话,则可调用函数:VOID Exit Thread(DWORD dwExit Code);如果在线程的外面中止线程的话,则可调用下面的函数:BOoI TerminateThread (HANDI E hThread,DWORD dwExitCode)。但应注意:该函数可能会引起系统不稳定,而且线程所占用的资源也不释放。因此,一般情况下,建议不要使用该函数.如果要中止的线程是进程内的最后一个线程,则在线程被中止后相应的进程也应中止。 3、用Win 32函数控制线程对共享资源的访问在
51、线程体内,如果该线程完全独立,与其他的线程没有数据存取等资源操作上的冲突,则可按照通常单线程的方法进行编程。但是,在多线程处理时情况常常不是这样,线程之间经常要同时访问一些资源。例如,一个线程负责公式计算,另一个线程负责结果的显示,两个线程都要访问同一个结果变量。这时如果不进行冲突控制的话,则很可能显示的是不正确的结果。对共享资源进行访问引起冲突是不可避免的,但可用以下办法来进行操作控制: (1)通过设置线程的互斥体对象,在可能冲突的地方进行同步控制;首先,建立互斥体对象,得到句柄:HANDLE CreateMutex();然后,在线程可能冲突区域的开始 (即访问共享资源之前),调用WaitF
52、orSingleObject将句柄传给函数,请求占用互斥体对象:dwWaitResult =WaitForSingleObject(hMutex,5000L);共享资源访问完后,释放对互斥体对象的占用:ReleaseMutex (hMutex);互斥体对象在同一时刻只能被一个线程占用。当互斥体对象被一个线程占用时,若有另一线程想占用他,则必须等到前一线程释放后才能成功. (2)设置信号 在操作共享资源前,打开信号;完成操作后,关闭信号.这类似于互斥体对象的处理。首先,创建信号对象:HANDLE CreateSemaphore();或者打开一个信号对象:HANDI E OpenSemaphore
53、();然后,在线程的访问共享资源之前调用WaitForSingleObject。共享资源访问完后,释放对信号对象的占用:ReleaseSemaphore();信号对象允许同时对多个线程共享资源的访问,在创建对象时指定最大可同时访问的线程数。当一个线程申请访问成功后,信号11 对象中的计数器减1;调用ReleaseSemaphore函数后,信号对象中的计数器加1。其中,计数器值?创建时指定的最大值.利用信号对象,不仅可以控制共享资源的访问,还可以在应用的初始化时候使用。假定一个应用在创建一个信号对象时,将其计数器的初始值设为0,这样就阻塞了其他线程,保护了资源。待初始化完成后,调用Release
54、Semaphore函数将其计数器增加至最大值,进行正常的存取访问。 (3)利用事件对象的状态,进行线程对共享资源的访问用ResetEvent函数设置事件对象状态为不允许线程通过;用SetEvent函数设置事件对象状态为可以允许线程通过。事件分为手工释放和自动释放.如果是手工释放,则按照上述2个函数处理事件的状态;如果是自动释放,则在一个线程结束后,自动清除事件状态,允许其他线程通过. (4)设置排斥区 在排斥区中异步执行时,他只能在同一进程的线程之间共享资源处理.虽然此时上面介绍的3种方法均可使用,但是,使用排斥区的方法则使同步管理的效率更高;先定义一个CRITICAl 一SECTlON结构的
55、排斥区对象,在进程使用之前先对对象进行初始化,调用如下函数:VO1D Initialize Critical Section(LPCRlTlCALSECTlON);当一个线程使用排斥区时,调用函数:EnterCriticalSection或者TryEnterCriticalSection;当要求占用、退出排斥区时,调用函数:LeaveCriticalSection。释放对排斥区对象的占用,供其他线程使用。互斥体对象、信号对象和事件对象也可以用于进程间的线程同步操作。 在用win32函数创建了对象时,可以指定对象的名字,还可以设置同步对象在子进程的继承性。创建返回的是HANDLE句柄,可以用函数
56、DuplicateHandle来复制对象句柄,这样每个进程都可以拥有同一对象的句柄,实现进程之间的线程同步操作。另外,在同一进程内,可以用OpenMutex,OpenSemaphore和OpenEvent来获得指定名字的同步对象的句柄。排斥区异步执行的线程同步方法只能用于同一进程的线程之问共享资源处理,但是这种方法的使用效率较高,而且编程也相对简单一些。在Visual C+中,除了利用Win32函数进行多线程同步控制外,如果用到了MFC类库,则可利用已经封装成C+类结构的同步对象,使编程更加简捷. 2.5 OpenMP编程模型 2.5.1 OpenMP介绍 OpenMP使用fork-join(
57、见图21)并行机制,程序开始串行执行,此时只有一个主线程,然后在遇到用户定义的并行区域时创建出一组线程。在并行区域之内,多个线程可以执行相同的代码块,或使用工作共享结构体并行执行不同的任务。 12 主线程 并行区域 图21 forkjoin并行机制 OpenMP由指导命令、环境变量和运行库组成,见图2-2 1/bin/ksh Environment variables # Shell-Script f90 openmp test_f90 export OMP_THREADS4 directives a.out (special comment lines) ! Source file test
58、_f90 runtime library Program main Intager omp_get_thread_num me:0 ! $omp parallel me:3 print , me: omp_get_num() ! omp and parallel me:2 me:1 end program 图2-2 OpenMP组成 通过在串行程序里加入适当的指导命令和运行库函数,就可以把串行并行化,这种增量并行的模式使得开发并行程序变得很容易。 OpenMP结构如图23所示 user OpenMP program shell runtime functions envronment vari
59、ables directives OpenMP runtime system operating systemtheads 图2-3 OpenMP体系结构 13 2.5。2 OpenMP指导命令流程 OpenMP主要包含如图所示的指导命令 parallel begin loop begin single begin barrier flush parallel end loop end single end master begin critical begin ordered begin master end critical end orderd end sections begin se
60、ction begin section begin section end section end sections end 图24 OpenMP指导命令流程 图 我们用流程图的形式把OpenMP指导指令的特点描绘出来,对于parallel指导命令包含的代码段,线程组中所有的线程都要执行,对于loop指导命令包含的代码段,可能只有部分线程执行,右侧的方向线表示有的线程没有执行完这段代码,左侧的方向线刻画出循环的特点,执行完一次迭代后,如果还有任务,从循环开始处执行下一次迭代;barrier指导命令表示所有线程在此处同步,然后再执行接下来的语句,barrier指导命令没有包含代码段;flush指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 13《桥》说课稿-2024-2025学年六年级上册语文统编版
- 增材制造与创新设计:从概念到产品 课件 第6、7章 3D打印产品创新结构设计、增材制造创新综合应用实例
- 2024技术开发合同约定的技术成果交付和保密
- 农科创新之路
- 科技引领电商新纪元
- 12 故宫博物院(说课稿)-2024-2025学年统编版语文六年级上册
- 基于信任关系产生的租赁合同范本(2篇)
- 专项活动策划委托:2024年合作合同版B版
- 2024年版混砖结构烟囱拆除操作合同版B版
- 10-1《劝学》说课稿 2024-2025学年统编版高中语文必修上册
- ×××老旧小区改造工程施工组织设计(全面)
- 建筑展望与未来发展趋势
- “互联网+”大学生创新创业大赛计划书一等奖
- 水土保持方案投标文件技术部分
- GB/T 3324-2024木家具通用技术条件
- 专题3-6 双曲线的离心率与常用二级结论【12类题型】(原卷版)-A4
- 2024年人力资源年度工作总结参考(2篇)
- DB52T 1776.1-2023 耕地质量等别评价 第1部分:评价规范
- BIM工程师年终总结
- 钉钉OA办公系统操作流程培训
- 新生儿科年度护理质控总结
评论
0/150
提交评论