Search audio file for pattern?

11

3

I want to split a very large audio file at certain points. At certain points a radio announcer comes on and says something like “deux radio” and it always sounds exactly the same (it’s a recorded clip). How can I find that bit of repeated audio through out the entire MP3? It would be nice if I could split at that point, but even if it spits out the times, I can split it with another program.

mpen

Posted 2010-06-17T06:48:52.273

Reputation: 9 109

1I have the same problem and it's super annoying. I can see the waveform in front of me in audacity and it's the same each time. In theory it should be possible but I can't find any tool to do it. I'm going to investigate the audiogrep suggestion and post back. – arandomlypickedname – 2017-09-08T01:56:43.740

Answers

3

In theory—you’ll have to write your own app to do this—you would need to do this:

  1. Run the WAV file through a speech recognition engine Sphinx Speech Recognition is a free open source engine.

  2. Have your speech recognition engine spit out text in real-time in memory and also keep track of the sample length location. Everytime the string “deux radio” is found, spit out the sample location to a splitlog.txt file. Since this is in realtime you get an approximation of the sample location.

  3. Write your own wav splitter app: Gather all the sample location points from splitlog.txt and split the WAV accordingly.

Level1Coder

Posted 2010-06-17T06:48:52.273

Reputation: 1 937

2

There is a program called audiogrep which transcribes text using speech-to-text conversion and then creates audiocuts based on text searches.

I haven't seen any option to output time stamps instead of audio clips, you probably need to modify the source slightly to that (or contact the author and ask him). I also don't know how well it will handle French (or whatever language your announcer uses).

dirkt

Posted 2010-06-17T06:48:52.273

Reputation: 11 627

1

You could try :

  • TAPESTREA: Experimental software which is described as:

    TAPESTREA (or taps) is a unified framework for interactively analyzing, transforming and synthesizing complex sounds. Given one or more recordings, it provides well-defined means to:

    • identify points of interest in the sound and extract them into reusable - templates
    • transform sound components independently of the background and/or other events
    • continually resynthesize the background texture in a perceptually convincing manner
    • controllably place event templates over backgrounds, using a novel - graphical user interface and/or scripts written in the ChucK audio programming language
  • Voice Converter: Shareware ($29.95, trial version with no time limit) which is described as a tool that can be a:

    Pitch Editor, Formant Shift, Vibrato, Raspiness, Breathiness, Pitch Range Scaling, Pitch Smoothing, Time Stretching…

harrymc

Posted 2010-06-17T06:48:52.273

Reputation: 306 093

0

You can try Audacity for that purpose. Audacity can remove static, hiss, hum, or other constant background noises. You can also cut, copy, paste and delete within tracks easily. Check the full features list out for more info.

Mehper C. Palavuzlar

Posted 2010-06-17T06:48:52.273

Reputation: 51 093

@Synetech This answer has 100% nothing to do with what the original poster is asking about. The original poster wants to split the file based on audio patterns, not simply remove that audio pattern. – JakeGould – 2015-04-04T03:37:37.123

@JakeGould: The OP says: "I can split it with another program". Clearly, his main purpose is not splitting. He needs to search for the "deux radio" pattern, and he needs at least the time values. Saying 'this answer has 100% nothing to do with what the OP is asking about' seems not fair to me. – Mehper C. Palavuzlar – 2015-04-06T20:10:35.580

5Can it automatically search for the pattern? I think not. – user13107 – 2014-04-10T07:19:22.330

1I’m sure there are some plugins that can. – Synetech – 2014-04-11T05:21:09.620

-1

It is a little hackish, but if the removal of the clip as noise results in a certain amount of silence, you could then use the silence finder to split the recording into different tracks.

ChrisG65

Posted 2010-06-17T06:48:52.273

Reputation: 1

-1

You should be able to use Audacity as Mehper said. To do it, you can select the audio you want to remove and create a “Noise Profile” (do this from the Remove Noise option in the effects area) from it, then select the whole track and use the “Remove Noise” feature.

user316171

Posted 2010-06-17T06:48:52.273

Reputation: 1

How would “Remove Noise” split the file as the original poster is asking? – JakeGould – 2015-04-04T03:35:44.207