matlab低通滤波器库函数代码_应用MatLab对语音信号进行处理

本文介绍了使用Matlab对语音信号进行处理的实践,包括语音信号的采集、频谱分析、加噪、低通滤波器设计以及快放、慢放和变声效果的实现。通过实例代码展示了如何运用Matlab的库函数对语音信号进行各种操作,以理解信号处理的基本步骤和效果。
摘要由CSDN通过智能技术生成

大三时数字信号处理做过一个简单的语音信号处理。复制过来。

课题内容

录制一段语音信号,对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法或双线性变换设计滤波器,并画出 滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;最后,实现对原始信号进行处理,包括:加噪声、快放、慢放、变声等。

具体实现
1.语音信号的采集
  利用手机录音机,录制一段话音(我们所录的是---“现在所录的是男声”)。然后在Matlab软件平台下,利用函数audioread对语音信号进行采样。通过audioread函数的使用,我们很快理解了采样频率、采样位数等概念。
2.原始语音信号的频谱分析
  我们首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。
程序如下:
[x,fs]=audioread('nansheng.wav'); %打开语音信号
sound(x,fs); %播放语音信号
N=length(x); %长度
n=0:N-1;
w=2*n*pi/N;
y1=fft(x); %对原始信号做FFT变换
subplot(2,1,1);
plot(n,x) %做原始语音信号的时域波形图
title('原始语音信号时域图');
xlabel('时间t');
ylabel('幅值');
subplot(2,1,2); %做原始语音信号的频谱图
plot(w/pi,abs(y1));
title('原始语音信号频谱')
xlabel('频率Hz');
ylabel('幅度');
波形如下:

14ec586e8f0b2d559c2c178d8c38c1f3.png

3.加噪语音信号并对其FFT频谱分析

程序如下:

[x,fs]=audioread('mei.wav');

n=length(x);

x_p=fft(x,n);

f=fs*(0:n/2-1)/n;

figure(1)

subplot(2,1,1)

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值