【语音合成】语音信号变速【含Matlab源码 565期】

在这里插入图片描述

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【语音合成】基于matlab语音信号变速【含Matlab源码 565期】
点击上面蓝色字体,直接付费下载,即可。

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

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

⛄二、语音信号变速简介

1 语音变速属语音更改范畴,两方面研究
(1)声学参数,如共振峰频率,基频,主要由声道差异决定。
(2)韵律学参数,如说话快慢,节奏,口音不同。

2 变速本质
把语音在时间上缩短或者拉长,而语音的采样频率/基频/共振峰不改变。
在这里插入图片描述
如图,上半轴表示原始语音,下半轴表示变速后的语音。上半轴大圆点表示每一帧的起始位置,下半轴小圆点表示变速后的每一帧起始位置。
语音时间减少,语速增加,缩短语音帧数fn’比原帧数少,因此要对帧数fn进行插值。缩短语音每一帧对应的原始信号的时间,并不是原始信号的时刻,因此要对基音周期进行插值。同样要对线性预测系数进行插值。

2 语音变速步骤
分帧/基因检测/计算lpc系数。
按照新的语音时长,对帧数fn插值为fn‘。
将ai系数转化称LSF参数,对LSF参数插值。
将插值后的LSF系数重构为1-fn’帧线性预测系数ai’。
用预测系数ai’和基音参数合成语音。
PS. 这里讲一下插值函数Interp1函数的使用:
MATLAB hep:1-D data interpolation (table lookup)
既然有interp1,那一定也有interp2/interp3,interp1用来对一维数组进行插值,但是,interp1也可用用来做二维数组的插值,也是一维一维地处理。

用框图表示流程:
在这里插入图片描述

⛄三、部分源代码

clear all; clc; close all;

[xx,fs]=wavread('1.wav');                   

⛄四、运行结果

在这里插入图片描述

⛄五、matlab版本及参考文献

1 matlab版本
2014a

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

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

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Matlab领域

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

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

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

打赏作者

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

抵扣说明:

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

余额充值