How to plot WAV file

Hello,
I'd like to plot .wav file in time and frequency domain.

 Accepted Answer

Wayne King
Wayne King on 23 Nov 2011
If this is the output of wavread, then see if you have two channels in y
[y,fs] = wavread(filename);
If y is two-channels, Nx2, then just plot one:
y = y(:,1);
dt = 1/fs;
t = 0:dt:(length(y)*dt)-dt;
plot(t,y); xlabel('Seconds'); ylabel('Amplitude');
figure
plot(psd(spectrum.periodogram,y,'Fs',fs,'NFFT',length(y)));

10 Comments

so are these saved in a .wav file as two channels? one for the right ear and one for the left?
If so, then just do
yright = y(:,1);
yleft = y(:,2);
or however it is.
@John, Pardon the yelling: THE MIT KEMAR HRTFS ARE NOT GIVEN FOR THE RIGHT AND LEFT EARS. Please read the documentation about how they recorded the HRTFS.
Maurel
Maurel on 29 Dec 2015
Hi !! thanks for your helpful post. I wonder if the unit is volt or mV ? Please can you confirm me that the unit of the amplitude axe is in Volt (or mV) ? thank !!
hi sorry, but why it display "Undefined function or variable 'wavread'." after i run this coding "[y,fs] = wavread(filename);" ??
try: [y,fs] = audioread ('Filename')
thank you :)
Hello Wayne King,
Could you explain the variables and why you put them in the format you did? If you can explain your code with comments that would be helpful.
Thank you,
Natalie
what should be its xlabel and ylabel (for the graph which is plotted)
wht if channel is 1??
when you have stereo audio, you got two channels. if you can, it's easier to work with one

Sign in to comment.

More Answers (0)

Asked:

on 23 Nov 2011

Commented:

on 9 Feb 2022

Community Treasure Hunt

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

Start Hunting!