- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《信号与系统》课程研究性学习手册
姓名 罗海
学号
同组成员 赵鹏
龙俐
王优
罗
指导教师 胡健
时间 2011.12.4
信号的频域分析专题研讨
题目4:男生女生声音信号的转换
(1) 采集wav格式的男女生语音信号。
(2) 对所采集的男女生信号进行频谱分析,比较男女生频谱的特点。
(3) 实现男生女生声音信号的转换。
【知识点】
连续非周期信号的频谱,离散非周期信号的频谱,时域抽样,频域抽样
【温馨提示】
可以根据傅里叶变换公式,利用数值积分计算;也可以利用MATLAB提供的函数fft计算。
【男生女生声音信号转换的方法】
更改基频。不 同人的基频不同 统计如下: 正常成年男声:0~200Hz; 正常成年女声:200~450Hz; 小孩声音的基频要比女声的高,老年人 的基频要比男声的低。 经过整理统计可知 女声基频=男声基频*1.5。 本程序使用的是通过抽样与插值的方式 来达到基频的改变。 以女变男为例: 用整数 D 对语音信号 X(n)进行抽取 Xd=X(Dn); 然后将 X(n)的抽样频率提高到 I(整数)倍 ,即为对 X(n)的插值。时长规整 通过抽样插值来改变基频 也使播放速 度,播放时间发生改变, 因此通过时 长规整的方式来使播放速度 和时间恢 复到原来。 本程序使用的是用重叠叠加算法来达到 时长规整。 重叠叠加算法原理: 它分为两个阶段——分解和合成 将原始信号以帧长 N,帧间距 sa 进行分 解,然后以帧间距 ss 进行合成。 sa 与 ss 的的比值决定了时长规整因子 F=sa/ss。[x,fs,bits]=wavread(a.wav)
x=x(:,1);
sigLength=length(x)
t=(0:sigLength-1)/fs;;
y=fft(x);
y=fftshift(y);
plot(t,y)
xlabel(Time(s));
sound(x,fs)
[x,fs,bits]=wavread(b.wav)
x=x(:,1);
sigLength=length(x)
t=(0:sigLength-1)/fs;;
y=fft(x);
y=fftshift(y);
plot(t,y)
xlabel(Time(s));
sound(x,fs)
其中,a为女生音频,b为男生音频。
(3)女变男:
function Y=voical(x)
[x,fs,bits]=wavread(a.wav)
d=resample(x,3,2)
W=400;
Wov=W/2;
Kmax=2*W;
Wsim=Wov;
xdecim=8;
kdecim=2;
X=d;
F=1.5;
Ss=W-Wov;
xpts=size(X,2);
ypts=round(xpts/F);
Y=zeros(1,ypts);
xfwin=(1:Wov)/(Wov+1);
ovix=(1-Wov):0;
newix=1:(W-Wov);
simix=(1:xdecim:Wsim)-Wsim;
padX=[zeros(1,Wsim),X,zeros(1,Kmax+W-Wov)];
Y(1:Wsim)=X(1:Wsim);
xabs=0;
lastxpos=0;
km=0;
for ypos=Wsim:Ss:(ypts-W);
xpos=F*ypos;
kmpred=km+(xpos-lastxpos);
lastxpos=xpos;
if(kmpred=Kmax)
km=kmpred;
else
ysim=Y(ypos+simix);
rxy=zeros(1,Kmax+1);
rxx=zeros(1,Kmax+1);
Kmin=0;
for k=Kmin:kdecim:Kmax
xsim=padX(Wsim+xpo
文档评论(0)