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

发布于:2022-12-30 ⋅ 阅读:(654) ⋅ 点赞:(0)

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 = R3;

    Top = T3;

end

PT = Top;

return

3 运行结果

4 参考文献

[1]刘志城, 陈超. 基于matlab变声器的设计[J]. 电子世界, 2013(12):2.​

博主简介:擅长智能优化算法神经网络预测信号处理元胞自动机图像处理路径规划无人机雷达通信无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

 


网站公告

今日签到

点亮在社区的每一天
去签到