INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Some thoughts on volume control.  (Read 4534 times)

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Some thoughts on volume control.
« on: May 09, 2013, 06:04:15 pm »

Recently, Matt mentioned that probably once a week or so, they receive questions/complaints related to Volume Protection.
So I've been mulling it over in my head the last couple of days, and thinking about how things could be improved - not just with Volume Protection, but the whole volume section inside Media Center.

The first thing is an "easy" change - I don't like the naming of the volume control options:
  • Application Volume
  • Internal Volume
  • System Volume
  • Disabled
I've seen a few people get these confused, so I think rearranging and renaming them would help.
  • 64-bit JRiver Audio Engine (recommended)
  • System Volume Control (global)
  • Windows Mixer (per-application)
  • Disabled
I'm not saying these names are ideal, but they are more descriptive, and it makes it more enticing to use the internal volume control - which is what most people should probably be using.



I normally have volume control disabled in Media Center. Not because I think there's anything wrong with it, that just works best in my system as it guarantees that I'm not going to be blasted by the volume from something else on the machine when I don't have sound playing through Media Center. (games, browser ads, streaming videos etc.) But I've tried using it for the last few days to get an idea of how things work.

So when I saw a "Loudness" option in the volume section I thought hey, they have the option for a logarithmic volume control, because we don't perceive volume differences in a linear manner. Neat.
After reading up on it, that's not what it does at all.

What Loudness actually does, is apply ISO 226:2003 "Equal-loudness" contours to the audio when volume is below 100%.
Rather than "Loudness", it might help to have something more descriptive like "Use "equal-loudness" volume correction (ISO 226:2003)".

This is a really nice feature to have implemented in Media Center, and something I might like to take advantage of when my audio setup changes, but (of course) I have some issues with the current implementation:

1. I wonder if this should be active at or above 83dB. While there are curves up to 100 phon, surely content is not mastered with this in mind, and it should only be applied when reducing volume below that level.

2. These curves are supposed to act at absolute volume levels, not relative ones.
Now it might produce a nice "bass-boost" effect when it's enabled in an uncalibrated system, but for it to work correctly, Media Center needs to know what your speaker output levels are.
I am tempted to push for this option only being made available once a value has been set for "Internal volume reference level" or being renamed to something else when no value has been set; I suspect that there are probably a lot of people using Media Center with "Loudness" enabled without knowing what it does.


And on that subject, I think it would make more sense for "Internal volume reference level" to be changed to: "Calibrated volume level (dB)" with the default being "0" rather than "100"

That way - by default - the volume control operates as a relative volume control, just as it does today. Any volume adjustment is ±0.5 dBFS. (more-or-less)

When you set a calibrated volume level - 83dB for example - volume adjustments should now be shown as absolute values, because it can be assumed that Media Center is being used to control the volume rather than an external device.
Instead of "Volume: 88% (-6.0 dB)"  a volume adjustment should now read: "Volume: 77.0 dB (-6.0 dBFS)" or perhaps "Volume: 77.0 dB (88%)" if that's what you prefer. Percentages have little meaning in an absolute volume scale though, in my opinion.
An additional benefit of this is that now you have an absolute reference level for ISO 226:2003, it can work even when Media Center is at 100% volume.



Now onto Volume Protection:
There are things which could be done to enhance the operation of Volume Protection in its current state, but as I've been thinking it over the past few days, it's made me realize that Volume Protection could mean many things to many people, and if you are willing to expand it, it could be a lot more powerful. (which may require its own section or dialog box)

In its current state, Volume Protection seems to do three things:
  • Stops volume from being adjusted by more than 5% at a time.
  • Limits volume adjustments to a maximum of 20% a second.
  • Starts playback at 20% volume if nothing has played for more than 30 minutes.
The way 1 & 2 are handled is not very user-friendly. There is no indicator to show why the volume control is "misbehaving" and Media Center takes control of the mouse cursor, causing it to move erratically.

What I'd like to propose would be:
  • Removing whatever is being done to the mouse cursor. Even when I know the cause, I hate it.
  • Adding a "ghost" volume control that is freely adjustable
  • Somehow indicating that Volume Protection is active
  • Gradually increasing the "real" volume control to the "ghost" control at the maximum rate allowed by Volume Protection
Here's what I imagine this looking like when going from 0% to 100% volume:



