From: Lennart Poettering <mznyfn@0pointer.de>
To: alsa-devel@alsa-project.org
Subject: Re: Verifying mixer dB data/Invalid dB data from USB cards, especially Aureon 5.1 MkII
Date: Tue, 16 Feb 2010 22:07:03 +0100 [thread overview]
Message-ID: <20100216210703.GA18109@tango.0pointer.de> (raw)
In-Reply-To: <alpine.LNX.2.00.1002161711400.28127@eeebox2.perex-int.cz>
On Tue, 16.02.10 17:29, Jaroslav Kysela (perex@perex.cz) wrote:
> > I remember that a while back we had a discussion on alsa-devel
> > regarding the fact that ALSA does not define relative to what the dB
> > values reported by the mixer elements actually are measured. Some
> > mixer controls export dB values relative to max amplification (e.g. my
> > integrated USB speakers here), others relative to the output of some
> > other mixer element, and others relative to different standard or
> > not-so-standard output voltages. And there is no API to figure out
> > what the base is.
> >
> > Now, what Jaroslav listed above suggests that he chose carefully where
> > he put 0dB. I was just wondering about that. Jaroslav, how did you
> > choose where to put 0dB?
>
> Basically, if I remember correctly the discussion, 0dB on all elements
> should main unchanged volume, <0dB attenuation and >0dB gain.
But you need some kind of "anchor" for that. What you write above
applies only for elements that have some kind of analog input and
output. But the most interesting components are probably the DAC and
ADC (i.e. the "innermost" elements), and it's not clear what level they
output, so the "anchor" for the relative dB values is missing...
> So, if you use one headphones and speakers with defined and fixed volume
> settings, you can measure differences for the card with broken dB volume
> ranges. I just used another HDA card in notebook with 0dB settings on all
> playback controls on path, captured stream from this card on my USB card
> and played this stream back on my USB card watching and relating the
> volume levels according dB values. It's not 100% correct, but at least
> it's something to start with.
Hmm, so you basically tuned the USB card's DAC/ADC level to the HDA
card's DAC/ADC.
I now measured the "Master" slider of my aureon (USB 0ccd:0028,
TerraTec Aureon 5.1 MkII) with the aforementioned dbmeasure tool and a
loopback cable. The aureon has 65536 volume steps, but
I was too lazy to measure them all. So I only measured every
3000th. From the max volume to the min volume:
65536 0 dB
62536 0.00560039 dB
59536 0.00694678 dB
56536 0.00616732 dB
53536 0.00645077 dB
50536 0.00673421 dB
47536 -1.49514 dB
44536 -1.49455 dB
41536 -1.49648 dB
38536 -2.98666 dB
35536 -2.98486 dB
32536 -2.98536 dB
29536 -4.48688 dB
26536 -6.00084 dB
23536 -5.99928 dB
20536 -9.00246 dB
17536 -10.5425 dB
14536 -16.5274 dB
11536 -32.9435 dB
8536 -43.4326 dB
5536 -43.5066 dB
2536 -43.2968 dB
0 -43.4431 dB
If you plot this it looks as if the card actually only implements 10
or so discrete steps, and at around 10000 just becomes a constant
function.
ALSA reports -47.87 .. -1.97 for this. So it seems the overall range
the USB data reports is not really that far off, but the volume
function in bteween is.
The noise level of these measurements is < -58 dB.
What's the next step with this measurement data? Will you take it from
here, or shall I provide you with more data?
Lennart
--
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/ GnuPG 0x1A015CC4
next prev parent reply other threads:[~2010-02-16 21:07 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-15 19:24 Verifying mixer dB data/Invalid dB data from USB cards, especially Aureon 5.1 MkII Lennart Poettering
2010-02-16 8:08 ` Clemens Ladisch
2010-02-16 8:24 ` Jaroslav Kysela
2010-02-16 14:32 ` Lennart Poettering
2010-02-16 14:40 ` Mark Brown
2010-02-16 15:40 ` Lennart Poettering
2010-02-16 15:49 ` Mark Brown
2010-02-16 16:29 ` Jaroslav Kysela
2010-02-16 21:07 ` Lennart Poettering [this message]
2010-02-16 22:39 ` Mark Brown
2010-02-16 22:42 ` Lennart Poettering
2010-02-16 23:38 ` Mark Brown
2010-02-16 23:56 ` Lennart Poettering
2010-02-17 11:17 ` Mark Brown
2010-02-17 13:01 ` Lennart Poettering
2010-02-17 13:15 ` Mads Kiilerich
2010-02-17 11:55 ` James Courtier-Dutton
2010-02-17 13:06 ` Mark Brown
2010-03-20 7:58 ` Raymond Yau
2010-02-18 1:48 ` Raymond Yau
2010-02-18 2:37 ` Lennart Poettering
2010-02-18 6:15 ` Raymond Yau
2010-02-18 10:11 ` James Courtier-Dutton
2010-02-18 18:13 ` Lennart Poettering
2010-02-19 8:17 ` Jaroslav Kysela
2010-02-19 9:40 ` Mark Brown
2010-02-19 10:57 ` Raymond Yau
2010-02-19 15:13 ` Lennart Poettering
2010-02-21 3:49 ` Raymond Yau
[not found] ` <20100221193933.GA31800@tango.0pointer.de>
2010-02-23 4:47 ` Raymond Yau
2010-02-23 22:20 ` Lennart Poettering
2010-02-24 1:52 ` Raymond Yau
2010-02-28 7:32 ` Raymond Yau
2010-02-23 5:12 ` Raymond Yau
2010-02-23 8:43 ` Raymond Yau
2010-02-21 4:01 ` Raymond Yau
[not found] ` <20100221192951.GD30380@tango.0pointer.de>
2010-02-23 10:08 ` Clemens Ladisch
2010-02-23 12:46 ` Raymond Yau
2010-02-23 22:32 ` Lennart Poettering
2010-02-24 0:57 ` Raymond Yau
2010-02-24 9:00 ` Clemens Ladisch
2010-02-24 11:49 ` Raymond Yau
2010-02-24 12:07 ` Raymond Yau
2010-02-24 1:12 ` Raymond Yau
2010-02-24 3:49 ` Raymond Yau
2010-02-20 8:38 ` Jaroslav Kysela
2010-02-25 3:34 ` Raymond Yau
2010-02-19 11:47 ` James Courtier-Dutton
2010-02-19 15:10 ` Lennart Poettering
2010-02-20 8:41 ` Jaroslav Kysela
2010-02-24 7:30 ` Raymond Yau
2010-02-25 13:14 ` Raymond Yau
2010-02-25 3:51 ` Raymond Yau
2010-02-26 3:17 ` Raymond Yau
2010-03-01 4:21 ` Raymond Yau
2010-02-16 23:47 ` Eliot Blennerhassett
2010-02-17 0:10 ` Lennart Poettering
2010-02-17 0:43 ` Mark Brown
2010-02-17 0:52 ` Eliot Blennerhassett
2010-02-17 11:50 ` Mark Brown
2010-02-17 9:04 ` Jaroslav Kysela
2010-02-17 12:06 ` Mark Brown
2010-02-17 13:15 ` Lennart Poettering
2010-02-17 13:32 ` Mark Brown
2010-02-17 13:06 ` Lennart Poettering
2010-02-17 13:55 ` James Courtier-Dutton
2010-02-17 14:12 ` Mark Brown
2010-02-17 14:35 ` Lennart Poettering
2010-02-17 16:17 ` James Courtier-Dutton
2010-02-26 9:38 ` Raymond Yau
2010-02-17 7:37 ` Raymond Yau
2010-02-18 2:11 ` Raymond Yau
2010-02-26 0:45 ` Raymond Yau
2010-02-20 7:24 ` Raymond Yau
2010-03-26 4:26 ` Raymond Yau
2010-02-16 21:48 ` James Courtier-Dutton
2010-02-17 8:08 ` Jaroslav Kysela
2010-06-14 3:30 ` Raymond Yau
2010-02-16 16:09 ` Jaroslav Kysela
2010-02-16 14:26 ` Lennart Poettering
2010-02-17 3:30 ` Raymond Yau
2010-02-17 15:19 ` Lennart Poettering
2010-03-08 9:06 ` Raymond Yau
2010-02-16 8:32 ` Jaroslav Kysela
2010-02-16 10:36 ` Jaroslav Kysela
2010-02-17 3:44 ` Raymond Yau
2010-02-17 12:54 ` Lennart Poettering
2010-02-26 5:18 ` Raymond Yau
2010-02-27 1:07 ` Raymond Yau
2010-03-01 0:51 ` Raymond Yau
2010-06-24 22:51 ` Raymond Yau
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=20100216210703.GA18109@tango.0pointer.de \
--to=mznyfn@0pointer.de \
--cc=alsa-devel@alsa-project.org \
/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).