Debug NAudio MP3 reading difference?

Posted by Conrad Albrecht on Stack Overflow See other posts from Stack Overflow or by Conrad Albrecht
Published on 2010-05-15T02:20:58Z Indexed on 2010/05/15 2:24 UTC
Read the original article Hit count: 353

Filed under:
|
|

My code using NAudio to read one particular MP3 gets different results than several other commercial apps.

Specifically: My NAudio-based code finds ~1.4 sec of silence at the beginning of this MP3 before "audible audio" (a drum pickup) starts, whereas other apps (Windows Media Player, RealPlayer, WavePad) show ~2.5 sec of silence before that same drum pickup.

The particular MP3 is "Like A Rolling Stone" downloaded from Amazon.com. Tested several other MP3s and none show any similar difference between my code and other apps. Most MP3s don't start with such a long silence so I suspect that's the source of the difference.

Debugging problems:

  1. I can't actually find a way to even prove that the other apps are right and NAudio/me is wrong, i.e. to compare block-by-block my code's results to a "known good reference implementation"; therefore I can't even precisely define the "error" I need to debug.

  2. Since my code reads thousands of samples during those 1.4 sec with no obvious errors, I can't think how to narrow down where/when in the input stream to look for a bug.

  3. The heart of the NAudio code is a P/Invoke call to acmStreamConvert(), which is a Windows "black box" call which I can't think how to error-check.

Can anyone think of any tricks/techniques to debug this?

© Stack Overflow or respective owner

Related posts about naudio

Related posts about mp3