Audio sliders are behaving in a liniar rather then logarithmic way.
complete
Talos 0
I have measured the volume levels at different slider levels and they are showing clear linear rather then logarithmic behavior.
Methodology: I am using a QSYS 110F, a professional audio processor with a USB sound card interface directly to my computer. The computer audio output was 'wired' to a RMS audio meter set to 1s averaging. Within the world I put a pink noise YouTube video with the player and all sliders and system volume set to %100.
At %100 I got a reading of -3dBFS
At %50 I got a reading of -9dBFS
At %25 I got a reading of -15dBFS
at %10 I got a reading of -23dBFS
The world volume slider exhibits similar behavior.
This matches exactly with what would be expected with a linear scale and not a logarithmic one.
This is an interface problem for a few reasons. Firstly, this means that low levels are only a relatively small decrease in volume. -20dB is not a very significant reduction in preserved loudness despite being only 1/10 volume level. Secondly, this means that the perceived volume change per % will be different at different positions of the audio slider. For example, going from %50 to %100 and %5 to %10 are both a 6dB change. This will make the changes at the top of the scale seem very minor, while the bottom of the scale will sound significant.
Log In
Fax
complete
Thank you so much for everyone's detailed feedback!
We just released VRChat 2023.1.1p1, build 1279. This makes it easier to make small adjustments at the lower end of VRChat's audio sliders.
DarkSwordsman
Fax: Please consider allowing a toggle between Linear and Logarithmic. I much prefer the old Linear scaling and it helped with my sensitive ears (and the IEMs that I use).
Tagging ~Babo~ and knah since they expressed interest/support for this feature.
Krysiek
DarkSwordsman: It's just a matter of time to getting used to the new scale. I don't see any reason to add another toggle to already bloated with options UI. Alternatively, it could only be added as an entry for manual edit in config files, but personally I wouldn't do that. It's just a slider.
DarkSwordsman
Krysiek: did you read?
For reference, here is what i have it at now.
If there are worlds where I want to push up the volume because its safe, I now need to increase master. But then another world may blow out my ear drums.
Changing master moves the entire curve. It doesn't solve the issue. Before, I would have this at 100% master, 60% voice.
HK
Merged in a post:
[1277] [Feature] Add more control of the bottom of the audio range.
Synergiance
Seems an unintentional side effect of the new logarithmic audio sliders is a loss of control of the low audio range, which I didn't realize I'd care about as much as I do. Some sort of bias or toggle might be nice.
Fax
tracked
Awesome feedback! We'll be adjusting sliders to use log₂(x)·10 instead of log₁₀(x)·20.
Here's a visualization of how that should affect our volume sliders. Please let us know if you have any other questions.
DarkSwordsman
Fax: Please, please, please allow us to choose between the logarithmic scale and linear. Even if log is default.
The linear one worked perfectly for me. In my eyes, something was "fixed" that didn't need to be fixed.
Even with Log2 it will still be too loud for sliders that I already never had at 100%. I would often max my sliders at 75%, usually 60%. This means I would need to have them at or below 25%. What is the point in a slider if I can only use less than 1/4 of it?
~Babo~
DarkSwordsman: If only someone could have predicted this! Oh wait, I did.
knah
Fax: I'll strongly recommend to have linear/logarithmic slider toggle somewhere in options, like quite a few apps already do. It looks like some people have very different approach to volume sliders (or different hardware, or different ears) and would prefer the old experience that leans on the quieter side.
Fax
knah: I agree, that would be awesome! That's
sort of
how VRChat's volume sliders used to work - except they were labeled with a 100% scale, instead of actual dB values.The incorrect labels were a cause of confusion and discomfort for some users. An avatar or a world might sound fine at 50%, but be uncomfortably loud 100%. We'd prefer not to go back to that situation.
Adding a toggle and a separate way of scaling VRChat's volume goes a little beyond the scope of this Canny post, so I'd encourage you to make a new post. I think there's value in that - but it would require some UI changes.
Fax
interested
knah
Based on measurements someone else has done (red dots), VRC uses log₁₀(x)·20 formula (blue curve) for its audio sliders, which is the "correct" curve for raw sound pressure. The correct loudness formula is log₂(x)·10 (green curve), as according to https://en.wikipedia.org/wiki/Sone , humans perceive every 10dB as doubling/halving the volume (black dots). Linear (old, going to -40dB with -inf at 0%) included for comparison - new suggested curve sits neatly inbetween, which will hopefully make sliders feel more gradual.
Tayou
after some testing around with a few friends we have compared a few other audio solutions and evaluated the loudness perception.
attatched are my GeoGebra curves & image of them.
VLC media player uses a cubic curve, which falls off way too fast at the end, making anything under 10% basically inaudible, as it is less than -60dB.
VRChats old linear setup was not perfect, but its falloff at the end made the lower percentages definitely more useful than in VLC or with the new curve.
the new log₁₀ curve is too high and creates too steep of a curve near the lower volumes.
the log₂ curve, which is what foobar2000 uses seems to give the best results, it is perfectly audible even down to 10% while not being excessively loud.
geogebra file download:
DarkSwordsman
Tayou: What I would do to have that VLC Cubic curve...
I really don't think we need loudness sliders that automatically compensate for loudness, at least to the level that is being shown here. I enjoy the 5% steps and the way it was before was perfectly fine.
Last night I was in a world where I had World at 5%, Voices at 100%, and Master at 50%, and it just barely was comfortable. Previously I never used to touch the master volume, and I don't think I should. It makes no sense for me to now adjust the master constantly.
To me, considering how much sound can vary, plus that now world sounds are insanely loud at 5%, I would prefer the VLC Cubic curve here, or at most, your proposed curve. Ideally, they should allow us to choose between multiple curves and linear, even if it requires a restart. Default should be VLC Cubic IMO
Tayou
DarkSwordsman: I suggest you compare VLC and e.g. foobar2000 yourself. I agree, that the current curve is bad and 5% worlds is till too loud, however the VLC curve is really bad in its own way as it is way too quiet.
knah
DarkSwordsman: Current slider at 5% is ~-25dB, which corresponds to about 1/6 of original loudness. As you can clearly see on the picture, the entire new curve is way louder than the old linear one.
Recommended curve at 5% is ~-45db, which is precisely 5% of full loudness, which is still barely audible, and 0% is silent. It's also lower than the original line at 5%.
VLC curve is too steep and completely wastes the 0-10% range, and too close to linear in 40%-100% range.
TLDR is that the new curve is actually a strict downgrade as it reduces the amount of loudness levels reachable, and wastes the entire 50%-100% range on insignificant volume change.
As a side note, VLC's curve is -18dB at 50%, suggested (and foobar, and win10) is -10dB at 50%, and current is -6dB at 50%. There's another variant - macOS uses -15dB at 50%, but I feel like that would be too steep too, similar to VLC's curve.
A config option to configure amount of decibels reduced at 50% might be a fine choice (and that's the only number that is sufficient to describe the entire curve - logarithms are fun!)
Another side note is on above-100% volumes - to get something twice as loud you need the entire 200% range. Therefore old linear slider offers more range in 100%-120% area than any log curve, which might be a feature.
DarkSwordsman
Tayou: Sure. But who actually runs 100% master and 100% of any of the values (plus that we have a Master volume that can go over 100%)? I would prefer it be too quiet and not use values 5-30% while keeping master consistent, than to have to constantly have my sliders at 5% and 100% (or in your proposed curve, 15% and 100%) and need to constantly adjust the master volume. The sliders were perfect with the Linear method.
And again: VRC should provide multiple curves + legacy linear for us to CHOOSE. I hope that the main feature to this proposed fix is giving us the OPTION to pick between them.
DarkSwordsman
knah: All I care about is that they let us choose between, perhaps:
- Old Linear
- New Log
- Proposed Loudness Log
- VLC Log
Or even better: Have the log value be a slider that we can set, bonus points for a visualization curve.
I just want to be able to select between 5-60% with the granularity that I used to have. I used to
at most
have my World at 90% with Master at 100%. Often it was 40% world, 60% voice, and 10% avatar, with the old Linear curve. With the proposed curve, I would need to have World at 19%, Voices at 33%, and Avatar at 8%. I am not willing to turn off the 5% steps just so I can hit these values.I think master should always stay at 100% no matter what. I should never be adjusting the master volume unless to add or remove total volume, not as a way to help with relative adjustment. This is exactly how I use my faders on my GoXLR.
I am sensitive to sound, and even if the loudness calculation is technically and mathematically correct to what you and Tayou proposed, I liked the way Linear was.
If the game had more predictable and tuned audio, I would be more open to the proposed curve as a forced option. But in a place where (with VRC's current log) 10% world volume may be quiet in one world and blowing out my ear drums in another, we need the CHOICE.
knah
DarkSwordsman: to be clear, these are slider-level curves, not input-output mappings. 10% is always 10% in all worlds, no matter which dB value it maps to, unless there's another bug where worlds get to ignore slider values somehow.
As far as hitting exact dB values - that doesn't feel
terribly
important. While you probably would be able to tell differences in 1dB steps, you rounding those values to nearest 5% values would not change your experience significantly.Though, to be fair, linear slider does have a neat side effect - if you set your world volume 25% lower than your voices, then no matter where they are on a linear slider, world would always be twice as quiet as voices. The relationship is way less obvious on log sliders, where "world twice as quiet" pairs would be, e.g. 100%-50%, 50%-25%, and 25%-12.5% voices and world volume respectively, which is moderately harder to reason about.
Quite a lot of software has log volume sliders as an option. I agree that VRC having a linear-vs-log option would likely be the best choice here to suit different workflows better. A log steepness option would be even better, but might be too niche for VRC to consider it.
DarkSwordsman
knah: As long as they provide (legacy) linear vs log as an option, that's all I care about.
Also yes, I know it isn't exactly dB values. But again: One world may be quiet at 10% while another may be super loud. I was in one of Silent's worlds two days ago and the world music was still blasting at 5% with 100% master. This shouldn't happen, especially when I have IEMs which are lower impedance.
Based on the proposed curve, this would be 16%... but I still feel like 16% being loud is not acceptable. Really, a rule of thumb for me has been "50% or lower is quieter than average" with the linear curve.
With the old Linear curve, there was not
one
scenario where I actually pushed any of my sliders to 100% volume. They already were loud enough, and this loudness curve just reduces the ability for people to turn down the volume.Sure, I could set my master lower, but now what happens when I need more volume and I max out voices at 100%? I need to touch the master slider again.
The master slider to me is a safety. It should always be at 100%, and I should only need to reduce it.
I know this is a very opinion-based thing, but that's why I really think a toggle between linear and log is required. And even better, like mentioned, a way to adjust the strength of the log curve.
DarkSwordsman
It seems that the "logarithmic" scaling they wanted was more like setting a linear with a minimum of -30 dB. Even at 5% avatar and 100% voices, and 50% master, avatar volumes are way louder than I would want them.
They should just go back to the way the sliders worked. It seems they tried to fix something that wasn't broken. Or at least: Give people the option to pick between new and legacy.
I don't like having to constantly adjust my master volume and still have it be bad, when I was able to previously just adjust each individual volume to my liking. Or they should allow you to choose between the systems.
Xifox
Been up voting the multiple posts about this, its been tested, its a problem, it /really/ needs to be fixed.
D
Dinosorceror
For the record, this is an annoying issue :)
BakaMitai
New volume defaults sounds very loud compared to old defaults before update on Oculus Rift CV1. My headset audio volume in Windows is default at 40%, I never adjusted it in other games and most of them sounded properly without touching in-game volume sliders.
Before update I used Master 100%, UI 80%, World 60%, Voices 65%, Avatars 50% and volume levels was well balanced in most cases. After the update new defaults are Master 100%, UI 100%, World 25%, Voices 45%, Avatars 15% and with these settings UI, World and Voices sounds way too loud. Using example volume conversion curve I converted my old volume into new and got numbers Master 100%, UI 40%, World 15%, Voices 20%, Avatars 10% and after making these afjustments game sounds as it sounded before the update. But this caused another issue.
I used to fine tune World volume in some loud worlds to hear voices better and almost never had to increase it. Now when I join some worlds I only have 15% of World volume bar available for fine tune that makes it inconvinient, especially with slider snapping turning on I have only 2 steps before completely disabling world audio.
I was able to counter the issue by dividing Master volume by 2 and by multiplying every other volume by 2 a few times resulted Master 50%, UI 80%, World 30%, Voices 40%, Avatars 20% then I repeated this step and got these final levels: Master 25%, UI 100%, World 60%, Voices 80%, Avatars 40% which sounds exactly as it was before (except UI, it a bit quiter but that's fine)
Seems like new defaults should have Master volume somewhere between 25% and 50% to get good range on quiet side.