Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

viewing spectrum of an audio signal in matlab

Asked by Bahareh

Bahareh (view profile)

on 15 Oct 2011

Hello all,

I have an audio signal (.wav) and would like to view its spectrum in matlab. Can anybody help me in this manner?

Thanks in advance.

0 Comments

Bahareh

Bahareh (view profile)

Tags

2 Answers

Answer by Wayne King

Wayne King (view profile)

on 15 Oct 2011
Accepted answer

Read it in with wavread()

[signal,fs] = wavread('file.wav');

If signal is Nx2 (two columns), extract one of them

signal = signal(:,1);

If you have the Signal Processing Toolbox, enter

plot(psd(spectrum.periodogram,signal,'Fs',fs,'NFFT',length(signal)));

1 Comment

Bahareh

Bahareh (view profile)

on 15 Oct 2011

Thanks a lot.

Wayne King

Wayne King (view profile)

Answer by Ali Isik

Ali Isik (view profile)

on 15 Oct 2011

you should first read the audio signal using wavread() function. as a result of reading, the signal will be vectorized. after that, you should use fft() function to get the fourier transform of vectorized signal. at the end plot() the fourier transform of signal. sample code

[xn fs]=wavread('signal_name.wav');
nf=1024; %number of point in DTFT
Y = fft(xn,nf);
f = fs/2*linspace(0,1,nf/2+1);
plot(f,abs(Y(1:nf/2+1)));

1 Comment

Bahareh

Bahareh (view profile)

on 15 Oct 2011

Thanks a lot.

Ali Isik

Ali Isik (view profile)

Contact us