手机对话中的语音处理(三)


本系列文章由 @YhL_Leo 出品,转载请注明出处。
文章链接: http://blog.csdn.net/yhl_leo/article/details/50359479


上一篇:博客手机对话中的语音处理(二)讲述了有声语音利用LP模型进行语音合成的整个流程,本文将讲述LP预测合成技术在无声语音(即噪声)中的使用。

2.2 30毫秒无声语音的LP合成

从上篇博客的语音波形图中选取一部分30毫秒的无声语音信号(这里选择2000~2239这段信号):

input_frame=speech(2000:2239);
plot(input_frame);



图 1 语音波形

绘制出其功率谱密度图,需要强调的是,我们现在处理的是噪声(并非语音),所以采用平均周期频谱来估算功率谱密度(相比一个简单的周期频谱而言频率分辨率降低)。这里使用Matlab中的pwlech函数,默认将语音帧分为8个子帧,相邻之间重叠度为50%。

pwelch(input_frame);



图 2 功率谱密度图

同样使用LP模型,p=10合成一个新的帧。合成的时候,使用all-pole滤波(使用预测残差的标准差σ作为其标准差)处理高斯白噪声帧:

[ai, sigma_square]=lpc(input_frame,10);
sigma=sqrt(sigma_square);
excitation=randn(240,1);
synt_frame=filter(sigma,ai,excitation);
plot(synt_frame);



图 3 合成语音波形

同样绘制出其功率谱密度图:

pwelch(synt_frame);



图 4 合成音功率谱密度图

很明显,虽然合成音的波形与原音的波形基本没什么共同点,但是功率谱密度图还有些相似。

这就是LP模型的噪声合成分析~

posted on 2015-12-19 20:03  疯子123  阅读(119)  评论(0编辑  收藏  举报

导航