算法c语言实现代码,一种将PSOLA算法与语音正弦模型结合的合成方法"/>
psola算法c语言实现代码,一种将PSOLA算法与语音正弦模型结合的合成方法
艺
其中
‘
一
一
。丁
一
,
是窗函数
‘
。
在需要时长调节时
,
部分短时信号
将被删除或重复
,
,
以达到目标时长的要求
。
当两个相邻短时信号之间的时延改变后
基音周期的改变不太大
,
其各谐波分量的相位的连续性被破坏如果相位的不连续可以通过两短时信号的重叠相加来平滑但是当
。
,
诊
基音周期的改变大到一定程度后
重叠相加也不足以平滑相位的不连续映到合成语音中就是比较明显的回声效应
。
,
相位的不连续反
、
的基本模型
为了使合成语音中相邻基音周期的各谐波分量具有尽可能平滑过渡的幅度和相位算法中的短时信号击
‘,
将
用正弦模型来表示
,
,
即将
,
表示为一系列正弦波之和
,
艺通
,
,
,
。
其中
山,和
。
,
是短时信号
,
的各正弦分量的幅度
、
相位和频率
。
‘
是分解成
的正弦波的个数
正弦模型的参数可从短时信号的
点
山,
需补零
,
,
谱中估计得到
。
首先用
。
方法从幅度谱中选出峰值频率
正弦波的相位
,
及其幅度值
作为正弦波的频率和幅度
由
谱在处山的虚部与实部之比算得
,
,
由于各短时信号是基音同步的且他们
的中心位置是各基音周期的声门关闭时谱估计得到的参数可视为刻因此从
。
频率
,
每个基音周期内声门关闭时刻语音信号的正弦分量的题奔幅度和相位由于语音信
、
新生轨进
号是时变的相邻的短时信号可分解成的正
弦波个数及各正弦波的频率不会完全相同因此需要对相邻周期的正弦波进行频率
。
,
死亡轨进
匹配
,
找出正弦波频率随时间的演变轨迹
,
。
其中有些频率轨迹会在某个周期内消失即死亡而也有的周期内会出现新的频率轨
迹
宙少
,
时间
图
频率轨迹匹配示意图
见图
。
频率匹配的详细算法见【
,
有了频率轨迹后就可以延频率轨迹
。
从位于声门关闭点的已知幅度和相位插值得到所
。
有时间点的幅度和相位通常幅度可直接线性插值而测量得到的相位是式中的三次插值函数来解决性插值这个问题可以用
。。
尤
的模不能线
,
吞
卢
、
,
刀
,
二
材
更多推荐
psola算法c语言实现代码,一种将PSOLA算法与语音正弦模型结合的合成方法
发布评论