(基于matlab自写代码)语音信号的谱分析

语音信号为一维短时平稳信号,带宽为3~4kHz,分析时可按10~20ms相对稳定的时间段分段进行,对每一段信号可直接采用一维FFT算法分析其频谱,或描述其对应的语谱图,即横轴为时间、纵轴为频率和图像的灰度表示相应时刻和相应频率的信号能量密度

含噪语音可通过原始语音信号中加入高斯噪声或其它噪声实现,此外采用一般的录音设备录制的语音信号本身就含有一定的噪声。通过设计对应的滤波器可滤除相应的频谱成分,如低通可滤除电流噪声信号,高通可滤除高频信号。信号经过滤波器处理的过程可通过输入信号x(n)与滤波器冲激响应序列h(n)的线性卷积实现。具体实现时,需考虑输入信号x(n)长度的影响,用重叠相加法或重叠保留法,并采用FFT来提高计算线性卷积的速度。
可将两种频率成分相差较大的信号如语音和乐器合成一个语音文件,用FFT对两个独立信号和合成后信号的频谱进行分析,根据两个独立信号频谱的特点,设计对应的滤波器,将合成信号中的两个信号分开。具体方法和分离噪声时采用的方法一致。

对语音信号,取帧长为256个点,计算其FFT,并绘出其幅度谱的波形。
x =audioread(’ E:\matlab\yuyin1.m4a ');
sound(x);
movefile ENFRAME.M ENFRAME.m_bad; movefile ENFRAME.m_bad ENFRAME.m

y=ENFRAME(x,256,60);
Y=fft(x);
subplot(2,1,1);
plot(y);
title(‘yuyin1的波形’);
subplot(2,1,2)
plot(abs(Y));
title(‘yuyin1的频谱’);

结果图
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值