Patrick Dixon Wrote:
> So Sean, I have a suggestion. The log volume control is clearly a
> better approach overall, but could you implement a version that uses
> 1/256 rounded multipliers for (say) volumes 20-40, and non-rounded
> multipliers below? No critical listening can really take place at
> -25dB+ with 'normal' amp gains /speaker efficiency, so the levels below
> 20 (which can't be smoothly rounded in 1/256ths) don't really matter.
>
> In the interests of bit-perfect audio and all that ....
seanadams Wrote:
> Sounds reasonable, but I'm not keen on diving in right this moment to
> change it - we'll look into it though.
I don't know how the multiplication with gain is done in the firmware,
but wouldn't the small server patch below do what Patrick suggests?
Steinar
Index: server/Slim/Player/Squeezebox2.pm
===================================================================
--- server/Slim/Player/Squeezebox2.pm (revision 4942)
+++ server/Slim/Player/Squeezebox2.pm (working copy)
@@ -272,7 +272,12 @@
# Map a floating point dB value to a 16.16 fixed point value
to
# send as a new style volume to SB2 (FW 22+).
my $floatmult = 10 ** ($db/20);
- return int(($floatmult * (1 << 16)) + 0.5);
+ if ($db >= -25) {
+ return int($floatmult * (1 << 8) + 0.5) * (1 << 8);
+ }
+ else {
+ return int(($floatmult * (1 << 16)) + 0.5);
+ }
}
--
sbjaerum
_______________________________________________
audiophiles mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/audiophiles