DSPRelated.com
Forums

Seeking a simple audio energy detection algorithm

Started by Ury November 2, 2009
Hi,

I receive a stream of linear 16 bit audio and need to identify the
possibly "interesting" parts vs. plain silence or noise.

Just computing the average energy and comparing to a threshold is not
sifficient since there may be a background noise.

Is there a lightweight adaptive energy detection algorithm?

Thanks,

Ury.



Ury wrote:

> Hi, > > I receive a stream of linear 16 bit audio and need to identify the > possibly "interesting" parts vs. plain silence or noise. > > Just computing the average energy and comparing to a threshold is not > sifficient since there may be a background noise. > > Is there a lightweight adaptive energy detection algorithm?
A very generic way is compare the long term average to the short term average. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
> > >Ury wrote: > >> Hi, >> >> I receive a stream of linear 16 bit audio and need to identify the >> possibly "interesting" parts vs. plain silence or noise. >> >> Just computing the average energy and comparing to a threshold is not >> sifficient since there may be a background noise. >> >> Is there a lightweight adaptive energy detection algorithm? > >A very generic way is compare the long term average to the short term >average.
While that is the typical way of expressing the idea, I think "long term" confuses the beginner. I think its more descriptive to say you need to compare the medium term average with the short term average. In other words look for surges in the energy above the gently rolling changes typical of background noise. Steve
Dnia 02-11-2009 o 13:55:03 Ury <ujamshy@yahoo.com> napisa&#4294967295;(a):

> Hi, > > I receive a stream of linear 16 bit audio and need to identify the > possibly "interesting" parts vs. plain silence or noise. > > Just computing the average energy and comparing to a threshold is not > sifficient since there may be a background noise.
Add a hysteresis. But it will always be a compromise.
> Is there a lightweight adaptive energy detection algorithm? > > Thanks, > > Ury.
You are looking for squelch or a noise gate I suppose. -- Mikolaj
>> >> >>Ury wrote: >> >>> Hi, >>> >>> I receive a stream of linear 16 bit audio and need to identify the >>> possibly "interesting" parts vs. plain silence or noise. >>> >>> Just computing the average energy and comparing to a threshold is not >>> sifficient since there may be a background noise. >>> >>> Is there a lightweight adaptive energy detection algorithm? >> >>A very generic way is compare the long term average to the short term >>average. > >While that is the typical way of expressing the idea, I think "long
term"
>confuses the beginner. I think its more descriptive to say you need to >compare the medium term average with the short term average. In other
words
>look for surges in the energy above the gently rolling changes typical
of
>background noise. > >Steve > >
What are typical durations for medium term and short term? Thanks, Ury.
Dnia 03-11-2009 o 10:21:28 Ury <ujamshy@yahoo.com> napisa&#4294967295;(a):

>>> >>> >>> Ury wrote: >>> >>>> Hi, >>>> >>>> I receive a stream of linear 16 bit audio and need to identify the >>>> possibly "interesting" parts vs. plain silence or noise. >>>> >>>> Just computing the average energy and comparing to a threshold is not >>>> sifficient since there may be a background noise. >>>> >>>> Is there a lightweight adaptive energy detection algorithm? >>> >>> A very generic way is compare the long term average to the short term >>> average. >> >> While that is the typical way of expressing the idea, I think "long > term" >> confuses the beginner. I think its more descriptive to say you need to >> compare the medium term average with the short term average. In other > words >> look for surges in the energy above the gently rolling changes typical > of >> background noise. >> >> Steve >> >> > > What are typical durations for medium term and short term? > > Thanks, > Ury.
1 and 10 -- Mikolaj