语音识别系统实验报告材料
语音识别实验报告

语音识别实验报告一、实验背景随着科技的迅速发展,语音识别技术在众多领域得到了广泛应用,如智能家居、智能客服、语音助手等。
为了深入了解语音识别的原理和性能,我们进行了本次实验。
二、实验目的1、了解语音识别的基本原理和工作流程。
2、比较不同语音识别系统的性能和准确性。
3、探究影响语音识别准确率的因素。
三、实验设备和材料1、计算机:配备高性能处理器和足够内存,以支持语音识别软件的运行。
2、麦克风:用于采集语音信号,选择了具有较好音质和灵敏度的麦克风。
3、语音识别软件:使用了市面上常见的几款语音识别软件,如_____、_____等。
四、实验原理语音识别的基本原理是将输入的语音信号转换为数字信号,然后通过一系列的算法和模型进行分析和处理,最终将其转换为文字输出。
这个过程涉及到声学模型、语言模型和搜索算法等多个方面。
声学模型用于对语音信号的声学特征进行建模,将语音信号转换为声学特征向量。
语言模型则用于对语言的语法和语义进行建模,预测可能的文字序列。
搜索算法则在声学模型和语言模型的基础上,寻找最优的文字输出结果。
五、实验步骤1、准备实验环境:安装和配置好语音识别软件,确保麦克风正常工作。
2、采集语音样本:选择了不同的说话人,包括男性、女性和不同年龄段的人,录制了多种类型的语音样本,如清晰的朗读、自然的对话、带有口音的讲话等。
3、进行语音识别测试:使用不同的语音识别软件对采集的语音样本进行识别,并记录识别结果。
4、分析识别结果:对识别结果进行仔细分析,计算准确率、召回率等指标,并对错误类型进行分类和统计。
六、实验结果与分析1、不同语音识别软件的性能比较软件 A 在清晰朗读的语音样本上表现较好,准确率达到了____%,但在自然对话和带有口音的语音样本上准确率有所下降。
软件 B 在各种类型的语音样本上表现较为均衡,准确率都在____%左右。
软件 C 在处理带有噪音的语音样本时表现出色,但对于语速较快的语音识别准确率较低。
人工智能语音识别实验报告

人工智能语音识别实验报告引言:"人工智能是指通过模仿人的智能行为,实现出具有智能的设备或系统。
其中,语音识别作为人工智能的一项重要应用,正在为人类生活带来革命性的变化。
本实验报告旨在对人工智能语音识别的原理、应用和发展进行探讨,并结合实验数据进行分析和讨论。
一、实验目的本次实验旨在通过人工智能语音识别技术,实现对特定语音信号的识别和转换。
具体目标如下:1. 理解人工智能语音识别技术的基本原理;2. 了解语音信号的采集、特征提取和识别过程;3. 利用实验数据验证语音识别系统的准确性和稳定性。
二、实验原理人工智能语音识别技术基于机器学习和深度学习算法。
其原理主要包括语音信号采集、特征提取和识别三个步骤。
1. 语音信号采集语音信号采集是语音识别的基础,它利用麦克风等设备将声波信号转化为电信号。
采集的语音信号需要具有一定的清晰度和准确性,以提供高质量的输入数据。
2. 特征提取特征提取是将语音信号转换为计算机能够处理的数字特征的过程。
常用的特征提取方法包括MFCC(Mel频率倒谱系数)和PLP (Perceptual Linear Prediction)等。
这些特征可以捕捉语音信号的频率、时域和能量特性。
3. 语音识别语音识别是通过训练模型,将提取到的语音特征与预先录入的语音库进行匹配,从而确定输入语音的内容。
常用的语音识别算法包括隐马尔可夫模型(HMM)和循环神经网络(RNN)等。
三、实验过程与结果在本次实验中,我们使用了开源的人工智能语音识别库,通过对一段录音进行处理和识别,得到了以下结果:1. 语音信号的预处理对录音进行去噪、降噪等预处理操作,提高语音信号的质量。
2. 特征提取与选择利用MFCC算法提取了语音信号的频谱特征,并通过特征选择方法选取了最具代表性的特征。
3. 训练模型使用训练集对语音识别模型进行训练,并通过交叉验证方法评估模型的准确性。
4. 语音识别和结果分析使用训练好的模型对测试集进行语音识别,并对识别结果进行分析和评估。
语音识别实验报告

