LP-PSOLA算法之(二) 语音变调

本文实现语音变速的方法是基于线性预测,有人问,时域做变速方法很方便,为何要用线性预测来做?

  • 语音编码,得到每帧信号的lpc系数和基音频率,就能预测出语音。
  • 该方法可算出共振峰等参数,方便做变调的时候,对共振峰进行调整。
  • 通过LP-PSOLA算法,学习基音检测的原理和算法,方便开展更多工作。

一 .概述

1.1 语音变速属语音更改范畴,两方面研究:

1.声学参数,如共振峰频率,基频,主要由声道差异决定。
2.韵律学参数,如说话快慢,节奏,口音不同。

1.2 变调本质:

改变语音基音频率(pitch),pitch变大-男声变女生,pitch变小,女声变男声。所以问题就变得很简单,只要在语音合成之前,根据变调要求改变pitch大小,合成后得语音就能达到变调得效果。

值得注意得是:由于男女声道长度得差异,两者即使发同一个元音,共振峰频率也会有很大的区别,所以在提高或者降pitch的时候,也要适当调整共振峰的大小。

二. 变调步骤

LP-PSOLA算法之(二) 语音变调

三.共振峰的计算和调整

共振峰Fi与预测系数ai组成的多项式的根zi的相角存在特定的关系,满足式子:

LP-PSOLA算法之(二) 语音变调

其中,

LP-PSOLA算法之(二) 语音变调

严格来讲,pitch变化对不同的共振峰频率变化数值不同,同时对带宽也有一定影响,简化起见,不管pitch改变多少,将不同的共振峰频率增加或者减少100Hz,带宽不改变。

三. MATLAB仿真结果

LP-PSOLA算法之(二) 语音变调

说明: 原始语音时长约为2.5秒,程序将pitch改为原来的2倍,可以明显感觉到变调后的语音从男声变为女声。

参考文献:

[1] 宋知用. Matlab在语音信号分析与合成中的应用[M]. 北京:北京航空航天大学出版社:2013.