How do I automatically split an audio file where a tone occurs?

11

2

I have an audio recording in which 1 kHz tones divide its segments. There are so many segments that it would take a while to use Audacity to manually split the file. Is there an automatic plug-in or program to do this?

PleaseStand

Posted 2011-06-09T17:14:33.597

Reputation: 4 051

It may not be a practical suggestion, but find the binary code for that tone, and split by it. – soandos – 2011-06-09T17:20:06.753

Answers

8

This is actually possible using Audacity's Beat Finder analysis plug-in when combined with a bandpass filter.

  1. Duplicate your mono audio track.
  2. Find the tone's exact frequency.
    1. Select the tone you want Audacity to detect and choose Analyze → Plot Spectrum.
    2. Set the size to 16384.
    3. Move the mouse pointer over the highest peak.
    4. Look for the "peak" frequency.
  3. Use a bandpass filter to remove everything but the tone.
    1. Select the entire tone detection track and choose Effects → Nyquist Prompt.
    2. Type (reson s 1000 1 1) into the box.
    3. Replace 1000 with the frequency you got from Step 2.
    4. Click OK.
  4. Optionally, apply the Amplify effect, setting New Peak Amplitude to zero.
  5. Use Analyze → Beat Finder. Start with Threshold Percentage equal to 100; reduce that percentage until Audacity successfully detects the tone.
  6. Use File → Export Multiple to actually save the marked segments as separate files.

PleaseStand

Posted 2011-06-09T17:14:33.597

Reputation: 4 051

0

Hmm, how's your lisp? Audacity multi-export, as described http://wiki.audacityteam.org/wiki/Splitting_recordings_into_separate_tracks does what you want, given appropriate labels.

Seems it'd be possible to combine the auto-label-silence script from there (named SilenceMarker.ny) with the simple spectral processing example from http://audacity-forum.de/download/edgar/nyquist/nyquist-doc/examples/rbd/03-fft-tutorial.htm to do labeling based on freq. If I had to do it, I'd give it a try, but lisp isn't one of my languages.

reedstrm

Posted 2011-06-09T17:14:33.597

Reputation: 246