Error in my code

1 view (last 30 days)
Abdullah Adam
Abdullah Adam on 14 Dec 2021
Commented: Abdullah Adam on 17 Dec 2021
%Hi everyone,
%This is my code it is working fine but I'm getting error. Why? and how can I fix it?
%One more question how can download the modified audio from MATLAB?
[y,Fs] = audioread('noisy2_group2.wav'); %read file from directory
[b,a] = butter(4, [0.015, 0.125], 'bandpass'); %Implement bandpass filter with specified frequency ranges
fOut = filter(b, a, y); %create the updated signal
sound(fOut,Fs) % play the sound signal and plot it
subplot(2,1,2), plot(y); %plot given signal
subplot(2,1,2), plot(fOut);
wav write(fOut , 16000, 'fOut') %Obtain the new signal
  1 Comment
Walter Roberson
Walter Roberson on 14 Dec 2021
Perhaps you wanted wavwrite instead of wav write ?

Sign in to comment.

Answers (1)

Alagu Sankar Esakkiappan
Alagu Sankar Esakkiappan on 17 Dec 2021
Hi Abdullah,
I see that you're trying to filter an audio file and store the filtered audio signal in a new file. wavwrite is a legacy function which is removed from MATLAB 2015b. Instead, You may make use of audiowrite function as an alternate to write audio signal.
Following is a code reference for the same:
% Syntax for audiowrite is audiowrite(filename, audioSignal, bitRate)
audiowrite('new_signal.wav' , fOut, 16000); %Obtain the new signal
Also in the Sample Code in question, both y and fOut are plotted in the same subplot. i.e subplot(2,1,2). Instead, You may try to use both upper and lower portions of the plot as follows:
subplot(2,1,1), plot(y);
subplot(2,1,2), plot(fOut);
For more details on how to use sub plots, You may refer to subplot
  1 Comment
Abdullah Adam
Abdullah Adam on 17 Dec 2021
Thank you so much for your help

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!

Translated by