In a sense, you might say I did futz with mod_vmd ... to create mod_vad. There appeared to be just no (easy) way to modify the internal VAD code in the FreeSWITCH core (see switch_rtp.c) to identify the origins of voice activity. And rather than build into mod_vmd, which is a special purpose tool, a separate module for VAD seemed like a reasonable idea.
In short, the mod_vad which I've written up independently monitors the read and the write legs of the session it is run on, and tags each VAD_TALK and VAD_NOTALK event it fires with a user-supplied identification marker (a short string) for the leg which the event relates to. At the moment, the VAD algorithm is dead simple, and is much like the one in the core. I will be happy to submit this module, in a little while, after I've had a chance to make it perhaps a bit more useable outside of our own application context.
Cam
On Mon, Mar 2, 2009 at 11:48 AM, Anthony Minessale
<anthony.minessale@gmail.com> wrote:
> i think that's what mod_vmd does
>
I think that's right. It just does the opposite - instead of looking
for differing power levels it looks for the same power level. In other
words it tries to detect distinctly non-human sound. I'll bet you
could futz with that code and have it fire off events when it detects
what it believes is human speech.
-MC