Filter background from audio file

조회 수: 6 (최근 30일)
Destiny Law
Destiny Law 2021년 12월 5일
답변: Pat Gipper 2021년 12월 6일
I am trying to use the butterworth function to seperate the various sounds from the owl screech. The audio is located in the zip attached. This is my code so far:
[f, fs] = audioread('DSP_Noise.m4a')
f = f(:,1)
%Audio Length
N = length(f);
t = (0:N-1) /fs;
N/fs
%Plotting time Domain Signal
plot(t,f)
grid on
set(gca, 'FontName', 'Courier', 'FontSize', 10)
xlabel('Time (s)')
ylabel('Amplitude')
title('Time Domain Signal')
%Spectrogram Plot
spectrogram(f, 1024, 512, 1024, fs, 'yaxis')
set(gca, 'FontName', 'Courier', 'FontSize', 10)
title('Spectrogram of Signal')
%Periodogram Plot
w = hanning(N, 'periodic');
periodogram(f, w, N, fs, 'power')
set(gca, 'FontName', 'Courier', 'FontSize', 10)
%Filter Audio File
n=7;
beginFreq = 9400 / (fs/2);
endFreq = 9500/ (fs/2);
[b3, a3] = butter(n, [beginFreq, endFreq], "bandpass");
fOut3 = filter(b3, a3, f);
p3 = audioplayer(fOut3, fs);
p3.play;
When I run this code I hear a low piercing sound. Am I suppossed to use more than 1 filter if, so how do I do that, if not what am I doing wrong? Any help would be greatly appreciated!

답변 (1개)

Pat Gipper
Pat Gipper 2021년 12월 6일
Check out this previous answer. A different type of owl, but the same concept.

카테고리

Help CenterFile Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by