💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

一、引言

音频信号处理在当今数字化时代无处不在,从日常使用的智能手机、音乐播放器,到专业的音频制作、通信系统以及医疗、安防等领域都有着广泛应用。而分析音频信号和滤波则是音频信号处理中的核心环节,对提升音频质量、提取关键信息起着至关重要的作用。

二、音频信号分析

  1. 时域分析
  • 波形观察:通过直接查看音频信号随时间的变化波形,能初步了解音频的基本特征,如声音的起止、持续时间、大致幅度等。例如,一段语音信号的波形可以直观展现出说话人发音的节奏和响度变化。
  • 幅度统计:计算音频信号的峰值、均方根值等幅度指标,用于衡量声音的强弱程度。这些统计量有助于评估音频信号的动态范围,在音频录制和播放设备的音量调整等方面有实用价值。
  • 自相关分析:可用于检测音频信号中的周期性成分,如乐器演奏中的基音周期,进而识别出音高,这在音乐识别、语音合成等领域意义重大。
  • 频域分析
  • 傅里叶变换:将音频信号从时域转换到频域,揭示其频率成分分布。借助快速傅里叶变换(FFT)算法,能高效地获取音频信号包含的不同频率分量及其幅度信息。例如,在音乐分析中,可清晰分辨出不同乐器演奏的音符所对应的频率,区分高音弦乐器和低音鼓的声音特征。
  • 频谱图绘制:以时间为横轴、频率为纵轴、幅度为颜色或灰度表示,生成可视化的频谱图,直观呈现音频信号随时间的频率变化情况。在语音识别中,频谱图可辅助识别不同语音音素的频率特征,提高识别准确率
  • 时频分析
  • 短时傅里叶变换(STFT):针对音频信号的非平稳特性,通过对信号进行分段加窗处理后再做傅里叶变换,既能观察到信号的频率成分,又能跟踪其随时间的变化。适用于分析如语音、音乐等随时间动态变化的音频,像在音乐动态效果监测中,可实时捕捉旋律、和声的变化。
  • 小波变换:相较于傅里叶变换,小波变换在时频域都具有良好的局部化特性,能够聚焦到信号的局部细节,对于分析音频信号中的瞬态现象,如乐器的敲击声、语音中的爆破音等非常有效,还可用于音频信号的压缩编码。

三、音频滤波

  1. 低通滤波
  • 原理:允许低频信号通过,衰减高频信号。主要用于去除音频中的高频噪声,如电子设备的电磁干扰噪声,在音频录制现场,低通滤波器可以净化输入信号,提高音频质量。
  • 应用场景:在语音通信中,过滤掉不必要的高频成分,使语音更加清晰可懂;在音乐重放系统中,防止高频噪声对音质的损害
  • 2.高通滤波
  • 原理:与低通滤波相反,它允许高频信号通过,衰减低频信号。常用于提取音频中的高频细节,如乐器的泛音成分,增强音乐的明亮度和清晰度。
  • 应用场景:在音频制作后期,突出某些高频乐器的演奏效果;在一些特殊音效制作中,高通滤波可营造出空灵、通透的声音氛围。
  1. 带通滤波原理:只允许某一频段的信号通过,对高于和低于该频段的信号进行衰减。在音频信号处理中,可用于分离特定频率范围的声音,如在多乐器演奏的音乐录制中,分离出某一乐器的演奏频段,以便单独进行处理或分析。应用场景:在音乐混音、分析中,精准选取需要的乐器或人声频段;在生物医学工程领域,从人体生理音频信号(如心音、肺音)中提取特定频率的有用信息。
  2. 带阻滤波
  • 原理:阻止某一频段的信号通过,对其他频段的信号放行。常用于消除音频中的特定频率干扰,比如电力线频率(50Hz 或 60Hz)及其谐波干扰,保障音频质量。
  • 应用场景:在音频设备测试中,去除电源带来的工频干扰;在广播电台信号处理中,排除相邻频道的串扰。

四、结论

