[linux-audio-dev] Re: linux-audio-dev Digest, Vol 33, Issue 11

Ben Loftis ben at glw.com
Fri Jun 16 14:10:00 UTC 2006


Hi Alex.  What you're trying to implement is called an automixer.  "Winner 
Takes All" is probably not going to work as well as your original expander.  
It will have problems when somebody coughs, drops their books, bumps the mic, 
tries to interject, etc, because it will duck the current speaker.  Here are 
some of the subtleties that you might want to consider:

A "filibuster" function which guarantees that once a mic is gated on, it stays 
on until the speaker has gone silent for a second or three, and it can't be 
silenced by some other mic gating on.

An "AGC" (automatic gain control) algorithm on each mic that guarantees quiet 
speakers and loud speakers have the same perceived volume in the recording.

Duck the unused mics a few dB instead of a fully gating them, or always leave 
one mic open.  The room ambience is important and it (kinda) proves the 
recording hasn't been doctored.

I picked up an IED 8000-series automixer which does all these things on eBay 
for $20.00.  Dan Dugan also makes some nice ones.  So if this is a one-shot 
deal for a serious project, you may want to consider finding something 
similar that is proven to work rather than rolling your own.

Just my $0.02
-Ben Loftis


>
> My first project will be a winner-takes-it-all-gain filter that takes
> n number of inputs and lowers the gain on all but the loudest signal.
> I want to use this on recordings of conversations where each speaker
> has a separate microphone. First I tried sidechain ducking which
> didn't really work for me. Then I  tried expanding each channel, so as
> to mute it when it fell under the threshold. That works pretty well
> but it's not perfect. This winner-takes-it-all thingy should be dead
> simple to implement and I expect it work pretty well.
>
> alex




More information about the Linux-audio-dev mailing list