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
next prev parent 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