How to put an audio file through a filter made through matlab

Illustration
Anthony Koning - 2024-03-18T20:15:27+00:00
Question: How to put an audio file through a filter made through matlab

Hi, I'm wondering how I can place a sound file through a filter that I made through Matlab. The code works, I'm just wondering how to inject the audio file through the filter itself. I believe it should be some application of the fir1 command, though I'm not sure how to impliment it fully. The code is as follows:   Fl = 300 Fh = 3400 Samples = 44100 Wc = [Fl Fh]./Samples bbp = fir1(256, Wc, 'band'); figure(1) plot (1:length(bbp), bbp) figure(2) freqz(bbp,1) outbp = filter(bbp,1,y); audioread('song.wav'); info = audioinfo('song.wav') filename = 'song.wav'; [y,Fs] = audioread('song.wav'); audiowrite(filename,y,Fs); sound(y,Fs) And I am looking to filter song.wav with the bandpass filter I made, rather than the default fir1 command one. Thanks for the help  

Expert Answer

Profile picture of John Michell John Michell answered . 2025-11-20

hello
some corrections needed, but you were pretty close to the solution
 
 
[y,Fs] = audioread('song.wav');
Fl = 300; 
Fh = 3400; 
Wc = [Fl Fh].*(2/Fs); 
bbp = fir1(256, Wc, 'band');
figure(1)
plot (1:length(bbp), bbp)
figure(2)
freqz(bbp,1)
outbp = filter(bbp,1,y);
audiowrite('song_filtered.wav',outbp,Fs);
sound(outbp,Fs)

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!