2010/12/8 Takashi Iwai tiwai@suse.de
At Tue, 07 Dec 2010 16:11:59 +1300, Eliot Blennerhassett wrote:
Thanks Raymond,
On 03/12/10 15:33, Raymond Yau wrote:
Greetings,
There is only a single mic on this netbook. However, the alsa device shows up as stereo, and the right channel carries an inverted copy of the left channel.
http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=59c774ed5ee00e9623a20...
Commitlog was "Add route_policy copy to HDA-Intel.conf for capture Since some digital mics have the phase-inversion problem in one channel, adding both channels for mono stream results in the noise. Use route_policy copy to avoid that situation."
As far as I can guess, the commit helps when an application asks to record mono from the stereo device, by copying L rather than summing L+R
My machine already has this, however it doesn't really fix the root of the problem.
Because the internal mic appears as a stereo device, rather than a mono, applications can open it as stereo.
Only later when the resulting signal L+R is sent to a mono output does the signal "disappear".
In theory , this should be (L+R)/2 for those stereo mic without phase inversion to prevent clipping occur when sent to a mono output
So I'm back to wondering how to force an app (primarily PulseAudio) to see the mic as mono?
Via pulse configuration?
PA server use SND_PCM_NO_AUTO_CHANNELS , any plugin which defined in the device string in the profile has no effect if your hardware does not support 1 channel
so you need PA to provide downmixing option for recording mono from stereo mic 1) (Left+Right)/2 2) Left 3) Right