语音识别实验报告篇一:语音识别报告“启动”的时域波形1、语音预加重:由于语音信号在高频部分衰减,在进行频谱分析时,频率越高,所占的成分越小,进行语音预加重,可以提升语音高频部分,使频谱变得平坦,以方便进行频谱的分析和处理。
通常的措施是采用数字滤波器进行预加重,传递函数是:H(z)?1??z?1,其中?一般去0.92-0.98之间,所以在计算的时候取0.9375。
预加重后的波形2、分帧加窗语音信号具有较强的时变特性,其特性是随时间变化的,但是语音的形成过程与发音器官的运动有关,这种物理运动比起声音振动的速度十分缓慢,在较短的时间内,语音信号的特征可以被认为是保持不变的,通常对语音处理是通过截取语音中的一段进行处理的,并且短段之间彼此经常有一些叠加,这一段语音成为一帧语音,语音段的长度称为帧长,对每一帧处理的结果可用一组数来表示。
一般取帧长为10—30ms。
采样频率是8000Hz,所以取的帧长是256,帧移是178。
分帧之后加汉明窗。
3、端点检测端点检测从背景噪声中找出语音的开始和终止点。
短时能量就是每帧语音信号振幅的平方和。
En??[s(m)];m?0N?1短时能量曲线短时过零率是每帧内信号通过零点的次数,是信号采样点符号的变化次数。
1N?1Zn??sgn[x(m)]?sgn[x(m?1)];2m?0“启动”的过零率曲线在实验室的安静的环境下,依靠短时能量和短时过零率就可进行语音信号的起止点判断。
当背景噪声较小时,没有语音信号的噪声能量很小,而语音信号的短时能量增大到了一定数值,可以区分语音信号的开始点和终止点。
当背景噪声较大时,可以用短时平均过零率和短时能量结合来判断。
基于能量一过零率的端点检测一般使用两级判决法,在开始进行端点检测之前,首先为短时能量和过零率分别确定两个门限。
整个语音信号的端点检测可以分为四段:静音、过渡音、语音段、结束时的静音段,(1)如果能量或过零率超越了低门限,就应该开始标记起点,进入过渡段。
语音识别 实验报告

语音识别实验报告语音识别实验报告一、引言语音识别是一项基于人工智能的技术,旨在将人类的声音转化为可识别的文字信息。
它在日常生活中有着广泛的应用,例如语音助手、智能家居和电话客服等。
本实验旨在探究语音识别的原理和应用,并评估其准确性和可靠性。
二、实验方法1. 数据收集我们使用了一组包含不同口音、语速和语调的语音样本。
这些样本覆盖了各种语言和方言,并涵盖了不同的背景噪音。
我们通过现场录音和网络资源收集到了大量的语音数据。
2. 数据预处理为了提高语音识别的准确性,我们对收集到的语音数据进行了预处理。
首先,我们对语音进行了降噪处理,去除了背景噪音的干扰。
然后,我们对语音进行了分段和对齐,以便与相应的文字进行匹配。
3. 特征提取在语音识别中,特征提取是非常重要的一步。
我们使用了Mel频率倒谱系数(MFCC)作为特征提取的方法。
MFCC可以提取语音信号的频谱特征,并且对人类听觉系统更加符合。
4. 模型训练我们采用了深度学习的方法进行语音识别模型的训练。
具体来说,我们使用了长短时记忆网络(LSTM)作为主要的模型结构。
LSTM具有较好的时序建模能力,适用于处理语音信号这种时序数据。
5. 模型评估为了评估我们的语音识别模型的准确性和可靠性,我们使用了一组测试数据集进行了模型评估。
测试数据集包含了不同的语音样本,并且与相应的文字进行了标注。
我们通过计算识别准确率和错误率来评估模型的性能。
三、实验结果经过多次实验和调优,我们的语音识别模型在测试数据集上取得了较好的结果。
识别准确率达到了90%以上,错误率控制在10%以内。
这表明我们的模型在不同语音样本上具有较好的泛化能力,并且能够有效地将语音转化为文字。
四、讨论与分析尽管我们的语音识别模型取得了较好的结果,但仍存在一些挑战和改进空间。
首先,对于口音较重或语速较快的语音样本,模型的准确性会有所下降。
其次,对于噪音较大的语音样本,模型的鲁棒性也有待提高。
此外,模型的训练时间较长,需要更多的计算资源。
语音识别实验报告总结

