版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ABSTRACTUnderthebackgroundoftheInternetofThingsandintelligentdevices,manyintelligentdeviceshaveintegratedvoicerecognitionmodules,makingtheprocessingofvoicesignalsmoreimportant.Voicerecognitiontechnologyisalsowidelyappliedinsmarthomes,militaryfields,etc.MATLAB'spowerfulsignalprocessingcapabilitiescanalsobeusedtoanalyzevoicesignals.Themainworkofthisarticleincludes:1.Inthepartofextractingvoicefeatureparametersinthespeakerrecognitionsystem,thevocaltractmodelandthesolutionofMELcepstralcoefficientsareelaboratedindetail.2.Differentmethodsofvoicerecognitionareintroduced,mainlyfocusingontheapplicationofvectorquantizationtechnologyandhowitachievesthepurposeofencodingandcompression.Atthesametime,othertemplaterecognitionmethodsarealsointroduced.3.Anon-specificpersonisolatedwordvoicerecognitionsystembasedonMATLABisbuilt.Firstly,thevoicesignalispreprocessedandaseriesofmeasuressuchasendpointdetectionarecarriedout.ThemainmethodofvoicefeatureextractionisMFCC(MelFrequencyCepstralCoefficients).Then,theLBGalgorithmisusedtotrainandformaVQcodebook,creatingasmallvoicelibrary.Finally,afterprocessingthevoicesignalofanon-specificspeaker,therecognitionresultbasedontheVQalgorithmiscomparedwiththetemplatelibrarytoobtainthemostaccuratevoicerecognitionresult.Keywords:Speechsignal;MFCC(Mel-frequencycepstralcoefficients)characteristicparameters,;VQ(VectorQuantization)
目录TOC\o"1-3"\h\u44491.引言 1175191.1语音识别的研究背景与挑战 1235561.1.1语音识别的应用场景 174761.1.2非特定人孤立词识别的技术特点与挑战 213131
1.2研究现状 2204161.2.1市场应用案例 2233291.2.2技术研究现状 324557
1.3本论文的主要工作 5166862.孤立词语音识别基础理论 6248762.1语音信号预处理 6158392.2特征提取方法概述 666412.2.1梅尔频率倒谱系数(MFCC) 6303772.2.2线性预测倒谱系数(LPCC) 7305652.2.3感知线性预测系数(PLP) 813174
2.3模板匹配方法概述 8316562.3.1VQ矢量量化原理 8185192.3.2LBG算法简介 9253882.3.3动态时间弯折技术原理(DTW) 9322432.3.4隐马尔可夫模型(HMM) 10250803.系统设计 11302883.1用户交互层 1181333.1.1参数配置区(左侧面板) 12145573.1.2三级交互体系 1247013.2业务逻辑层 13102263.2.1语音采集模块及信号预处理模块 1440083.2.2特征提取模块 15294653.2.3模型匹配模块 16320603.3数据存储层 18299214.核心算法及代码展示 19290494.1语音采集与信号处理 1982034.1.1语音录音功能实现 19313484.1.2语音播放与波形可视化 19325884.2MFCC特征提取 2085064.2.1MFCC核心代码 2092144.2.2Mel滤波器组生成(伪代码) 20133674.3VQ码本训练 208824.3.1LBG算法实现 20311684.3.2模板匹配逻辑 22327104.4端点检测与噪声抑制 22133364.4.1改进子带谱熵法 221014.4.2谱减法降噪 23272355.设计结果展示 23244835.1语音训练录制展示 23180205.2主界面设计及功能展示 25240785.3实验结果 2953705.4系统影响因素总结 314457结论 3210166致谢 3313426参考文献 34引言1.1语音识别的研究背景与挑战1.1.1语音识别的应用场景在5G万物互联技术飞速发展的当今时代,语音识别是一种种极具潜力的人机交互技术,正逐渐融入人们生活的方方面面,展现出广泛而重要的应用价值。在工业控制领域,语音识别技术发挥着关键作用。例如矿井任务中,在完成一些冗杂的工业生产任务时,工人可能需要进行双手操作,或者面临视线受阻的情况,此时传统的手动输入方式不但效率低下,还可能存在安全隐患。而语音识别技术的应用,使得任何工人都可以通过语音指令直接控制工业设备,如设备的启动与停止、参数的调整等。这不仅提高了生产效率,还减少了因操作失误带来的风险。做到快速切换生产流程,实现对不同产品的生产控制,大大提升了生产线的灵活性和智能化水平。智能家居领域更是语音识别技术的重要应用场景。随着人们生活水平的提高,对家居生活的舒适性和便捷性有了更高的要求。语音识别技术与智能家居设备的结合,让人们可以通过简单的语音指令实现对家居设备的控制,如灯光的开关、温度的调节、窗帘的升降、家电的启动等。例如,只需说一句"打开客厅灯光",客厅的灯光就会自动亮起;说出"把空调调到25度",空调就会自动调整到合适的温度。这种便捷的交互方式,让家居生活更加智能化、人性化,提升了人们的生活质量。地震声作为一种地震前兆信号,对地震预测具有重要意义。根据地震声信号的特点,利用小波技术比较识别不同频段的地震声监测信号,重点研究震前十天内地震声信号的变化规律,通过研究震前地震声信号随时间的变化特征,对研究地震预测中地面异常地震信号与地震的相关性具有一定的参考意义。此外,语音识别技术还在智能车载系统、医疗领域、教育领域等多个方面有着广泛的应用。在智能车载系统中,驾驶员可以通过语音指令控制导航、播放音乐、接打电话等,避免因手动操作而分散注意力,提高了驾驶安全性。在医疗领域,语音识别技术可以帮助医生更高效地记录病历、查询医疗信息等。在教育领域,它可以应用于语言学习、智能答疑等方面,为学生提供更加便捷的学习方式。基于小波变换的地震声信号特征分析。1.1.2非特定人孤立词识别的技术特点与挑战非特定人孤立词语音识别作为语音识别的重要分支,旨在实现无需用户注册即可识别有限词汇量的独立词语,在智能家居控制、工业设备操作、语音密码系统等领域具有广泛应用价值[1]。技术特点主要是在非特定人孤立词语音识别领域,系统需要克服说话人声学特征差异、环境噪声干扰、方言发音差异等核心挑战。相比于连续语音识别,孤立词识别则是针对单个独立的词语进行识别,每个词语之间有明显的间隔,相对连续语音识别来说,处理起来相对简单一些。相较于特定人识别,非特定人系统无需用户注册训练,具有更高的实用价值。然而,正是由于非特定人的特性,使得系统需要处理大量不同的语音数据即如何在有限的训练样本下建立能够覆盖不同性别、年龄、口音特征的鲁棒声学模型,成为技术落地的关键瓶颈。例如有的人发音清晰,有的人带有地方口音,有的人语速快,有的人语速慢,这些都增加了识别的难度。在技术挑战方面,首先是语音信号的多样性。每个人的声带、口腔结构等生理特征不同,导致发音时的语音信号具有很大的差异性。即使是同一个人,在不同的状态下(如失落、开心等),发音也会有所不同。其次是环境噪声的干扰。在实际应用场景中,语音信号往往会受到各种噪声的干扰,如背景噪音、电磁干扰等,这些噪声会降低语音信号的质量,影响识别的准确性。此外,孤立词之间的相似度也是一个挑战,中文不同地区的方言也是一个巨大的挑战,有些词语在发音上非常相似,如"三"和"山",这就需要系统能够准确地区分这些相似词语的语音特征,避免出现误识别的情况。
1.2研究现状1.2.1市场应用案例在国外,语音识别技术研究起步较早且发展迅猛。以美国为代表,众多顶尖科研机构与高校长期投身其中。卡内基梅隆大学在语音识别领域成果斐然,其研发的大规模语音识别系统,借助深度学习算法,在大规模语音数据集训练下,对非特定人语音识别展现出极高准确率。美国科技巨头谷歌公司的语音助手GoogleAssistant,通过持续优化非特定人语音识别技术,能够精准识别全球范围内不同口音、语言习惯用户的指令,涵盖信息查询、设备控制等诸多场景,每日响应海量用户请求,推动语音交互在消费级电子产品领域的广泛普及。欧洲地区,英国的剑桥大学也在积极探索基于新型机器学习架构的非特定人语音识别方法,致力于提升系统在复杂环境下的鲁棒性,相关研究成果已应用于智能车载语音系统,有效降低行驶过程中环境噪声对语音识别的干扰,保障驾驶安全。国内语音识别技术研究虽起步稍晚,但近年来发展势头强劲。如今,科大讯飞作为国内语音技术领域的领军企业,其研发的语音识别引擎,广泛应用于智能客服、智能教育等多个行业,识别准确率处于国际领先水平。例如在智能客服场景中,能快速准确理解不同用户的咨询意图,自动解答常见问题,大幅提高服务效率。清华大学、北京大学等高校也在积极开展相关基础研究,例如清华大学人机交互实验室(2021)为听障儿童开发的语音训练系统,通过多尺度谱熵特征增强发音特征可视化。在3个月跟踪测试中,儿童语音清晰度提升42%,系统获教育部创新应用奖[14]。国家电网研究院(2020)部署的变电站巡检系统,采用改进型MFCC-GMM架构,在电磁干扰环境下实现“左移30cm”、“读取表计”等28条指令的可靠识别,日均执行指令1200次,误操作率<0.1%[13]。1.2.2技术研究现状声学特征提取技术演进:MFCC标准化与优化:梅尔频率倒谱系数(MFCC)作为核心特征参数,其提取流程已形成标准化范式。\t"/kcms2/article/_blank"胡政权等针对说话人识别提出改进的MFCC参数提取方法,通过在FFT后增加频谱重建步骤,补偿噪声影响,使含噪语音频谱逼近纯净语音。该方法在低信噪比环境下显著提升了识别率,尤其在10dB信噪比时识别率提高超20%[3]。\t"/kcms2/article/_blank"秦垲忻等提出了一种针对机器人语音识别的改进方法,结合改进的MFCC特征提取和深度神经网络(DNN)。通过线性判别分析(LDA)、最大似然线性变换(MLLT)和说话人自适应变换(SAT)优化MFCC特征,并采用深度玻尔兹曼机(DBM)改进DNN-HMM声学模型,辅以谐波增强技术降低噪声干扰。实验表明,在20dB信噪比环境下,该方法字错误率降至24.9%(改进MFCC)和22.1%(改进DNN-HMM),显著优于传统方法,有效提升了嘈杂环境中机器人语音指令识别的准确性和鲁棒性[4]。动态特征增强策略:\t"/kcms2/article/_blank"方鹤鹤研究基于人耳听觉特性的语音特征提取方法,针对噪声环境下语音识别鲁棒性不足的问题,提出三项改进:结合Mel频标与Bark频带划分,优化MFCC参数提取,通过倒谱提升和差分处理生成39维特征,提升听觉掩蔽效应;设计联合信噪比与ISO226:2003等响曲线的加权滤波器,抑制低信噪比频段干扰;在子带分析中引入等响特性,增强语音特征对耳蜗分频特性的适配性。实验表明,这些方法在噪声环境中显著提高识别率,其中等响加权使识别率平均提升8%,子带技术优化提升2%,为复杂环境下的语音识别系统提供了有效解决方案[5]。\t"/kcms2/article/_blank"宁峻研究了基于麦克风阵列的语音增强及回声消除技术,针对复杂环境提出采用线性约束最小方差(LCMV)波束成形技术分离声源,优化噪声功率谱估计并级联后置维纳滤波,抑制干扰并降低目标语音损伤;提出基于说话人分割的单音帧提取方法,解决多说话人重叠问题;实验表明,该方法能有效分离语音信号并降低回声干扰,为远场语音交互提供技术支撑[6]。模式匹配算法研究进展:动态时间规整(DTW)优化:\t"/kcms2/article/_blank"胡洋霞研究了非特定人孤立词语音识别技术,提出改进的端点检测算法(加入过渡区)和优化的动态时间规整(DTW)模型,解除端点对齐限制以减少信号失真。通过对比实验,验证了美尔频率倒谱系数(MFCC)的特征提取优势及改进DTW算法的有效性,结果表明其识别率和抗噪性显著提升,为智能家居等场景提供了高效解决方案[7]。徐智改进了传统双门限端点检测(DTED)算法以减少长语音漏检,并提出部分长度匹配的动态时间规整(DTW)算法以降低计算复杂度。通过MATLAB设计语音识别系统,实验表明改进算法显著提升了识别成功率和效率,适用于复杂场景下的语音识别应用[8]。统计建模方法创新:传统GMM-HMM模型在实验中表现出对数据量依赖低的特点,而\t"/kcms2/article/_blank"冯怡林采用DNN替代GMM构建的DNN-HMM混合模型显著降低了识别错误率,且Fbank特征优于MFCC。实验验证了降噪自编码器(DAE)在噪声环境下恢复信号的有效性,但研究仍存在噪声鲁棒性、模态混叠等问题需进一步优化[9]。阿里巴巴达摩院(2023)开发的Paraformer模型,结合自监督预训练与非自回归解码,在AISHELL-1测试集上的字错误率(CER)降至4.2%,推理速度达实时流式的3.2倍[10]。噪声抑制技术突破:前端信号增强:\t"/kcms2/article/_blank"王群等提出了一种用在识别系统前端的语音增强算法,该增强算法将采集到的带噪语音信号先使用对数最小均方误差提高其信噪比,然后再利用改进的维纳滤波去除噪声残留并提升语音可懂度,最后用梅尔频率倒谱系数和隐马尔科夫模型对增强后的语音信号做特征提取并识别。实验分析结果表明,该方法能有效地抑制背景噪声并减少噪声残留,显著提升低信噪比环境下语音识别的准确性[11]。后端特征补偿:\t"/kcms2/article/_blank"沈海峰研究语音识别在噪声环境下的鲁棒性问题,提出基于统计模型的环境补偿方法。通过建立时域、频域、对数谱域和倒谱域的环境模型,结合最大后验概率(MAP)和最大似然(ML)估计,开发了特征补偿和声学模型补偿算法,并引入混合补偿技术以优化噪声参数估计,提升系统在平稳和非平稳噪声中的识别性能,显著降低了计算复杂度并提高了识别精度[12]。
1.3本论文的主要工作本论文共分6章,包括第一章引言部分,其余的内容结构安排如下:第二章简单介绍了孤立词语音识别的相关基础理论,包括语音信号的预处理与特征提取和模板匹配的不同理论方法及其优缺点。第三章介绍了基于MFCC与VQ码本的非特定人孤立词语音识别的系统设计主要包括三大层,主要介绍了用户交互层的逻辑与业务逻辑层的各种流程框图及使用的参数与公式展示,并且提及了数据存储层。第四章展示了端点检测,谱减法降噪,语音录制与处理,LBG算法等核心的代码。第五章展示了系统的设计结果包括运行时的对于语音信号的时频域图像与MFCC特征参数图等,还包括语音识别的不同环境下的实验结果和对最后效果的影响因素的讨论。第六章结论是主要对论文的所有工作进行总结,并对未来的努力方向作出了进一步的期望。孤立词语音识别基础理论2.1语音信号预处理在分析和处理语音信号之前,因为人类发声器本身和由于采集语音信号的设备所带来的混叠、高次谐波失真、高频等因素对语音信号质量的影响,完成预加重、分帧加窗等预处理是必要的。如此可以保证后续的语音信号更平滑,提高语音处理质量。预加重:语音信号的频谱特性通常呈现高频能量较低、低频能量较高的特点。预加重的目的在于提升语音信号的高频部分,以补偿语音信号在传输过程中的高频衰减,使信号的频谱变得更加平坦,从而有助于后续的特征提取和处理。一般来说,预加重可以通过一个一阶有限长单位冲激响应(FIR)滤波器来实现,其传递函数为HZ=1−μz−1,其中
μ是预加重系数,通常取值在0.9-0.97之间。在实际应用中,分帧:把语音信号划分为一个个短的时间段,每一帧通常包含300多个采样点。为了尽可能减少分帧带来的频谱泄漏问题,在分帧的同时需要对每帧信号进行加窗处理。常用的窗函数有汉明窗,其窗函数表达式为
w(n)=0.54−0.46cos(N−12πn),其中
n=0,1,⋯,N−1,N
为窗长。加窗后的语音信号帧
s(n)
等于原始语音信号帧
x(n)端点检测:主要任务是从语音信号中准确地找到语音的起始点和结束点,去除语音信号前后的静音部分,提高识别效率。常用的端点检测方法是结合短时能量和过零率这两个特征。短时能量反映了语音信号在短时间内的能量变化情况,通常可以通过对每帧语音信号的平方和来计算。过零率则表示语音信号在单位时间内穿过零电平的次数,它能够反映语音信号的频率特性。一般来说,语音部分的短时能量和过零率相对较高,而静音部分的短时能量和过零率较低。通过设置合适的能量阈值和过零率阈值,可以有效地判断语音的起始和结束位置。2.2特征提取方法概述2.2.1梅尔频率倒谱系数(MFCC)梅尔频率倒谱系数是最常用的并且最为成熟的语音特征之一,对于孤立词识别和连续词识别等多种场景都有比较不错的效果,他的数学原理主要包括:FFT(快速傅里叶变换)经过预处理后的语音信号帧需要进行频谱分析,FFT是一种高效的计算离散傅里叶变换(DFT)的算法,它可以将时域的语音信号转换为频域信号,从而得到语音信号的频谱特性。通过对每帧语音信号进行FFT变换,可以得到该帧信号的幅度谱和相位谱。在实际应用中,通常只关注幅度谱,因为幅度谱包含了语音信号的主要能量信息。梅尔滤波器组:梅尔尺度是一种基于人耳听觉特性的频率尺度,它能够更好地反映人耳对不同频率声音的感知。梅尔滤波器组是一组在梅尔频率尺度上均匀分布的带通滤波器,其作用是对经过FFT变换后的语音信号频谱进行滤波,提取出与人类听觉感知相关的特征。每个滤波器在频域上具有一定的带宽和中心频率,通过将频谱与滤波器组进行卷积运算,可以得到每个滤波器的输出能量。DCT变换(离散余弦变换):经过梅尔滤波器组处理后得到的滤波器输出能量之间存在一定的相关性,为了去除这种相关性并降低特征的维度,需要对滤波器输出能量进行DCT变换。DCT变换是一种将时域或频域信号转换为一组余弦函数系数的变换方法,它可以将相关的信号转换为一组不相关的系数。在MFCC特征提取中,通常只取DCT变换后的前12-13个系数作为最终的MFCC特征,这些系数能够有效地表示语音信号的特征信息。对于参数选择主要包括设定以下关键的参数:帧长:帧长的选择对MFCC特征的提取效果有重要影响。如果帧长过短,可能无法包含足够的语音信息,导致特征提取不准确;如果帧长过长,则可能会破坏语音信号的短时平稳性。一般来说,帧长的取值为25ms左右,具体的取值需要根据语音信号的采样频率和实际应用场景进行调整。帧移:帧移是指相邻两帧之间的时间间隔,通常帧移的取值为帧长的一半左右。合适的帧移可以保证相邻帧之间有一定的重叠,从而使特征提取更加平滑,避免出现特征突变的情况。滤波器数量:滤波器数量的选择也会影响MFCC特征的性能。滤波器数量过少,可能无法充分提取语音信号的特征信息;滤波器数量过多,则会增加计算量,并且可能会引入过多的噪声。2.2.2线性预测倒谱系数(LPCC)基于线性预测编码(LPC)技术,主要是通过建立语音信号的线性预测模型,估计模型的参数,然后将这些参数转换为倒谱系数。LPCC主要反映了语音信号的声道特性,通过预测语音的未来样本值来提取特征。这一技术尤其在一些强调声道特征的语音处理任务中表现较好。该技术对语音的声道特性描述准确,能够很好地反映语音的共振峰结构,对于区分不同的语音音素具有一定优势。但是却对对环境噪声较为敏感,在噪声环境下性能可能下降明显,而且计算复杂度相对较高,对于数学公式的把握要求较高。2.2.3感知线性预测系数(PLP)这一技术主要是结合了人类听觉感知特性和线性预测分析。它在计算过程中考虑了人耳的感性响度感知特性,对语音频谱进行了非线性变换,使得提取的特征更符合人类听觉系统对语音的感知。这一技术在语音识别系统中是一种十分有效的特征提取方法,在面对语音感知质量要求较高的应用中表现比上面两种要更好,并且更具有较好的感知相关性,能够提取出更符合人耳听觉特性的特征,对语音的感知差异更敏感,在噪声环境下的性能优于传统的LPCC特征与MFCC特征。但是依然存在数学计算过程相对复杂,需要更多的计算资源和时间的缺点。
2.3模板匹配方法概述2.3.1VQ矢量量化原理矢量量化(VQ)是一种数据压缩和模式识别技术,它的基本思想是将高维的语音特征向量映射到一个低维的码本中,通过寻找与输入特征向量最接近的码字来表示该特征向量。LBG(Linde-Buzo-Gray)算法是一种常用的码本生成算法,码本生成与匹配机制,在实际应用中,首先需要使用大量的训练语音数据进行特征提取,得到训练特征向量集。然后使用LBG算法对训练特征向量集进行处理,生成一个合适的码本。码本的大小(即码字的数量)是一个重要的参数,它会影响矢量量化的性能和计算复杂度。在语音识别阶段,对于输入的语音信号,首先进行特征提取得到特征向量,然后将该特征向量与码本中的每个码字进行比较,计算它们之间的距离(通常使用欧氏距离)。选择距离最小的码字作为该特征向量的量化结果,通过统计不同码字的出现频率或其他匹配规则,可以实现对语音信号的识别。矢量量化是一种基于信号的相关特性的编码量化手段,其核心思想是将q维空间划分成r个区域,称为胞腔,将输入矢量与胞腔边界进行比较,此时关注该区域的中心矢量,需要作为输出矢量。这样r个区域的中心矢量构成矢量量化器,中心矢量集合Y1,它的优点是计算简单、速度快,能够有效地降低语音特征的维度,减少存储和计算量;对语音信号的一些小的变化具有一定的鲁棒性。但是由于码本的有限性,特征向量只能映射到有限的码本中,这就会会导致一定的信息损失,可能影响识别的准确率;码本的生成依赖于训练数据,对于训练数据中未出现过的语音特征,可能无法准确量化和匹配,这可能需要引入其他的大模型数据。2.3.2LBG算法简介矢量量化是一种基于信号的相关特性的编码量化手段,其核心思想是将q维空间划分成r个区域,称为胞腔,将输入矢量与胞腔边界进行比较,此时关注该区域的中心矢量,需要作为输出矢量。这样r个区域的中心矢量构成矢量量化器,中心矢量集合Y1,Y2,...,称为码本。应用LBG算法对矢量量化器进行设计的迭代过程主要包含以下的步骤:a.应用分裂法确定初始码本C(0)=Yi(0)|i=1,2,...,r,迭代次数s=0,平均失真V(−1)=∞b.提取码本C(s)中的码字作为质心,是为了把训练矢量集Ο划分为r个胞腔,其中Si(s)=v|d(v,Yic.计算平均失真,E式中:I为训练矢量集;j为中矢量个数。判断相对误差是否满足所设要求,若满足则迭代结束得到码本,若不满足则转到d;d.依据最佳码本条件计算各胞腔质心,Y由r个新质心,形成新码本C(s+1),并置s=s+12.3.3动态时间弯折技术原理(DTW)在自动语音识别中,输入测试语音时拥有随机性很大的特点,不同的说话人在相同的发音环境与不同的条件下得到的语音信号也有差异,大多体现在语音强度和发音持续时间上,所以不能直接把输入测试语音和语料库的模板进行匹配。然而即使输入语音的持续时间长短不定,但词库中的模板不会随之收缩,此时动态时间弯折(DTW)技术就能解决这一问题。动态时间弯折是一种把距离测度和时间弯折结合起来的技术,这种技术对时间序列的时间伸缩具有很强的适应性,具有处理不同长度和速度的语音序列的能力,准确度量它们之间的相似性,在处理具有非线性时间变化的语音序列时表现出色[15]。2.3.4隐马尔可夫模型(HMM)这种技术算法主要适合于对视频文件中含有尖叫片段的音频部分进行检测,对该类的音频文件检测的准确率较高,该算法对含有尖叫片段检测的平均检测成功率很高。在这种算法处理信号时,语音信号被看作是由隐含的马尔可夫链生成的观测序列,HMM包含一组状态、状态之间的转移概率以及每个状态生成观测值的概率分布。在训练阶段,通过大量的语音数据训练模型的参数;在语音识别阶段,根据输入的语音特征序列,需要计算在不同的训练模板下产生该序列的概率,最后应当选择概率最大的模板作为识别结果。这种技术的优点是能够很好地处理语音信号的动态性和不确定性,不只是对不同的人的语音有很强适应性更可以利用语音的上下文信息,提高识别的准确率。其缺点是训练模型需要大量的标注数据,计算复杂度相对于上述两种方法较高,尤其是在处理大规模词汇表的语音识别任务时,模型的存储和计算量都很大,也对语音中的一些突发噪声较为敏感。系统设计本系统是基于matlab采用分层模块化架构,分为用户交互层、业务逻辑层和数据存储层。主要系统架构如图3.1所示:用户交互层(GUI界面)业务逻辑层用户交互层(GUI界面)业务逻辑层(语音采集信号预处理特征提取模型训练语音识别)数据存储层(语音数据库VQ码本文件系统参数配置)3.1用户交互层为了方便使用语音识别系统的用户,在matlab代码中提供了可视化操作界面,从而实现人机交互。用户交互层是语音识别系统与用户直接接触的入口模块,承担着参数配置、流程控制、数据呈现和结果反馈的核心职责。本系统基于MATLABGUIDE框架开发,采用事件驱动型交互模型,通过10个功能控件、4组可视化窗口和3类信息反馈通道构建了完整的交互闭环,备高可用性、引导性和容错性。以下从诸多维度展开详细说明:采用"功能区+工作区"复合式布局,兼顾操作效率与信息密度,整体界面划分为四大功能区块。3.1.1参数配置区(左侧面板)集中所有输入控件,按功能相关性进行分组排布,包含:硬件参数组:采样率输入框(edit5)、录音时长输入框(edit6)模型参数组:说话人数量(edit1)、训练路径显示框(edit4)系统控制组:训练按钮(pushbutton2)、识别按钮(pushbutton5)可视化工作区(中央区域)由4个坐标轴(axes1-4)构成矩阵式布局,分别呈现:时域波形:说话人录入的原始语音信号的时间振幅曲线频谱分析:快速傅里叶变换后的频域能量分布语谱图:短时傅里叶变换生成的时频热力图MFCC轨迹:梅尔倒谱系数的时序变化曲线操作状态提示框(edit7):显示"录音中"、"训练完成"等实时进度噪声抑制开关(pushbutton8):完成噪声抑制和降噪等功能训练样本分析按钮(pushbutton6):对于自己所录制的语料库进行特征提取,形成自己的模板库测试样本分析按钮(pushbutton7)3.1.2三级交互体系这一部分主要是实现从基础操作到高级处理方式的全覆盖:一级核心控件主要是必须拥有的需要能够完成基础语音识别任务的按钮,主要包括以下:语音录制组:录音按钮(pushbutton3):触发麦克风采集播放按钮(pushbutton4):回放已录制音频,可以明确自己的录音效果训练库管理组:路径选择器(pushbutton1):调用系统文件对话框加载自己的模板库模型训练按钮(pushbutton2):启动LBG码本生成算法,进度条嵌套于按钮图标二级辅助控件主要是包括对语音信号进行一系列的处理,主要包括以下:信号处理组:降噪开关(pushbutton8),实时启用谱减法滤波诊断工具组:特征对比按钮(pushbutton6/7):叠加显示训练集与测试集MFCC参数差异三级控件:命令支持调用MATLAB函数(如mel_banks(24,256,16000))最后可视化设计主要是为了构建数据感知体系,将抽象语音信号转化为可交互图形,可以更轻松的看到语音识别结果,和自己的语音信号与模板库中的特征参数的差别。3.2业务逻辑层业务逻辑层是语音识别系统的核心处理部分,负责对原始语音信号进行一系列的处理,得到需要的文本特征。本层采用“语音信号预处理-特征提取-模式匹配”的流程,集成7大功能模块,实现从物理声波到语义符号的端到端转换。以下从非特定人孤立词语音识别系统主要包括训练模板库的建立与对待测试语音的识别,在训练库的建立的阶段,主要是对于特定词的语音信号进行一系列的预处理,包括分帧加窗,预加重,端点检测等,训练模板时要把对应的语音特征参数经过一系列处理,生成可以代表识别时某些部分共性的模板数据,作为标准模型,而训练模板库就是所有这些语音生成的标准模型的结合,在识别模块中,对输入的待测试语音同样经过预加重、分帧加窗等一系列预处理;再完成该语音的特征参数提取;此时选取LBG算法与训练模板库中的各个模型进行匹配得分,得分最高的模型即为识别结果。本文所设计的孤立词语音识别系统的基本框架如图3.2所示。待训练语音待训练语音预处理待测试语音语音特征参数提取训练模板库模板匹配显示识别结果训练识别图3.2非特定人孤立词语音识别系统的基本框架其主要的模块划分如下:3.2.1语音采集模块及信号预处理模块原始语音原始语音谱减法降噪端点检测预加重分帧加窗图3.3语音预处理流程首先在采集训练语音时,设置关键参数是采样率与录音时间,系统采用16kHz采样率录制语音信号,该频率满足语音频带(250-3500Hz)的奈奎斯特采样定理,是比较大众的数据区间。系统提供可通过交互界面设置2秒固定录音时长,适配短指令词(如“继续”“中华”)。录音时采用单声道采集模式,降低数据冗余,并通过audiorecorder函数实现声卡驱动的底层调用,确保录音过程稳定无失真。信号预处理主要包括对原始语音信号进行消除直流分量和幅值归一化处理,将信号幅度缩放到[-1,1]区间,统一不同录音设备的音量差异,会使所录入的语音数据都保持一个相对稳定的声音质量,还有进行降噪处理,采用谱减法降噪,接着进行端点检测与有效语音提取步骤,这一步对于之后的特征提取与识别过程是十分重要的,为去除静音段与周围的噪声,采用改进的子带谱熵双门限检测法,其实现步骤如下:分帧加窗,以25ms为帧长、10ms为帧移,首先将信号分割为短时平稳片段,并施加汉明窗减少频谱泄漏。谱熵计算:将每帧频谱划分为4个子带,计算各子带能量熵值,而由于语音段的熵值是明显低于噪声段的,从而熵值的高低可以反映信号复杂度,最后进行双阈值判决:高阈值(0.99):当谱熵连续3帧超过阈值,判定为语音起点。低阈值(0.96):语音段结束后,若谱熵持续低于阈值,标记为终点。有效段截取:根据检测结果提取首段持续语音,剔除一些段首和段尾的气音,保留纯净发音段。处理后的语音信号以.wav格式保存,命名规则为S-n.wav(n为样本编号),便于后续模型训练调用。系统同步提供实时波形显示与回放音频的功能,供用户验证录音质量,避免无效样本进入训练集。3.2.2特征提取模块特征提取模块是语音信号从单纯的时域波形提取到计算机可以理解的语言的必要的过程。本系统采用MFCC(Mel频率倒谱系数)作为核心特征,参数计算流程如下图3.4所示,首先对语音信号进行预加重,预加重是语音信号处理中初级但十分关键的一步,通过补偿高频衰减,为后续特征提取奠定基础,预加重主要是通过一阶高通滤波器(H(z)=1−0.9375z−1)补偿高频衰减,接着进行分帧加窗和端点检测等过程其核心步骤类似于语音采集模块,接着进行256点的FFT计算,每帧进行取模平方得能量谱
∣X(k)∣2,表征信号频域能量分布,继而使用Mel滤波器组滤波,滤波器的设计主要是在Mel频率刻度上均匀分布24个三角滤波器,覆盖0-8kHz频带。通过公式Mel(f)=2595对数能量谱预加重,分帧加窗对数能量谱预加重,分帧加窗离散傅里叶变换合并参数得到MFCC静态MFCC参数动态差分MFCCM个梅尔滤波器组快速傅里叶变换图3.4MFCC参数计算流程3.2.3模型匹配模块模板匹配模块是语音识别系统的决策核心,其功能是通过矢量量化(VQ)技术,将上一步测试语音的MFCC特征与预先训练的说话人码本进行相似度计算,输出最匹配的说话人ID或指令词。本模块采用LBG算法生成码本,并通过最小加权欧氏距离实现高效匹配,如下图3.6为LBG核心算法。核心流程主要包括码本训练和实时匹配,码本训练包括首先输入单个说话人的MFCC特征矩阵(24维×N帧),而最重要的LBG算法包括初始化:是以所有特征的均值作为初始聚类中心,分裂迭代:通过分裂聚类中心并执行K-means迭代,生成指定大小的码本(如8个中心)。最后输出:码本矩阵(维×8中心),表征说话人的语音特征分布。而实时匹配的输则是测试语音的MFCC特征(24维×M帧)及预存码本库。距离计算则决定了应该输出什么样子的语音结果,要通过计算测试语音每帧与各码本中心的加权欧氏距离。而在计算过程中静态加权系数很重要:静态系数、一阶差分,主要强调稳态特征。最后是决策识别:分别计算待定语音信号特征向量与各码本的平均失真测度,平均失真测度最小的码本所对应的工况即为模式识别结果,主要流程如下图3.5所示。图3.5矢量量化法的主要流程及系统框图图3.6LBG的算法实现过程3.3数据存储层这一层主要是包括语音录制信号的存储与相关语音模板库的存储。核心算法及代码展示4.1语音采集与信号处理4.1.1语音录音功能实现%Executesonbuttonpressinpushbutton3.functionpushbutton3_Callback(hObject,eventdata,handles)%测试语音进行识别globalfsdatatimefs=str2double(get(handles.edit5,'string'));d=str2double(get(handles.edit6,'string'));%时长speech=audiorecorder(fs,16,1);set(handles.edit7,'string','请说话')recordblocking(speech,d)%duration*fs为采样点数data=getaudiodata(speech);disp('录音完成');set(handles.edit7,'string','录音完成')data=data-mean(data);%去除直流分量N=length(data);time=(0:N-1)/fs;主要功能:录音模块支持用户自己选择调整采样率(fs)和时长(d),录制后自动去除直流偏移。主要参数:fs=16000:默认采样率,覆盖语音主要频段(0-8kHz)。d=3:默认录音时长3秒,也支持用户自定义。4.1.2语音播放与波形可视化%Executesonbuttonpressinpushbutton4.functionpushbutton4_Callback(hObject,eventdata,handles)globalfsdataclearsoundsound(data,fs)主要功能:实时播放语音并显示时域波形4.2MFCC特征提取4.2.1MFCC核心代码functionmfcc=my_mfcc(x,fs)x=filter([1,-0.9375],1,x);%预加重(α=0.9375)frames=buffer(x,200,80,'nodelay');%分帧(25ms帧长,10ms帧移)frames=frames.*hamming(200);%加汉明窗mag_spectrum=abs(fft(frames)).^2;%计算能量谱mel_energy=log(mel_banks(24,200,fs)*mag_spectrum(1:101,:));%Mel滤波cepstral=dct(mel_energy);%DCT变换mfcc=[cepstral(2:13,:);diff(cepstral(2:13,:))];%合并静态与差分系数End主要参数设置显示帧长200点(25ms),覆盖基音周期(≈100Hz)。Mel滤波器数量24:覆盖0-4kHz频段,这样会使得低频的分辨率更为清晰。MFCC动态系数特征主要是包括12维静态系数+12维一阶差分。4.2.2Mel滤波器组生成(伪代码)functionH=mel_banks(p,N,fs)mel_low=2595*log10(1+0/700);%0Hz对应的Mel值mel_high=2595*log10(1+(fs/2)/700);%最高频率对应的Mel值mel_points=linspace(mel_low,mel_high,p+2);%生成p+2个Mel点freq_points=700*(10.^(mel_points/2595)-1);%转回线性频率bin_indices=round(freq_points*N/fs);%映射到FFT频点%构建三角滤波器组(具体代码略)end4.3VQ码本训练4.3.1LBG算法实现核心算法:LBG算法的代码实现functionv=lbg(x,k)%lbg:完成lbg均值聚类算法%lbg(x,k)对输入样本x,分成k类。其中,x为row*col矩阵,每一列为一个样本,%每个样本有row个元素。%[v1v2v3...vk]=lbg(...)返回k个分类,其中vi为结构体,vi.num为该类%中含有元素个数,vi.ele(i)为第i个元素值,vi.mea为相应类别的均值[row,col]=size(x);%u=zeros(row,k);%每一列为一个中心值epision=0.03;%选择epision参数delta=0.01;%u2=zeros(row,k);%LBG算法产生k个中心u=mean(x,2);%第一个聚类中心,总体均值fori3=1:log2(k)u=[u*(1-epision),u*(1+epision)];%双倍%time=0;D=0;DD=1;whileabs(D-DD)/DD>delta%sum(abs(u2(:).^2-u(:).^2))>0.5&&(time<=80)%u2~=uDD=D;fori=1:2^i3%初始化v(i).num=0;v(i).ele=zeros(row,1);endfori=1:col%第i个样本distance=dis(u,x(:,i));%第i个样本到各个中心的距离[val,pos]=min(distance);v(pos).num=v(pos).num+1;%元素的数量加1ifv(pos).num==1%ele为空v(pos).ele=x(:,i);elsev(pos).ele=[v(pos).ele,x(:,i)];endendfori=1:2^i3u(:,i)=mean(v(i).ele,2);%新的均值中心form=1:size(v(i).ele,2)D=D+sum((v(i).ele(m)-u(:,i)).^2);endendendend%u=u;fori=1:k%更新数值v(i).mea=u(:,i);end该段代码主要功能:生成8中心码本(36维×8矩阵)4.3.2模板匹配逻辑核心算法:欧式距离的计算代码实现function[id,confidence]=vq_match(test_mfcc,codebooks)min_dist=Inf;fori=1:length(codebooks)%计算静态系数距离dist_static=sum(min(pdist2(test_mfcc(1:12,:)',codebooks{i}(1:12,:)')));%计算一阶差分距离dist_delta=sum(min(pdist2(test_mfcc(13:24,:)',codebooks{i}(13:24,:)')));%加权总距离total_dist=1.0*dist_static+0.5*dist_delta;iftotal_dist<min_distmin_dist=total_dist;id=i;endend%计算置信度confidence=1-(min_dist/mean(all_dists));end主要参数设置与权重分配:静态系数权重1.0,一阶差分权重0.5,抑制噪声干扰。4.4端点检测与噪声抑制4.4.1改进子带谱熵法function[voiceseg,vsl,SF,NF,Enm]=vad_specEn(x,wnd,inc,NIS,th1,th2,fs)y=enframe(x,wnd,inc)';%分帧(200点帧长,80点帧移)fn=size(y,2);%计算总帧数%子带能量与谱熵计算(具体代码略)Enm=multimidfilter(Hb,10);%中值滤波平滑[voiceseg,vsl,SF,NF]=vad_revr(Enm,T1,T2);%双门限判决end主要参数显示设置为th1=0.99(高门限),th2=0.96(低门限),最大静音段长度
maxsilence=8。voiceseg结构体表示记录语音段起止位置。4.4.2谱减法降噪functionoutput=simplesubspec(data,wlen,inc,NIS,a,b)noise_profile=mean(abs(fft(data(1:NIS))),2);%噪声谱估计output=data-a*noise_profile;%谱减处理(a=4)end设计结果展示5.1语音训练录制展示首先展示的是录制训练音频的过程,流程主要是启动程序按任意键继续,接着说话人通过电脑自带的麦克风录入自己的声音,本系统给可以显示录制结束后的语音信号的质量以及通过端点检测之后的大致结果,这可以确保说话人可以轻松的知道录音的起止以及自己所录制的训练语音的优劣,录制的语音通过自己的编号会知道所对应的内容,并且会保存在训练库中,由图5.1可以看出,训练的部分孤立词如图5.12所示。图5.1语音录制图5.2所录制语音的波形及端点检测处理后显示图5.3所录制的部分训练库语音5.2主界面设计及功能展示本界面中可以直观的看到,主界面分为三部分,如图5.4所示,第一部分是导入训练库模型,如图5.5所示,在这一部分可以点击输入指定文件夹下的训练语音数据,这里如图5.5所示是可以更改识别孤立词的个数的,接着进行特征提取,从右边的界面可以清晰的看到,MFCC参数,语音频域波形和语谱图,接着按下开始训练按钮,即可以看到训练中的示例,如图5.6所示,在训练完成之后则可以显示出VQ训练模型已保存,如图5.7显示。第二部分则是较为核心的识别流程的界面,这一部分首先可以看到采样率与录音时长的参数,在对应的edit之中是可以供给使用者修改的,接着点击录音识别即在下方的提示框中显示请说话,这时使用者可以通过麦克风说入待测试语音,系统会提示录音的起始,如图5.8所示,而接着点击语音降噪则会采用谱减法进行降噪。继而点击特征提取,此时右侧会显示待测试语音的波形及其频谱图,语谱图,如图5.9所示。图5.4语音识别主界面图5.5训练模型面板图5.6训练语音特征展示图5.7点击开始训练图5.7VQ模型已经保存图5.8待测试语音的录入图5.9待测试语音的相关图像及其参数显示图5.10对待测语音信号进行相关算法处理后5.3实验结果点击特征提取,此时右侧会显示待测试语音的波形及其频谱图,语谱图,如图5.9显示,通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 少儿动漫手绘基础辅导协议
- 《数控机床加工零件》课件-数控车技能竞赛中的技术要领
- 2025年天津市公安局津南分局招聘警务辅助人员考试真题
- 唐山开平市招聘事业单位工作人员考试真题2025
- 2025年齐盛安水务有限公司人员招聘真题
- 2026黑龙江大兴安岭地区呼中区乡镇卫生院招聘医学毕业生补充2人考试参考题库及答案解析
- 2026年安阳市畜牧系统事业单位人员招聘考试备考试题及答案详解
- 2026内蒙古农业大学招聘82人考试备考题库及答案解析
- 2026年安康市文化和旅游系统事业单位人员招聘考试备考试题及答案详解
- 2026年潮州市血液中心事业单位人员招聘考试备考试题及答案详解
- 2026年天津市高三高考二模英语模拟试卷试题(含答案详解)
- 2026年监理工程师之交通工程目标控制押题模拟附参考答案详解【巩固】
- 广东省广州市增城区2025-2026学年九年级上学期1月期末考试语文试题
- 2026中国卵巢上皮性癌维持治疗专家共识解读
- 眼科中医诊室工作制度
- (正式版)DB50∕T 1915-2025 《电动重型货车大功率充电站建设技术规范》
- 2026年重大事故隐患判定标准宣贯培训材料
- 高中教室学生桌椅更换方案
- 村民公共卫生委员会管理制度
- GB/T 23932-2025建筑用金属面绝热夹芯板
- 急救物品管理
评论
0/150
提交评论