[LAD] Isolating predefined part of audio stream

JohnLM johnlm at apollo.lv
Sat Nov 5 16:06:58 UTC 2011

Well the subject is more technical term of "cutting my favourite show
from radio stream". :D
I guess the usual is to simply define the start and end times and trim
the data to this range.

Pretty straightforward, but in my case nor the start time, nor the show
length is strictly known. My intention is to analyse the data (which
isn't necessarily streaming) to detect signature of show in some way.

Now the case-specific details:
The show I'm interested in is readily recognizable on waveform already.
(see this pic: http://home.venta.lv/s9_smedin_j/files/waveform.png )

The show has an "intro", so I can detect that by "sliding" correlator.
The naive algorithm would be to use one or more sample chunks of this
"intro" and to detect correlation spike when "sliding" and testing 
over some range of the larger audio data.
I already started implementation of this, but haven't tested it yet.
Maybe there is good implementation of this? Does phase shift between
sampling positions in test chunk and data skews results significantly?

The end (or duration) of show is a bit more complicated since it is
highly variable. But as can be seen in picture, the end is quite
visible on the waveform and the show has "spikey" waveform since it's
all talking. But I have only very vague ideas how to detect this with a
program. Any ideas on this?

Maybe there is good programs, scripts or LADSPA/LV2 plugins that do
something like this already, which I could use?

Thanks in advance,

More information about the Linux-audio-dev mailing list