MATLAB Answers

viewing spectrum of an audio signal in matlab

503 views (last 30 days)
Bahareh
Bahareh on 15 Oct 2011
Commented: Priyanka Phadte on 22 Dec 2017
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.

Accepted Answer

Wayne King
Wayne King on 15 Oct 2011
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)));
  4 Comments
Priyanka Phadte
Priyanka Phadte on 22 Dec 2017
use audioread('filename.mp3') in matlab version 2017

Sign in to comment.

More Answers (1)

Ali Isik
Ali Isik 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)));

Community Treasure Hunt

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

Start Hunting!