From: "Sebastian H." <vand2@gmx.de>
To: alsa-devel@alsa-project.org
Cc: Raymond Yau <superquad.vortex2@gmail.com>
Subject: Re: Mixer volume/decibel mapping
Date: Fri, 21 May 2010 10:18:41 +0200 [thread overview]
Message-ID: <201005211018.41802.vand2@gmx.de> (raw)
In-Reply-To: <AANLkTikWaBVuo-Vo8LIN6jS19cuPv4nDZbgYKzzZeLWg@mail.gmail.com>
Am Freitag, 21. Mai 2010 03:30:20 schrieb Raymond Yau:
> 2010/5/21 James Courtier-Dutton <james.dutton@gmail.com>
>
> > On 20 May 2010 10:41, Sebastian H. <vand2@gmx.de> wrote:
> > > That's clear.
> > > I imagined that maybe the dB scale could be the "real thing" and the
> >
> > volume
> >
> > > steps would be a convenient but possibly coarse mapping into a denser
> > > stepped dB space provided by the hardware/driver.
> > > This was unlikely but I wanted to ask anyway ;-).
> >
> > I believe it could be extended to support a continuous range.
> > For example, some hardware uses a 32bit value to control the gain.
> > The mix operation is simply "the_sample" * "the_control_value".
> > So in this case the hardware has a linear control that can be
> > considered continuous for our purposes.
> > The conversion from the control value to a usable value would have to
> > include a user land log operation.
> > It was never implemented due to lack of demand.
> > For the cards that do have this 32bit linear value, a simple lookup
> > table is used in the kernel code to convert it to 256 step values.
> > If implemented, one could then introduce professional gain controls
> > that do not produce "clicks" in the output when adjusted.
> > gain controls with steps in them produce clicks when the gain control
> > is adjusted.
>
> I thinks Sebastian's question is whether he can use
> snd_mixer_selem_set_playback_
> dB() set any values in between the volume steps
>
> e.g. Master volume control of ac97 is 1.5 dB per step,
>
> when using snd_mixer_selem_set_playback_dB() to set -0.9dB , how can the
> mixer application know what dB value has been set since the value is in
> between -1.5dB and 0dB without snd_mixer_selem_get_playbackdB()
Indeed I quite happy with what ALSA already provides (I'm just an interested
amateur). My main problem is that there is no documentation for the Mixer API
and how things are related to each other. Like CTL, HCTL, Mixer and
SimpleMixer and of course volume and dB in the snd_mixer_selem_ functions.
The root issue is that I wondered if the mixer application should offer a
separate text input for decibel values besides the text input for volume
values. As pointed out this would not allow for finer grained volume control
therefore for the moment I'll probably stick with a mere text label for dB.
next prev parent reply other threads:[~2010-05-21 8:19 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 16:34 Mixer volume/decibel mapping Sebastian H.
2010-05-20 7:34 ` Clemens Ladisch
2010-05-20 8:01 ` James Courtier-Dutton
2010-05-20 8:53 ` Raymond Yau
2010-05-20 9:41 ` Sebastian H.
2010-05-20 16:13 ` James Courtier-Dutton
2010-05-21 0:35 ` Raymond Yau
2010-05-21 1:30 ` Raymond Yau
2010-05-21 8:18 ` Sebastian H. [this message]
2010-06-07 3:37 ` Raymond Yau
2010-06-07 9:19 ` Sebastian H.
2010-06-08 1:03 ` Raymond Yau
2010-06-08 6:02 ` Sebastian Holtermann
2010-06-08 15:31 ` Raymond Yau
2010-06-09 10:26 ` Sebastian H.
2010-06-08 6:08 ` Sebastian H.
2010-06-09 5:39 ` Raymond Yau
2010-06-09 7:34 ` Sebastian H.
2010-06-10 0:08 ` Raymond Yau
2010-06-09 5:55 ` Raymond Yau
2010-06-08 2:23 ` Raymond Yau
2010-05-21 6:35 ` Clemens Ladisch
2010-05-21 6:51 ` Peter Ujfalusi
2010-05-21 9:56 ` Clemens Ladisch
2010-05-24 2:52 ` Raymond Yau
2010-05-25 8:38 ` Clemens Ladisch
2010-05-25 8:43 ` James Courtier-Dutton
2010-05-25 8:49 ` Clemens Ladisch
2010-05-25 23:24 ` Raymond Yau
2010-05-27 13:32 ` Colin Guthrie
2010-05-29 3:54 ` Raymond Yau
2010-05-29 1:57 ` Raymond Yau
2010-05-29 18:46 ` Colin Guthrie
2010-06-04 23:46 ` Raymond Yau
[not found] ` <AANLkTik7mD1DAVWkOwM7sNu0EfgGApvzX9WRXWBOO4PI@mail.gmail.com>
2010-05-25 8:45 ` Clemens Ladisch
2010-05-25 13:51 ` Raymond Yau
2010-05-25 14:36 ` Clemens Ladisch
2010-05-25 23:00 ` Raymond Yau
2010-05-27 0:20 ` Raymond Yau
2010-05-28 13:04 ` Raymond Yau
2010-05-28 14:10 ` Clemens Ladisch
2010-05-29 1:31 ` Raymond Yau
2010-05-21 13:16 ` James Courtier-Dutton
2010-05-25 8:21 ` Clemens Ladisch
2010-06-09 6:19 ` Raymond Yau
2010-05-22 9:24 ` Raymond Yau
2010-05-20 9:20 ` Sebastian H.
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=201005211018.41802.vand2@gmx.de \
--to=vand2@gmx.de \
--cc=alsa-devel@alsa-project.org \
--cc=superquad.vortex2@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).