一、实验背景随着科技的飞速发展,人工智能技术在各个领域得到了广泛应用。
语音识别技术作为人工智能的一个重要分支,近年来取得了显著的进展。
为了深入了解语音识别技术,我们开展了语音识别实验,通过实际操作,对语音识别系统的原理、实现过程及性能进行了深入研究。
二、实验目的1. 了解语音识别的基本原理和关键技术;2. 掌握语音识别系统的实现方法;3. 评估语音识别系统的性能;4. 分析影响语音识别系统性能的因素。
三、实验内容1. 语音信号预处理(1)语音信号采集:采用麦克风采集一段普通话语音,采样频率为16kHz。
(2)语音信号预处理:对采集到的语音信号进行预加重、分帧、加窗等处理,提高语音信号的信噪比。
2. 特征提取(1)MFCC(梅尔频率倒谱系数)提取:将预处理后的语音信号进行MFCC特征提取,得到语音信号的时频特征。
(2)PLP(感知线性预测)提取:将预处理后的语音信号进行PLP特征提取,得到语音信号的线性预测特征。
3. 说话人识别(1)说话人特征提取:对语音信号进行说话人特征提取,包括声谱图、倒谱等。
(2)说话人识别:将提取的说话人特征与说话人数据库进行匹配,识别说话人。
4. 语音识别(1)声学模型训练:利用大量语音数据,训练声学模型。
(2)语言模型训练:利用大量文本数据,训练语言模型。
(3)语音识别:将提取的语音特征输入声学模型和语言模型,进行语音识别。
四、实验结果与分析1. 语音信号预处理通过预加重、分帧、加窗等处理,提高了语音信号的信噪比,为后续的特征提取奠定了基础。
2. 特征提取MFCC和PLP特征提取效果较好,能够有效表示语音信号的时频特征。
3. 说话人识别说话人识别准确率较高,能够有效识别不同说话人的语音。
4. 语音识别语音识别准确率较高,能够较好地识别语音内容。
五、实验结论1. 语音识别技术是实现人机交互的重要手段,具有广泛的应用前景。
2. 语音信号预处理、特征提取、说话人识别和语音识别是语音识别系统的关键环节。
语音识别技术实验报告

语音识别技术实验报告一、引言语音识别技术是一种能够将人类语音转换为文字或命令的技术。
随着人工智能和机器学习技术的不断发展,语音识别技术在各个领域得到了广泛的应用。
本实验旨在通过对不同语音识别技术的比较和实验验证,探讨其在现实生活中的应用和效果。
二、实验方法1. 实验设备:本次实验使用了智能手机和笔记本电脑。
2. 实验软件:采用了Google语音助手、百度语音助手和讯飞语音识别等不同的语音识别软件。
3. 实验步骤:- 步骤一:在智能手机上安装并调试各种语音识别软件。
- 步骤二:录制不同语音内容进行测试。
- 步骤三:对比不同软件的识别效果和准确率。
- 步骤四:分析实验结果并撰写实验报告。
三、实验结果1. Google语音助手:在实验中,Google语音助手表现出色,对于标准普通话的语音识别准确率高达90%以上。
然而,对于方言或口音较重的语音内容,识别准确率有所下降。
2. 百度语音助手:百度语音助手在实验中的识别效果也不错,准确率大约在85%左右。
其优势在于对于长篇语音内容的处理速度比较快,适合用于语音记事等场景。
3. 讯飞语音识别:讯飞语音识别在准确率上和Google、百度等软件相差不大,但其语音输入速度明显快于其他软件,响应更加迅速。
四、实验讨论通过实验结果的比较可以看出,不同语音识别软件在准确率和响应速度上各有优劣。
Google语音助手在准确率上表现最为出色,适合用于正式场合的语音输入;百度语音助手在处理长篇语音内容时表现不俗;讯飞语音识别在响应速度上占有优势,适合用于短暂的语音输入场景。
五、实验结论综上所述,语音识别技术在当今社会已经得到广泛应用,不同语音识别软件各有特点,选择适合自己需求的软件可以提高工作效率和生活质量。
在未来,随着人工智能技术的进一步发展,语音识别技术将得到更广泛的应用,为人们的生活带来更多便利。
六、参考文献1. 李明. (2019). 语音识别技术研究进展[J]. 电子科技大学学报, 48(4), 601-605.2. 张磊. (2018). 计算机语音识别技术综述[J]. 计算机技术与应用,17(3), 55-58.。
语音识别实验报告

