iVocaloid论坛

标题: 【算法】改进型LC-FECSOLA共振峰修改算法 [打印本页]

作者: Zleepwalking    时间: 2013/10/25 08:35     标题: 【算法】改进型LC-FECSOLA共振峰修改算法

本帖最后由 Zleepwalking 于 2013/10/25 15:11 编辑

花了几天琢磨出这玩意:
Linear Combination - Formant Envelope Components Shift and OverLap Add
本质上还是在频域的OLA,但是对各子包络的拆分比原先好多了。
FECSOLA的拆分直接给共振峰包络加三角窗。如果遇到这种情况:
FECSOLA.png
这时F2往高频移,然后就呵呵了:F1F2脚踏两只船坐等阿鲁巴……请允许我做一个姚明的表情-> ->

LCFECSOLA先设N个(对于CVE3,N = 4)窗,可以是三角或汉宁窗,只要满足W[0] = W[N] = 0即可。每个窗的中心位于标注的共振峰频率上(F0 F1 F2 F3),窗宽度为共振峰宽度:

2013-10-25 08:33:24的屏幕截图.png
然后把四个窗加起来得到蓝线(S[n]),为了不让S[n] = 0,给每个子窗加上0.05

拿原先的频谱E[n]包络除以S[n],乘以各子窗,于是就分解出了F0[n] F1[n] F2[n] F3[n]...
2013-10-25 08:35:25的屏幕截图.png
易证F0[n] + F1[n] + F2[n] + F3[n] = E[n]

然后移动分解出的各包络,再重新加起来就可以实现频谱包络转变了。剩下来操作跟FECSOLA一样。

有空用LaTeX写篇更详细的介绍吧。。。

最后附个效果
iaiaoaio.wav.zip (172.59 KB, 下载次数: 52)


图片附件: 2013-10-25 08:35:25的屏幕截图.png (2013/10/25 08:33, 29.81 KB) / 下载次数 26
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NzM2MDB8ZmZlNjZiNjJ8MTc1MzQxNDE4NXwwfDA%3D



图片附件: 2013-10-25 08:33:24的屏幕截图.png (2013/10/25 08:31, 26.43 KB) / 下载次数 31
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NzM1OTl8YWUyMjI3Yzh8MTc1MzQxNDE4NXwwfDA%3D



图片附件: FECSOLA.png (2013/10/25 08:27, 20.14 KB) / 下载次数 27
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NzM1OTh8MmM0NjRlZjh8MTc1MzQxNDE4NXwwfDA%3D



附件: iaiaoaio.wav.zip (2013/10/25 15:11, 172.59 KB) / 下载次数 52
http://bbs.ivocaloid.com/forum.php?mod=attachment&aid=NzM2MDF8N2M2ZTc1MjZ8MTc1MzQxNDE4NXwwfDA%3D




欢迎光临 iVocaloid论坛 (http://bbs.ivocaloid.com/) Powered by Discuz! X2