数字变声器的设计兰州理工大学.docx
- 文档编号:17919526
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:18
- 大小:183.67KB
数字变声器的设计兰州理工大学.docx
《数字变声器的设计兰州理工大学.docx》由会员分享,可在线阅读,更多相关《数字变声器的设计兰州理工大学.docx(18页珍藏版)》请在冰点文库上搜索。
数字变声器的设计兰州理工大学
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年春季学期
计算机通信与网络课程设计
题目:
数字变声器设计
专业班级:
通信工程一班
姓名:
学号:
指导教师:
蔺莹
成绩:
摘要
变声器的原理是通过改变输入声音频率,进而改变声音的音色、音调,使输出声音在感官上与原声音不同。
变声器是借助对声音音色和音调的双重复合改变,实现输出声音的改变。
通过自己发声,共振峰频率的改变是基于重采样实现的。
目前,语音伪装系统(变声器)被广泛应用于社会的各个领域。
语音伪装设备经常出现在以下几个方面:
为了防止打击报复,保护举报人的人身安全的匿名举报系统;记者采访时对采访对象声音的处理,保护被采访人的安全;应用于电台或电视台,可对热线电话进行声音的处理。
独居女士和小孩;可用变声器应付骚扰电话和陌生人来访。
另外,在智能手机或者平板电脑等便携式移动终端中利用变声器开发的小游戏等。
因此,变声器的应用范围及其广泛。
关键字:
变声器共振峰频率语音伪装
第一章数字变声器概述
1.1变声器定义
变声器是通过改变输入音频的音色、音调,将变声后的音频输出的工具。
根据变声器材质不同,变声器分为变声器硬件和变声器软件。
变声器硬件,即通过硬件实现变声的工具,譬如,知名动画名侦探柯南中,柯南侦破案件时扮演毛利小五郎时,使用的蝴蝶结,就是一种变声器,柯南正是通过这一蝴蝶结,模拟成毛利小五郎的声音,进行案件侦破的,这一变声器可称之为蝴蝶结变声器。
变声器软件,即通过软件实现变声的工具,软件类变声器,运行平台皆为电脑系统。
1.2变声器原理概述
无论是硬件变声器,还是软件变声器,其原理都是,通过改变输入声音频率,进而改变声音的音色、音调,使输出声音在感官上与原声音不同。
我们每个人的声音不同,源于我们的每个人的音色和音调不同,我们所说的男中音、男高音,就是音调的不同,而即便音调一致,我们依然能区分出两个不同人的声音,或不同乐器的声音,这就是音色的不同。
变声器,正是借助对声音音色和音调的双重复合改变,实现输出声音的改变。
共振峰频率的改变是基于重采样实现的,从重采样原理知道,这也同时引发了基频的变化,为保证基频变化和共振峰频率变化的独立、互不相关,在基频移动时必须考虑抵消重采样带来的偏移,理论上只要基频检测足够精确,确实可以保证基频改变和共振峰频率改变间的互不相关。
保证变声效果的自然度主要是没有采用基音检测将基音移动和共振峰变化彻底隔离的缘故。
重采样使得信号的样本数目增加或减少,若以不变的采样频率播放,速度会变慢或变快,因此需要进行保持声调不变的变速处理(变速不变调),恢复到原来的样本数目。
同时为了改变信号的基频,还必须对信号进行变调处理即基频移动,在运用变调因子时,必须抵消重采样引起的基频变化。
第二章变声器原理及实现
2.1基本原理
语音科学家将人类发声过程视作一个由声门源输送的气流经以声道、口、鼻腔组成的滤波器调制而成的。
人类语音可分为有声语音和无声语音,前者是由声带振动激励的脉冲信号经声腔调制变成不同的音,它是人类语言中元音的基础,声带振动的频率称为基频。
无声语音则是声带保持开启状态,禁止振动引发的。
一般来说,由声门振动决定的基频跟说话人的性别特征有关,如下表,而无声语音则没有体现这个特征。
说话人的个性化音色和语音的另外一个声学参数——共振峰频率的分布有关。
儿童由于声道短,其共振峰频率高于成年人,成年女性的声道一般短于成年男性,所以女性的共振峰频率一般高于男性。
表2.1男声、女声和童声基频、共振峰频率关系表
人群
基频分布Hz
共振峰频率分布
男声
[50,180]
偏低
女声
[160,380]
中
童声
[400,1000]
偏高
由上可知,在进行性别变声时,主要考虑基频和共振峰频率的变化。
当基频伸展,共振峰频率也同时伸展时,可由男声变成女声,女声变成童声;反之,基频收缩,共振峰频率也同时收缩时,则由童声变女声,女声变男声。
为了获得自然度、真实感较好的变声效果,基频和共振峰频率通常必须各自独立地伸缩变化如图2.1。
图2.1基频和共振峰频率分布的变化
共振峰频率的改变是基于重采样实现的,从重采样原理知道,这也同时引发了基频的变化,为保证基频变化和共振峰频率变化的独立、互不相关,在基频移动时必须考虑抵消重采样带来的偏移,理论上只要基频检测足够精确,确实可以保证基频改变和共振峰频率改变间的互不相关。
2.2数字变声器的实现
频率
图2.2语音处理实现框图
实现步骤:
1)语音信号的录制与读入。
2)语音信号的频谱分析。
3)实现慢录快放和快录慢放功能
4)设计数字滤波器和画出其频率响应。
5)用滤波器对信号进行滤波。
6)比较滤波前后语音信号的波形及频谱。
7)通过搬移、改变基波频率实现变声。
8)语音信号恢复。
9)在MATLAB下绘制出各个部分的输出波形,前后对比。
2.3数字变声器的MATLAB实现
各部分程序如下:
%读取声音信号并处理
[x,fs]=wavread('gg');%读声音文件
N=length(x);
n=[0:
N-1];
X=fft(x);%读入音频傅里叶变换
Fs=1*fs;
T=1/Fs;
f=n/N*Fs;%点数转换成频率
figure
(1);
subplot(2,1,1);
plot(n,x);%画出原声音信号
title('原声音信号')
ylabel('Y');
xlabel('X');
subplot(2,1,2);
plot(f,abs(X));%原声音信号的幅度谱
title('语音的幅度谱');
ylabel('Y');
xlabel('X');
sound(x,fs);
%提速处理与播放
w=1.6;
M=w*fs;%1.6被语速的快放
sound(x,M);
%减速处理与播放
w=0.6;
M=w*fs;%0.6被语速的慢放
sound(x,M);
%语音信号恢复
s=ifft(X);
figure
(2)
subplot(2,1,2);
plot(s);%恢复的语音信号
title('恢复的语音信号');
ylabel('Y');
xlabel('X');
subplot(2,1,1);
plot(x);%恢复的语音信号
title('读入的语音信号');
ylabel('Y');
xlabel('X');
%低通滤波器的设计
fp1=1200;fs1=1500;%设定低通滤波器通带截止频率和阻带截止频率
wp1=2*fp1/Fs;ws1=2*fs1/Fs;rp=1;as=100;
[N1,wp1]=ellipord(wp1,ws1,rp,as);%计算低通滤波器阶数和通带边界频率
[B,A]=ellip(N1,rp,as,wp1);%计算低通滤波器系统函数系数
y1=filter(B,A,x);%滤波器软件实现
Y1=abs(fft(y1));
%低通滤波器设计与输出
figure(3)
subplot(2,1,1);
t=n*T;
plot(t,y1);
title('滤波后的音频信号');
xlabel('X');
ylabel('Y');
subplot(2,1,2);
plot(f,abs(fft(y1)));
title('滤波后的幅度谱');
xlabel('X');
ylabel('Y');
sound(y1,fs);
%男声变童声
[y2,fs]=wavread('gg');
p=fft(y2);
xaa=p;
N=500;
pa=[0.3*xaa(1:
N),2.5*xaa(1:
180000),0.3*xaa(1:
N)];
Y1=3*real(ifft(pa));
figure(4)
subplot(2,1,2);
plot(Y1);%变声后的音频输出
title('变声后的音频输出');
xlabel('X');
ylabel('Y');
sound(Y1,fs);
subplot(2,1,1);
plot(x);%读入的原始音频
title('读入的原始音频');
xlabel('X');
ylabel('Y');
figure(5)
subplot(2,1,1);
plot(abs(X));%原始音频的幅度谱
title('原始音频的幅度谱');
xlabel('X');
ylabel('Y');
subplot(2,1,2);
plot(abs(pa));%变声后的幅度谱
title('变声后的幅度谱');
xlabel('X');
ylabel('Y');
%男声变老人声
[y2,fs]=wavread('gg');
p=fft(y2);
xaa=p;
N=500;
pa=[0.3*xaa(1:
N),2.5*xaa(1:
450000),0.3*xaa(1:
N)];
Y1=3*real(ifft(pa));
figure(6)
subplot(2,1,2);
plot(Y1);%变声后的音频输出
title('变声后的音频输出');
xlabel('X');
ylabel('Y');
sound(Y1,fs);
subplot(2,1,1);
plot(x);%读入的原始音频
title('读入的原始音频');
xlabel('X');
ylabel('Y');
figure(7)
subplot(2,1,1);
plot(abs(X));%原始音频的幅度谱
title('原始音频的幅度谱');
xlabel('X');
ylabel('Y');
subplot(2,1,2);
plot(abs(pa));%变声后的幅度谱
title('变声后的幅度谱');
xlabel('X');
ylabel('Y');
%女声变男声
[y5,fs]=wavread('cc');
p=fft(y5);
xaa=p;
N=100;
pa=[0.1*xaa(1:
3*N),1.2*xaa(1:
420000),0.1*xaa(1:
100*N)];
Y3=1*real(ifft(pa));
figure(8)
subplot(2,1,1);
plot(y5);
title('读入的原始音频');
xlabel('X');
ylabel('Y');
subplot(2,1,2);
plot(Y3);%变声后的音频输出
xlabel('X');
ylabel('Y');
sound(y5,fs);
sound(10*Y3,fs);
2.4仿真结果及分析
(1)原始与恢复音频对比
图2.3原始与恢复音频对比
采集到的男子声音信号大都分布在较低的频段上,即男子话音的基频较低。
(2)滤波前后波形对比
图2.4滤波前后波形对比
信号经过滤波器处理后,保留了有效的频率成分,一定程度上去除了干扰信号。
(3)男声变童声后音频对比
图2.5男声变童声后音频对比
变声前后,音频信号的时域波形被压缩,总体形状无太大变化。
(4)男声变童声后频谱对比
图2.6男生变童声后频谱对比
改变信号的基频可以实现语音的变调。
零频附近的信号被削弱,而对应于【10000,24000】频点部分的信号得到加强
(5)男声变老人声音音频对比
图2.7男声变老人声音音频对比
男声变老人声前后,音频的时域波形被展宽,总体形状变化不大。
(6)男声变老人声频谱对比
图2.8男声变老人声频谱对比
男声变老人声前后声音的高频成分被削弱,而低频成分得到加强。
【0,18000】频点对应的信号得以加强,【18000,30000】频点对应的信号则被削弱。
(7)女声变男声后音频对比
图2.9女声变男声后音频对比
由上图可知,女声变男声后音频信号的时域波形被展宽,信号的总体形状无太大变化。
2.5结果分析
1、采集到的男子声音信号大都分布在较低的频段上,而女子的声音信号大都分布在较高的频段上。
即男子话音的基频较低,女子的话音基频较高。
2、信号经过滤波器处理后,保留了有效的频率成分,一定程度上去除了干扰信号。
对于男子的声音影响较小,原因为男子的话音有用信号大都分布在较低的频段上,通过低通滤波器后,噪声等无用信号被滤除。
3、改变信号的基频可以实现语音的变调。
变声前后,音频的时域波形基本变化不大,而信号的频域波形发生较大变动。
男声变女声后信号的频谱被搬到较高的频带上,男声变童音后,信号的频谱被搬移到更高的地方。
女声变男声则反过来。
4、通过改变输出频率,可以实现声音的提速或减速播放。
将频率过大,输出为提速效果,将频率乘以小于一的数后,可以实现减速播放效果。
5、男声变老人的声音可以通过变速实现,变速不变调。
改变输出速度而不用改变声音频率。
第三章课设总结
此次课设题目为数字变声器设计,要求我们利用所学的信号处理、MATLAB知识完成任务。
综合了过去三年所学的重要专业知识,可谓是对过去所学知识的一次全面考察。
变声器的原理是通过改变输入声音频率,进而改变声音的音色、音调,使输出声音在感官上与原声音不同。
变声器是借助对声音音色和音调的双重复合改变,实现输出声音的改变。
通过自己发声,共振峰频率的改变是基于重采样实现的。
接到课题后,我便积极准备,到图书馆查阅相关书籍,上网搜索有关内容,利用MATLAB实现仿真,并及时向指导老师回报进度,听取老师的意见和建议。
最终,顺利完成了此次课设任务。
采集到的男子声音信号大都分布在较低的频段上,而女子的声音信号大都分布在较高的频段上。
即男子话音的基频较低,女子的话音基频较高。
信号经过滤波器处理后,保留了有效的频率成分,一定程度上去除了干扰信号。
对于男子的声音影响较小,原因为男子的话音有用信号大都分布在较低的频段上,通过低通滤波器后,噪声等无用信号被滤除。
改变信号的基频可以实现语音的变调。
变声前后,音频的时域波形基本变化不大,而信号的频域波形发生较大变动。
男声变女声后信号的频谱被搬到较高的频带上,男声变童音后,信号的频谱被搬移到更高的地方。
女声变男声则反过来。
通过改变输出频率,可以实现声音的提速或减速播放。
将频率乘以大于一的数后,可以实现减速播放效果。
将频率乘以(0,1)内的数后,可以实现减速播放效果。
男声变老人的声音可以通过变速实现,变速不变调。
改变输出速度而不用改变声音频率。
通过这次课设,我对理论知识的掌握更加牢固,而且把理论与实践联系在一起,提高了自己的实践能力。
而且我认识到了同学之间的相互合作的重要性,还提高了自己如何在众多的资料中找到对自己有用的信息。
要想把所学的内容融会贯通,只学好课本知识是不够的,要把所学习的知识加以利用,这次课设就给了我们很好的机会,让我们不仅巩固了课本知识,还从理论上升到了实际。
从课题的中心来看,课题是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音的处理。
作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。
在这里,用到了处理数字信号的强有力工具MATLAB,通过MATLAB里几个命令函数的调用,很轻易的在实际化语音与数字信号的理论之间搭了一座桥。
通过这次的课程设计,熟悉并掌握了MATLAB中有关语音信号的读取,频谱分析,频谱的搬移和基频、语速的改变来实现变声,分析其频谱,并与原始信号频谱进行比较。
参考文献
[1]高西全、丁玉美编著.数字信号处理.西安:
西安电子科技大学出版社,2008.
[2]刘树棠译.数字信号处理——使用MATLAB.西安:
西安交通大学出版社,2002.
[3]孙卓、岳振军,一种汉语语音变换技术,电声技术,2007.
[4]罗军辉等编著.MATLAB7.0在数字信号处理中的应用.北京:
机械工业出版社,2005.
[5]陈怀琛等编著.MATLAB及在电子信息课中的应用.北京:
电子工业出版社,2002.
[6]胡广书编著.数字信号处理――理论、算法与实现.北京:
清华大学出版社,2002.
[7]梁虹等编.信号与线性系统分析――基于MATLAB的方法与实现.北京:
高等教育出版社,2006.
[8]刘卫国主编.MATLAB程序设计与应用(第二版).北京:
高等教育出版社,2006.
致谢
本次课设,我得到了蔺老师的悉心指导,在很多问题上,给我们指明了前进的方向,提出了我们设计方案的缺点及其改良方式,让我们对此次课设涉及的知识有了更加深刻的把握。
在这里首先感谢我的课程设计指导教师蔺莹老师在这段时间一直给我的支持与鼓励。
认真负责的监督我们课程设计的进度,耐心的指导我们使我们能够按时的完成任务。
同时还要感谢在设计过程中我们组同学的帮助,他们提出了许多宝贵的建议使我们的设计能得到更好的完善,也加快设计的进程。
还有感谢学校为我们提供的良好实验环境以及充足的实验设备,为我们的设计和调试提供了很大的方便。
在这段时间学到了很多,虽然由于自身的不足没有能够为系统提出更好的解决方案。
但这对我来说绝对是一个非常宝贵的历练。
从中我切身体会到了理论和现实的差距,只有真正动手去做才能发现问题。
同时,小组成员相互商讨解决方案,发现设计中的不足之处,使错误得到了即使改正,在此衷心地感谢蔺老师以及这几周的殷切指导以及同学们提出诸多宝贵意见,真诚地道一声,谢谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 变声 设计 兰州 理工大学