diff options
author | Oswald Buddenhagen <oswald.buddenhagen@gmx.de> | 2023-05-14 19:03:23 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2023-05-16 11:11:04 +0200 |
commit | bcdbd3b7888e1db89b7b2f7c78237c9ed5c2ebb1 (patch) | |
tree | 28e01cac493ddac6d65e345e5bf07dd20219477d /Documentation/sound/cards/sb-live-mixer.rst | |
parent | ALSA: emu10k1: enable bit-exact playback, part 1: DSP attenuation (diff) | |
download | linux-bcdbd3b7888e1db89b7b2f7c78237c9ed5c2ebb1.tar.xz linux-bcdbd3b7888e1db89b7b2f7c78237c9ed5c2ebb1.zip |
ALSA: emu10k1: enable bit-exact playback, part 2: voice attenuation
The voice volume is a raw fractional multiplier that can't actually
represent 1.0. To still enable real pass-through, we now set the volume
to 0.5 (which results in no loss of precision, as the FX bus provides
fractional values) and scale up the samples in DSP code.
To maintain backwards compatibility with existing configuration files,
we rescale the values in the mixer controls. The range is extended
upwards from 0xffff to 0x1fffd, which actually introduces the
possibility of specifying an amplification.
There is still a minor incompatibility with user space, namely if
someone loaded custom DSP code. They'll just get half the volume, so
this doesn't seem like a big deal.
Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230514170323.3408834-8-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'Documentation/sound/cards/sb-live-mixer.rst')
-rw-r--r-- | Documentation/sound/cards/sb-live-mixer.rst | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Documentation/sound/cards/sb-live-mixer.rst b/Documentation/sound/cards/sb-live-mixer.rst index 819886634400..4dd9bfe01bd8 100644 --- a/Documentation/sound/cards/sb-live-mixer.rst +++ b/Documentation/sound/cards/sb-live-mixer.rst @@ -258,7 +258,7 @@ PCM stream related controls ``name='EMU10K1 PCM Volume',index 0-31`` ---------------------------------------- -Channel volume attenuation in range 0-0xffff. The maximum value (no +Channel volume attenuation in range 0-0x1fffd. The middle value (no attenuation) is default. The channel mapping for three values is as follows: |