# Seen on the TV in "Larry’s Lounge"

Just outside my office is a little "lounge" area - it's a sitting area with a couch and a couple of comfy chairs that's used for meetings.  It's sort-of become known as "Larry's Lounge" or "The Larry Lounge".

In the "Larry Lounge", there's a 42" flat screen TV connected to a media center box (and a newly added xbox 360).  Yes, there ARE perks to working in multimedia.

Both Daniel and Sharron have had fun with the TV when they're in the office - when the lounge isn't being used as an office, they watch videos on the TV (and the DVD team has a huge video library).

Anyway we were futzing with the TV yesterday and Steve Ball noticed that the volume control on the TV goes from 0 to 63.

We both saw that and laughed.  Our best guess is that some engineer specified that the volume control should go from 0..99 but wrote it as 0x00..0x63.

And the UX person handling the request didn't figure out what the 0x thingy meant and left it off ๐

1. Anonymous says:

Maybe the TV uses a 6-bit value to hold the volume setting ๐

2. Anonymous says:

Hmm, it makes me think that they scrimped on the bits, gave out only 6 bits to store volume in, so it was limited to 63.

63 is much better then 11, though!

3. Anonymous says:

Or possibly the analog attenuator used a digital control that only used 6 bits i.e. 64 steps?

4. Anonymous says:

63 is also the largest integer using 6 bits – so it’s possible that it was constrained by the number of bits used to control it, rather than by misinterpreting a hex number.

5. Anonymous says:

What’s wrong with 6 bits of volume, 0-0x2f or 0-63 in decimal?

6. Anonymous says:

Or the register that controls the hardware volume control that the UI code writes into is 6 bits wide. Or somebody in the TV company just has a thing for powers-of-2.

7. Anonymous says:

I dont think thats a good guess. I think its more likely that the volume is stored in a 6 bit value. PWN3D. SEE YA.

8. Anonymous says:

I got to thinking, 0..63 is 6 bits, so maybe they’re storing the volume in 6 bits and something else in the rest.

Or, if you stored the volume of each audio channel in 6 bits, you could (in theory) store the volume of 5 audio channels in a single 32-bit word.

As well, I must admit, when I’m programming and I need to pick an "arbitrary" value (like the initial size of a hash map), I tend to pick "nice round binary numbers" like 16, 32, 64, 128. Maybe this programmer does the same thing, and 32 is too small for a volume control range, but 128 is too large. Although that doesn’t really explain why he didn’t choose 96. ๐

Lastly, when I mentioned this post to someone I know, he told me that the volume control on his car stereo goes from 0..63 as well. So either they made the same error, or this is a trend where 6 bits gives you the right amount of range for a volume control.

9. Anonymous says:

Perhaps in the firmware there is only 6 bits to store the volume.  This leads to the question why only 6 bits.   An answer to that is perhaps they used a byte and the other 2 bits were for something else.  One may have been a ‘mute’ flag, because with mute you can’t set the volume to zero since you need to keep the volume store for when you unmute.  So a flag would be better.  I don’t have a clue what the other bit could be for.

10. Anonymous says:

Isn’t it a simpler possibility that the volume control is a six-bit variable?

11. Anonymous says:

My first guess would have been that the the volume control register of the mixer chip only has 6 bits or something like that.

By the way, anybody else had to think of Monty Python when reading the term "comfy chair"?

12. Ryan Bemrose says:

I know I mentioned this earlier, but I also think it’s possible that, somewhere deep in the TV’s firmware, somebody allocated only six bits for holding the volume level.

13. Anonymous says:

Larry – you must have been baiting people, just to see what kind of responses you’ll get. Left of the "0x" – ha!

14. Anonymous says:

