用MATLAB设计一个超简单的变声GUI界面

由于并非专业变声制作,所以原理上只是进行了对时间轴的压缩或拉伸(浅层的频率变换)和振幅的变化,没有对音频文件进行滤波啊什么的深入处理。只适合娱乐而已。(哈哈~~~)


实现效果


实现原理:将音频看作一个二维轴,x轴代表播放的时间,y轴代表振幅;通过函数audioread()读取wav文件的数据长度和频率,利用数据长度比上频率就是时间长度;

通过调节时间t的长短来变换频率FS;
eg:

1. GUIc操作界面的设计
a.新建>图形用户界面>选择默认的(default)
eg:

这里写图片描述

2. 程序的设计
在打开音频的按钮控件函数下添加如下代码,打开文件夹并获得文件路径;

然后对wav文件进行读取:

当然程序需要定义两个全局变量x,t,因为后面变声程序需要调用这两个数据;所以得在上面程序前加上:

所以导入音频按钮代码整体如下:

在变声处理的对应按钮下面进行x,t的处理以及加入图片显示和播放处理后的音频数据;(以大叔的为例)其他变声同样,只需改变显示的图片和变换t,x就可以了;

代码:代码浏览

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年3月18日
下一篇 2016年3月18日

相关推荐