2025年智能语音识别技术实践解析与实验记录_第1页
2025年智能语音识别技术实践解析与实验记录_第2页
2025年智能语音识别技术实践解析与实验记录_第3页
2025年智能语音识别技术实践解析与实验记录_第4页
2025年智能语音识别技术实践解析与实验记录_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12.1语者识别的概念 22.2特性参数的提取 32.3用矢量量化聚类法生成码本 3 43.1函数关系 43.2代码阐明 5 5 5 6 6 7 8 8 9五、心得体会 实现语音识别功能。基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一种说话者所提取的特性参数进行分类,产生不一样码字所构成的码本。在识别(匹配)阶段,我们用VQ措施计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。语音识别系统构造框图如图1所示。输出识别结果模型码本匹配训练2.1语者识别的概念语者识别就是根听说话人的语音信号来鉴别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过度析语音信号来识别说话人成为也许。用语音来鉴别说话人的身份有着许多独特的长处,如语音是人的固有的特性,不会丢失或遗忘;语音信号的采集以便,系统设备成本低;运用电话网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用以便,并且属于非接触性,轻易被顾客接受,并且在已经有的多种生物特性识别技术中,是唯一可以用作远程验证的识别技术。因此,说话人识别的应用前景非常广泛:今天,说话人识别技术已经关系到多学科的研究领域,不一样领域中的进步都对说话人识别的发展做出了奉献。说话人识别技术是集声学、语言学、计算机、信息处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。在吃力语音信号的时候怎样提取信号中关键的成分尤为重要。语音信号的特性参数的好坏直接导致了辨别的精确性。2.2特性参数的提取对于特性参数的选用,我们使用mfcc的措施来提取。MFCC参数是基于人的听觉特性运用人听觉的屏蔽效应,在Mel标度频率域提取出来的倒谱特性参数。1.对输入的语音信号进行分帧、加窗,然后作离散傅立叶变换,获得频谱分布信设语音信号的DFT为:其中式中x(n)为输入的语音信号,N表达傅立叶变换的点数。2.再求频谱幅度的平方,得到能量谱。我们定义一种有M个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,中心频率为f(m),m=1,2,3,…,M本系统取M=100。4.计算每个滤波器组输出的对数能量。其中H(k)为三角滤波器的频率响应。5.通过离散弦变换(DCT)得到MFCC系数。MFCC系数个数一般取20—30,常常不用0阶倒谱系数,由于它反应的是频谱能量,故在一般识别系统中,将称为能量系数,并不作为倒谱系数,本系统选用20阶倒谱系数。2.3用矢量量化聚类法生成码本我们将每个待识的说话人看作是一种信源,用一种码本来表征。码本是从该说话人的训练序列中提取的MFCC特性矢量聚类而生成。只要训练的序列足够长,可认为这个码本有效地包括了说话人的个人特性,而与发言的内容无关。为码本。详细实现过程如下:1.取提取出来的所有帧的特性矢量的型心(均值)作为第一种码字矢量B1。2.将目前的码本Bm根据如下规则分裂,形成2m个码字。其中m从1变化到目前的码本的码字数,e是分裂时的参数,本文e=0.01。3.根据得到的码本把所有的训练序列(特性矢量)进行分类,然后按照下面两个公式计算训练矢量量化失真量的总和|D"以及相对失真(n为迭代次数,初始n=0,D-]=。,,B为目前的码书),若相对失真不不小于某一阈值ε,迭代结束,目前的码书就是设计好的2m个码字的码书,转5。否则,转下一步。量化失真量和:4.重新计算各个区域的新型心,得到新的码书,转3。5.反复2,3和4步,直到形成有M个码字的码书(M是所规定的码字数),其中2.4VQ的说话人识别设是未知的说话人的特性矢量{X,.…,Xr},共有T帧是训练阶段形成的码书,表达码书第m个码字,每一种码书有M个码字。再计算测试者的平均量化失真D,并设置一种阈值,若D不不小于此阈值,则是原训练者,反之则认为不是原训练者。三、算法程序分析在详细的实现过程当中,采用了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:nbFrame=floor((1-n)/m)+1;%沿-一方向取整forj=1:nbFrameM(i,j)=s(((j-1)*m)+i);%对矩阵M赋值h=hamming(n);%加hamming窗,以增长音框左端和右端的持续性frame(:,i)=fft(M2(:,i));%对信号进行迅速傅里叶变换FFTm=melfb(20,n,fs);%将上述线性频谱通过Mel频率滤波器组得到Mel频谱,z=m*abs(frame(1:n2,:)).^2;r=dct(log(z));%将上述对数频谱,通过离散余弦变换(DCT)变换到倒谱域,即3.2.2函数disteu[M2,P]=size(y);%音频y赋值给【M2error('不匹配!')%两个音频时间长度不相等d(n,:)=sum((x(:,n+copiesd(:,p)=sum((x-y(:,p+copie3.2.3函数vqlbg---该函数运用矢量量化提取了音频的vq码本forj=1:2^ir(:,j)=mean(d(:,find(ind==j)),2x=disteu(d(:,find(ind==j)),r3.2.4函数testfunctionfinalmsg=test(testdir,fork=1:nfile=sprintf('%ss%d.wavv=mfcc(s,fs);%得到测试人语音的mel倒谱系数dist=sifdist>distmin3.2.5函数testDB这个函数实际上是对数据库一种查询,根据测试者的声音,找对应的文献,并且给出是谁的提醒functiontestmsg=testDB(testdir,n,cod%这nameList={'1','2','3','4','5','6','7','8',个是我们要识别的9个数%这fork=1:n%数据库中每一种说话人的特性file=sprintf('%ss%d.wav',testdir,k);%找出文献的途径v=mfcc(s,fs);%对找到的文献取mfcc变换dist=sum(min(d,[],2))/sizifdist<distmindistmin=dist;%%这里和test函数里面同样但多了一种详细语者的识别3.2.6函数train---该函数就是对音频进行训练,也就是提取特性参数k=16;%numberofcentroidsfori=1:n%对数据库中的代码形成码本file=sprintf('%ss%d.wav',v=mfcc(s,fs);%计算MFCC's提取特性特性,返回值是Mel倒谱系数,是一种log的dct得到的code{i}=vqlbg(v,k);%训练VQ码本通过矢量量化,得到原说话人的3.2.7函数melfb---确定矩阵的滤波器functionm=melfb(p,n,fs)lr=log(1+0.5/f0)/(%converttoffbl=n*(f0*(exp([01pp+1]*lr)-1));直接转换为FFT的数字模型b4=min(fn2,ceil(bl(4)))pf=log(1+(b1:b4)/n/f0)/lr;pm=pf-fp;r=[fp(b2:b4)1+fp(1:bv=2*[1-pm(b2:b4)pm(1:bm=sparse(r,c,v,p,1+f四、演示分析我们的功能分为两部分:对已经保留的9个数字的语音进行辨别和实时的判断说话人说的与否为一种数.在前者的试验过程中,先把9个数字的声音保留成wav的格式,放在一种文献夹中,作为一种检测的数据库.然后对检测者实行识别,系统给出提醒是哪个数字.在第二个功能中,实时的录取一段说话人的声音作为模板,提取mfcc特性参数,随即紧接着进行遇着识别,也就是让其他人再说相似的话,看与否是原说话者.试验过程及详细功能如下:先打开Matlab使CurrentDirectory为录音及程序所所在的文献夹再打开文献“enter.m”,点run运行,打开enter界面,点击“进入”按钮进入系统。(注:文献包未封装完毕,目前只能通过此方式打开运行。)(如下图figurel)退出在对数据库中已经有的语者进行识别模块:对数据库中已有的语者进行识别对数据库中已有的语者进行识别语音库录制模板选择载入语音库语音个数语者判定实时语者识别实时语者识别实时录制模板品实时语者识别在”实时模板”文献夹中,接着点击“实时录制模板”,把新的模板提取特性值。随即点击实时语者识别模板上的“录音-train”按钮,是把语者的声音以wav格式寄存在”退出只要点击菜单,退出程序。程序运行截图:(fig.2)运行后系统界面20为原录音者!与模板语音信号的差值为:3.556891!x220试验表明,该系统能很好地进行语音的识别,同步,基于矢量量化技术(VQ)的语音识别系统具有分类精确,存储数据少,实时响应速度快等综合性能好的特点.矢量量化技术在语音识别的应用方面,尤其是在孤立词语音识别系统中得到很好的应用,尤其是有限状态矢量量化技术,对于语音识别更为有效。对未来的学习奠定了基础。functionpushbutton1_Callback(hObject,eventdata,handles)hObjecthandletopushbutton1Channel_Str=get(handles.popupmenu3,'String');Channel_Number=str2double(Channel_Str{get(handles.popupmenu3,号---Executesonbuttonpressinpushbfunctionpushbutton2_Callback(hobject,eventdata,handles)functionOpen_Callback(hhandlesstructurewithhandlesfunctionExit_Callback(hObjhandlesfunctionAbout_Callback(hObject,structurewithhandlesanduserdata(seeGUH=['语者识别!]helpdlg(H,'helptext'functionEdit_Callback(hObjectfunctionHelp_Callback(hObject---Executesonbuttonpressinpfunctionpushbutton7_Callback(hObject,eventhObjecthandletopushbutton7(msg='请速度录音;'AI=analoginput('winset(AI,'SamplesPerTrigger'blocksize=get(AI,'SamplesPefname=sprintf('E:\\Matlab语音识别系统\\实时模版\\s1.wav')8dataDN1=wden(datal,'heursure','s','one',5,号---Executesonbuttonpressinpfunctionpushbutton8_Callback(hObject,eventdata,handles)xlabel('训练采样序列'),ylabel('信号幅');---Executesonbuttonpressinpfunctionpushbutton9_Callback(hObject,eventdata,handles)msg='请速度录音;'AI=analoginput('winsound');set(AI,'SamplesPerTrigger'blocksize=get(AI,'SamplesPerTrigger');%dataDN1=wden(data1,'heursure','s','one',5,'wavwrite(data2,fnammsgbox(fname)---Executesonbuttonpressinpushbutton10.functionpushbutton10_Callback(hObject,eventdata,handles)axes(handles.axes2)8settop---Executesonbuttonpressinpushbutton11.functionpushbutton11_Callback(hObject,eventdata,handles)hobjecthandletopushbutton11(seeGCBO)functionpushbutton12_Callback(hObject,eventdata,handles)号---Executesonselectionchangeinpopupmefunctionpopupmenu3_Callback(hObject,eventdata,handles)hObjecthandletopopupmenu3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论