2026/4/5 21:16:46
网站建设
项目流程
哈尔滨全国网站建设,天河建设网站系统,网站设计属于什么分类号,wordpress 浏览器上显示错位摘要
在通信技术的不断进步发展下#xff0c;语音识别技术也取得了令人瞩目的成就#xff0c;人们对语音识别技术的性能要求也越来越高。语音识别技术是通常以人们说话的内容作为识别对象的一项技术#xff0c;凭借其安全高效、价格低廉、易于实现等特点#xff0c;能与其它…摘要在通信技术的不断进步发展下语音识别技术也取得了令人瞩目的成就人们对语音识别技术的性能要求也越来越高。语音识别技术是通常以人们说话的内容作为识别对象的一项技术凭借其安全高效、价格低廉、易于实现等特点能与其它的语音处理技术结合从而创造出更复杂且实用性高的应用对于计算机和社交生活的发展其重要性日益突出。本文所研究的课题是基于Matlab的语音识别系统设计的研究确切地来说是关于特定人的语音识别设计的研究。本文主要介绍并运用了高斯混合模型GMM和MFCCMel频率倒谱系数这两个算法来实现语音识别的过程。用高斯函数最大程度的近似表示信号的概率。首先对语音信号进行预处理其次通过Mel倒谱系数MFCC提取语音特征参数设置一个模板库用来存储大量并已提取特征参数的语音信号将待识别的语音信号与模板库中的语音信号经过同一通道后进行比较最终得到比较结果。由于在程序中难以观察到结果故添加了MATLAB GUI界面用户可以通过操作MATLAB GUI界面中的按钮观看到语音识别的基本过程并且最终的识别结果也会清晰的显示在界面上。本次设计经过多次的实际操作语音识别正确率可达百分之九十左右。关键词MATLAB GUIGMMMFCC1 高斯混合模式及语音信号的预处理1.1 高斯混合模式GMM介绍与数学原理多个高斯模型的叠加就构成了所谓的高斯混合模型GMM高斯混合模型可以用概率来进行划分、量化任何事物概率越高越属于这类事物且可以拟合出任意的分布图形。任何事物的数学表现形式都是曲线若干个高斯概率密度函数的和可以组合成一个事物所以它的表达能力很强。任意曲线都可以用高斯函数来表示曲线是用来描述一组数据的结果与以往的存储数据比较通过高斯混合模型更容易表达数据且有完整的数学表达公式。所以如果用一条曲线来表示语音信号那么这样的曲线就有了现实的意义。并且GMM能满足在数据维数增加的情况下也能对其进行训练分类这也是语音识别运用到高斯混合模型的一个重要原因。高斯混合模型GMM的数学原理是用高斯函数近似地表示曲线或曲面。在二维的情况下若干个高斯函数组合起来可以近似的看成是一个复杂的曲线。二维高斯函数的数学表达式如1-1为:2-1其中σ是标准差μ是均值。任何一个曲面都可以用高斯函数来逼近。在三维情况下三维高斯混合模型和二维的情况差不多二维表示的是表示曲线而三维表示的是曲面。即用高斯函数近似的表示任何一个曲面。三维高斯函数的数学表达式以及其中字母代表的含义如1-2为(1-2)其中 、 是均值 、 是标准差ρ是协方差。N维情况下也是和二维三维的情况一样也是用高斯函数来近似表示N维信号。N维高斯函数表达式2-3为1-3其中μ是均值向量Σ是协方差矩阵。2.1 语音信号的数字化处理语音信号的数字化一般是由放大、增益控制、防混叠滤波、采样、模数转换以及编码几步骤组成。本文中主要介绍了防混叠滤波、采样、模数转换及编码。通过对原始语音信号进行采样、量化和编码可以将其转换为幅度和时间离散的数字语音信号。第一步进行采样由于模拟语音信号是一段连续且不间断的波形将其分割成等间隔的若干份在时间上不连续但幅值上连续的离散模拟信号且需满足采样定理抽样频率大于信号的2倍带宽第二步是进行量化把分割好的在时间上不连续但幅值上连续的离散模拟信号的波形分成一个个点即变成时间上不连续且幅值上也不连续的信号最后编码通过计算机特定的语言将这些点变换为二进制数字码[5]。2.3 预加重处理每个人的声学特征都不同例如低高音的不同且人在说话的时候易受嘴唇和声门激励等人类发声器官本身影响在高于800hz的高频下语音信号的平均功率谱容易衰减对此要进行预加重处理。预加重在抗混叠滤波和A/D转换之前执行通常采用一阶FIR高通数字滤波器用于增强语音信号的高频的部分减少嘴唇和声门效应的影响突出显示语音的高频信号部分的共振峰使语音信号的频谱更加均匀和平滑易于提取高质量参数并更好地分析信号。在程序中首先用audioread这个函数读取语音文件并对信号进行模数转换其次把语音信号变成双精度类型double达到比较高的精确度最后进行预加重处理。2.4 预滤波处理A/D转换后用防混叠滤波器应用上是一个频率为100hz~3.4khz的低通滤波器具有优良的截止特性作为平滑滤波器防止混叠引起的失真和噪声、市电引起的频率干扰。3 程序流程设计3.2.1 创建文件首先创建YUYINSHIBIE.m文件先设置一个全局变量sc把sc附一个内容并显示在listbox2上并在listbox2上显示“请选择需要训练的语音库”这一字样。3.2.2 录制语音库下面对现场录音识别进行操作用户在“请输入需要录制的语音名称”这一可编辑文本框里输入想命名的文件名点击录制语音库此时界面上显示“开始录音”本次设计是6秒的语音录制6秒过后界面则显示“结束录音”保存文件并在界面上可显示文件保存的路径。如下图4.7所示。图4.7 录制语音库3.2.3 添加语音库接下来对按钮1进行编辑如下列程序所示把按钮1命名为“添加语音库”。需要先设置一个全局变量读取文件夹的路径代码然后读取文件夹里的说话人数如果文件夹里没有语音文件在listbox2中提示“抱歉请在文件夹中放入需要训练的语音”如果文件夹里有语音文件则显示“需要训练的语音有’,num2str(speakerNum),个”如下图4.8所示。图4.8 添加语音库3.2.4 提取并训练语音库下列程序是对按钮2编辑成“提取并训练语音库”。在listbox2中提示用户“正在提取第’,num2str(i),个人”并停顿0.5秒让用户更直观的观察。这段程序是实现经过预处理和高斯混合模型GMM提取语音信号的特征并将其保存在一个模式库中如下图4.9所示。图4.9 提取训练语音库3.2.5 选择识别语音下列程序是对按钮3编辑成 “选择识别的语音”。这段程序是让用户选择需要识别的语音文件并对它进行预加重、特征提取等步骤。如下图4.10所示。图4.10 选择识别语音3.2.6 语音识别下列程序是对按钮4编辑成“开始识别”。这段程序是把选择的语音信号文件与模式库中的语音文件进行对比得出的最终识别结果会显示在listbox2上如下图4.11所示。图4.11 识别结果3.2.7 退出添加一个按钮5编辑成“退出”。用户可以根据退出按钮选择是继续执行还是退出观察。如下图4.12所示。图4.12 退出界面以上就基本完成语音识别的整个过程。4 总结通过这次毕业设计的制作与编写我有了非常多的收获常言道一个好的开始意味着成功的一半。在这次毕业设计的选题当中我选择了一个自己非常感兴趣的题目本课题研究的是基于Matlab的语音识别系统设计。在该次论文的编写上我首先对语音识别技术做了一个基本的介绍然后在分析语音信号的基础上采用高斯混合模型GMM和MFCCC参数算法来保证语音特征识别的准确性。同时为了更直观的观测到语音识别的结果和实现算法的运行利用MATLAB编写图形界面GUI。除此之外介绍了语音识别的各个功能模块编写了一套基于MATLAB的语音识别程序在编写程序中遇到了许多的困难不断地查阅文献和请教老师同学。也介绍了程序的设计和运行。通过MATLAB强大的算法功能能够非常准确地实现语音识别的检测。