Matlab 的psola.m
脚本,用来做PSOLA 算法的语音,简单直接,运行也挺稳的。PSOLA 说白了,就是把语音信号一小段一小段地切开,再拼一拼,常用于变调、变速那类的。
你要是搞语音合成或者语音变换,这个代码可以省不少事,调试起来也不算麻烦。代码写得挺清楚,适合动手改点逻辑玩玩。
配合一些工具箱,比如语音工具箱,能玩出更多花样,比如加个 GUI 界面,或者接个麦克风输入啥的。网上还找得到不少相关例子,比如语音大作业指南,里面也提到了 PSOLA 相关的应用。
注意点:帧长和帧移这两个参数要自己调好,不然合成后的语音听起来会怪怪的。还有,最好用清晰点的语音样本,带噪声的效果不佳。
如果你正在做语音课程设计或者研究数字语音信号,可以试试这个脚本,改改参数就能看到不同的效果,蛮直观的。