This lets the user have full control over where volume is going to end up, but doesn't make the change immediately, and gives an indication that something is limiting the adjustment they're trying to make.
You could make it so that hovering or clicking on the red speaker icon (which normally brings up the volume control menu) will then give a brief description explaining that Volume Protection has been engaged and is limiting adjustments.

And as for enhancements to Volume Protection, here are a few things I had been thinking about:
  • "Night Mode" - rather than when there has not been anything played for 30 minutes, in a set time range (say 10pm-8am) always limit volume when starting playback. (and fade up to it)
  • In addition to that, "Night Mode" could have a fixed upper limit on volume, and gradually fade down to that by some set duration - even over the space of an hour perhaps.
  • During normal operation, I don't want that 20% limit at all - I want protection from unexpected loudness (i.e. something going wrong) but don't mind if playback starts at full volume. For some people, 20% is probably too low, or 30 minutes is too short - or not short enough. Perhaps this should be variable.
  • Protection from everything else. If WASAPI Exclusive mode is being used, Media Center is always outputting silence, even if a track is stopped.
Logged

StFeder

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1493
  • Fight! You may win. If you don't, you already lost
Re: Some thoughts on volume control.
« Reply #1 on: May 09, 2013, 06:29:49 pm »

I like what I red :) Hope to see some of your suggestions in MC sometime.

Especially I like your renaming suggestions and your "ghost volume" :)
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42343
  • Shoes gone again!
Re: Some thoughts on volume control.
« Reply #2 on: May 09, 2013, 07:30:03 pm »

Some good thoughts here.

As a counter-point to naming changes, it's something we try to avoid unless there's a really good reason.  The volume system is pretty well documented here:
http://wiki.jriver.com/index.php/Volume

And here:
http://www.computeraudiophile.com/content/436-jriver-media-center-17-detail/

And on other sites.

So if we change all the names, we create new problems.



As for the ghost idea, I'm not sure how it would act if you did a single click on the 90% mark when the volume was at 10%.  It would be bad if it just started moving towards 90% and kept going until it got there.

I've wondered if a simple popup bubble (like the instructions that optionally show when you enter Theater View or Display View) could be shown saying 'Volume increases are being limited because Volume Protection has been enabled'.

Or it could show a message when you turn Volume Protection on.  If users read messages (myself included), this would work better.
Logged
Matt Ashland, JRiver Media Center

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5233
  • "Linux Merit Badge" Recipient
Re: Some thoughts on volume control.
« Reply #3 on: May 09, 2013, 07:42:07 pm »

I think I'm on board with most of what you described, but I think I'm on a different page about "Loudness."  

It's called loudness because it emulates a function button that used to be regularly found on amplifiers labelled "Loudness" (and is still found on some amps).  The amps did it in a much cruder way, but for that reason, I knew more or less what the loudness button was likely to do.  It's a convention, which is not necessarily a overwhelming reason to keep the name, but it is the industry recognized name for that kind of correction http://en.wikipedia.org/wiki/Loudness_compensation.  

I think disabling it until a reference is set (or setting the reference to zero) is probably not a good idea as it would likely result in "the loudness option doesn't do anything" type complaints, whereas with the current system people can turn it on and at least get something out of it.  The threads and wiki make it pretty clear that good functioning of the loudness option requires system calibration, and JRiver has provided good calibration tools.  

That said I would absolutely support changing the volume read out to displaying absolute dB once you've set the volume reference, and many of the other ideas you've floated (an adjustable volume protection reset point would be great, sometimes 20% is still higher than I'd like, and I'd set it to 10% if I could).
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Some thoughts on volume control.
« Reply #4 on: May 09, 2013, 09:07:47 pm »

As a counter-point to naming changes, it's something we try to avoid unless there's a really good reason.  The volume system is pretty well documented
...
So if we change all the names, we create new problems.
That's understandable, but I feel that for less experienced users, or people that aren't used to reading the Wiki whenever they aren't sure about something, the current naming scheme doesn't make sense.

I could be wrong, but I don't think a lot of people use the Windows Mixer on a per-app basis, so "Application Volume" and "Internal Volume" are ambiguous terms.
The examples I chose are self-explanatory, so that you shouldn't need to read the Wiki to figure things out, and they help push users in the right direction.

As for the ghost idea, I'm not sure how it would act if you did a single click on the 90% mark when the volume was at 10%.  It would be bad if it just started moving towards 90% and kept going until it got there.
Ah, I think I see what you mean now. I was thinking that the maximum 20% adjustment per second would mean that it could go from 0-100 in 5 seconds.

