【语音合成】比例重叠相加法信号分帧与还原【含Matlab源码 561期】

在这里插入图片描述

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【语音合成】基于matlab比例重叠相加法信号分帧与还原【含Matlab源码 561期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab语音处理(初级版)

备注:
点击上面蓝色字体付费专栏Matlab语音处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab语音处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、重叠相加法简介

1 由来
在利用FFT计算线性卷积时,遇见长序列与短序列卷积时,FFT不一定具备简化计算的优势。

2 思路
分而治之的思想,可能很多情况下都使用,将大问题转为能解决的已知问题。既然一长一段不行,何不把长的分段我们设两个序列中短序列为s(n),长度为M;长序列为l(n),长度为L;可以测试,对长序列的分段点数不影响卷积结果,那我们设每段长度为N。那么,第一段的下标应该是0~N-1,第二段应该是N ->2N-1;由于我们采用每段分别求卷积,再将每段卷积通过合适的方法组合成目标结果,那么第二段应该往左移N点,以作DFT,也可以理解为周期延拓。为了让fft 或dft 代替线性卷积结果,需要有dft点数的要求,points=2^r>=N+M-1。因此,我们要在N点基础上进行补零,往后加points-N个0即可。同时别忘了对s(n)也进行同样的补零处理。
由于时域卷积可以频域相乘再反变换求得,我们将对s(n)和每个分段分别求卷积。在得到每个分段的卷积和后,我们要由此组织我们的结果。数学上已经给出结果了,就不赘述。对数学表达式的理解为,第一段的前N个点依旧代表结果,此后的M-1个点将与第二段的前M-个点相加,其他的类似。不严谨地说,每个分段产生N+M-1个点,第二段相当于右移N个点,必然产生混叠,第三段右移2N个点。看两张图,结合理解。
在这里插入图片描述

⛄三、部分源代码

 clc
clear all
close all
[s,fs]=audioread('手放开.wav');

⛄四、运行结果

在这里插入图片描述

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值