Why does the volume control let me set the volume only to even numbers?


When you use the hardware button or the dedicated multimedia keyboard button to increase or decrease the volume, the resulting volume is always an even number. If the volume was 22 and you increase the volume, it goes up to 24. But if the volume was 21 and you increase the volume, it also goes up to 24. Why can't it set the volume to an odd number?

It's an even number because that gives you a reasonable number of conveniently-accessible volume levels. If the volume increased by only one unit for each press of the volume key, you would have to press the button 100 times to increase the volume from 0 to 100. That's a lot of button pressing.

On the other hand, if the stop points are even numbers, then that means you need to press the button only 50 times to go from 0 to 100. With autorepeat, that takes you from one extreme to the other in around a second and a half, which feels about right.

Okay, but if you want only 50 steps to go from minimum to maximum, why not make the highest volume level 50 instead of 100?

Because 100 feels nicer.

Bonus reading: The Windows 95 volume control almost went to eleven.

Comments (39)
  1. pc says:

    So, moving up by 2s instead of by 1s is certainly reasonable, but then why does it go to “next even number at least 2 more than than the current value”? Surely it’s a little surprising if hitting Volume Up once and then hitting Volume Down once doesn’t go back to the original value? I find this behavior a lot more surprising than hitting Volume Up when at 99 only moves up by half the distance it would at other times.

    After doing some testing on the Windows 7 Enterprise machine I’m using at the moment, if I set the volume to 21, and then hit Volume Up on my keyboard, it gets moved to 22, and then the next hit moves to 24. So, it only stops at even numbers, but with a “next higher even number”, which is different than the algorithm you’re describing. Presumably different versions of Windows do things differently.

    1. Mike Caron says:

      What you’re describing, and the example you cited, are not the same. Your complaint says that if you’re at 21 and hit Volume Up, you go to 24, but you example says 22. Frankly, I could see either one being correct:

      22 -> That’s the next valid step from your current position
      24 -> That’s the next step that will have a meaningful effect

      (presumably, if your minimum step is 2, then incrementing by 1 won’t do much, so you need to increment by 3 instead to both have an effect AND to get you back into your desired quantization)

      1. Stephen Donaghy says:

        >
        > What you’re describing, and the example you cited, are not the same. Your complaint says that if you’re at 21 and hit Volume Up, you go to 24, but you example says 22.

        I don’t think that’s correct, I believe he was referring to the article itself which states:

        > If the volume was 22 and you increase the volume, it goes up to 24. But if the volume was 21 and you increase the volume, it also goes up to 24.

        But then in his own testing got different behavior anyway.

        Either way it still raises the question, why not just increase/decrease the volume by 2 each time, instead of aligning it with even numbers? The argument in the article is that you want 50 steps instead of 100 which is fair enough, but +/- 2 would still give you that and the volume is capped at 0-100 anyway.

        1. Euro Micelli says:

          I presume that’s because then people would complain “I don’t know what happened but I cannot set the volume to ‘one half’ anymore.” This seems like the least surprising behavior.

        2. pc says:

          Yes. Sorry for the prior stream-of-consiousness post; I hadn’t organized my thoughts well. Perhaps I can try again:

          1) The behavior described in the article is different from what exists on older versions of Windows (at least the Windows 7 I have on this system), though both move to an even number rather than just doing plus or minus 2 capped at 0–100.

          2) I find it odd that hitting Volume Up/Down buttons would move to an even number, rather than doing plus or minus 2 capped at 0–100, because then the buttons aren’t inverses of each other (hitting Up and then Down won’t necessarily get you back where you started), and I’m not sure what advantages it has. I’m pretty sure it’s not accidental (as just doing +=2 or -=2 and capping is less complex than what is there now), and they’ve even *changed* the behavior in different versions of Windows. So I’m just curious what the goals of this particular algorithm are over the more simpler +/- 2 one, which Raymond isn’t quite getting at.

          Probably, Raymond doesn’t know more details. Though he’s a pretty smart guy and may be able to come up with an educated guess.

          1. Fred says:

            I guess people will find a way to complain about everything.

            It’s easy to grasp how volume changes by two units through simple experimentation with the sound keys. Most people would probably just want to stick with even numbers then, because if you bump into one of the edges (for instance, to turn the sound off) then it’ll be stuck in even numbers anyway until you use the manual slider.

            Imagine now that for whatever reason, you start off at an odd number. That’s annoying, I want it to be an even number. Bah, now I have to hold the key all the way to one end, and then all the way back to the volume level I actually want. Stupid Microsoft, can’t even get the volume controls done right.

    2. Christian says:

      Yes, just tested it on Windows 10: Setting the volume to 37 and pressing the Volume Up-key on the keyboard changes the volume to 40.

    3. David-T says:

      My very brief test got the following behaviour:

      Vol Up from 1 went to 4
      Vol Up from 2 went to 4
      Vol Up from 3 went to 4
      Vol Up from 4 went to 6
      Vol Up from 5 went to 8
      Vol Up from 6 went to 8
      Vol Up from 7 went to 8

      Vol Down from 11 went to 8
      Vol Down from 10 went to 8
      Vol Down from 9 went to 8
      Vol Down from 8 went to 6
      Vol Down from 7 went to 4
      Vol Down from 6 went to 4
      Vol Down from 5 went to 4

  2. Mike Caron says:

    Something something something eleven!

    1. DWalker07 says:

      Yes, someone had to say something about eleven! I want an amp that goes to TWELVE, not eleven.

      1. GWO says:

        Well, its two louder, isn’t it.

  3. alxu says:

    wouldn’t it be easier to just make the volume keys adjust the volume by exactly 2

  4. Yuri Khan says:

    > With autorepeat, that takes you from one extreme to the other in around a second and a half

    That’s assuming autorepeat rate of 30 Hz, which is (was?) a holdover from the times when autorepeat was called typeamatic and was implemented in the keyboard controller.

    With USB, there is no reason to limit autorepeat at 30 Hz. I am impatient so set it to 40.

  5. pete.d says:

    “why not make the highest volume level 50 instead of 100?”

    Extra trivia: this is, in fact, how Windows Media Center presents the volume level. While the actual level still ranges 0-100, the volume level Media Center displays on-screen when you change the volume is only from 0-50. So when you change the volume, that number only changes by one.

  6. Brian_EE says:

    Clearly this is all wrong. Everyone knows that the volume should go to 11. “Yeah, but you see, this goes to 11, it’s one louder.”

  7. IanBoyd says:

    Speaking of sound and the volume control: Larry Osterman, we miss your blog posts!

    1. skSdnW says:

      He is no longer with the audio team, he is working on WinRT (AFAIK). I asked him on twitter and he confirmed that his blog is not dead…he is just not posting :/

  8. cr says:

    That’s at least solved a mystery as I wondered why that happened. What is annoying is that my DELL under monitor speaker (other makers are available) also goes up in twos, presumably because it is being treated the same way. Is this a case where the system has been compromised to suit the majority input use case, buttons, rather than allow a knob to work as it should, gentle turn for fine setting and a quick rip to blast through the whole range?

  9. Tony Konzel says:

    Spamming volume controls on your keyboard also seems to accelerate the rate of change in newer versions of Windows, I’ve noticed. Wonder if the case was made that for very loud things suddenly, 1.5 seconds is too long?

  10. Scott says:

    The biggest annoyance with this is that a new Windows 10 install initially sets the volume to 67, an otherwise-inaccessible value, unless you twiddle the control carefully with the mouse.

    1. xcomcmdr says:

      67 is the default volume since Windows 7.

  11. mac says:

    All nice until 2 is too loud, there should be step 1 too. 51 steps seems as good as 50 to me.

  12. Regarding your final comment: I’ve noticed that Windows Media Center (which I still like very much as my cable TV client) has a maximum volume of 50.

    1. Al go says:

      Microsoft did invent that time machine. This guy’s here from the 2000’s.

  13. Dave says:

    Outside of computing, this is one thing that drives my nuts with some audio systems, that they let you set the sound level in ludicrously minute increments like 0.5dB. Yes, I really want to be able to control whether the sound volume is 33.0 or 33.5dB, and to get this I’m quite happy to press the volume control thirty times there and back (literally!) so I can hear the audio over the rain on the roof and then quiet it back down again. 3dB steps people, 3dB steps.

    1. Sebastian Johansson says:

      3dB is a lot for volume steps, considering some people can hear 0.5dB changes. I can hear 1dB changes.

      1. Dave says:

        Sure, and if I was running a listening test at an audiologist’s I’d want 0.5 or 1dB steps. However, this is a sound system for a TV/DVD/whatever, for which the volume requirements are “turn it up a bit, I can’t make out what they’re saying”, not “if you listen very carefully in a quiet room, can you make out the difference between this level and this one”.

        1. roeland says:

          Systems which are good enough for 0.5 dB steps to be relevant ought to have a proper volume knob anyway.

          Alternatively, if you’re stuck with up/down buttons, you can have a very small step length, and a high autorepeat which starts immediately. TVs have been doing this for a long time.

  14. Ivan K says:

    I have a friend who can’t stand volume, etc settings at odd numbers. Turns out she is not alone and there is a term for it: http://newsroom.macleay.net/the-truth-about-disparnumerophobia. (The article describes a much more serious condition than my friend’s) But I guess Windows caters to those like her in that respect.

  15. Neil says:

    Speaking of the Windows 95 volume control, it apparently goes from 0 to 500 (again in steps of 2), which is also a lot of button pressing if you want 50% volume, even when you consider that Page Up/Down changes by 100 steps. Speaking of which, Page Up/Down don’t work on the Windows 10 quick volume slider (they still work in the volume mixer at least).

    1. Karellen says:

      Seems odd. But, that could be an underlying value of 0 to 250, so it fits in a single byte, but upscaled to 500 because that makes “more sense” than going to 250, and steps of 2 make “more sense” than steps of 4 (needed for scaling to 1000).

  16. Les E says:

    I’m nostalgic for the Silicon Graphics workstation I used to use. The volume control had a -spinaltap flag you could use which would make the volume panel go to 11 rather than 10.

  17. Deltics says:

    100 buttons presses to get from 0 to 100 is a lot of button presses.

    50 button presses to get from 0 to 50 where each increment = 2 increments in volume compared to a higher resolution scale where each button press equates to 2 button presses… is STILL a lot of button presses and results in all sorts of inconsistent scenarios. None of which matter a damn, but are still inconsistent.

    If I subscribed to all channels offered by my satellite TV provider, I reckon there would be at least 100 channels to choose from/skip through. Thankfully they didn’t decide to “optimise” my channel up/down buttons to skip channels for the sake of going from first to last in a “reasonable” number of presses.

    Just saying.

  18. Joe says:

    So you can’t set it to 11.

  19. Barteks2x says:

    It could still change by 1 at lower volume levels (below 10?). With some external sound cards/DACs with headphones, even volume 10 is too loud most of the time, and with 100 the headphones work more like laptop speakers. In these cases I usually have volume set to something between 1 and 5. And it’s annoying that it can’t be changed by 1 using these keys.

  20. Damon Achey says:

    I don’t think anyone has said it yet, by why bother with any user visible label at all. My phone doesn’t have one and can then use any arbitrary step size they want. I just need a bar to see how relatively far I am.

  21. Azarien says:

    It’s a bit annoying though that one cannot set the volume to 33.

  22. jimbo1qaz says:

    SERIOUSLY you need to include logarithmic volumes (aka Volume2) by default, so increasing volume by a specific amount multiplies the output by a fixed amount.

    Using Windows’s built-in volume control on my computers, earbuds are listenable at 1, loud at 2, and earpiercing at anything above it. With headphones, earpiercing starts around 10 or so. Either way, practically the entire volume range is wasted.

Comments are closed.

Skip to main content