[Asterisk-Dev] Voice energy detection: coder wanted
John Todd
jtodd at loligo.com
Sat Nov 8 11:31:20 MST 2003
>On Fri, 7 Nov 2003, John Todd wrote:
>
>> I have a requirement from one of my customers (in the emergency
>> services arena, I am told) to develop a voice energy detection system
>> for Asterisk. This would be to detect the difference between an
>> answering machine, and a human. This detection need only be very
>> basic, and probably will hook into the existing routines in dsp.c
>> (unless you have a cadence and tonal module already built.)
>
>So I'm curious as to the algorithms used. All I can think of is that
>an answering machine talks for longer than a real human caller.
>
>dsp.c can already detect voice as opposed to various tones. So
>wouldn't answering machine detection go something like:
>
>if <start detecting voice for the first time>
> note that the call is answered
> if you don't hear say 1sec silence within 5 secs then
> note that it was probably an answering machine
>
>I'd allow the possibility that people talk "differently" when
>recording an announcement - ie in "posh telephone voice" which perhaps
>has a different spectrum to their usual voice - but seeing you dont
>know their usual voice I'm not sure how you could use that.
>
>Steve
The word "hello" has specific characteristics that might be matched
in a single-filter voice recognition system. Or, your specific
time-based filter might be sufficient; I am open to options as to how
the system works. Additionally, the other method is to start playing
the recording upon answer, but listen for a tone indicating that an
answering machine is now recording and fail out if that is the case.
JT
More information about the asterisk-dev
mailing list