Jeff Newmiller wrote: > Alex Mandel wrote: >> Fun challenge if anyone is up for it. >> >> How do I locate all instances of a particular frequency in an audio file? >> >> Don't worry about format. >> Preferred solution will use Audacity, Octave, R or some other FOSS >> software. More points the easier it is to use (really a Audacity plugin >> at least in concept would be great) >> >> Bonus if it flags all the points in say the marker track of audacity, >> which would make it easy for me to shuffle through and listen to the >> identified segments. >> >> >> Really any ideas on how to approach this would be welcome. > > Some ideas: > > Multiply the waveform both by a sinewave of the desired frequency, > and by a cosinewave of the same frequency, obtaining two multiplied > waveforms. > Compute moving averages of each of these multiplied waves with a > window of time long enough to detect the signal. This interval should > be "many" cycles long. At each timestep, compute the squares of the > averages, add them, and take the square root. The result should be > a time profile showing roughly how well the sample data matches the > desired frequency. The longer the averaging interval, the better > the selectivity of the frequency match will be, but the poorer the > identification of "when" the frequency matched will be. > > Also, audacity has an "FFT filter" function, which could be configured > as a bandpass filter, and the amplitude of the filtered signal could > represent the frequency match with the bandpass filter frequency. >
I think this puts me little closer to what I'm after. All my boss wants is to flag likely places where there might be a match and then use a human to decide if it's the bird species we want. So I think one pass with a fixed window size might work well, especially since I have an example to work with. The push to make it a plugin for Audacity is so that we have an easy to use interface for shuttling around the audio file and listening to pieces, although I question it's ability to work with 6 hour long files, I can also auto cut those with other apps before loading. Thanks, Alex _______________________________________________ vox-tech mailing list [email protected] http://lists.lugod.org/mailman/listinfo/vox-tech
