1 简介
语音识别指利用计算机识别语音信号所表达的内容,其目的是要准确地理解语音所蕴含的含义.本文着重研究了语音识别实现过程的特征提取,针对特征提取的多种方法,选用LPC倒谱系数作为特征参数提取,较彻底地去除了语音信号产生过程的激励信息,主要反映了声道模型,而且只需十几个倒谱系数就较好地描述了语音的共振峰特性.通过对语音信号进行预加重,分帧,加窗,自相关分析,而后提取出LPC倒谱系数.
2 部分代码
%一帧数据LPC求根法估算共振峰频率和3dB带宽% pr9_3_2clear all; clc; close all;fle='snn27.wav'; % 指定文件名[xx,fs]=wavread(fle); % 读入一帧语音信号u=filter([1 -.99],1,xx); % 预加重wlen=length(u); % 帧长p=12; % LPC阶数a=lpc(u,p); % 求出LPC系数U=lpcar2pf(a,255); % 由LPC系数求出功率谱曲线freq=(0:256)*fs/512; % 频率刻度df=fs/512; % 频率分辨率U_log=10*log10(U); % 功率谱分贝值subplot 211; plot(u,'k'); % 作图axis([0 wlen -0.5 0.5]);title('预加重波形');xlabel('样点数'); ylabel('幅值')subplot 212; plot(freq,U_log,'k');title('声道传递函数功率谱曲线');xlabel('频率/Hz'); ylabel('幅值/dB');n_frmnt=4; % 取四个共振峰const=fs/(2*pi); % 常数rts=roots(a); % 求根k=1; % 初始化yf = [];bandw=[];for i=1:length(a)-1re=real(rts(i)); % 取根之实部im=imag(rts(i)); % 取根之虚部formn=const*atan2(im,re); % 按(9-3-17)计算共振峰频率bw=-2*const*log(abs(rts(i))); % 按(9-3-18)计算带宽if formn>150 & bw <700 & formn<fs/2 % 满足条件方能成共振峰和带宽yf(k)=formn;bandw(k)=bw;k=k+1;endend[y, ind]=sort(yf); % 排序bw=bandw(ind);F = [NaN NaN NaN NaN]; % 初始化Bw = [NaN NaN NaN NaN];F(1:min(n_frmnt,length(y))) = y(1:min(n_frmnt,length(y))); % 输出最多四个Bw(1:min(n_frmnt,length(y))) = bw(1:min(n_frmnt,length(y))); % 输出最多四个F0 = F(:); % 按列输出Bw = Bw(:);p1=length(F0); % 在共振峰处画线for k=1 : p1m=floor(F0(k)/df);P(k)=U_log(m+1);line([F0(k) F0(k)],[-10 P(k)],'color','k','linestyle','-.');endfprintf('F0=%5.2f %5.2f %5.2f %5.2f\n',F0);fprintf('Bw=%5.2f %5.2f %5.2f %5.2f\n',Bw);
3 仿真结果



4 参考文献
[1]唐晓进. 基于LPC倒谱的语音特征参数提取[J]. 山西电子技术, 2012(6):3.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
本文探讨了语音识别中LPC倒谱系数的提取方法,该方法能够有效地去除语音信号的激励信息,保留声道模型特征。通过预加重、分帧等步骤,最终提取出能够描述语音共振峰特性的LPC倒谱系数。
783

被折叠的 条评论
为什么被折叠?



