毕业设计(论文)-利用HMM技术实现基于文本相关的语音识别设计.doc_第1页
毕业设计(论文)-利用HMM技术实现基于文本相关的语音识别设计.doc_第2页
免费预览已结束,剩余58页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内蒙古科技大学 本科生毕业设计说明书(毕业论文) 题 目:利用 hmm 技术实现基于文本相 关的语音识别 学生姓名: 学 号: 专 业:电子信息工程 班 级:信息 2003-4 班 指导教师: 内蒙古科技大学毕业设计说明书(毕业论文) i 摘要摘要 语音识别作为一个交叉学科,具有深远的研究价值。语音识别和语音合成技术 已经成为现代技术发展的一个标志,也是现代计算机技术研究和发展的一个重要领 域。虽然语音识别技术已经取得了一些成就,也有部分产品面世,但是,大多数语 音识别系统仍局限于实验室,远没有达到实用化要求。制约实用化的根本原因可以 归为两类,识别精度和系统复杂度。 hmm是一种用参数表示的用于描述随机过程统计特性的概率模型,它是由马 尔可夫链演变来的,所以它是基于参数模型的统计识别方法。它是一个双重随机过 程具有一定状态数的隐马尔可夫链和显示随机函数集,每个函数都与链中一个 状态相关联。“隐”的过程通过显示过程所产生的观察符号序列来表示,这就是隐 马尔可夫模型。 本文主要介绍了语音识别的预处理,隐马尔可夫模型(hidden markov models,hmm)和语音识别的基础理论和发展方向。对数字 09 的识别进行了 详细的 matlab 语言实现。 关键词:关键词:hmm;文本相关;语音识别 内蒙古科技大学毕业设计说明书(毕业论文) ii abstract as an interdisciplinary field, speech recognition is theoretically very valued .speech recognition has become one of the important research fields and a mark of the development of science. although speech technology has got some achievements, most speech recognition systems are still limited in lab and would have problems if migrated from lab which are much far from practicality. the ultimate reasons for restricting practicality can be classified to two kinds, one is precision for recognition and the other is complexity of the system. hmm is one kind expresses with the parameter uses in the description stochastic process statistical property probabilistic model, it is may the husband chain evolve by mar, therefore it based on parameter model statistics recognition method. it is a dual stochastic process has the certain condition number to hide type markov to be possible the husband chain and the demonstration stochastic function collection, each function all a condition is connected with the chain in. hidden markov process the observation mark sequence which produces through the demonstration process to indicate that, this is hides type markov to be possible the husband model. this article mainly introduced the speech recognition pretreatment, hides mar to be possible the husband model (hidden markov models, hmm) and the speech recognition basic theory and the development direction. has carried on the detailed matlab language realization to the number 09 recognitions. key word: hmm; text correlation; speech recognition 内蒙古科技大学毕业设计说明书(毕业论文) iii 目录目录 摘 要i abstractii 第一章 绪论 .1 1.1 背景、目的和意义 1 1.2 发展历史和国内外现状 1 1.3 语音识别系统概述 3 1.3.1 语音识别系统构成 3 1.3.2 语音识别的分类 4 1.3.3 识别方法介绍 .5 第二章 语音信号的预处理及特征提取 .8 2.1 语音信号的产生模型 9 2.2 语音信号的数字化和预处理 9 2.2.1 语音采样 10 2.2.2 预加重10 2.2.3 语音信号分帧加窗 .11 2.3 端点检测 13 2.3.1 短时能量 .13 2.3.2 短时平均过零率 .14 2.3.3 端点检测“双门限”算法15 2.4 语音信号特征参数的提取 16 2.4.1 线性预测倒谱系数 lpcc .16 2.4.2 mel 倒谱系数 mfcc.17 2.4.3 lpcc 系数和 mfcc 系数的比 较18 第三章 隐马尔可夫模型(hmm).20 3.1 隐马尔可夫模型 20 3.1.1 隐马尔可夫(hmm)基本思想.20 内蒙古科技大学毕业设计说明书(毕业论文) iv 3.1.2 语音识别中的 hmm 24 3.1.3 隐马尔可夫的三个基本问题10.24 3.1.4 hmm 的基本算法 .25 3.2 hmm 模型的一些问题 28 3.2.1 hmm 溢出问题的解决方法 .28 3.2.2 参数的初始化问题 .29 3.2.3 提高 hmm 描述语音动态特性的能力 31 3.2.4 直接利用状态持续时间分布概率的 hmm 系统 31 第四章 基于文本相关的语音识别 .33 4.1 引言 33 4.2 hmm 模型的语音实现方案 33 4.2.1 初始模型参数设定 34 4.2.2 hmm 模型状态分布 b 的估计.34 4.2.3 多样本训练 .35 4.2.4 识别过程 .36 4.3 仿真过程及系统评估 37 4.3.1 语音数据的采集及数据库的建立 .37 4.3.2 仿真实验hmm 用于语音识别 38 4.3.3 matlab 编程实现40 4.4 系统仿真中的若干问题 .43 总结展望 .44 参考文献 .45 附 录 46 致 谢.54 内蒙古科技大学毕业设计说明书(毕业论文) 1 第一章第一章 绪论绪论 1.1 背景、目的和意义背景、目的和意义 让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法。随着 计算机越来越向便携化方向发展和计算环境的日趋复杂化,人们越来越迫切要求摆 脱键盘的束缚而代之以语音输入这样便于使用的、自然的、人性化的输入方式。尤 其是汉语,它的汉字输入一直是计算机应用普及的障碍,因此,利用汉语语音进行 人机交互是一个极其重要的研究课题。它正在直接与办公、交通、金融、公安、商 业、旅游等行业的语音咨询与管理,工业生产部门的语声控制,电话、电信系统的 自动拨号、辅助控制与查询,以及医疗卫生和福利事业的生活支援系统等各种实际 应用领域相接轨,并且有望成为下一代操作系统和应用程序的用户界面1。 语音识别是一门涉及面很广的交叉学科,它是目前发展最为迅速的信息研究领 域之一,它与语音学、语言学、数理统计学和神经生理学等学科有非常密切的关系。 语音识别的目标是让机器能听懂人类口述的语言,语音识别中的汉语数字语音识别, 具有更为重要的意义。汉语数字语音识别的任务是识别“0”到“9”等10个非特定 人汉语数字语音。信用卡号码、电话语音拨号、个人身份证号码、电子密码等都具 有数字化特征,因此,连续数字语音识别成为语音识别中极其重要的一项任务。一 方面,连接数字语音识别可以识别用户说出的数字串,向用户提供最自然、最灵活 和最经济的人机接口界面,从而能有效解决军用和民用领域中遇到大量数据录入问 题,另一方面,由于电话网络的日益普及,连接数字语音识别也可以用于电话人口 统计、远程股票交易及各种号码的远程认证等。因此,汉语数字语音识别 (mandarin digit speech recognition, md sr) 是语音识别领域中一个具有广泛应用背 景的分支。 随着计算机软硬件的飞速发展,汉语语音识别技术也有了很大的进步。如在掌 上电脑上使用语音识别技术,乃至固定到一个小小的芯片上,将为语音识别应用开 拓更新的领域。 1.2 发展历史和国内外现状发展历史和国内外现状 内蒙古科技大学毕业设计说明书(毕业论文) 2 语音识别的研究工作大约开始于上个世纪50年代。1952年贝尔(bell)实验室的 davis等人首次研制成功能识别10个英语数字的实验装置。1956年olson和belar等人 用8个带通滤波器组提取频谱参数作为语音的特征,研制成功一台简单的语音打字 机。20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快 速傅里叶变换等成为语音信号数字处理的理论和技术基础。在方法上,随着电子计 算机的发展,以往的以硬件为中心的研究逐渐转化为以软件为主的处理研究。然而, 在语音识别领域内,初期有几种语音打字机的研究也很活跃,但后来已全部停了下 来,这说明了当时人们对语音识别难度的认识得到了加深。 到了1970年,单词识别装置开始了实用化阶段,其后实用化的进程进一步高涨, 实用机的生产销售也上了轨道。此外社会上所宣传的声纹(voice print)识别,即说 话人识别的研究也扎扎实实地开展起来,并很快达到了实用化的阶段。到了1971年, 以美国arpa(american research projects agency)为主导的“语音理解系统”的研 究计划也开始起步。这个研究计划不仅在美国国内,而且对世界各国都产生了很大 的影响,它促进了连续语音识别研究的兴起。历时五年的庞大的arpa研究计划, 虽然在语音理解、语言统计模型等方面的研究积累了一些经验,取得了许多成果, 但没能达到巨大投资应得的成果,在1976年停了下来,进入了深刻的反省阶段。即 使这样,在整个20世纪70年代还是有几项研究成果对语音信号处理技术的进步和发 展产生了重大的影响。这就是20世纪70年代初由板仓(itakura)提出的动态时间规整 (dtw)技术,使语音识别研究在匹配算法方面开辟了新思路;20世纪70年代中期线 性预测技术(lpc)被用于语音信号处理,此后隐马尔可夫模型法(hmm)也获得初步 成功,该技术后来在语音信号处理的多个方面获得巨大成功;20世纪70年代末, linda, buzo, gray和markel等人首次解决了矢量量化(vq)码书生成的方法,并首先 将矢量量化技术用于语音编码获得成功。从此矢量量化技木不仅在语音识别、语音 编码和说话人识别等方面发挥了重要作用,而且很快推广到其他许多领域。 20世纪80年代,由于矢量量化、隐马尔可夫模型和人工神经网络(ann)等相继 被应用于语音信号处理,并经过不断改进与完善,其中,隐马尔可夫模型作为语音 信号的一种统计模型,在语音信号处理的各个领域中获得了广泛的应用。其理论基 础是1970年前后,由baum等人建立起来的,随后,由美国卡内基-梅隆大学(cmu) 的baker和美国ibm公司的jelinek等人将其应用到语音识别中。由于美国贝尔实验 内蒙古科技大学毕业设计说明书(毕业论文) 3 室的rabiner等人在20世纪80年代中期,对隐马尔可夫模型深入浅出的介绍,才使 世界各国从事语音信号处理的研究人员了解和熟悉,进而成为一个公认的研究热点, 也是目前语音识别等的主流研究途径。 进入20世纪90年代以来,语音识别在实用化方面取得了许多实质性的研究进展, 逐渐由实验室走向实用化。一方面,对声学语言学统计模型的研究逐渐深入,鲁棒 的语音识别、基于语音段的建模方法及隐马尔可夫的模型与人工神经网络的结合成 为研究的热点。另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、 快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。 进入21世纪,语音识别技术将使计算机丢掉键盘和鼠标。这无疑将改变我们许 多人的工作和生活方式。 我国语音识别研究工作一直紧跟国际水平,国家也很重视,并把大词汇量语音 识别的研究列入“863”计划,由中科院声学所、自动化所及北京大学等单位研究 开发。鉴于中国未来庞大的市场,国外也非常重视汉语语音识别的研究。美国、新 加坡等地聚集了一批来自大陆、台湾、香港等地的学者,汉语大词汇量语音识别都 达到了相当高的水平。 与此相反,汉语数字语音识别技术虽然在移动通信、电脑话务员、电话证券交 易等领域有着极大的应用价值,并因此受到国内科研单位的广泛重视,但是其进展 却相当缓慢。这主要是因为汉语数字语音识别存在诸多困难。语音间高混淆的问题, 由于汉语数码语音的音节数少,因此,语音混淆高;非特定人问题,汉语是一种多 方言语种,由于各地人群在普通话中带有或多或少的方言,因此这种数字语音识别 系统仍然具有很大难度;噪声环境问题,由于环境复杂,噪声源较多,使得相应的 数字语音识别任务相当艰巨。连续语音问题,汉语数字连续语音的连续程度高2。 1.3 语音识别系统概述语音识别系统概述 1.3.1 语音识别系统构成语音识别系统构成 大部分语音识别系统都采用的是模式匹配的原理,系统的一般结构可以用图 1.1 表示 3。 内蒙古科技大学毕业设计说明书(毕业论文) 4 图 1.1 语音识别系统的原理框图 语音信号首先经过预处理,之后提取特征参数。训练在识别之前进行,通过讲 话者多次重复语音,从原始语音样本中去除冗余信息,保留关键数据,再按照一定 规则对数据加以聚类,形成模式库。将提取的参数根据一定的准则(如某种距离测 度),计算其与库存模式之间的相似度(如匹配距离、似然概率),判断输入语音的 语意信息,这就是语音识别。 预处理单元的功能是通过高频预加重来平滑信号频谱,并利用窗函数把语音数 据序列分成连续的信号帧。特征提取单元的功能是完成基于频谱的特征矢量的计算。 当端点检测单元检测到当前语音信号帧为起始帧时,特征提取单元开始特征提取计 算,并存储帧特征矢量。语音帧特征矢量按照一定的要求处理后,作为识别模型的 特征参数,建立模型库。最后,模式匹配单元完成特征观察矢量与己知的语音信号 模板之间的匹配计算, 并选择其中匹配程度最高的语音信号模板作为识别结果。 鉴于不是每个系统都能为每一个词都建立相应的语音识别模板,那将导致识别难度 和计算量大大增加,因而建立更加精细的语言转换概率库己成为大词汇量语音识别 系统中的一个研究热点。 1.3.2 语音识别的分类语音识别的分类 对于语音识别系统,较为普遍的分类如下: 从识别的词汇量分 每一个语音识别系统都必须有一个词汇表。系统只能识别表中所包含的词条。 训练 语音信号 预处理 逐帧特征 提取 失真测度 模式匹配 模型库 识别结果 识别 内蒙古科技大学毕业设计说明书(毕业论文) 5 通常,词条越多,则相似的词也越多,这样其误识率也相应增加;此外,随着词数 增加,搜索运算使计算开销迅速增加。因此词的数量越多,则系统实现越困难。词 汇表的大致划分标准是,词数少于100时,称为小词汇表;100-500称为中词汇表; 超过500时称为大词汇表。 从识别的基本单元来分 语音识别按系统的识别对象可分为孤立词、连接词和连续语音三种方式。孤立 词识别(iwr, isolated word recognition)是指对说话人每次只说一个字、一个词或一 条命令这样的孤立词进行识别, 其中的词或命令在词汇表中都作一个独立的词条; 连接词识别(cwr, connected word recognition)一般特指对十个数字(0-9)连接而成 的多位数字的识别,有时还可加上少量的操作指令,这时词汇表只由这十个数字及 少数指令构成;连续语音识别(csr, continuous speech recognition)是对说话人以日 常自然讲述的方式而进行的识别。这三种方式,其识别困难是依次递增的。 从识别对象来分 语音识别系统可以是只针对一个用户的,例如个人专用的语音打字机,这称为 特定人工作方式(sd, speaker dependent);系统若是针对任何人的,则称为非特定 人方式(si, speaker independent),电话和数据检索系统中所用的识别器即属这种情况。 显然,后者的实现难度较前者大得多。 1.3.3 识别方法介绍识别方法介绍 vq识别 矢量量化(vector quantization, vq)是一种极其重要的信号压缩方法,广泛应用 与图像信号压缩、语音信号压缩等领域。其核心思想是:如果一个码书是为某一特 定的信源而优化设计,那么由这一信息源产生的信号与该码书的平均量化失真就小 于其他信息的信号与该码书的平均失真。这就意味着编码器本身就存在区分能力, 因而可以用于语音识别。 每帧语音经过特征提取后,得到一个n维特征矢量,该矢量可以看作n维特征空 间的一个点。这样,一个发音转化为特征序列后,在特征空间中形成相对应的一组 点。观察大量这样的特征点组合可以发现,这些点构成了一个一个集合,这些集合 在语音特征空间中称为“类”。vq的主要工作是聚类,即通过训练特征空间中合 理的拟定一组点,作为各个类的中心,这一组称为该字音的码本,其中每个点称为 内蒙古科技大学毕业设计说明书(毕业论文) 6 码字。对于整个识别系统,每个字音各自具有其单独的码本。识别时,将待识别语 音特征序列的每个特征与某字音码本的各码字作比较,记下其最小距离,则整个序 列的各帧最小距离之和作为判别用距离。最小距离所对应的字音,即为识别判决的 结果。 动态时间规整(dtw) 日本学者itakura根据语音识别符合多阶段决策的内在特性,将动态规划思想引 入到识别中,提出动态时间规整(dynamic time warping, dtw)技术,极大地提高 了语音识别的效果,推动了语音识别的发展。由于同一个人对同一字音的两次发音, 在发音速度以及字音内部相对瞬时速度上必然存在一定的差异。在对两个发音的 特征序列进行距离计算时,两序列总长度一般不一致,因而无法直接对对应帧进行 距离计算。虽然将较短的帧进行线性扩张或将较长的帧进行线性压缩后可以解决长 度不等问题,但由于两次发音内部相对瞬时速度会有非线性的变化,仅以这两个发 音的特征序列的对应帧进行匹配,通常难以达到理想的效果。动态时间规整算法实 质上是在一个限定范围内对起止点相同的多条匹配路径进行搜索,按照沿路径匹配 累积距离最小准则,寻找其中的最优路径作为匹配路径。该路径匹配累积距离作为 两个特征序列间距离。 在dtw中,由于局部优化问题的计算结果不需要重新计算,因而实现起来非 常简单。该方法用于小词汇量表的语音识别时得到了较好的效果,但是不适合连续 语音大词汇量语音识别系统。 hmm识别 隐马尔可夫模型(hidden markov models. hmm)作为语音信号的一种统计模型, 当今正在语音处理各个领域中获得广泛的应用。其理论基础是1970年前后,由 baum等人建立起来的,随后,由美国卡内基-梅隆大学(cmu)的baker和美国ibm 公司的jelinek等人将其应用到语音识别中。由于美国贝尔实验室的rabiner等人在20 世纪80年代中期,对隐马尔可夫模型深入浅出的介绍,才使世界各国从事语音信号 处理的研究人员了解和熟悉,进而成为一个公认的研究热点,也是目前语音识别等 的主流研究途径。 隐马尔可夫模型利用概率及统计范畴的理论成功地解决了如何辨识具有不同参 数的短时平稳信号段;怎样跟踪它们之间的转化等问题。将hmm应用于语音识别 内蒙古科技大学毕业设计说明书(毕业论文) 7 基于如下假设,虽然语音声学信号本身受各种因素的影响而表现很强的不确定性, 但声学信号中隐含的语义信息是确定的,并且所能观察到的语音信号的变化是由隐 含语义信号的变化决定的。hmm用隐含的状态对应于声学层各相对稳定的发音单 位,在生成一个单词时,系统不断地由一个状态转移到另一个状态,每一个状态都 产生一个输出,直至整个单词输出完毕。hmm使用马尔可夫链来模拟信号统计特 性的变化,而这种变化又是间接地通过观察序列来描述的,因此它是一个双重随机 过程。本文将在第三章对hmm模型做详细介绍。 其它识别系统 除上述各识别系统外,还有基于先验知识或规律的识别系统,基于音素的识别 系统,基于神经网络(ann)的识别系统以及多种改进型的混合hmm识别系统等这 些不同的识别方法从不同角度利用语音的某些特性、人脑的感知过程、先验知识规 律等信息进行识别,起到了良好的作用。 内蒙古科技大学毕业设计说明书(毕业论文) 8 第二章第二章 语音信号的预处理及特征提取语音信号的预处理及特征提取 语音识别本质上是一种模式识别的过程,对于不同的识别系统要求,语音识别 系统的设计和实现方法也不尽相同。但大体上可以有以下划分:孤立语音和连续语 音识别系统;大词表和小词表语音识别系统;特定人和非特定人语音识别系统3。 不同的语音识别系统,尽管设计和实现的细节不同,但所采用的基本技术是相 似的,其基本原理结构原理框图如图2.1所示,主要包括:语音信号预处理、特征提 取、特征建模(建立参考模式库)。相似性度量和后处理等几个模块,其中后处理模 块为可选部分。 识别结果 预处理特征提取 模型匹配 参考 模式库 后处理 识别 训练 模型匹配 图2.1 语音识别基本原理框图 语音信号经麦克风转换成电信号后加在识别系统的输入端,它首先要经过预处 理,预处理包括预加重、加窗、分帧和端点检测。经过预处理后,提取语音信号的 特征参数,这些特征参数包括:短时平均能量或幅度、短时平均过零率、短时自相 关函数、线性预测系数、线性预测倒谱、mel倒谱系数等。根据实际需要选择语音 特征参数,这些特征参数的时间序列便构成了待识别的语音模式,将其与已经存储 在计算机内的参考模式逐一进行比较(模式匹配),获得最佳匹配(由判决规则确定) 输入语音 内蒙古科技大学毕业设计说明书(毕业论文) 9 的参考模式便是识别结果。参考模式是在系统使用前获得并存储起来的,为此,要 输入一系列已知语音信号,提取它们的特征作为参考模式,这一过程称为训练过程。 显然,最佳匹配结果的获得与特征的选择、语音模型的好坏、模板是否准确都 有直接的关系,这也是目前语音识过程中的一个难点4。 2.1 语音信号的产生模型语音信号的产生模型 讨论语音识别系统实现前,将语音信号的产生模型作为独立模块拿出来,作为 语音信号的处理基础之一,在后面章节的讨论中,线性预测、预加重、同态信号处 理等概念都依赖于语音信号产生模型5。模型如图2.2。 语音信号可以看作是激励信号激励一个线性系统而产生的输出。其中浊音信号 是由一个周期性的脉冲串激励线性系统生成输出的,这个线性系统由声门脉冲模 型、声道模型、辐射模型级联而成。系统传输函数为: hv(z)=g(z)-v(z)-r(z) (2.1) 激励信号是一个周期性的脉冲串: (2.2)( )() r p nnr np a 那么浊音信号就是两者的卷积结果,即:x(n)=p(n)*hv(n) (2.3) 而清音信号是由白噪声序列激励一个线性系统而产生输出,这个线性系统仅由声道 模型和辐射模型级联而成。系统传输函数为: hu(z)=v(z)-r(z) (2.4) 激励信号u(n)假定为白噪声序列,于是有: x(n)=u(n)*hu(n) (2.5) 浊音/清音 开关 u a s(n) v a 周期脉冲 发生器 声门脉 冲模型 随机噪声发 生器 声道模型辐射模型 图2.2 语音信号的发声模型 内蒙古科技大学毕业设计说明书(毕业论文) 10 2.2 语音信号的数字化和预处理语音信号的数字化和预处理 语音信号的数字化一般包括放大及增益控制、反混叠滤波、采样、a/d 变换及 编码。预处理包括预加重、加窗及分帧等。在分析处理语音信号之前还必需进行语 音信号的端点检侧。把要分析的语音信号部分从输入的信号中找出来。 2.2.1 语音采样语音采样 语音信号是随时间而变的一维信号,它所占据的频率范围可达10khz以上,但 是对语音清晰度可懂度有明显影响的成分最高频率约有5.7khz。一般语音信号的 采样频率为10khz或16khz,这样作对语音信号的清晰度有损害,但只是少数辅音 损失,语音信号本身有较大的冗余度,少数辅音清晰度下降并不影响语音的理解。 例如itu数字电话g.711协议,采样频率为8khz,只用了3.4khz以内的语音信号6。 要用计算机分析说话人的语音,就要将话筒中传来的语音信号转换成计算机所 能处理的数字信号。据奈奎斯特采样定理,如果模拟信号的频谱带宽是有限的(例 如不包含高于fm的频率成分),那么用等于或高于2fm的取样频率进行取样(即用等 于或小于1/(2fm)的间隔取样),则所得到的等间隔离散时间取样值(取样信号)能够 代表原模拟信号。下面采样得到的数字2的语音波形: 图2.3 数字“2”的语音波形 2.2.2 预加重预加重 由于语音信号s(n)的平均功率谱受声门激励和口鼻辐射的影响,高频端大约在 内蒙古科技大学毕业设计说明书(毕业论文) 11 800hz以上按6db/oct(倍频程)衰减,所以求语音信号频谱时,频谱越高相应的成分越 小,高频部分的频谱比低频部分的难求,为此要在对语音信号s(n)进行分析之前对其 高频部分加以提升。信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同 样的信噪求频谱,以便频谱分析或声道参数分析。常的措施是用一个数字滤波器实 现预加重,其公式表示为: (2.6)( )( )(1)y nx nx n (2.7) 1 ( )1,0.91.0h zaza 为原始信号序列,预加重后序列,预加重系数,通常取值0.98或1.0。( )x n( )y n 这样预加重网络的输出和输入的语音信号的关系可用一差分方程表示:( )s n ( )s n (2.8) ( )( )(1)s ns nas n 2.2.3 语音信号分帧加窗语音信号分帧加窗 语音信号是一种典型的非平稳信号,图2.3为汉语数字“2”发音的部分波形, 其特性是随时间变化的,但是语音的形成过程是与发音器官的运动密切相关的,这 种物理运动比起声音振动速度来将要缓慢得多,因此语音信号常常可假定为短时平 稳的,即在1020ms的时间段内,其频谱特性和物理特征参量可近似看作是不变 的7。这样,就可以采用平稳过程的分析处理方法来处理了。因此各种语音信号都 可以分割为一些帧再加以短时处理。对每帧语音进行处理就等效于对固定特性的持 续语音进行处理。每帧之间彼此经常有一些叠加,对每帧的处理结果可用一个数或 一个组数来表示。因此语音信号经过处理后将产生一个新的依赖于时间的数据序列。 这些数据用于描述语音信号的特征。 设原始语音信号采样序列为s(m),将其分成一些帧,等效于乘以幅度为1的窗 函数w(n-m)。当窗函数幅度不是1而是按一定函数取值时,所分成的帧的各个取样 值将受到一定程度的加权。 对语音信号的各个帧进行处理,实际上就是对各个帧进行某种变换或施以某种 运算,其一般式为: (2.9) ( ) () n m qt s m w nm 其中t表示某种变换,它可以是线性的也可以是非线性的,s(n)为输入语音 内蒙古科技大学毕业设计说明书(毕业论文) 12 信号序列。qn是所有各段经过处理后得到的一个是时间序列。 用得最多的三种窗函数是矩形窗、汉明窗(hamming)和汉宁窗(hanning), 其定义分别为: 矩形窗: (2.10) 1 0 ( )w n 01n n 其他 汉明窗: (2.11) 0.54 0.46cos(2/(1) 0 ( ) nn w n 01n n 其他 汉宁窗: (2.12) 0.51 cos(2(1) 0 ( ) n n w n 01n n 其他 语音分帧算法是用如下程序实现: % 语音信号分帧: xx=enframe(xx,256,80); %而enframe的具体定义为: function f=enframe(x,win,inc) nx=length(x); nwin=length(win); if (nwin = 1) len = win; else len = nwin; end if (nargin 1) w = win(:); f=f*w(ones(nf,1),:); end 2.3 端点检测端点检测 从背景噪声中找出语音的开始和终止点,这是在很多语音处理应用中的基本问 题。端点检测对于语音识别有着重要的意义。在孤立词识别中,确定单词语音信号 的开始和终止可以减少非实时系统中的大量计算;连续语音识别中识别基元(字词、 音节、声韵母)的切分,可用于语音数据库训练。实验统计数字表明,起始点 (beginning point)和终点(end point)的偏离对语音识别最终准确性影响明显:30ms内 的偏移对应精确度下降2%,当超过90ms时,影响达到30%。 2.3.1 短时能量短时能量 短时能量的主要意义在于给出了区分清音段和浊音段的基础,清音比浊音的幅 度要小得多,清音段的能量值明显小于浊音段,因此能量函数可用来大致定出浊音 语音和清音语音的变化时刻。对于高信噪比的条件下,可以用能量来区分有无语音。 可以将短时能量看作语音信号的平方通过一个冲击响应为h(n)的线性虑波器后的输 出。语音信号的短时能量的定义如下: (2.13) 2 ( ) () n es m w nm 其中窗函数w(n)为上面讨论的任意一种,这里窗长n的选择对于反映语音信号 的 幅度变化起着决定的作用。如果n很大,它等效于很窄的低通滤波器,此时en随时 间的变化很小,不能反映语音信号的幅度变化,信号的变化细节就看不出来;反之, n太小时,滤波器的通带变宽,en随时间有急剧的变化,不能得到平滑的能量函数。 因此,窗口长度的选择应合适。图2.4是数字“2”的短时能量函数图。如图所示: 内蒙古科技大学毕业设计说明书(毕业论文) 14 图2.4 数字“2”的短时能量图 短时平均能量的主要用途有: 区分清音段和浊音段,语音为浊音时的短时能量值比清音时大得多,根据语音 信号短时能量值的变化,可以大致判定浊音变为清音和清音变为浊音的时刻。 在高信噪比的语音信号中,可以用来区分有无语音,此时,无语音信号的噪声 能量很小,而有语音信号时短时能量值显著增大到某一数值,由此可以区分语音信 号的开始点和终止点。 但是,en值对于高电平信号非常敏感(因为计算时用的是信号的平方),因 此在实际使用时需加以处理,例如取对数等,以便将数值限制在一定的范围内。 2.3.2 短时平均过零率短时平均过零率 过零分析是语音时域分析中最简单的一种,顾名思义,过零就是信号通过零值。 对于连续语音信号,可以考察其时域波形通过时间轴的情况。而对于离散时间信号, 如果相邻的取样值改变符号则称为过零。由此可以计算过零数,过零数就是样本改 变符号的次数。单位时间内的过零数称为平均过零率。 对于语音信号的特征,其属于宽带信号,但是可以用短时平均过零率来计算。 则语音信号s(n)的短时平均过零率定义为: (2.14) |sgn ( )sgn (1)|() |sgn ( )sgn (1)|( ) n zs ms mw nm s ns nw n 式中: (2.15) 1s( ) 1( ) 0 sgn ( ) n s n s n 内蒙古科技大学毕业设计说明书(毕业论文) 15 w(n)为窗口函数,其作用与求短时平均能量时一样。一般取: (2.16) 1 2 0 n n-1 0 ( ) n w n 其他 根据声学原理,发浊音时能量主要集中在3khz以下。而发清音时,多数能量 出现在较高频率上。因此就可以认为发浊音时具有较低的平均过零率,而发清音时 具有较高的平均过零率,因而可以根据平均过零率来粗略区分清音和浊音。图2.5 是对数字“2”的平均过零率的测量结果。由图可见,高平均过零率对应于清音, 低平均过零率对应于浊音。再就是,短时平均过零率还可以用于识别语音段的起点 和终点。 图2.5 数字“2”的短时过零率图 2.3.3 端点检测端点检测“双门限双门限”算法算法 语音端点检测就是检测语音信号的起点和终点。有效的端点检测不仅能使处 理时间减小到最小,而且能排除无音段的噪音干扰,从而使识别系统具有良好的识 别性能。它是语音处理技术中重要的一方面。其目标是要在一段输入信号中将语音 信号同其他信号(如背景噪声)分离开。在语音识别中,一个关键问题就是如何将 语音信号精确地检测出来,为获得准确的识别提供前提。 在背景噪声较小时用短时能量鉴别端点很有效,而背景噪声很大时使用短时 平均过零率鉴别端点较为有效。但在有以某些音为开头或结尾时,只用其中一个参 内蒙古科技大学毕业设计说明书(毕业论文) 16 量来识别语音的起点和终点是有困难的,必须同时使用这两个参数。 端点检测一般用短时能量和短时平均过零率相结合的方式来加以解决。本文 采用被称为“双门限法”的端点检测算法,其端点检测算法的流程为8:在开始进 行端点检测之前,首先为短时能量和过零率分别确定两个门限。一个是比较低的门 限,其数值比较大,信号必须达到一定的强度,该门限才可能被超过。低门限被超 过未必就是语音的开始,有可能是时间很短的噪声引起的。高门限被超过则可以基 本确信是由于语音信号引起的。 整个语音信号的端点检测可以分为四段:静音、过渡段、语音段、结束。程 序中使用一个变量status来表示当前所处的状态。在静音段,如果能量或过零率超 越了低门限,就应该开始标记起始点,进入过渡段。在过渡段中,由于参数的数值 比较小,不能确信是否处于真正的语音段,因此只要两个参数的数值都回落到低门 限以下,就将当前状态恢复到静音状态。而如果在过渡段中两个参数中的任一个超 过了高门限,就可以确信进入语音段了。 一些突发性的噪声也可以引起短时能量或过零率的数值很高,但是往往不能 维持足够长的时间。如门窗的开关、物体的碰撞等引起的噪声,这些都可以通过设 定最短时间门限来判别。当前状态处于语音段时,如果两个参数的数值降低到低门 限以下,而且总的计时长度小于最短时间门限,则认为这是一段噪音,继续扫描以 后的语音数据,否则就标记好结束端点,并返回。 具体语音端点检测程序vad.m请见附录。 2.4 语音信号特征参数的提取语音信号特征参数的提取 语音信号完成分帧处理和端点检测后,下一步就是特征参数的提取。在语音识 别中,我们不能将原始波形直接用于识别,必须通过一定的变换,提取语音特征参 数来进行识别,而提取的特征必须满足: 特征参数应当反映语音的本质特征,对于非特定人语音识别,特征参数则应尽 量不含有说话人的信息。 特征参数各分量之间的耦合应尽可能地小,以起到压缩数据的作用。 特征参数要计算方便,最好有高效的算法。 语音特征参数可以是能量、基音频率、共振峰值等语音参数,目前在语音识别 内蒙古科技大学毕业设计说明书(毕业论文) 17 中较为常用的特征参数为线性预测倒谱系数(lpcc)与mel倒谱系数(mfcc)。 二者都是将语音从时域变换到倒谱域上,前者从人的发声模型角度出发,利用线性 预测编码(lpc)技术求倒谱系数。后者则构造人的听觉模型,以语音通过该模型 (滤波器组)的输出为声学特征,直接通过离散傅立叶变换(dft)进行变换。 2.4.1 线性预测倒谱系数线性预测倒谱系数 lpcc 在图2.2中提到了语音信号分析过程中经常要用到一个重要的语音产生模型 声道模型。声道模型是将人从喉到嘴唇这一段发音腔体用一系列截面积不同的均匀 声管来模拟。根据声管的声学模型,利用物理学知识,我们可以计算出这段声管模 型与信号处理中的全极点模型相类似。因此,我们可以应用信号处理中己有的算法 对其进行处理。在这个语音产生的声道模型中,语音中的浊音部分可以认为是由一 连串有规律的周期信号(此周期与浊音的基音周期相吻合)来激励声道模型而产生; 而清音部分则被认为是由一连串无规律的白噪声信号激励声道模型而产生的。因此, 若能准确地估计出声道的形状或模型参数,我们就有望用此模型参数作为语音信号 的特征来完成语音信号的识别任务。 数字信号处理中,可以用lpc(线性预测编码)的算法来估计出此全极点模型的 参数。线性预测是最佳线性向前一步预测,语音信号线性预测的基本思想是:语音 信号的每个取样值,可以用它过去若干个取样值的加权和(线性组合)来表示;各加 权系数的确定原则是使预测误差的均方值最小。 在语音识别系统中,利用同态处理方法,通过对lpc系数求离散傅立叶变换 (dft)后取对数,再求反离散傅立叶变换(idft)可得到线性预测倒谱系数lpcc。 2.4.2 mel 倒谱系数倒谱系数 mfcc mel倒谱系数(mel frequency cepstrum coefficients)的提出是基于人的听觉模 型,mel是音高单位,音高是一种主观心理量,是人类听觉系统对声音频率的感 觉,近似公式可以表述为: mel=2595*10(1+fm/700 ) (2.17) 根据生理学的研究结果,人耳对不同频率的声波有不同的听觉灵敏度,从 200hz 到5khz之间的语音信号对语音的清晰度影响最大。低音掩蔽高音容易,反之则难, 在低频处的声音掩蔽的临界带宽较高频端要小,当两个频率相近的音调同时发出时, 内蒙古科技大学毕业设计说明书(毕业论文) 18 人只能听到一个音调,临界带宽就是这样一种令人的主观感觉发生突变的带宽边界, mel刻度是对这一临界带宽的度量方法之一。据此,人们从低频到高频这一段频 带内按临界带宽的大小由密到稀安排一组带通滤波器h(n)对输入信号进行滤波。将 每个带通滤波器输出的信号能量作为信号的基本特征。 提取及计算过程如下: 原始语音信号s(n)经过预加重、分帧、加窗等处理,得到每个语音帧的时域信 号x(n)。 将时域信号x(n)后补若干0以形成长为n(一般取n=512)的序列,然后经过离散 傅立叶变换(dft)后得到线性频谱x(k),转换公式为 (2.18) 1 2 0 ( )( ) (0,-1) n j mk n m x kx n en kn 在实际应用中,常常通过快速傅立叶变换(fft)过程加以计算,其中n一般称 之为dft(或fft)窗宽。 将上述线性频谱x(k)通过mel频率滤波器组得到mel频谱,并通过对数能量的 处理,得到对数频谱s(m)。 将上述对数频谱s(m)经过离散余弦变换(dct)变换到倒频谱域,即可得到mel 频率倒谱系数(mfcc参数)c(n): (2.19) -1 (+1 2) =1 ( ) =( )cos (00.02; zcr = sum(signs.*diffs, 2); %计算短时能量 amp = sum(abs(enframe(filter(1 -0.9375, 1, x), framelen, frameinc), 2); %调整能量门限 amp1 = min(amp1, max(amp)/4); amp2 = min(amp2, max(amp)/8); %开始端点检测 x1 = 0; x2 = 0; 内蒙古科技大学毕业设计说明书(毕业论文) 49 for n=1:length(zcr) goto = 0; switch status case 0,1 % 0 = 静音, 1 = 可能开始 if amp(n) amp1 % 确信进入语音段 x1 = max(n-count-1,1); status = 2; silence = 0; count = count + 1; elseif amp(n) amp2 | . % 可能处于语音段 zcr(n) zcr2 status = 1; count = count + 1; else % 静音状态 status = 0; count = 0; end case 2, % 2 = 语音段 if amp(n) amp2 | . % 保持在语音段 zcr(n) zcr2 count = count + 1; else % 语音将结束 silence = silence+1; if silence 1 if abs(pout(loop)-pout(loop-1)/pout(loop) 0); ind0 = find(init0); ind0 = find(trans=0); trans(ind0) = -inf; trans(ind1) = log(trans(ind1); % 初始化 delta = zeros(t,n); fai = zeros(t,n); q = zeros(t,1); % t=1 x = o(1,:); for i = 1:n delta(1,i) = init(i) + log(mixture(mix(i),x); end % t=2:t for t = 2:t for j = 1:n delta(t,j) fai(t,j) = max(delta(t-1,:) + trans(:,j); x = o(t,:); delta(t,j) = delta(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论