Decoding MP3 faster OR decoding to time-frequency domain RRS feed

  • General discussion

  • I am currently generating a spectrogram of an audio file - that is, I decode an MP3 file using IMFSourceReader as seen here to get raw PCM data, then do a short-time fourier transform to separate the component frequencies.

    On an i7 ultrabook, it takes 15 seconds to decode the MP3 file, which I find a little too long. Programs like Audacity can do it in 10 seconds, WavePad Sound Editor can do it in 6 seconds. Ideally, I'd like to be able to decode an MP3 file on a ARM ship (such as Surface's Tegra 3) in 10 seconds. Is there a faster way to decode MP3 files in WinRT apps?

    Furthermore, I am not 100% familiar with the MP3 format, but my understanding is that part of the compression is achieved by throwing out frequencies outside the human hearing range, so I am assuming that MP3 files store data in the time-frequency domain rather than the time domain. Is my assumption correct and if so, is there a way to get that information directly (rather than decoding to PCM, then performing a short-time fourier transform to get the time-frequency domain again)?

    Thank you for your time.

    • Changed type Jesse Jiang Tuesday, February 5, 2013 9:20 AM
    Tuesday, January 1, 2013 11:38 PM