Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: David Henningsson <david.henningsson@canonical.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: ALSA Development Mailing List <alsa-devel@alsa-project.org>,
	kailang@realtek.com, 903853@bugs.launchpad.net
Subject: Re: [RFC PATCH] Inverted internal mic
Date: Wed, 29 Feb 2012 11:45:40 +0100	[thread overview]
Message-ID: <4F4E01D4.9030505@canonical.com> (raw)
In-Reply-To: <s5h62eqnetq.wl%tiwai@suse.de>

On 02/29/2012 10:56 AM, Takashi Iwai wrote:
> At Wed, 29 Feb 2012 10:21:35 +0100,
> David Henningsson wrote:
>>
>> On 02/28/2012 08:42 PM, Takashi Iwai wrote:
>>> At Tue, 28 Feb 2012 19:11:15 +0100,
>>> David Henningsson wrote:
>>>>
>>>> On 02/28/2012 04:20 PM, Takashi Iwai wrote:
>>>>>> I'm talking about recording an internal mic in *stereo*, as I just wrote
>>>>>> below. Or don't you agree that is a valid and probably fairly common use
>>>>>> case?
>>>>>
>>>>> Well, when you record it in stereo, and play it back, then you hear
>>>>> the sound without problem.
>>>>
>>>> That could definitely be questioned: depending on the distance between
>>>> speakers when you're finally playing it back, you might lose bass
>>>> frequencies [1]. (That said, I'm not sure how much bass these mics pick
>>>> up anyway.)
>>>
>>> Well, it might be, in the worst case.
>>>
>>>>> The problem happens only when you sum the
>>>>> left and right signals into mono.  Thus, as long as the stream is
>>>>> handled as stereo, it could be passed as is, although it's not
>>>>> optimal.
>>>>
>>>> So the official recommendation is that summing left and right to make a
>>>> mono signal, is to be considered an invalid operation?
>>>
>>> It's not invalid in general but invalid for this digital mic.  That's
>>> the only point.  Thus, avoiding summing only for known bad devices is
>>> also a way to go, IMO.  It'd work more or less stably.
>>> OTOH, muting the right reduces the risk but it also has a problem of
>>> the lower volume and the lack of right signal in stereo streams, both
>>> of which aren't easily avoided.
>>>
>>> So we need to find some point of compromise...
>>
>> Avoiding summing only for known bad devices and only when mixer is set
>> to capture Internal Mic, is a quite complex condition that would have to
>> implemented in not only PulseAudio, but every application using ALSA
>> directly. (Well, and wants to either sum, or to avoid loss of bass and
>> strange stereo effects.)
>
> As mentioned, ALSA-native "default" doesn't sum for mono signals.
> It's not optimal for stereo, yeah, but better than summing blindly.
>
>> The lower volume problem is also an argument only if you want to sum the
>> signal; so in this case it's lower volume against a cancelled signal
>> altogether, in which case lower volume is better.
>
> Of course.  But my comparison is "pick up only left" vs "sum but
> right-mute".  In the latter case, the lower volume happens also in
> stereo streams (as a total volume), too.
>
>> That leaves the lack of right signal in stereo streams, as a
>> disadvantage with the proposed solution. In which use cases do you think
>> this is a problem?
>
> Honestly, I don't know.  It sounds really like a user's preference to
> me.

Ok.

> BTW, it'd be possible to give some offsets to the internal mic capture
> volume to compensate the lack of a stream.

Hmm...could you elaborate on this? What type of offsets are you 
referring to?

> Or, to make this behavior
> selective via a mixer control.  In either way (especially the latter)
> will make the code more complex.  So the question still remains: how
> much compromise.


-- 
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic

  reply	other threads:[~2012-02-29 10:45 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-28  8:57 [RFC PATCH] Inverted internal mic David Henningsson
2012-02-28  9:24 ` Takashi Iwai
2012-02-28  9:54   ` David Henningsson
2012-02-28 10:38     ` Takashi Iwai
2012-02-28 13:07       ` David Henningsson
2012-02-28 13:22         ` Takashi Iwai
2012-02-28 14:19           ` David Henningsson
2012-02-28 15:20             ` Takashi Iwai
2012-02-28 18:11               ` David Henningsson
2012-02-28 19:42                 ` Takashi Iwai
2012-02-29  9:21                   ` David Henningsson
2012-02-29  9:56                     ` Takashi Iwai
2012-02-29 10:45                       ` David Henningsson [this message]
2012-02-29 16:36                         ` Takashi Iwai
2012-06-19  3:07             ` Eliot Blennerhassett
2012-06-19  7:43               ` David Henningsson
2012-06-20 13:31                 ` Takashi Iwai
2012-06-21  1:15                   ` David Henningsson
2012-06-21 12:52                     ` Takashi Iwai
2012-06-21 13:04                       ` David Henningsson
2012-06-21 13:19                         ` Takashi Iwai
2012-06-21 14:23                           ` David Henningsson
2012-06-22  9:33                             ` Takashi Iwai
2012-06-22 10:46                               ` David Henningsson
2012-06-22 11:00                                 ` Takashi Iwai
2012-06-22 12:46                                   ` Takashi Iwai
2012-06-22 15:27                                     ` David Henningsson
2012-06-22 15:37                                       ` Takashi Iwai
2012-06-22 17:33                                         ` David Henningsson
2012-06-23  2:58                                           ` Eliot Blennerhassett
2012-06-23  8:40                                             ` Takashi Iwai
2012-06-23  8:39                                           ` Takashi Iwai
2012-06-25  8:04                                             ` David Henningsson
2012-06-25  8:18                                               ` Takashi Iwai
2012-06-20  8:02               ` Takashi Iwai
2012-06-20 10:54                 ` Eliot Blennerhassett
2012-02-29 11:02 ` Raymond Yau
2012-06-20 21:53 ` James Courtier-Dutton
2012-06-21  5:56   ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2014-10-20 13:52 rodney byne

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F4E01D4.9030505@canonical.com \
    --to=david.henningsson@canonical.com \
    --cc=903853@bugs.launchpad.net \
    --cc=alsa-devel@alsa-project.org \
    --cc=kailang@realtek.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox