zoukankan      html  css  js  c++  java
  • 手机对话中的语音处理(三)


    本系列文章由 @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模型的噪声合成分析~

  • 相关阅读:
    dfs介绍
    UVA11149 矩阵快速幂
    UVA1476 三分法
    漂亮的表达式!(不断补充)
    BC Round#33 B(10的18次方,快速乘法+快速幂取余)
    UVA 1639(组合数学)
    UVA 10612(数论找规律)
    小模板
    1589象棋(大模拟)
    bnuoj 29368 Check the Identity(栈)
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6332189.html
Copyright © 2011-2022 走看看