语音识别实验报告篇一:语音识别报告“启动”的时域波形1、语音预加重:由于语音信号在高频部分衰减,在进行频谱分析时,频率越高,所占的成分越小,进行语音预加重,可以提升语音高频部分,使频谱变得平坦,以方便进行频谱的分析和处理。
通常的措施是采用数字滤波器进行预加重,传递函数是:H(z)?1??z?1,其中?一般去0.92-0.98之间,所以在计算的时候取0.9375。
预加重后的波形2、分帧加窗语音信号具有较强的时变特性,其特性是随时间变化的,但是语音的形成过程与发音器官的运动有关,这种物理运动比起声音振动的速度十分缓慢,在较短的时间内,语音信号的特征可以被认为是保持不变的,通常对语音处理是通过截取语音中的一段进行处理的,并且短段之间彼此经常有一些叠加,这一段语音成为一帧语音,语音段的长度称为帧长,对每一帧处理的结果可用一组数来表示。
一般取帧长为10—30ms。
采样频率是8000Hz,所以取的帧长是256,帧移是178。
分帧之后加汉明窗。
3、端点检测端点检测从背景噪声中找出语音的开始和终止点。
短时能量就是每帧语音信号振幅的平方和。
En??[s(m)];m?0N?1短时能量曲线短时过零率是每帧内信号通过零点的次数,是信号采样点符号的变化次数。
1N?1Zn??sgn[x(m)]?sgn[x(m?1)];2m?0“启动”的过零率曲线在实验室的安静的环境下,依靠短时能量和短时过零率就可进行语音信号的起止点判断。
当背景噪声较小时,没有语音信号的噪声能量很小,而语音信号的短时能量增大到了一定数值,可以区分语音信号的开始点和终止点。
当背景噪声较大时,可以用短时平均过零率和短时能量结合来判断。
基于能量一过零率的端点检测一般使用两级判决法,在开始进行端点检测之前,首先为短时能量和过零率分别确定两个门限。
整个语音信号的端点检测可以分为四段:静音、过渡音、语音段、结束时的静音段,(1)如果能量或过零率超越了低门限,就应该开始标记起点,进入过渡段。
语音识别实习报告