Rather than being a limit on the rate of change, it's a limit on the amount of change. So the rule is "you cannot make more than 20% of adjustment within a 1s period".

Something like this might work, keeping the idea that the red speaker is an indicator of the slowed rate of change (same idea as trying to slow down the mouse cursor, without the bad user experience) and a red bar indicating that you have gone over the maximum volume allowed for a single change.

Here, the user is at 10% volume, clicks 90%, and Volume Protection kicks in, limiting the change to 30%:


I'm not sure how well this would work as a solution in the real world (you now have third-party skins to consider etc.) I just feel like the UI should present what's happening visually, rather than assume the user knows what's going on because they enabled Volume Protection at some time in the past.


Software development is easy inside Photoshop and a Reply box, especially when you aren't the one that has to actually build it or consider the consequences of change... ;) (I do try to consider them though...)

I've wondered if a simple popup bubble (like the instructions that optionally show when you enter Theater View or Display View) could be shown saying 'Volume increases are being limited because Volume Protection has been enabled'.
Maybe that's the easiest way to handle it. I really hate the way it takes over your mouse cursor though, and do you have a popup every time?

If you only do it the first time, I would expect "something popped up on my screen about volume and I don't know what happened, but it's making my mouse go crazy" style posts.
And if you do it every time, it annoys people that know what it was when they enabled it.

That's why I like the idea of a red indicator which flashes to indicate when Volume Protection is working, and you could hover over or click it to get a description of what's going on. (similar to the Audio Path hover, I suppose)

Or it could show a message when you turn Volume Protection on.  If users read messages (myself included), this would work better.
That's the problem - you can't assume people will read those messages (or understand them if they do) and why I thought making the volume control button turn red might be a good indicator - perhaps even stay red for an extra 10s, or even the duration of the song, if it's not clicked.

I think disabling it until a reference is set (or setting the reference to zero) is probably not a good idea as it would likely result in "the loudness option doesn't do anything" type complaints, whereas with the current system people can turn it on and at least get something out of it.  The threads and wiki make it pretty clear that good functioning of the loudness option requires system calibration, and JRiver has provided good calibration tools.
Perhaps disabling it is not the right solution then, and if there's no reference level set (this is why I like the idea of changing it from "100" to "0" by default - with "0" meaning relative adjustments) perhaps it should be left alone.
And while I would prefer to rename it to make things a bit clearer, I understand Matt's hesitation to do so.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Some thoughts on volume control.
« Reply #5 on: June 01, 2013, 12:46:10 pm »

Just bumping this.


Running everything through MC to AVR, what is the proper audio setting at - Tools>Options>Audio>Volume Setting: Internal, System, Application? How do these selections work? I'm not having a problem, just wanting to understand the various selections.

I'd like it work like the Startup Volume but instead be applied every time you start playing something.
This would allow one to get over loud dynamically compressed music killing one's ears (and speakers) after playing a quiet movie for example.
Typically I play a movie at 90-100% volume and music at 40-65% volume.
So for me personally a Play Start Volume of 40% would probably be about right.

I'm trying to get to grips with the volume modes and I can't get it to work right…


P.S. it seems that those .gifs are not animating properly in the latest Firefox Nightly - so I don't know if they were displaying correctly before either. They display correctly in IE10.
Logged

AndyU

  • Galactic Citizen
  • ****
  • Posts: 363
Re: Some thoughts on volume control.
« Reply #6 on: June 01, 2013, 01:17:28 pm »

I'd like a (fifth) volume control option that passed through to my DAC, so the DACs own volume control moved.
Logged

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Some thoughts on volume control.
« Reply #7 on: June 01, 2013, 01:25:58 pm »

I'd like a (fifth) volume control option that passed through to my DAC, so the DACs own volume control moved.
That would be really nice to have (especially if integrated with ReplayGain) but I'm not sure there is any way for that to happen.

I think the DAC would need a custom driver, and Media Center would need to add support for that specific device.
Logged

Urbanito

  • Galactic Citizen
  • ****
  • Posts: 250
Re: Some thoughts on volume control.
« Reply #8 on: June 03, 2013, 08:43:08 am »

Hi Matt:

I agree that you shouldn't chance the Volume "names". They make more sense to me than the ones proposed.

Cheers

Joao
Logged
Pages: [1]   Go Up