WSOLA(Waveform similarity Overlap_Add)算法
波形相似叠加算法主要功能:对语音进行变调,且语速不变。
1. 语音合成
从任务分类角度:
声音转换(Voice Conversion,VC)
文本-语音转换(Text to Speech, TTS)
语音生成(Voice Generation,VG)
从技术分类角度: 波形合成法(波形编码器)、参数合成法(声码器)、规则合成法
(ps.与语音通信中的编解码器原理相同,区别一个是信道送来的参数,一个是从分析变换得到的参数)
从合成策略角度: 频谱逼近、波形逼近
2.音调变换
如何改变音调?最简单的方法:重采样(插值:周期变长,基频变低;抽取:周期变短,基频变高)
3.如何变调不变速?
4.WSOLA算法
该算法和核心原理:
并不直接在Ha处找一帧直接拼接,而是在Ha处的一个区间内寻找与理想帧最相似的一帧进行叠加。
5.算法实现
fs:采样率;speech_rate:Hs/Ha的值;shiftms:帧移,实际上就是Hs;epstep:Ha
寻找最相似的一帧,计算最小距离,用二维相关:
基于WSOLA的语音变调。wsola代码下载:
https://github.com/k2kobayashi/sprocket/blob/master/sprocket/speech/wsola.py
WSOLA类的调用:
调用函数:
6.其他不变调、变速的方法
PLOSA(基音同步叠加技术)
TD-SPOLA
FD-SPOLA