一、实习背景随着科技的飞速发展,人工智能技术在我国得到了广泛应用。
语音识别作为人工智能领域的一个重要分支,其技术已经取得了显著的成果。
为了更好地了解语音识别技术,提高自身的实践能力,我于近期参加了语音识别实习。
二、实习目的1. 了解语音识别技术的基本原理和发展趋势;2. 掌握语音识别系统的构建方法;3. 提高实际操作能力,为今后的研究和工作打下基础。
三、实习内容1. 语音识别基本原理实习期间,我们学习了语音识别的基本原理,包括语音信号处理、特征提取、模型训练和识别算法等方面。
通过学习,我们了解到语音识别是一个复杂的系统工程,涉及多个学科领域。
2. 语音识别系统构建在实习过程中,我们尝试构建了一个简单的语音识别系统。
首先,我们收集了一组普通话语音数据,并对其进行预处理,包括静音填充、分帧、特征提取等。
然后,我们使用深度学习算法对预处理后的语音数据进行训练,构建了一个语音识别模型。
最后,我们对模型进行测试,评估其识别准确率。
3. 实践操作在实习过程中,我们使用了多种工具和平台进行实践操作。
以下是一些主要的实践内容:(1)使用声学模型库:实习期间,我们使用了Kaldi开源语音识别工具包,学习如何构建和训练声学模型。
(2)使用语言模型库:我们使用了SRILM开源语言模型库,学习如何构建和训练语言模型。
(3)使用深度学习框架:我们使用了TensorFlow和PyTorch等深度学习框架,学习如何实现语音识别算法。
4. 语音识别算法研究实习期间,我们还对语音识别算法进行了深入研究,包括隐马尔可夫模型(HMM)、深度神经网络(DNN)、循环神经网络(RNN)和长短期记忆网络(LSTM)等。
通过对比分析,我们了解了不同算法的优缺点,为实际应用提供了参考。
四、实习成果1. 掌握了语音识别的基本原理和发展趋势;2. 学会了构建语音识别系统的方法和流程;3. 提高了实际操作能力,为今后的研究和工作打下了基础;4. 完成了一篇关于语音识别实习的报告,总结了实习过程中的收获和体会。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音识别系统实验报告专业班级:信息安全学号:姓名:目录一、设计任务及要求 (1)二、语音识别的简单介绍2.1语者识别的概念 (2)2.2特征参数的提取 (3)2.3用矢量量化聚类法生成码本 (3)2.4VQ的说话人识别 (4)三、算法程序分析3.1函数关系 (4)3.2代码说明 (5)3.2.1函数mfcc (5)3.2.2函数disteu (5)3.2.3函数vqlbg (6)3.2.4函数test (6)3.2.5函数testDB (7)3.2.6 函数train (8)3.2.7函数melfb (8)四、演示分析 (9)五、心得体会 (11)附:GUI程序代码 (12)一、设计任务及要求实现语音识别功能。
二、语音识别的简单介绍基于VQ的说话人识别系统,矢量量化起着双重作用。
在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。
在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。
语音识别系统结构框图如图1所示。
图1 语音识别系统结构框图2.1语者识别的概念语者识别就是根据说话人的语音信号来判别说话人的身份。
语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。
用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实现远程客户服务等。
因此,近几年来,说话人识别越来越多的受到人们的重视。
与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,是唯一可以用作远程验证的识别技术。
因此,说话人识别的应用前景非常广泛:今天,说话人识别技术已经关系到多学科的研究领域,不同领域中的进步都对说话人识别的发展做出了贡献。
说话人识别技术是集声学、语言学、计算机、信息处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。
在吃力语音信号的时候如何提取信号中关键的成分尤为重要。
语音信号的特征参数的好坏直接导致了辨别的准确性。
2.2特征参数的提取对于特征参数的选取,我们使用mfcc 的方法来提取。
MFCC 参数是基于人的听觉特性利用人听觉的屏蔽效应,在Mel 标度频率域提取出来的倒谱特征参数。
MFCC 参数的提取过程如下:1. 对输入的语音信号进行分帧、加窗,然后作离散傅立叶变换,获得频谱分布信息。
设语音信号的DFT 为:10,)()(112-≤≤=∑-=-N k en x k X N n N nk j a π(1)其中式中x(n)为输入的语音信号,N 表示傅立叶变换的点数。
2. 再求频谱幅度的平方,得到能量谱。
3. 将能量谱通过一组Mel 尺度的三角形滤波器组。
我们定义一个有M 个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,中心频率为f(m),m=1,2,3,·,M本系统取M=100。
4. 计算每个滤波器组输出的对数能量。
N 12a m k 1S(m)ln(|(k)|H (k)),0m M 1X -==≤≤-∑ (2)其中m H (k)为三角滤波器的频率响应。
5. 经过离散弦变换(DCT )得到MFCC 系数。
10C(n)()cos((0.5/)),(3)01M m S m n m m n N π-==-≤≤-∑MFCC 系数个数通常取20—30,常常不用0阶倒谱系数,因为它反映的是频谱能量,故在一般识别系统中,将称为能量系数,并不作为倒谱系数,本系统选取20阶倒谱系数。
2.3用矢量量化聚类法生成码本我们将每个待识的说话人看作是一个信源,用一个码本来表征。
码本是从该说话人的训练序列中提取的MFCC 特征矢量聚类而生成。
只要训练的序列足够长,可认为这个码本有效地包含了说话人的个人特征,而与讲话的内容无关。
本系统采用基于分裂的LBG 的算法设计VQ 码本,(1,2,,)k X k K =⋅⋅⋅为训练序列,B 为码本。
具体实现过程如下:1. 取提取出来的所有帧的特征矢量的型心(均值)作为第一个码字矢量B1。
2. 将当前的码本Bm 根据以下规则分裂,形成2m 个码字。
)1()1({εε-=+=-+m m m m B B B B (4)其中m 从1变化到当前的码本的码字数,ε是分裂时的参数,本文ε=0.01。
3. 根据得到的码本把所有的训练序列(特征矢量)进行分类,然后按照下面两个公式计算训练矢量量化失真量的总和[]n D 以及相对失真(n 为迭代次数,初始n=0,[1]D -=∞,B 为当前的码书),若相对失真小于某一阈值ε,迭代结束,当前的码书就是设计好的2m 个码字的码书,转5。
否则,转下一步。
量化失真量和:()1min (,)Kn k k D d X B ==∑ (5)相对失真:(1)||n nn D D D-- (6) 4. 重新计算各个区域的新型心,得到新的码书,转3。
5. 重复2 ,3 和4步,直到形成有M 个码字的码书(M 是所要求的码字数),其中D0=10000。
2.4 VQ 的说话人识别设是未知的说话人的特征矢量1{,,}T X X K ,共有T 帧是训练阶段形成的码书,表示码书第m 个码字,每一个码书有M 个码字。
再计算测试者的平均量化失真D ,并设置一个阈值,若D 小于此阈值,则是原训练者,反之则认为不是原训练者。
∑=≤≤=11]min[/1),(j Mm m j T D B x d (7) 三、算法程序分析在具体的实现过程当中,采用了matlab软件来帮助完成这个项目。
在matlab中主要由采集,分析,特征提取,比对几个重要部分。
以下为在实际的操作中,具体用到得函数关系和作用一一列举在下面。
3.1函数关系主要有两类函数文件Train.m和Test.m在Train.m调用Vqlbg.m获取训练录音的vq码本,而Vqlbg.m调用mfcc.m获取单个录音的mel倒谱系数,接着mfcc.m调用Melfb.m---将能量谱通过一组Mel尺度的三角形滤波器组。
在Test.m函数文件中调用Disteu.m计算训练录音(提供vq码本)与测试录音(提供mfcc)mel倒谱系数的距离,即判断两声音是否为同一录音者提供。
Disteu.m调用mfcc.m获取单个录音的mel倒谱系数。
mfcc.m调用Melfb.m---将能量谱通过一组Mel尺度的三角形滤波器组。
3.2具体代码说明3.2.1函数mffc:function r = mfcc(s, fs)---m = 100;n = 256;l = length(s);nbFrame = floor((l - n) / m) + 1; %沿-∞方向取整for i = 1:nfor j = 1:nbFrameM(i, j) = s(((j - 1) * m) + i); %对矩阵M赋值endendh = hamming(n); %加hamming 窗,以增加音框左端和右端的连续性M2 = diag(h) * M;for i = 1:nbFrameframe(:,i) = fft(M2(:, i)); %对信号进行快速傅里叶变换FFTendt = n / 2;tmax = l / fs;m = melfb(20, n, fs); %将上述线性频谱通过Mel 频率滤波器组得到Mel 频谱,下面在将其转化成对数频谱n2 = 1 + floor(n / 2);z = m * abs(frame(1:n2, :)).^2;r = dct(log(z)); %将上述对数频谱,经过离散余弦变换(DCT)变换到倒谱域,即可得到Mel 倒谱系数(MFCC参数)3.2.2函数disteu---计算测试者和模板码本的距离function d = disteu(x, y)[M, N] = size(x); %音频x赋值给【M,N】[M2, P] = size(y); %音频y赋值给【M2,P】if (M ~= M2)error('不匹配!') %两个音频时间长度不相等endd = zeros(N, P);if (N < P)%在两个音频时间长度相等的前提下copies = zeros(1,P);for n = 1:Nd(n,:) = sum((x(:, n+copies) - y) .^2, 1);endelsecopies = zeros(1,N);for p = 1:Pd(:,p) = sum((x - y(:, p+copies)) .^2, 1)';end%%成对欧氏距离的两个矩阵的列之间的距离endd = d.^0.5;3.2.3函数vqlbg---该函数利用矢量量化提取了音频的vq码本function r = vqlbg(d,k)e = .01;r = mean(d, 2);dpr = 10000;for i = 1:log2(k)r = [r*(1+e), r*(1-e)];while (1 == 1)z = disteu(d, r);[m,ind] = min(z, [], 2);t = 0;for j = 1:2^ir(:, j) = mean(d(:, find(ind == j)), 2);x = disteu(d(:, find(ind == j)), r(:, j));for q = 1:length(x)t = t + x(q);endendif (((dpr - t)/t) < e)break;elsedpr = t;endendend3.2.4函数testfunction finalmsg = test(testdir, n, code)for k = 1:n % read test sound file of each speaker file = sprintf('%ss%d.wav', testdir, k);[s, fs] = wavread(file);v = mfcc(s, fs); % 得到测试人语音的mel倒谱系数distmin = 4; %阈值设置处% 就判断一次,因为模板里面只有一个文件d = disteu(v, code{1}); %计算得到模板和要判断的声音之间的“距离”dist = sum(min(d,[],2)) / size(d,1); %变换得到一个距离的量%测试阈值数量级msgc = sprintf('与模板语音信号的差值为:%10f ', dist);disp(msgc);%此人匹配if dist <= distmin %一个阈值,小于阈值,则就是这个人。