Bugzilla – Bug 10228
Measured volume attenuation does not match intended theoretical attentuation
Last modified: 2009-09-08 09:27:52 UTC
According to this posting: http://forums.slimdevices.com/showpost.php?p=366853&postcount=12 peterw gives theoretical volume attenuation of SB2, intended to be approx 0.5dB per volume step, hence 100 steps covers 50dB. In this post: http://forums.slimdevices.com/showpost.php?p=366867&postcount=13 mooblie (i.e. me!) shows a comparison of measured output against theoretical. See attachment: blue=measured, red=theoretical. Output was measured playing an audio file of constant -6dB level tone, and measuring output with an RTW 1206D analogue program meter: http://www.rtw.de/cgi-bin/rtw_data.pl?CatNo=1206D&LANGUAGE=en
Created attachment 4383 [details] Plot of SB2 Measured volume attenuation (blue) vs. theoretical (red)
Sean, Dean or Caleb, care to comment?
So, is theory wrong or the implementation wrong? We don't intend the volume to be perfectly linear in dB space (i.e. 0.5dB/step). This is to make the adjustments actually *finer* at the low end of the scale. Alas, this is because your ears don't really hear in dB, as much as we'd like to think they do. They need finer adjustment at lower volumes -- as we discovered with Boom. The actual code that does the ramping is done here: http://svn.slimdevices.com/7.3/trunk/server/Slim/Player/Squeezebox2.pm?revision=24173&view=markup and for Boom: http://svn.slimdevices.com/7.3/trunk/server/Slim/Player/Boom.pm?revision=23831&view=markup mobile, what's the reason you want perfectly linear (in dB) ramping? Is the current volume control not to your liking? What are your listening conditions? Also, are you measuring the analog or digital output? -Caleb
Caleb - I felt several people here (in a position to know, unlike me) said it WAS the intention to make the volume linear in dB space (i.e. 0.5dB/step). So I believe the theory is correct, and the implementation is wrong. Agreed - it will make the adjustments finer at the low end - precisely what I would like (and what it "should" be?). You say "They need finer adjustment at lower volumes" - so you agree this change is needed then?? The reason I want this change in practice: Under my listening conditions (running SB into a sensitive amp/speakers) and wanting background music - the volume changes at the low end (0-10) are far too coarse, resulting in quantized jumps from too quiet to too loud in a single step. Conversely, at the top end, the steps are "wasted" - too fine - changing from 90 to 100 makes such fine changes as to need to move many steps to hear a difference. I was measuring (only) the analogue output from an SB2. HTH.
Hmmm, that's very interesting. The problem you describe is exactly what we meant to avoid. We want finer grained adjustments at the low end, and coarser adjustment from mid to high. I'll check it out when I get back to the office. (I've been sick the last few days). I was messing around a bunch in that volume code during the Boom development, and it's possible I messed something up. Do you have a boom? Do you have this same problem with it?
I'll take a quick look when I get back in the office.
What version of SqueezeCenter are you running, mooblie?
(In reply to comment #7) > What version of SqueezeCenter are you running, mooblie? > Currently SC 7.2.1 (and Firmware 113 in the SB2) - although when I first measured the volume output it was back in Feb'08 - I might have had earlier versions then. If it's critical, I could measure the volume characteristic again? Although, are you not better equipped than me to measure it properly in your labs?
(In reply to comment #5) > I was messing around a bunch in that volume code during the Boom development, > and it's possible I messed something up. Do you have a boom? Do you have this > same problem with it? > No, I don't have a Boom, only three SB2s.
Yes, it has been tuned over versions leading up to 7.2.1. Please test with the current 7.3 version and see if the steps work well for you. Do note that the curve has been adjusted away from the theoretical curve to give better control at low levels. It's not intended to be 0.5dB steps.
Created attachment 4389 [details] SC v7.3 Volume Output Characteristic Perfect! (to within my measurements i.e. ±1dB)
(In reply to comment #10) > Yes, it has been tuned over versions leading up to 7.2.1. Please test with the > current 7.3 version and see if the steps work well for you. > > Do note that the curve has been adjusted away from the theoretical curve to > give better control at low levels. It's not intended to be 0.5dB steps. > ** Major apology due! ** I have now tested with 7.3 (and SB2/3 FW 120) - see second attachment - and all is perfect! It does now indeed match perfectly (to within my measurement tolerance ±1dB) the correct, straight lin/log characteristic. It does even seem to be 0.5dB/step all the way down from 100->1 (with 0 = -inf.dB = mute). My measurements back in Feb'08 were made with earlier software - sorry again! This characteristic now gives the fine control needed at low volumes with sensitive amps. This bug can be closed, flagged as "idiotic user, testing obsolete software". :-) Thanks again for your prompt response everybody, over a weekend too!
Very good! Done.