MATLAB课程设计课题语音伪装器的设计与实现代码31课题编号8指导老师邓磊语音伪装器的设计与实现一、我们每个人的声音不同,源于我们的每个人的音色和音调不一样,例如所说的男中音、女高音就是音调的不同
当然即便是音调一致,我们依然可以区分两个不同人的声音或者不同乐器的声音,这就是音色的不同
而我们要实现的语音变音器正是借助对声音音色和音调的双重复合改变,实现输出声音的改变
由表1可知,在进行性别变音时,主要考虑基频和共振峰频率的变化
当基频伸展,共振峰频率也同时伸展,可由男声变成女声,女声变成童声;反之基收缩共振峰频率也同时伸展,可由男声变成女童;反之,基频收缩,共振峰频率也同时收缩,则由童声变女声,女声变男声
表一男声、女声和童声基频、共振峰频率关系表人群基频分布Hz共振峰频率分布男声【50,180】偏低女声【160,380】中童声【400,1000】偏高二、实现步骤1
使用windows和matlab工具进行语音信号的录制与读入;2
对读入的语音信号进行频谱分析;3
设计数字滤波器并画出频响特性;4
对读入的语音信号进行滤波以滤除噪声;5
通过搬移、改变基波频率实现变声;6
语音信号恢复7
实现慢录快放和快录慢放功能;8
绘制输出各个部分的波形
三、语音伪装器的MATLAB程序与实现%读取音频信号并分析处理[x1,fs]=wavread('C:\Users\Administrator\Desktop\xq
wav');%读取音频文件,识别的是地址sound(x1,fs);N=length(x1);n=[0:N-1];X=fft(x1);%进行傅里叶变换Fs=1*fs;T=1/Fs;f=n/N*Fs;figure(1);subplot(2,1,1);plot(n,x1);%绘制原音频信号title('原音频信号');subplot(2