MATLAB to find individual frequency from a source
2 views (last 30 days)
Show older comments
I am a beginner in MATLAB and have a .wav file recorded a mixture of sound. Currently I am able to do simple stuffs like plotting a graph in time and freq domain. Through the code, i was able to find the fs is 44100, 16 bits and time is from the input data. However, I do not know how I can find or isolate the frequencies in .wav file to find the source in the mixture. I saw examples whereby they have the original tone/sound and using that frequency to find the different frequencies in the mixture of sound. I do not have any reference to compare with except for having to derive from the .wav file. Any kind souls who can guide me on how to find out each individual frequencies from a mixture. Thank you.
0 Comments
Accepted Answer
Roberto
on 28 Apr 2014
Here's something i wrote time ago...
y = wavread('yourfile.wav');
sampleRate = 44100 ; % findout your samplerate
[n, ~] = size(y) ;
Yy = fft(y) ;
Pot = Yy .* conj(Yy) / n;
Freq = (sampleRate / n *(1:n))';
plot(Freq(1:round(n/2)) , Pot(1:round(n/2)) );
0 Comments
More Answers (0)
See Also
Categories
Find more on Audio I/O and Waveform Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!