[Speex-dev] AGC on a phone conversation
bandit at surfnonstop.com
Tue Aug 23 07:17:57 PDT 2011
2011.08.23. 15:38 keltezéssel, Yanick Bourbeau írta:
> Since I don't have access to different channels as I record a phone call
> using a man in the middle approach, there is something else I can use
> to equalize the sound ?
What I would do then probably is try to manually separate the two
channels/talkers; say channel 1 goes from 0 seconds to 13 seconds,
channel 2 goes from 13 seconds to 27 seconds, then channel 1 again goes
from 27 seconds to ... you understand. Then you have two channels, one
channel is always silent/mute, the other contains the current talker.
Then you can AGC them separately.
As described here, this is a manual process. So if you have a lot of
audio you need to process, manual might not make sense anymore, and you
could then try to create an algorithm to do this automatically. I would
make some statistics about the loudness (signal level) of the sides, and
the pauses they make, and try to come up with an algorithm that analyzes
the whole call, and tries to segment it into the two sides, based on the
high probability that signal level usually stays the same or only
changes slowly within the same channel, but it is considerably different
between the two channels/talkers.
Alternatively, you could just try to adjust the parameters of the AGC to
provide for a faster adjustment so that it catches up relatively quickly
whenever the participants change roles (one stops talking and the other
one starts talking - much louder/quieter) - you might be able to find a
set of AGC settings that work acceptably for your calls.
More information about the Speex-dev