Frequency-triggered recording in Audacity?

Hello,

I’m using Audacity 2.0.5 on Windows 7 and I’d like to know if there is any way I could start recordings lasting a certain amount of time (like 60 seconds) triggered by any frequency higher than X kHz picked up by the microphone.

This trigger shouldn’t necessarily be extremely responsive (by computer standards) though something like starting to record 1s after X frequency triggered it would be nice.

This would prove really useful to me in order to record certain infrequent short-lasting sounds, since I usually have to check hours of recordings looking after 0.5s long emissions.


Thank you :slight_smile:

“Sound Activated Recording” is probably the closest feature: http://manual.audacityteam.org/o/man/transport_menu.html#sar

You’re right, however I don’t know how loud the emissions I’m after may be (faint ones are useful to me too) though there is often too much noise in the lower part of the spectrum to make this any useful, hence I asked for a frequency-based activation.

If Audacity can’t do it right now, I’d be glad to hear which other software I’d use, either standalone or in combination with it.


Thank you :slight_smile:

I’ve not heard of that feature in any software, however, if you can tell us more about what you are actually trying to do then we may be able to make some suggestions.

I see, too bad. :cry:

I’m recording urban wildlife calls, like those of bats and night birds.
Since the recording position is fixed (I’m not going around at night following calls, since it’s also really counterproductive, just leaving the microphone recording at a place), frequency seemed like the best discriminating factor, so it’d leave people talking and vehicles passing by out of the triggering action.

Thanks

For the bats, assuming that your recording equipment is able to record high enough frequencies without too much noise, you should be able to make the very high frequency sounds stand out (visibly) by filtering with a high frequency “High Pass Filter” and then “Normalizing” to push up the overall level. They should then be easy to spot in a long recording.

“High Pass Filter” and “Normalize” are described in the manual:
http://manual.audacityteam.org/o/man/high_pass_filter.html
http://manual.audacityteam.org/o/man/normalize.html

A hardware equalizer might help if you are going to filter-out the low-frequency noise anyway. An equalizer is only going to cut by 12-15dB, although you could also boost the high frequencies by 12-15dB.

But the problem is, most real-world sounds have more energy in the low frequencies, and they have harmonics & overtones. (A nearby bear might trigger your bird sensor more easily than a bird at a distance. :wink: ) So, your setup might still be prone to false-triggers. So I wouldn’t run-out and buy an equalizer (typically $100 - $200), but if you can get your hands on one, you can try it.

I don’t know if this is even possible without some custom hardware and software… You might need some hardware filters to get the “trigger”, and software that can trigger from one input/signal and record another (non-filtered) signal.

With a program like Matlab (and there are some free Matlab clones) you can do all kinds of frequency analysis on a long recording to fide the “interesting parts”. But, that’s going to take some math and maybe a little “programming”.

Thank you both for your inputs.

Seems like I had my hopes up on this (in my imagination at least) easily-implementable feature in software.

I was already using the high-pass filter to clean most of my recordings and also was using the spectrum view to properly “see” the sound marks typical of calls (which is really useful and takes less time or confidence than say, listening to the recording).

However one thing is to have a 60 seconds track to study at the spectrum, one thing is having a 12 hours (or more) long recording.
Unless I magnify greatly until only 20-30s of recording fit my whole screen, I miss all those tiny 400ms (sometimes less, it depends on species) emissions/calls, that’s why I asked if there was any software I’d use to easen my “laziness” (if you may call it so). :slight_smile:

I’m aware that a loud-enough sound may fill the whole spectrum and thus false-trigger this mechanism, however it’d still be a huge improvement from having to scoop 12 hours 30s at a time.


Thank you

If you can get the sounds that you want significantly louder than the background noise, then you can use “Sound Finder” to detect the sounds. http://manual.audacityteam.org/o/man/silence_finder_and_sound_finder.html#sound

You can apply a highpass-filter, as Steve has pointed out, on a duplicated second track.
If you enable sync lock (track menu) and do “Truncate Silence”, you will be left with the parts that hold high-frequency content.
The second track is only for triggering and can thus be removed afterwards.
I can’t tell how good it works for such long recordings, it is always possible that data could be lost due to crashes.

If Audacity or any software was to do this it would have to continuously analyze the frequency spectrum of the incoming audio which would be computationally expensive and could lead to dropouts unless the computer was very fast.

Gale

You’re right. In fact I’m not that tech savvy and I just roughly imagined the working flow of how this would happen.

Do you think anything less optimal (but still a huge improvement to working with 12 hours long tracks) like having a software record continuously 10s samples and analyze them for sounds at high frequency (then deleting the track if nothing was found, otherwise continue recording it for X time, say 60 seconds) could be a good compromise between having triggered recordings and computing power needed?

Thank you

I think I can say that Audacity won’t be implementing Frequency Triggered Recording so implementation details are up to any other software that has that feature or may consider it.

I think Steve’s suggestion of using Analyze > Sound Finder… to label the calls (once you get them loud enough and the other audio quiet enough by filtering) is a good suggestion.

Gale