Réponse acceptée

Wayne King
Wayne King le 23 Nov 2011

12 votes

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 commentaires

Wayne King
Wayne King le 23 Nov 2011
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.
Daniel Shub
Daniel Shub le 24 Nov 2011
@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 le 29 Déc 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 !!
muhammad faiz
muhammad faiz le 4 Déc 2017
hi sorry, but why it display "Undefined function or variable 'wavread'." after i run this coding "[y,fs] = wavread(filename);" ??
Florian Schüling
Florian Schüling le 25 Jan 2018
try: [y,fs] = audioread ('Filename')
maithri kodakandla
maithri kodakandla le 12 Fév 2019
thank you :)
Natalie Phillips
Natalie Phillips le 24 Mar 2019
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
Eshaan Goyal
Eshaan Goyal le 7 Oct 2020
what should be its xlabel and ylabel (for the graph which is plotted)
irtaza mazhar
irtaza mazhar le 26 Jan 2022
wht if channel is 1??
Anzzza
Anzzza le 9 Fév 2022
when you have stereo audio, you got two channels. if you can, it's easier to work with one

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by