Lennart Poettering wrote:
On Wed, 17.02.10 12:47, Eliot Blennerhassett (linux@audioscience.com) wrote:
For our cards this is adjustable, but lets say for consumer cards it is fixed. This information is not currently available via the ALSA API.
I wonder how realistic it would even be to add an API for this. i.e. can we even know the refernce level? On many cards most likely not. For example, for my integrated USB speakers speaking of a reference voltage would already be misleading...
Certainly. Same for laptop speakers.
Perhaps could define 0dB as the highest valid volume setting that doesn't cause distortion in the audio when playing a full scale digital signal.
Otherwise the absolute reference might be dBSPL at X metres from the speaker ;) (before anyone answers - in this context I'm joking.)
Yepp, that's the exactly what I was asking, Jaroslav's measurements suggested to shift one of the mixer controls from 0..x dB to -x..0 dB and I was just wondering why, since we don't define the ref level in ALSA, hence the shift is kinda arbitrary...
Anyway, I am not pushing for adding an API for reference levels to ALSA.
We define controls with names like "LineIn0 Level","LineOut1 Level" which we document as having units of dBu.
Given that no other driver has this, its the de-facto standard ;)
As mentioned for the PA case I decided to shift 0dB to max amplification in any case, which I think is a workable way to avoid this problem.
Sure.