Searching through a file for target sound profiles.

Audacity 2.0.5

Hello, is there a way, or plug-in, that I could search through a file for (in part or whole) a target sound profile and then get the length of the profile’s presence? Specifically this is for scanning through call center files for hold times greater than 5 min (by way of looking for the hold music).

This is hard. Doesn’t the music “look” different in the blue waves than the speech?

There is an experimental Nyquist script at that tries to find identical audio patterns but there are no controls for the length of the result. Ask there if you like. Post an example snippet with some hold music and some speech - see for how to attach a suitable file.


Doesn’t the music “look” different in the blue waves than the speech?

Yes, generally. And visual inspection of a file would cut down analysis time from the brute force method that management thinks everyone would/should use (just listening to the calls, which doesn’t work in reality when calls can be upwards of an hour or more), but the point would be to automate the process and just take a batch of calls and analyze them into two groups: ‘no hold times <5 min’ and ‘has hold times <5 min’. Then going through the calls. Ideally if I could get it to recognize the hold music and return the time it is present I could have a python script rename the file with “- holdat XXXXsec” or some other timestamp so that I don’t have to go searching at all and just jump right to the relevant section.

Now I actually don’t work for these people, my friend does, I’m just probably going to get a job there in the near future and want to make the job as easy as possible when I start. So that means I have no actual audio to use yet, I’m just going to make my own test files.

On another point I decided to look up the mobile app “Shazam”, which takes audio and detects what song is playing in it, to see how they do it. It’s basically the same problem: take audio, scan for target sound profile, match against a database. Turns out they use spectrogram analysis and audio finger printing to get accurate results from noisy data. Mathmatica has a spectrogram system built in so I may end up just using that in the end.

If you’re interested here is a link to a paper they wrote about how they accomplish this task: . (obviously with trade secrets left out)

I’ve written the script in the topic above, so you can ask here.
We just need more details.
For instance, do you search for a frequency profile, a wave form, a single tone-sequence or what?
I hope you don’t want the plug-in to work in real time, because Audacity can’t do that.