分析音频信号和滤波作为音频信号处理的关键技术,通过精准的信号分析能够挖掘音频的内在特性、识别关键信息,而合理运用滤波技术则可以根据不同需求改善音频质量、去除噪声、提取特定频率成分。两者相辅相成,在众多领域推动着音频技术的发展,满足人们日益增长的高品质音频需求。随着数字信号处理技术的不断进步,未来分析音频信号和滤波技术将朝着更高效、更智能、更精准的方向发展,为音频产业带来更多的创新和突破。

📚2 运行结果

主函数部分代码:

clear all;
close all;
clc;

clear y Fs;
%Here we are reading the Audio signal
%[y,Fs] = audioread('DITTY1.WAV');
[y,Fs] = audioread('BUMMER.WAV');
% This returns the sampled data into y, and the sampling rate of the data
% to Fs

sound(y,Fs);
hold on

Y = ['The Sample rate of the signal is ',num2str(Fs)];   
disp(Y);
%plot(length(y)./1000,y);

specgram(y,length(y),Fs);
title('Spectrogram of the Input Audio Signal');
figure;
%The  Spectrogram of the Audio signal

plot(psd(spectrum.periodogram,y,'Fs',Fs,'NFFT',length(y)));
% This graph provides us with the Power Spectral Density of the audio
% signal

figure;

N = length(y);
FFT = fft(y) ./ N;
%Normalising the Fourier Transform
Fn = Fs/2; 
% The Nyquist Frequency
Freq = (( linspace(0,1,fix(N/2)+1)) .* Fn);
Index = 1 : length(Freq);
%Assigning the indices
stem(Freq./1000, abs(FFT(Index))*2);

title('Fourier Transform of the Audio signal');
xlabel('Frequency (kHz)');
ylabel('Amplitude');
figure;

plot(20*log10(abs(FFT)));
title('Graph for Bandwidth of the Signal');
%xlabel('Frequency (kHz)');
%ylabel('Amplitude');
figure;
%For bandwidth of the signals
obw(y,Fs);

%sound(real(y),Fs);
figure;
%d1 = fdesign.lowpass('Fp,Fst,Ap,Ast',0.0001,0.1,1,60);


d1 = fdesign.lowpass('N,Fc',10,1200,48000);
% We are performing Lowpass filtering at the Half Bandwidth
designmethods(d1);

f1 = design(d1, 'window');  
%fvtool(f);
Q = filter(f1,y);

stem(Freq./1000,abs(Q(Index)));
figure;

obw(Q,Fs);
figure;


load handel.mat

filename = 'handel1.wav';
audiowrite(filename,Q,Fs);
clear Q Fs

[Q,Fs] = audioread(filename);
sound(Q,Fs);

hold on

specgram(Q,length(Q),Fs);
title('Spectrogram of the Lowpass Filtered Audio Signal');
figure;



d2 = fdesign.highpass('N,Fc',10,1200,48000);
%('Fp,Fst,Ap,Ast',0.0001,0.1,1,60);
% We are doing Highpass Window filtering of the input signal, and as is
% evident from the resultant Sound, only the High frequencies above the
% Half Bandwidth are resolved and audible.


designmethods(d2);
f2 = design(d2, 'window');  
%fvtool(f);

I = filter(f2,y);
stem(Freq./1000,abs(I(Index)));
figure;

obw(I,Fs);
figure;

load handel.mat

filename = 'handel2.wav';
audiowrite(filename,I,Fs);
clear I Fs

[I,Fs] = audioread(filename);
sound(I,Fs);

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]化小莹.数字音频信号处理中采样率对音质的影响分析[J].集成电路应用,2024,41(06):46-47.DOI:10.19339/j.issn.1674-2583.2024.06.020.

[2]韩璐娇,邓文龙.基于异常音频信号的踏板机械系统轴承故障识别研究[J].自动化与仪器仪表,2024,(04):225-229+234.DOI:10.14016/j.cnki.1001-9227.2024.04.225.

🌈4 Matlab代码实现

图片

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