MATLAB: I have a wav file and I want to play it….how

audioplayfilefilterguitarsoundwav

I have a project due tuesday and I am having trouble with this last part. I have to play a wav file, put noise to it and filter it out. How do I do this. Everytime I try to play the wav file it either will not work or plays ridiculously slow. Please help, I really need it.

Best Answer

Try soundsc(). Here's one way to add white noise:
% Read in the standard demo wave file that ships with MATLAB.
[y, fs] = audioread('guitartune.wav');
soundsc(y, fs); % Here is where we actually play the music from the speakers.

% Plot the original waveform.
subplot(2, 1, 1);
plot(y, 'b-');
grid on;
drawnow;
% Give it time for it to finish playing the original tune
% while asking user if they want to play the noisy one.
message = sprintf('Do you want to play the noisy one?');
reply = questdlg(message, 'Play tune?', 'Yes', 'No', 'Yes');
if strcmpi(reply, 'No')
% User said No, so exit.
return;
end
% Define the noise amplitude. Change this to increate or decrease the noise.
noiseAmplitude = 0.1;
% Add noise to every element of the sound waveform.
yNoisy = y + noiseAmplitude * rand(length(y), 1) - noiseAmplitude/2;
% Plot the noisy waveform below the original one.
subplot(2, 1, 2);
plot(y, 'b-');
grid on;
drawnow;
% Here is where we actually play the music from the speakers.
soundsc(yNoisy, fs);
Related Question