Bug 10228 - Measured volume attenuation does not match intended theoretical attentuation
: Measured volume attenuation does not match intended theoretical attentuation
Status: RESOLVED INVALID
Product: Logitech Media Server
Classification: Unclassified
Component: Audio
: 7.4.0
: Macintosh MacOS X 10.5
: -- normal (vote)
: 7.4.0
Assigned To: Caleb Crome
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-05 12:03 UTC by mooblie
Modified: 2009-09-08 09:27 UTC (History)
3 users (show)

See Also:
Category: ---


Attachments
Plot of SB2 Measured volume attenuation (blue) vs. theoretical (red) (29.14 KB, image/png)
2008-12-05 12:04 UTC, mooblie
Details
SC v7.3 Volume Output Characteristic (12.43 KB, image/gif)
2008-12-07 12:46 UTC, mooblie
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mooblie 2008-12-05 12:03:48 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
Comment 1 mooblie 2008-12-05 12:04:54 UTC
Created attachment 4383 [details]
Plot of SB2 Measured volume attenuation (blue) vs. theoretical (red)
Comment 2 Spies Steven 2008-12-05 13:59:12 UTC
Sean, Dean or Caleb, care to comment?
Comment 3 Caleb Crome 2008-12-05 14:43:36 UTC
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

Comment 4 mooblie 2008-12-06 02:17:55 UTC
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.
Comment 5 Caleb Crome 2008-12-06 11:10:08 UTC
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?

Comment 6 Caleb Crome 2008-12-06 11:11:54 UTC
I'll take a quick look when I get back in the office.
Comment 7 Blackketter Dean 2008-12-06 14:13:49 UTC
What version of SqueezeCenter are you running, mooblie?
Comment 8 mooblie 2008-12-06 15:21:41 UTC
(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?
Comment 9 mooblie 2008-12-06 15:28:09 UTC
(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.
Comment 10 Blackketter Dean 2008-12-06 16:46:47 UTC
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.
Comment 11 mooblie 2008-12-07 12:46:54 UTC
Created attachment 4389 [details]
SC v7.3 Volume Output Characteristic

Perfect! (to within my measurements i.e. ±1dB)
Comment 12 mooblie 2008-12-07 12:54:46 UTC
(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!
Comment 13 Caleb Crome 2008-12-07 12:56:44 UTC
Very good!  Done.