Summary:ASTERISK-03790: [patch] meetme silence supression (using Monitortalker)
Reporter:mochouinard (mochouinard)Labels:
Date Opened:2005-03-28 01:19:37.000-0600Date Closed:2011-06-07 14:05:27
Versions:Frequency of
Environment:Attachments:( 0) app_meetme.c-silencesupression_rev1.txt
Description:This patch just mute when the channel isnt detected as speaking. Work extremly well them the speaker volume is at a normal level.


example meetme call
exten => 1234,1,Meetme(1234,To)
Comments:By: mochouinard (mochouinard) 2005-03-28 01:24:23.000-0600

Ok there stuff to check like if the user put himself on mute, using this, he will get unmuted if he speak, but I want to know if this will get into cvs until I fix those small stuff.

By: Clod Patry (junky) 2005-03-28 02:16:09.000-0600

You could use:

if (confflags & CONFFLAG_MONITORTALKERMUTED && lastmonitor) {
instead of :
if (confflags & CONFFLAG_MONITORTALKERMUTED && lastmonitor == 1) {
!if (!user->talking) instead of: if (user->talking == 0)
and if (user->talking) instead of: if (user->talking == 1)

By: stevekstevek (stevekstevek) 2005-03-28 16:30:58.000-0600

I tried this with app_conference, but I found that the silence detection in ast_dsp wasn't really good enough to use for this kind of thing in the real world.  I ended up using the VAD in libspeex to do it, and even then, needed to do a lot of tweaking to get acceptable results.

You really need something which can look for speech specifically, and not just a particular energy level.

Just my 2c, having gone down this road before..

By: mochouinard (mochouinard) 2005-03-28 19:02:39.000-0600

Yes it not perfect for every situation.  For example, in the 996 asterlink conference.  Me(Moc) and bkw will have this working just fine, but for example anthm will get muted all the time because he is normaly low by default.  There is no way to make this perfect.  But atless maybe a dynamic settings in the menu, or a calibration of the ambiant sound could be done.  So far for me, it helped in the sence that people dont hear me when I type on the keyboard.  But it will never be perfect.  Because no one have perfect equippement calibrate to the right sound level.

edited on: 03-28-05 19:03

By: Mark Spencer (markster) 2005-03-28 22:46:34.000-0600

Actually, VAD works not by the volume level but typically by the number of zero crossings (after passing through a high pass).  We could implement such experimental code in dsp and see what happens.

By: mochouinard (mochouinard) 2005-05-14 19:41:26

We wanted to suspend all my MeetMe patch for my new meetme app Im doing  right ?  Should we close them or ???

By: Clod Patry (junky) 2005-05-25 20:11:16

Moc: i would say yes, cause if you know isn't working great. I suggest we wait until a better solution will be on table.

By: mochouinard (mochouinard) 2005-05-25 20:14:51

Nothing will work great until we have a real voice detection engine.  But this work very well and is alot less cpu intensive that what a real voice detection engine would do

By: Clod Patry (junky) 2005-06-09 17:52:29

Like discussed with Moc, im closing some bugs, and like there apparently no interest in this feature, let's close this one.

If someone wants that feature and doesnt care to full test/give feedbacks, feel free to ask a bug marshalls in #asterisk-bugs.