Hi Zach,
That is an interesting feature request but I think it is beyond the scope of this particular
module; I would prefer to keep Audio::Analyzer to the scope it currently has. There may be a
"simple" way to identify clicks, pops, hiss, and other forms of corruption by performing
signal analysis of the output of Audio::Analyzer. For instance I once had a thought for
creating an applause detector by looking for output that was extremely wide across the
frequency range and had a fairly uniform magnitude across the frequency spectrum as well. I
believe a hiss detector would work along similar lines all though with lower magnitudes and
it would have to filter out valid signal that comprises the desired audio information.
When I was performing testing of Audio::Analyzer I was graphing the output of the module
in frame-sync mode with Imager::Graph and using mencoder to assemble the individual
frames into a movie. I would suggest following such a path and identifying the
characteristics of the signals you are interested in finding. It may be possible with modern
computers to do this all in realtime with a GUI in perl/tk to help make things easier.
You may find a video I created on how a software beat detector works to give you an
understanding of how such a detector as you desire may work. The URL is
http://www.youtube.com/watch?v=dNGi-SZ9kGw and I hope it can give you some ideas and
point you in a path to achieve your goals. The analysis was done with perl using
Audio::Analyzer and beat detector specific code.
Good luck on creating such a detector and if you get it working I'd highly encourage you to
share the results on CPAN.
Regards,
Tyler Riddle
On Fri Jul 17 11:55:39 2009, zisilverman@gmail.com wrote:
Show quoted text> i am trying to consider a solution to detecting audio files in a large
> collection of files which have a high probabilty of being corrupt, meaning
> the audio has noise, hissing, etc...
>
> is there a way i can use your module for this. I see it does FFT but are
> there any functions you could through into the module to simple
> DetectCorruption() and throw back some statistic of likely hood the track
> has noise in it?
>
> Thanks,
> Zach