语音信号LPC谱估计
来源:互联网 发布:看美剧的网站知乎 编辑:程序博客网 时间:2024/05/17 01:32
matlab自带了LPC计算函数 http://www.mathworks.cn/cn/help/signal/ref/lpc.html
为了验证LPC谱与短时傅里叶谱的逼近程度,首先计算STFT,再计算LPC谱,最后在一张图上画出来
matlab代码片段如下:
frameData = z_frame(idx,:); [ar,g] = lpc(frameData,p); fft_mag = abs(fft(frameData, n)); lpc_mag = abs(fft(ar,n)); plot(20*log10(sqrt(g)./lpc_mag(1:81)),'--r');hold on; plot(20*log10(fft_mag(1:81)));hold off; legend('LPC spectrum','STFT');
得到如下图所示的谱,LPC谱的形状倒是与STFT一致,只是增益gain貌似差的有点大,百思不得其解……
再用voicebox里面的lpcauto函数试试 http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/doc/voicebox/lpcauto.html
matlab代码中的lpc函数替换成lpcauto,得到如下结果,哈哈,差不多就是了
matlab自带的lpc函数和voicebox的lpcauto函数均是采用自相关法实现的,怎会有这么大的差距?
到lpc函数里面去看个究竟,原来有这么一行
X = fft(x,2^nextpow2(2*size(x,1)-1));R = ifft(abs(X).^2);R = R./m; % Biased autocorrelation estimate !!![a,e] = levinson(R,N);m不就是帧长么,那就将该函数得到的g乘m就得到想要的结果
通过对比发现,matlab自带的lpc函数和voicebox的lpcauto函数计算的LPC系数存在一定的误差,但将阶数p增加到50可以看到lpc函数得到的LPC谱貌似更逼近STFT。
0 0
- 语音信号LPC谱估计
- 语音信号线性预测(LPC)分析
- 语音识别提取LPC代码
- 时域信号的功率谱估计
- 语音信号处理之(二)基音周期估计(Pitch Detection)
- 语音信号处理之(二)基音周期估计(Pitch Detection)
- 语音信号处理之(二)基音周期估计(Pitch Detection)
- 语音信号
- 语音信号
- 传统LPC声码器的语音模型
- LPC
- 分享使用MFCC和LPC进行语音识别
- 语音的线性预测系数(Linear Prediction Coefficient,LPC)
- 语音信号处理
- 语音信号处理
- 语音信号语谱图分析
- 语音信号处理笔记
- 语音信号的预处理
- fzu1977之插头DP
- mmap和munmap函数
- IBM联合CSDN发布Power Linux开发测试云平台
- 字符串排序的问题
- Android提高第二十一篇之MediaPlayer播放网络视频
- 语音信号LPC谱估计
- 使用OLE对象遇到莫名其妙的情况时,有可能是没调用初始化函数导致的。
- 2014 项目经理-累觉不爱
- How to Set size for picture in datadrigview
- VS2010制作安装文件后,使用安装文件时出错-“Can't find console path, Please install main UI...”
- C++开发者都应该使用的10个C++11特性
- 开始记录成长的点滴
- mysql 存储过程中游标的使用
- 过水润初春 五款养生花草茶