Hi,
I'm new to audio processing, so I'm hoping someone can help guide me. I'm using C# with Fmod. I'd like to find the MFCC of an MP3 file. How would I go about doing this? Here's what I got from Wikipedia, and my psuedocode for it:
1) Take the Fourier transform of (a windowed excerpt of) a signal.
Code:
I use getSpectrum with the FMOD_DSP_FFT_WINDOW_TRIANGLE parameter
2)Map the powers of the spectrum obtained above onto the mel scale, using triangular overlapping windows.
I go through the spectrum array and use this equation on each value:
Code:
mel = 1127.01048log e (1+f/700)
Take the logs of the powers at each of the mel frequencies.
I then go through the new mel-array and take the log of each :
Code:
mLog = (Math.log(melArray))
Take the discrete cosine transform of the list of mel log powers, as if it were a signal. (Then find amplitude of DCT result)
I'm not sure what I do here. How do I calculate the DCT?
Thanks for any help. If you know any source code for the DCT (pref. .NET/Java), it would be much appreciated.
I'm new to audio processing, so I'm hoping someone can help guide me. I'm using C# with Fmod. I'd like to find the MFCC of an MP3 file. How would I go about doing this? Here's what I got from Wikipedia, and my psuedocode for it:
1) Take the Fourier transform of (a windowed excerpt of) a signal.
Code:
I use getSpectrum with the FMOD_DSP_FFT_WINDOW_TRIANGLE parameter
2)Map the powers of the spectrum obtained above onto the mel scale, using triangular overlapping windows.
I go through the spectrum array and use this equation on each value:
Code:
mel = 1127.01048log e (1+f/700)
Take the logs of the powers at each of the mel frequencies.
I then go through the new mel-array and take the log of each :
Code:
mLog = (Math.log(melArray))
Take the discrete cosine transform of the list of mel log powers, as if it were a signal. (Then find amplitude of DCT result)
I'm not sure what I do here. How do I calculate the DCT?
Thanks for any help. If you know any source code for the DCT (pref. .NET/Java), it would be much appreciated.