当前位置:文档之家› 语音信号的提取与识别技术——说话人识别系统的研究

语音信号的提取与识别技术——说话人识别系统的研究

毕业设计说明书语音信号的提取与识别技术——说话人识别系统的研究作者:学号:学院(系):专业:指导教师:评阅人:20**年6月中北大学毕业设计(论文)任务书学院、系:专业:学生姓名:学号:设计(论文)题目:语音信号的提取与识别技术起迄日期: 20**年2月15日~20**年6月21日设计(论文)地点:指导教师:系主任:发任务书日期:20**年2月15日毕业设计(论文)任务书1.毕业设计(论文)课题的任务和要求:1.了解声音信号的特征参数,及现阶段研究处理方法。

以现阶段信号处理领域比较活跃的语音信号为具体研究对象,进行相关知识的了解与学习。

2.学会在语音信号处理中使用MATLAB软件工具。

3.针对基本的个别个体的特定声音进行与信识别研究。

4.根据研究情况利用MATLAB语言进行相关算法的实现。

2.毕业设计(论文)课题的具体工作内容(包括原始数据、技术要求、工作要求等):1.查阅相关资料,利用已学的相关知识进行消化和理解。

2.了解现阶段的语音处理情况,分析研究相关的产品。

3.研究学习基本的识别处理方法。

4.学习相关信号处理软件。

5.对软件的学习达到能对基本的算法进行软件的处理。

6.完成毕业设计论文。

毕业设计(论文)任务书3.对毕业设计(论文)课题成果的要求〔包括毕业设计(论文)、图纸、实物样品等):1、毕业论文一份;2、英文文献1份,相应的中文译文1份。

4.毕业设计(论文)课题工作进度计划:起迄日期工作内容2006年2月15日~ 3月31日4月 1日~ 5月31日6月 1日~ 6月20日6月20日~ 6月21日系统学习,查阅资料,作开题报告;英文资料翻译;撰写毕业论文;论文答辩。

学生所在系审查意见:系主任:年月日中北大学毕业设计(论文)开题报告学生姓名:学号:学院、系:专业:设计(论文)题目:语音信号提取与识别技术指导教师:20**年 3 月 8 日毕业设计(论文)开题报告1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,撰写2000字左右的文献综述:文献综述语音信号识别研究的根本目的是研究出一种具有听觉功能的机器,能直接接受人的口呼命令,理解人的意图并做出相应的反映。

语音识别系统的研究涉及微机技术、人工智能、数字信号处理、模式识别、声学、语言学和认知科学等许多学科领域,是一个多学科综合性研究领域。

近年来,高性能数字信号处理芯片DSP (DigitalSignalProcess)技术的迅速发展,为语音识别的实时实现提供了可能,其中,AD公司的数字信号处理芯片以其良好的性价比和代码的可移植性被广泛地应用于各个领域。

因此,我们采用AD 公司的定点DSP处理芯片ADSP2181实现了语音信号的识别。

1 语音识别的基本过程根据实际中的应用不同,语音识别系统可以分为:特定人与非特定人的识别、独立词与连续词的识别、小词汇量与大词汇量以及无限词汇量的识别。

但无论那种语音识别系统,其基本原理和处理方法都大体类似。

一个典型的语音识别系统的原理图如图1所示[1]。

语音识别过程主要包括语音信号的预处理、特征提取、模式匹配几个部分。

预处理包括预滤波、采样和量化、加窗、端点检测、预加重等过程。

语音信号识别最重要的一环就是特征参数提取。

提取的特征参数必须满足以下的要求:(1)提取的特征参数能有效地代表语音特征,具有很好的区分性;(2)各阶参数之间有良好的独立性;(3)特征参数要计算方便,最好有高效的算法,以保证语音识别的实时实现。

在训练阶段,将特征参数进行一定的处理后,为每个词条建立一个模型,保存为模板库。

在识别阶段,语音信号经过相同的通道得到语音特征参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。

同时,还可以在很多先验知识的帮助下,提高识别的准确率。

