I have a wav file and I want to play it....how?

18 次查看(过去 30 天)
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.

采纳的回答

Image Analyst
Image Analyst 2016-11-24
编辑:Image Analyst 2021-11-28
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(yNoisy, 'b-');
grid on;
drawnow;
% Here is where we actually play the music from the speakers.
soundsc(yNoisy, fs);
  4 个评论
Razan Al Hakim
Razan Al Hakim 2021-11-28
Why the argument of plotting the noisy sound is “y” and not “ynoisy” ? yNoisy = y + noiseAmplitude * rand(length(y), 1) - noiseAmplitude/2; % Plot the noisy waveform below the original one. subplot(2, 1, 2); plot(***y***, 'b-');
Image Analyst
Image Analyst 2021-11-28
@Razan Al Hakim, just an oversight. Thanks for catching it. I've fixed it.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Audio Processing Algorithm Design 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by