Filter background from audio file

조회 수: 3 (최근 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에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by