2 系统的硬件结构2.1 ADSP2181的特点[2]AD公司的DSP处理芯片ADSP2181是一种16 b的定点DSP芯片,他内部存储空间大、运算功能强、接口能力强。

有以下的主要特点:(1)采用哈佛结构,外接16.67 MHz晶振,指令周期为30 ns,指令速度为33 MI /s,所有指令单周期执行;(2)片内集成了80 kB的存储器:16 kB字的(24b)的程序存储器和16kB(16b)的数据存储器;(3)内部有3个独立的计算单元:算术逻辑单元(ALU)、乘累加器(MAC)和桶形移位器(SHIFT),其中乘累加器支持多精度和自动无偏差舍入;(4)一个16 b的内部DMA端口(IDMA),供片内存储器的高速存取;一个8 b自举DMA(BDMA)口,用于从自举程序存储器中装载数据和程序;(5)6个外部中断,并且可以设置优先级或屏蔽等。

由于ADSP2181以上的特点,使得该芯片构成的系统体积小、性能高、成本和功耗低,能较好地实现语音识别算法。

2.2 系统的硬件结构在构成语音识别电路时,我们采用了ADSP2181的主从结构设计方式,通过IDMA口由CPU装载程序。

语音识别系统的硬件结构如图2所示。

在这种结构中,PC机为主CPU,ADSP2181为从CPU,由PC机通过IDMA口将程序装载到ADSP2181的内部存储器中。

PC机总线通过CPLD译码,形成等控制信号,与ADSP2181的IDMA口相连。

这样,在ADSP2181全速运行时,主机可以查询从机的运行状态,可以访问到ADSP2181内部所有的程序存储器和数据存储器。

这对程序的编译和调试,以及语音信号的实时处理带来了极大的方便。

参考文献[1] RabinerL,Juang BH.Fundamentals ofspeech recognition[M].PTRPrentice Hall,1993.[2]苏淘,吴顺君,廖晓群.高性能数字信号处理器与高速实时信号处理[M].西安:西安电子科技大学出版社,1999.[3] Analog ing ADSP-2100 family volume l[Z].[4] Analog ing ADSP-2100 family volume 2[Z].毕业设计(论文)开题报告2.本课题要研究或解决的问题和拟采用的研究手段(途径):语音识别的DSP实现技术1 浮点运算的定点实现在语音识别的算法中,有许多的浮点运算。

用定点DSP来实现浮点运算是在编写语音识别程序中需要首先解决的问题。

这个问题可以通过数的定标方法来实现。

数的定标就是决定小数点在定点数中的位置。

Q表示法是一种常用的定标方法。

其表示机制是:设定点数是x,浮点数是y,则Q法表示的定点数与浮点数的转换关系为:2 数据精度的处理用16 b的定点DSP实现语音识别算法时,虽然程序的运行速度提高了,但是数据精度比较低。

这可能由于中间过程的累计误差而引起运算结果的不正确。

为了提高数据的运算精度,在程序中采用了以下的处理方法:(1)扩展精度在精度要求比较高的地方,将计算的中间变量采用32 b,甚至48 b来表示。

这样,在指令条数增加不多的情况下却使运算精度大大提高了。

(2)采用伪浮点法来表示浮点数伪浮点法即用尾数+指数的方法来表示浮点数。

这时,数据块的尾数可以采用Q1.15数据格式,数据块的指数相同。

这种表示数据的方法有足够大的数据范围,可以完全满足数据精度的要求,但是需要自己编写一套指数和尾数运算库,会额外增加程序的指令数和运算量,不利于实时实现。

以上两种方法,都可以提高运算精度,但在实际操作时,要根据系统的要求和算法的复杂度,来权衡考虑。

3 变量的维护在高级语言中,有全局变量与局部变量存储的区别,但在DSP程序中,所有声明的变量在链接时都会分给数据空间。

所以如果按照高级语言那样定义局部变量,就会浪费大量的DSP存储空间,这对数据空间较为紧张的定点DSP来说,显然是不合理的。

