[alsa-devel] [RFC PATCH] Inverted internal mic
tiwai at suse.de
Tue Feb 28 10:24:37 CET 2012
At Tue, 28 Feb 2012 09:57:56 +0100,
David Henningsson wrote:
> One of the more common problems on laptop machines, is that the internal
> mic provides a stereo signal but with one channel phase inverted, or
> differential output.
> This means problems for applications recording two channels but later
> merging them into one, leaving them with zero or near-zero output.
> There are various ways we can work around this in both the kernel,
> alsa-lib and PulseAudio layers. It's a matter of picking the right one.
> I'm leaning towards trying to fix it in the kernel's codec drivers, because
> 1) we already have quirking infrastructure there
> 2) we already have some working quirks already in that layer
> 3) it would benefit other sound applications that use ALSA directly.
> The downside to that is really that we're silencing out one channel for
> everyone, leading to no application being able to use both channels,
> even if they would implement some kind of
> "auto-detect-and-reverse-one-channel" functionality.
> For the most part, this has been some Acer Aspire machines running
> Realtek ALC268 / ALC269 / ALC271X / ALC272X, and for two of these we
> have proc coefs we can set, but for the other two these proc coefs, if
> they exist, are unknown to us.
> Recently I came across a Conexant as well, and I decided to write a
> patch for it, that would take the approach that the internal mic is
> forced mono on the kcontrol, and make sure the right channel is always
> muted. The patch is verified by the reporter to fix this problem. It
> could use some perfection though - it would make sense to to the same to
> the internal mic boost as well, and the strcmp('Internal Mic') call
> could maybe be turned into something more elegant. But before going
> ahead with that, I'd like to hear your opinion on the matter, if you
> agree that this is a good approach to the problem?
The remaining problem in the patch is that the signal is recorded only
on left when you record in stereo. I guess the reporter tested only a
program like Skype, which uses only a mono stream.
If this behavior, only one channel in a stereo stream, is acceptable,
it's a reasonable fix, I think.
More information about the Alsa-devel