Я скачал исходный файл, который вы связали в своем вопросе, и добавил следующую строку в конце:
audiowrite('filtered.wav', fOut, fs);
Получившийся файл 'Filter.wav' звучит очень иначе, чем мои уши (я использовалгарнитуру для прослушивания).Если вы откроете файл Filter.wav, например, в Audacity , и посмотрите на спектр, то он действительно будет отличаться от оригинала (как и ожидалось, частоты ниже 700 Гц и выше 12 кГц будут удалены).
Давайте попробуем проверить это в matlab.Следующий скрипт читает оба файла и выводит значение дБ обоих ffts.Нижний график представляет отфильтрованный сигнал, и четко видно, что низкие частоты удалены.Срез выше 12 кГц также виден, но кажется, что эти частоты уже были ослаблены в исходном сигнале, и полосовой фильтр усиливает это.
%% Read in both files
clearvars;
close all;
[f,fs] = audioread('allthatbass.mp3');
[fflt, fsflt] = audioread('filtered.wav');
N = size(f,1);
%% Compute the ffts
df = fs / N;
n = N / 2; % plot only the second half of the spectrum
w = (0:(n)-1)*df;
y = fft(f(:,1), N) / N;
y2 = fftshift(y);
yflt = fft(fflt(:,1), N) / N;
y2flt = fftshift(yflt);
%% Plot the spectrum of both files (use the dB value, i.e. 10 * log(abs(x)) )
figure;
ax1 = subplot(2,1,1);
plot(w,10*log(abs(y2(n:end-1,1))));
ax2 = subplot(2,1,2);
plot(w, 10*log(abs(y2flt(n:end-1,1))));
linkaxes([ax1, ax2], 'y'); % link the axes (this makes it easier to visually compare the plots)