【信号处理】基于Matlab实现男女音变声系统

1 内容介绍

为了实现由男声变换到女声,在语音信号参数分析过程采用短时自相关法提取语音信号的基音周期,同时用LPC倒谱分析法分析共振峰的范围,通过matlab编写程序修改语音参数并接近于女声的范围,构置GUI界面。在实验中,输入一段语音信号,输出时即实现了由男声到女声的变换效果。因此对于语音信号参数的修改能够实现男女声音之间的变换。

2 部分代码

% 计算一段语音的基音周期

function PT = findpitch(s)

[B, A] = butter(5, 700/4000);

s = filter(B,A,s);

R = zeros(143,1);

for k=1:143

    R(k) = s(144:223)'*s(144-k:223-k);

end

[R1,T1] = max(R(80:143));

T1 = T1 + 79;

R1 = R1/(norm(s(144-T1:223-T1))+1);

[R2,T2] = max(R(40:79));

T2 = T2 + 39;

R2 = R2/(norm(s(144-T2:223-T2))+1);

[R3,T3] = max(R(20:39));

T3 = T3 + 19;

R3 = R3/(norm(s(144-T3:223-T3))+1);

Top = T1;

Rop = R1;

if R2 >= 0.85*Rop

    Rop = R2;

    Top = T2;

end

if R3 > 0.85*Rop

    Rop =

你可能感兴趣的:(信号处理,Matlab各类代码,matlab,开发语言)