为了节省存储空间,在编写DSP程序时,最好维护好一张变量表。

每进入一个DSP子模块时,不要急于分配新的局部变量,应优先使用已分配但不用的变量。

只有在不够时才分配新的局部变量。

4 循环嵌套的处理语音识别算法的实现,有许多是在循环中实现的。

对于循环的处理,需要注意以下几个问题:(1)ADSP2100系列DSP芯片中,循环嵌套最多不能超过4重,否则就会发生堆栈溢出,导致程序不能正确执行。

但在语音识别的DSP程序中,包括中断在内的嵌套程序往往超过4重。

这时不能使用DSP提供的do…until…指令,只能自己设计出一些循环变量,自己维护这些变量。

由于这时没有使用 DSP的循环堆栈,所以也不会导致堆栈溢出。

另外,如果采用jump指令从循环指令中跳出,则必须维护好PC,LOOP和CNTR三个堆栈的指针。

(2)尽量减少循环体内的指令数。

在多重循环的内部,减少指令数有利于降低程序的执行次数。

这样有利于减少程序的执行时间、提高操作的实时性。

5 采用模块化的程序设计方法在语音识别算法的实现中,为了便于程序的设计和调试,采用了模块化的程序设计方法。

以语音识别的基本过程为依据进行模块划分,每个模块再划分为若干个子模块,然后以模块为单元进行编程和调试。

在编写程序之前,首先用高级语言对每个模块进行算法仿真,在此基础上再进行汇编程序的编写。

在调试时,可以采用高级语言与汇编语言对比的调试方式,这样可以通过跟踪高级语言与汇编语言的中间状态,来验证汇编语言的正确性,并及时的发现和修改错误,缩短编程周期。

另外,在程序的编写过程中,应在关键的部分加上必要的注释与说明,以增强程序的可读性。

在总调时,需要在各模块中设置好相应的入口参数与出口参数,维护好堆栈指针与中间变量等。

6 利用C语言与汇编语言的混合编程现在,大多数的DSP芯片都支持汇编语言与C或C++语言的混合编程,ADSP2181也不例外。

用C语言开发DSP程序具有缩短开发周期、降低程序复杂度的优点,但是,程序的执行效率却不高,会增加额外的机器周期,不利于程序的实时实现。

为此,在用C 语言编写语音识别算法时,我们采用了定点化处理技术。

ADSP2181是16位定点处理器,定点化处理应注意以下几个问题[3,4]:(1)ADSP2181支持小数和整数两种运算方式,在计算时应选择小数方式,使计算结果的绝对值都小于1;(2)用双字定点运算库代替C语言的浮点库,提高运算精度;(3)注意在每次乘加运算之后进行饱和操作,防止结果的上溢和下溢;(4)循环处理后的一组数据可能有不同的指数,要进行归一化处理,以便后续定点操作对指数和尾数部分分别处理。

毕业设计(论文)开题报告指导教师意见:指导教师:年月日所在系审查意见:系主任:年月日附件:参考文献注释格式学术期刊作者﹒论文题目﹒期刊名称,出版年份,卷(期):页次如果作者的人数多于3人,则写前三位作者的名字后面加“等”,作者之间以逗号隔开。

例如:[1]李峰,胡征,景苏等. 纳米粒子的控制生长和自组装研究进展. 无机化学学报,2001, 17(3): 315~324[2]J.Y.Li, X.L.Chen,H.Li. Fabrication of zinc oxide nanorods.Journal of Crystal Growth, 2001,233:5~7学术会议论文集作者﹒论文题目﹒文集编者姓名﹒学术会议文集名称,出版地:出版者,出版年份:页次例如:[3] 司宗国谢去病王群﹒重子湮没快度关联的研究﹒见赵维勤,高崇寿编﹒第五届高能粒子产生和重离子碰撞理论研讨会文集,北京:中国高等科学技术中心,1996:105图书著者﹒书名﹒版本﹒出版地:出版者,出版年﹒页次如果该书是第一版则可以略去版次。

相关主题