




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字语音处理 班级:电子*班姓名:*学号:老师:李有科数字语音处理技术及其应用一、数字处理关键技术1.1语音编码技术语音信号的数字化,最简单的方法是对其直接进行模/ 数转换;只要采样率足够高,量化每个样本的比特数足够多,则可以保证解码恢复的语音信号有很好的音质,不会丢失有用信息。对语音进行压缩编码的基本依据有两个:一个是从产生语音的物理机理和语言结构的性质来看,语音信号是强相关、弱平稳信号,有很高的冗余度。语音压缩的实质就是识别这些冗余度并设法去掉它们。语音编码的第二个依据是利用人类的听觉特性。首先语音编码利用人耳分辨率有限特性,不需要对语音样点幅度做精确表示,即语音信号对于人耳带有过多的信息
2、,通过量化可以去除这些过多的信息,从而达到压缩的目的。其次,人类听觉有“掩蔽效应”的特点,即当两个响度不等的声音作用于人耳时,则响度较高的频率成分的存在会影响到对响度较低的频率成分的感受,使其变得不易察觉。目前常见的语音编码算法有线性预测编码、多脉冲激励线性预测编码、码激励线性预测编码、多带激励编码等。多脉冲激励线性预测编码算法采用了由多个不均匀间隔脉冲所组成的激励序列,此算法在10kbit/s 的低码率下能产生比较好的语音质量,但对高基音说话者来说,其性能通常会有所下降。码激励线性预测编码的算法是利用矢量化的码本,将激励序列编码。码本中的每一个存储的码字矢量(简称码矢量) 都可以代替余量信号
3、作为可能的激励信号源。实践表明,码激励线性预测编码器在4.8-1610kbit/s 范围内可以获得质量相当高的合成语音,是最具有吸引力的语音压缩编码方式之一。多带激励语音编码将语音谱按基音谐波频率分成若干个频带,逐带分别判断是清音还是浊音,然后采用不同的激励信号源产生该带的合成信号,最后将各带相加,形成全带合成语音。多带激励语音编码是目前低速率语音编码较理想的方案,在2.4-4.skbit/s 的速率上能合成出比传统声码器好得多的语音。目前,语音压缩编码技术主要有两个努力方向:一个是中低速率的语音编码的实用化,及如何在使用过程中进一步减低编码速率和提高其抗干扰、抗噪声能力;另一个是如何进一步的
4、降低其编码速率。目前比较好的算法还有正弦变换编码、混合激励线性预测编码、时频域插值编码、基音同步激励线性预测编码等,同时还要求引入新的分析技术,如非线性预测、多精度时频分析技术(包括子波变换技术)、高阶统计分析技术等。这些技术更能挖掘人耳听觉掩蔽等感知机理,更能以类似人耳的特性作语音的分析与合成,使语音编码系统更接近于人类听觉器官的处理方式工作,从而在低速率语音编码的研究上取得突破。1.2 纠错编码技术纠错编码技术的目的有两个:一是解决由信道噪声所产生的随机性差错,二是解决由脉冲干扰所引起的突发性差错。RS 码纠错性能分析:RS 码是非二进制码,RS 码的码字取自GF(2m),也就是由0.1、
5、和的各次幂组成。RS 码不仅能够纠单个随机错误,还可以纠突发错误。在GF(24)域中,(15,11)码可纠2 位错,(15,9)码可纠3 位错,(15,7)码可纠4 位错。RS 码是多进制码,而通常在实际系统中用的是二进制码。如何把二进制码与多进制码对应起来?我们以GF(24)域上的RS 码加以说明。首先,把二进制数据流按四比特分,将一个二进制序列分为四位一组。这每个四位二进制按照预先编辑好的4 一重表示法与的某个幂值,即GF(24)域中的元素一一对应,把这4 位二进制序列可以看成是RS 码中的一个符号,这样,就可以用RS码来解决我们实际系统中的复杂信道数据传输的纠错问题了。1.3 自适应均衡
6、技术均衡的目的是在接收端对于信道非理想特性造成的信号畸变进行补偿,抑制接收信号之间的符号间干扰,从而尽可能地恢复发射波形。自适应均衡技术是目前使用较多的一种信道均衡方法。它可以通过发射学习码,来自适应的学习信道特性,实时估计信道响应,以便利用学习阶段得到的自适应均衡网络参数,对畸变的信号波形进行补偿,从而得到估计信号。总之,自适应均衡器是用来自动补偿由于信道的非理想频率特性而产生的畸变,可以简单地理解成均衡器与信道的传递函数互为倒数,作用抵消,从而获得最佳传输波形以消除IS 工,恢复原始信号,同时使有限的带宽得以充分利用。二、数字语音技术的应用近年来,随着信息技术的发展,数字语音技术在各领域应
7、用有了突破性的进展,主要有可视电话伴音、无绳电话机、单路单载波卫星和海事卫星通信、数字插空设备、存储和转发系统、语音信息录音、数字移动无线系统、分组化语音等。目前,AOL、Lycos 与Yahoo 对语音识别和语音到文本技术的使用,限于用声音传送现有内容,所以用户可以通过电话阅读电子邮件、获取股票报价和新闻或享用其他服务。Yankee 集团的分析家兰开斯特认为,在这一市场中,大公司具有相当大的优势。他认为:在吸引与留住顾客的这场竞争中,大公司正设法为自己的网站增添尽可能多的价值。就把电子邮件众多信息服务结合起来而言,免费提供语音服务就是一种诱惑。为了留住顾客,这些公司可谓不遗余力,这是因为它们
8、有能力这么做,而许多小公司却没有财力投资这类新兴而又有风险的服务。对大多数公司来说,提供语音服务还颇具风险,这主要是由于缺乏明确的收入模式。虽然广告似乎是必然选择,但很多消费者对广告己经大倒胃口。CahnersIn-Stat 集团在调查了1000 名消费者后指出,48%的人可能会使用语音门户网站,但如果必须收听广告的话,只有31%的人仍会选择这种服务。随着语音处理技术的飞速发展和广泛应用,数字语音处理业务在不断增长。这些业务的工作基础则是语音的分析和加工。对于基于大语料库的语音合成系统来说,语音的切分和标注关系到最终的合成质量。对于语音识别系统,原始语音的分析和语句的切分标注也起着关键作用。简
9、单易用和功能强大的语音分析和处理工具在语音相关的领域发挥着重要作用。目前国内很多从事语音研究的单位1都自行设计了面向本单位业务的数字语音处理工具,但这些工具中很少提供共享。在国外开放使用的语音处理软件中,Praat2是突出代表。它功能比较强大,比较好地满足了语音分析的要求。它还支持多种语音数据格式,提供人工方式切分和支持简单的标注。本文的研究目标是提供一种通用的数字语音处理的可视化研究平台。它不仅需要支持语音的录放、编辑和存储等功能,还需要支持语音的切分和标注、语音的基本分析功能以及语音特征参数的显示。同时,它必须具备良好的可扩充能力和伸缩性,能够迎合大多数语音处理的需求。基于上述考虑,本文建
10、立的平台采用了模块组合式的体系结构。本文首先介绍作者设计的研究平台VisualSpeech(简称为可视语音平台)的体系结构,其次描述平台的内部模块,然后分析外部模块的设计思路,阐述在语音合成研究中如何应用可视语音平台,最后总结研究平台的特点。1 平台的系统结构图 1 所示的是可视语音平台的系统结构。从功能角度来分,可视语音平台主要包括数据接口、数据显示、数据管理、参数配置和外部模块5 大部分。数据接口部分包括语音波形文件的输入输出、用户标注信息的存取和压缩格式的语音的存取。它完成底层数据的收集和存储,保存用户最终的分析和标注结果。数据显示部分需要面临多种数据格式的混合显示问题。语音分析结果中音
11、节端点信息是成对的,基频峰值点信息又和音节切分点信息相关。频谱分析得到的结果是3 维数据,计算LPCC3和MFCC4得到的是2 维数据。数据管理包括全局内存管理、数据对象管理和用户操作管理。内存管理面向整个平台,将使用的内存进行统一管理,包括分配、释放和维护。采用这一机制有利于解决内存泄漏想象和提高资源的利用率。用户自行开发的语音处理算法以外部模块的形式存在,由平台在启动时加载,结束时释放。按照运行机制,平台的所有模块可以分为内部模块和外部模块两大类。内部模块直接实现在平台内部,外部模块则是由平台在启动时动态加载。内部模块调用外部模块或者外部模块之间互相调用,都是采用一个统一的接口实现数据封装
12、,屏蔽数据的差异性。目前可视语音平台能够显示语音的波形、基音周期、频谱、共振峰和线谱对参数。平台主程序菜单包括波形文件管理、波形编辑、视图查看模式设定、播放控制。外部模块的图标被集中放在一个特定的工具栏中。平台采用了多文档类的结构,可以同时编辑多个波形文件。2 内部模块对于可视语音平台来说,输入的数据主要包括语音数据和用户标注数据。语音数据格式比较多,可以分为原始采样记录和语音编码记录。为了解决这一问题,设计了一个CData_Interface 模块。所有的底层语音数据都通过这个接口输入和输出。2.1 数据对象管理可视语音平台采用了多文档并行的数据对象管理模式。数据对象包括原始波形数据、语音或
13、者音频编码流、音段切分信息和基音周期标注信息。一个语音数据对象对应于一个文档类和一个视图类的对象。其余类型的信息均看成语音对象的子对象。2.2 数据对象显示前面提到,语音分析的结果呈多样化,各种应用分析的声学参数差异也比较大。然而这些参数在时间轴上是对齐的。因此,可视语音平台采用了一个纵版的视图结构,需要显示的声学参数垂直排列。每一个声学参数都有自己独立的显示比例标尺,例如显示波形时,采用振幅的绝对值或者其对数值作为度量。显示频谱时,首先将幅度频谱映射到0,255的区间上,然后按照亮度值显示,色彩越亮的点代表频谱幅度越大。图2 所示是“为临帖”的波形、基频包络和语谱。图 2 “为临帖”在可视语
14、音平台中的视图3 外部模块为了让可视语音平台能够适应不同语音研究的需求,解决新算法的扩充问题,本文定义了具有标准形式的外部模块。该模块是独立于平台的一个部件,实现算法的核心部分。如果一个处理算法需要用到平台已有的其它算法,那么首先要按照定义的接口规范将待处理的数据封装起来,然后调用相应的接口函数。平台仅仅负责传递格式化数据,并将返回的处理结果显示到窗口中。外部模块采用动态链接库的模式进行开发和加载,因此平台实现和算法实现过程是相互独立的,从而方便了平台的功能扩展。为了提高开发速度,本文还设计了一个基于 Visual C+的开发模板。这个模板可以帮助设置外部模块的名称、接口函数的名称和版本信息,
15、创建出一个基本的Visual C+程序框架。3.1 接口规范为了隐藏内部函数和统一接口,本文制定了一套开发规范。一个外部模块只允许导出一个结构体对象,而不是导出一系列函数接口。这个结构体全部纪录了模块的基本信息、函数接口、数据结构、工作图标等。其形式如下:struct module_struct int version; /* 主版本 */int minor_version; /* 副版本 */const char *source; /* 源程序的文件名 */void *dynamic_load_handle; /* 动态加载成功后返回的全局句柄 */struct module_struct
16、*next; /* 为了构成链表,需要描述的下一个模块的结构体 */const char *depend_name; /* 执行本模块需要调用的第一个模块的名称 */struct module_struct *depend; /* 调用的第1 个模块的描述结构体 */const char *depend_name_next; /* 调用的第2 个模块的名称 */struct module_struct *depend_next; /* 调用的第2 个模块的描述结构体 */unsigned short bmpid; /*位图资源的ID,工作图标*/const char *name; /* 外部模
17、块的正式名称 */const char *tips; /* 工具栏提示字符串 */void *(*process) (void *in); /* 主函数 */void *(*exit) (void *in); /* 资源清理函数 */void *(*batch)(void *in); /*批处理模式的主函数*/ ;其中dynamic_load_handle 是操作系统加载相应的动态链接库后返回的句柄。如果bmpid 不为0,则表示该模块将在工具条中出现。3.2 数据交换格式为了便于模块之间交换数据,屏蔽数据类型的差异,定义了如下的数据封装格式:struct absdata int dimens
18、ion; /* 数据的维数,例如语谱图是2 维浮点型数据*/int width; /* 数组X 方向大小,也就是列数 */int height; /* 数组X 方向大小,也就是行数 */int width_desired; /* 希望返回的数组列数 */int height_desired; /* 希望返回的数组行数 */int parameter; /* 传入主算法的第一个实参 */int datatype; /* 数据类型索引,例如 1-句柄 2-整数 3-字符 4-短整数*/int drawtype; /* 数据在视图中的绘制模式,1-波形图,2-离散点,3-三维谱图 */void *p
19、ointer; /* 数据的存储地址 */void *window; /* 和数据关联的窗口句柄 */int samplerate; /* 采样率 */int needfree; /* 调用结束后是否自动释放 */void *aux; /* 辅助数据指针 */int auxwidth; /* 辅助数据长度 */int auxdatatype; /* 辅助数据类型索引 */ ;调用外部模块之前,需要事先准备一个absdata 对象,并设置好其全部成员变量。外部模块处理结束后,返回的也是一个absdata 对象。调用程序再根据drawtype 和datatype,决定如何在视图对象中绘制运算结果。
20、3.3 加载过程在可视语音平台启动时,加载外部模块的存放目录下全部动态链接库文件。然后逐个分析,判断它们是否符合前面提到的接口规范。如果符合,进一步判断是否存在工作图标,是否需要将图标加入到工具栏中。分析加载流程如图3 所示。图 3 外部模块的加载流程所有合法的外部加载成功后, 视语音平台根据module_struct中的depend_name 和 depend_name_next 生成一个依赖关系链表。如果一个外部模块所依赖的某一个模块没有加载成功,平台将停用该模块。最后,所有工作图标将组合成为一个长条形位图,显示在单独的工具条中,并设置好图标与模块之间的对应关系。这样,用户点击某一个图标后,可视语音平台将根据对应关系,找到需要执行的外部模块的句柄, 然后格式化输入的数据, 调用该模块的module_struct 中的process 函数。值得注意的是,module_struct中定义了一个batch 函数接口。利用它可以实现某一功能的成批操作。例如,一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年毫州a2货运从业资格证考试
- 客户开发居间合同
- 商业地产开发作业指导书
- 罗马柱安装工程合同
- 国际海上货物运输合同概述
- 手房个人装修合同
- 合伙人股权协议8篇
- 2025年阳江货运从业资格证考试题库答案
- 2023年全国乙卷高考真题化学试卷解析版
- 2025年高中化学新教材同步 必修第一册 第3章 章末检测试卷(三)
- 小学生分享ppt课件-景区介绍《牛首山》
- 中职统编《金属材料与热处理》系列课件 第1章 金属的结构与结晶(动画) 云天系列课件
- 伦理审查表(一式三份)
- 石膏几何体结构素描教案
- 祥康健康快车王晗老师讲座收集验方
- 礼仪与教化 课件-2023-2024学年高中美术湘美版(2019)美术鉴赏
- 新生儿早期基本保健课件
- 采矿学课程设计砚北煤矿新井设计全套图纸
- 第19章-城市设计课件
- 人事管理管理制度
- 大型储罐计算书
评论
0/150
提交评论