Я думаю, что все, что вам нужно сделать, это сделать fft на mp3, и вы должны увидеть действительно низкочастотный всплеск, который соответствует большим падениям.Я не гуру dsp, хотя и не уверен, что это сработает, но его легко попробовать.
Для этого вы можете использовать библиотеку numpy для python.http://numpy.scipy.org/
просто прочитайте файл mp3 в массив, а затем выполните fft, для теста я бы порекомендовал сначала построить его (например, с помощью maptlotlib), с обеими версиями, поврежденными и исправными, и увидетьесли вы можете легко обнаружить поврежденную версию.Тогда, надеюсь, вы можете написать простой алгоритм для обнаружения поврежденных файлов оттуда FFT.
Для чтения в mp3 в буфер данных вы можете использовать PyMedia http://pymedia.org/
Я не использовал PyMediaтак что я не уверен при чтении mp3 в буфер (это не должно быть слишком сложным, я думаю), но после этого построение fft так же просто, как:
from numpy import *
from numpy.fft import *
import pylab
# place code to read the mp3 file into buf[] here.
buf_fft = fft(buf, 1024)
pylab.plot(fftfreq(1024, 0.1), abs(buf_fft))
pylab.show()