My old TV (21" cheapo) was the same. I always thought it was 6 bits.

(checks new TV) Nope, this one goes to 100.

15. Anonymous says:

I wonder how many other people will go to the comments section without reading that EVERY OTHER COMMENT already mentioned that 63 is 2^6-1 (yet another way to express the maximum integer representable in unsigned six bit notation). ๐

16. Anonymous says:

Man, I feel left out; my TV has a volume knob :/

17. Anonymous says:

I would go with 6 bits too.

Is 0..99 not odd compared to 0..100 (unless you can only display 2 digits) or 0..50 anyway?

18. Yeah, well, my TV volume goes to 11… which gives me that little extra kick…

19. Damn, that &quot; bug is still happening?  God forbid the Community Server people bother to figure out how HTML encoding works…

20. Anonymous says:

Like most digital potentiometers, it’s an eight-bit value — 5 or 6 bits of info plus 2 or 3 control bits.

Usually they cap it for UI though — so you see 30 (instead of 32) or 60 (instead of 64).

21. Anonymous says:

How many more will mention 6-bits?

Slightly OT: as a kid, I thought that a radio with a volume control 0-12 could play louder than one with a volume control 0-6.

22. Anonymous says:

Perhaps they only used six bits to store the value, which would only leave 64 volume levels, and one of those is used for 0, so the max would be 63.

23. Anonymous says:

Yeah, 0-63 is a range of exactly six bit, we get it.

24. Anonymous says:

Given the cost of a forty-two inch *plasma* TV, the idea that somebody scrimped on the audio control and only allowed "6 bits" for the volume number seems particularly implausible. Those things are made for people who’ll pay a lot for the TV, and they’re not likely to save 50 cents on the manufacturing cost just to save 2 bits – even assuming that it was a cheaper component.

Normal people rarely think of "63" as a sensible upper limit for a range, but either 99 or 100 would seem much more reasonable. Therefore it’s either some dork (i.e. an engineer not cool enough to qualify as a geek or nerd) getting the wrong base system, or trying to be geeky with a power-of-2-minus-1 number.

Powers of two may excite dorks, but normal people think that not being a round number is just weird.

25. Anonymous says:

Jeeze… you think MS would’ve paid for the whole 50 inches instead of the 42 lousy inches you’ve been lumbered with.

I’d join a union if I were you.

26. Anonymous says:

My A/V receiver volume goes from -64dB (no sound) to 0dB.  Not being a sound guy I have no idea if that’s relevant, but it might be! ๐

27. Ryan Bemrose says:

The first 13 comments were submitted before any of them were available to read.  A humorous side-effect of the fact that Larry moderates his blog comments.

28. Anonymous says:

No one has mentioned this (from what is available to read, so far), so I will.  If it were shown in hexadecimal, then you’d get hex digits A..F as you change the volume.  I’ve seen TVs with a max volume of 63, and no hex digits appears.  Just *imagine* if the common consumer had to wonder what ‘4B’ means for volume!  Therefore, it is much more likely it is merely a 6-bit number.  And I am sure almost every programmer in the world thinks ‘binary numbers’ first when they see 0..63 as a range.

29. Anonymous says:

Hmm… Sorry, I missed the part that the UX person (I never heard that term before) overrode the engineer’s request.  I now understand that the TV actually has a decimal volume from 0..63.  So, please ignore my talk about hex digits.

I still believe it is likely it was just a 6-bit number originally.  I’ve seen TVs where the max volume is something like 21 or 23, so it doesn’t seem to bother anyone that much if it isn’t a nice round number, and I bet having a nice round binary number was useful in this case.

30. Anonymous says:

What I don’t get is that you all seem to agree that an average person cares about the number the maximum volume level got assigned, as if the number had any significance. I mean, if you want to make your TV set louder, you don’t think "ah, the 34 is a bit soft today, so I will enter ‘tvcontrol –volume=39’" or something, you just press the ‘increase volume’ button a few times until it sound just right, not caring about any numbers.

In a sense similar to browsers. Some browsers give you the actually used font size (relative to normal) as a nice number (‘font size is 120%’), others don’t, but that makes not much of a difference. For example, Firefox only has three entries (make bigger, make smaller, reset to normal), so you can’t see how big the current scale factor is, but why care? If it’s to small, just make it bigger repeatedly, until you can read everything.

Of course, when I see that a value can go from 0..((2^n)-1), I notice, but then I think ‘why not, probably it was easier to build that way (using exactly n bits)’. Most non-computer-people won’t probably even notice.

31. Anonymous says:

NewsGator – which I use to fetch blog posts – today decided to fetch an August third post for me. At

32. Anonymous says:

I think it is probably more about the bus width of the audio controller. Assuming that the audio is 24-bit that would leave 6 bits for volume control on a standard 32-bit bus.

33. Anonymous says:

It is interesting ( and not surprising ) that technical people look for a technical reason in what they see in the world. Eric Gunnerson postulated an arbitrary number, which is a power of 2.

I suggest an alternative ( inspired by grants car stereo story ). Many audio devices now express volume in decibels ( although often negative ), and I think that what you are seeing is the TV’s volume in decibels. More over, I think that 63 is carefully chosen maximum volume for the TV, based on noise pollution laws ( a quick web search showed a few, but its hard to tell how common 63 is as a limit ).