Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
118 stars 1 forks source link

Earmuff mode #26

Closed InconsolableCellist closed 1 month ago

InconsolableCellist commented 8 months ago

Is your feature request related to a problem? Please describe.

Like in most social VR games, it's possible to have so many people in a world/near you that the audio gets overwhelming.

Describe the solution you'd like

I'd like something equivalent to VRChat's earmuff mode (an idea stolen from the mod version), so that you can drastically reduce the falloff distance and volume.

Describe alternatives you've considered

You can individually lower people's volume in the session settings, but that's obviously not ideal and quite labor intensive, and you have to constantly adjust it based on who's near you.

Additional Context

No response

kulzae commented 8 months ago

Isnt this covered by the whisper bubble? is there something that function lacks that this would provide?

MegaShinySnivy commented 8 months ago

I believe the point of this would be to be nonvisual, and to just reduce the volume of those around instead of muting them.

InconsolableCellist commented 8 months ago

I haven't found the whisper bubble yet, how can I use that? But yeah, this would either be non-visual or only show a visual cue during configuration, and then it'd fade away until you want to see it again.

XDelta commented 8 months ago

The whisper mode visual can be changed or hidden entirely if desired. You can switch to it as the second button in the top left of your dashboard. It is the purple mic icon ac60426e60

DoubleStyx commented 8 months ago

@XDelta It's not possible to change the range of the whisper mode though iirc.

InconsolableCellist commented 8 months ago

I tried whisper mode but it has some big drawbacks. Features I'd consider necessary for an earmuff mode:

XDelta commented 8 months ago

It does have settings for the volume outside of the bubble, with the inside volume being controlled by the voice setting as normal, in settings look for Whisper Voice Volume (outside bubble)

XDelta commented 8 months ago

Some worlds in game have implemented a more cone-like audio control system for 'facing attenuation'.

XDelta commented 8 months ago

It's not possible to change the range of the whisper mode though iirc.

Looks like it should be possible to adjust on the AvatarAudioOutputManager Located on your Head Proxy. Although I think if a world provides configs they'd overwrite any on the avatar.

The-furf-of-July commented 8 months ago

I'm not sure making this a default feature would be best, but adding things that make facing attenuation systems easier to implement would be good.

One potential issue with letting users control their hearing falloff is that we need to make sure they aren't able to adjust it past what the world's settings should allow them to hear. If someone enhances their ranges too much it could cause privacy concerns.

Pinkyyyy commented 7 months ago

Could someone make this into an item? So you grab earmuffs and put it on your head, and they attach to your avatar, similar to how Mute Helper works, and you can also just grab them to take them off (maybe might be better to do this action through the context menu).

It would also be a visual indication to other people that hey: maybe yall should separate out a bit.

I find it strange how people even in VR decide to all just stand in 1 big group and have 5 different conversations in mini groups. Instead of you know...just walking to a different place to talk.

MargoSizemore commented 7 months ago

Could someone make this into an item? So you grab earmuffs and put it on your head, and they attach to your avatar, similar to how Mute Helper works, and you can also just grab them to take them off (maybe might be better to do this action through the context menu).

It would also be a visual indication to other people that hey: maybe yall should separate out a bit.

I find it strange how people even in VR decide to all just stand in 1 big group and have 5 different conversations in mini groups. Instead of you know...just walking to a different place to talk.

Can someone let me know if this becomes a thing?

MegaShinySnivy commented 7 months ago

Could someone make this into an item? So you grab earmuffs and put it on your head, and they attach to your avatar, similar to how Mute Helper works, and you can also just grab them to take them off (maybe might be better to do this action through the context menu).

It would also be a visual indication to other people that hey: maybe yall should separate out a bit.

I find it strange how people even in VR decide to all just stand in 1 big group and have 5 different conversations in mini groups. Instead of you know...just walking to a different place to talk.

My issue is that even in 'small' groups I run into issues where the audio falloff doesn't seem to be enough, and I still hear players at full volume even on the other side of the world. As someone with an audio processing disorder, this is mildly irritating and disorienting at best and forces me to get up and leave at worst

Pinkyyyy commented 7 months ago

I feel you, the audio falloff seems very large, i wish the normal speaking one was tighter. I also seem to get overwhelmed when multiple people are talking at the same time: could be like 2 small separate groups, but i can still hear them slightly.

I have to constantly go into the session settings and turn people down

akiRAM3 commented 6 months ago

I really want this. While some people may experience a strong cocktail party effect, for me, that effect is weak. There's an item to do that like "User Culling System" by zangooseoo, but this kind of feautre should be officialy supported for accessibility standpoint.

epicEaston197 commented 6 months ago

The main issue with whisper mode is that no one outside your bubble can hear you also whisper mode would be used in different circumstances and scenarios

Catboy-Slim commented 6 months ago

This issue definitely deserves the accessibility label. Whisper bubble doesn't really work for me because I can't change the distance at which I can hear other people, I can only sort of change my own voice broadcast distance. That, and the big bubble is very intrusive. Related issue #463

Frooxius commented 1 month ago

I'm trying to distill what would be the actual behaviors / features to implement from this.

I'm not familiar with the actual Earmuff mode and what it does on technical level, so descriptions/documentation of that would help.

However it sounds like best approach might be:

Are these things that user is expected to tune constantly depending on the situation/world? Or is it more something you just set once and forget?

shiftyscales commented 1 month ago

@Frooxius I can provide some additional context, as a while ago I tried out this feature on VRChat a while ago.


There are a few configurable properties the user has access to.

Hayden-Fluff commented 1 month ago

Another thing that could be important for earmuff mode is to have an option for it to also affect non-user sounds (anything not categorized under Voice). I've come across many cases where incorrectly categorized sounds are just too much, or I just don't want to hear sounds that I don't care about or aren't important.

Having the ability to quickly turn this on as well would be very helpful, in VRChat you can double-click the Volume menu button in the hand menu to quickly toggle it, and I've seen that help in many cases. I'd recommend a facet that's present on the default dash to toggle this.

The lack of a feature like this is currently one of the main things keeping me from the platform, as I actively use it all the time in VRChat and consider it a very important accessibility feature for social VR, especially for someone that gets very easily overstimulated like myself.

Frooxius commented 1 month ago

@shiftyscales Thank you, this helps quite a bit! I think I got a better idea of things now.

It does feel like the cone itself should go fairly to the side too - like it's not really fully a cone, but more like a parabola/dome(ish) shape?

To me the actual cone doesn't make fully sense with how hearing works - e.g. if I have difficulty hearing something, I turn my ear towards it, but with pure cone that would decrease the volume, instead of increasing it.

@Hayden-Fluff I don't think we can affect non-user sounds super well, as there's not a good way to instrument all of these. Are people often categorizing sound effects and other things as "Voice"? You should be able to turn SFX, Multimedia and such down already.

For the quick access - the new Settings UI has a system that will let you take any settings and place them in your dash or other places, so you'll be able to do that implicitly once that is done.

We probably won't place it there by default, because we want to keep the Home screen clean and we found in the past that too many options there overwhelm new users.

JackTheFoxOtter commented 1 month ago

I like the idea of an earmuff mode, especially a highly configurable one, however, it might be good at least taking a mental note of #463 to make sure the earmuff mode is not gonna be "overcorrecting" for the already inaccurate voice falloff. I think for a lot of people wanting an earmuff mode might be wanting a solution for the symptom of the inaccurate voice falloff. I do experience issues in crowded sessions frequently of having trouble focusing on the person in front of me, so I think I'd probably occasionally turn this on in any case.

Frooxius commented 1 month ago

Hmm this makes this a bit more complicated, I do wonder if we need to tackle the voice falloff first before this.

But it sounds to me like it can be done either way. If this "overcorrects", people will just need to re-tune the earmuff settings.

JackTheFoxOtter commented 1 month ago

But it sounds to me like it can be done either way. If this "overcorrects", people will just need to re-tune the earmuff settings.

Yeah that's my thinking as well. It would be useful in either case! I think both are valuable, and it will likely also be a big preference thing for different people. I just wanted to bring it up because the issues are very related!

shiftyscales commented 1 month ago

@Frooxius - Yeah- it's definitely not really a cone. Shown in the graphic below are the two extremes/the extent of its shape- even at its most conical- the user can still hear things that are immediately behind them. It just pushes the user towards the edge of the circle, and reshapes it to prioritize what is in front of them instead of off to the sides. There is always some amount of peripheral awareness of what is going on around you- but how much of that is behind/to the sides of the user is configurable.

R.e. voice falloff:

shiftyscales commented 1 month ago

I don't think that additional tweaking such as #463 has to be tackled first, the issues have a common problem- but also differing use-cases. Earmuff mode is still useful as an accessibility setting for those who are over-stimulated by too much going on at once.

Between the two, I think this is the more important issue to prioritize as it puts the control into the users hands to pick a configuration that is most comfortable to them.

As highlighted- if we do fix other underlying problems such as the above linked issues, the user can just readjust their earmuff/falloff settings as needed.

Hayden-Fluff commented 1 month ago

This is less related to earmuff mode in particular, but is related to a point Shifty made in an earlier comment.

Another problem I have with only Resonite is I'm always too quiet, I don't use normalization, so to counteract this I have to add an extra 12dB of gain to my pre-processing chain to be at a "normal" volume.

As stated, Resonite is literally the only place I have this issue, and I don't feel like normalization should have to be a requirement because there are cases where I do want the dynamic range in my voice.

FlameSoulis commented 1 month ago

I have to agree that the larger relation of #463 is a major culprit in why this kind of feature is desired. Honestly, outside of HiFi's handling of audio, virtually all platforms seem to have an issue balancing voice volumes, and it ends up becoming a complete mess and a repeat of "the loudness war."

I was meaning to compose it, but perhaps it's more related to #73, where my Quest Pro's audio is unusually blown out, even with normalization on, whereas my Index isn't. I'm not an audio engineer, but I try to keep all microphones at equal levels if I can help it, and now seeing that may explain some oddities I've been having.

Overall, I really do suggest looking up some of the raw videos from High FIdelity's stress tests because a room full of 400+ people, all talking, and the simple fact that you could still understand people right next to you is proof that balance is possible. The concerns of this feature are what I'd view as accessibility for those who need less background noise and more clarity for those nearby, but as it stands, this applies moreso for many more people simply because the audio handling is kind of broken.

EDIT: Also, directional audio is not great either. At a certain point, once people are close enough, it's like the positional system gives up and just slightly balances the audio in favor of left/right, respective of the speaker's position. I may need to look into if that is an existing ticket, but that could also be causing the loudness issues to seem worse than it actually is.

WayaShinzui commented 1 month ago

I will cry big fat happy tears if earmuff gets added and/or voice falloff is fixed. I frequently have to jump away and throw up my whisper bubble when there's a ton of people around and no user-made culling system to help. The current voice falloff is painful.

The way Shifty described the earmuff settings from VRC is spot-on and that shit is so amazing. You can actually think in a room full of people.

Frooxius commented 1 month ago

@Hayden-Fluff We can potentially add "input gain" setting in-game, but you can also just adjust the audio input volume in your system.

But generally if you disable normalization, Resonite will just use whatever audio volume your microphone gives it. If you make that choice, that's how it'll behave and it's up to you to manage your volume level.

However this is getting a bit too off topic for this, so if you have issues there, please make a separate issue.


I will be implementing this very soon (sometime next week), so this feature will come, I'm just trying to better understand the issue now, which is why I'm asking all the questions on this.

HamoCorp commented 1 month ago

Related to what was said about non-user sounds. Things like mute helpers are categorised as multi-media wouldn't work well with the mode. Also when people are having conversations in different parts of the world and have sounds on their avatar or spawned objects. Videos spawned related to a conversation usually result in everyone else going over to turn down the video player. If it's possible or in the future. having options to include other spatial sounds might be worth some consideration.

Frooxius commented 1 month ago

I think the solution for that would be to mark the mute helpers to Voice potentially.

But generally other sounds should be controlled by the Sound Effect and Multimedia volume sliders - if those are too loud, you can decrease their volume that way and keep Voice higher.

Doing earmuff on every single sound in the scene is something we're unlikely to do, because it adds a lot of complications:

I think for all other sounds, using the global volume sliders is probably best option here. You don't need to go to the video player to turn it down - you can just do so using the Multimedia slider.

shiftyscales commented 1 month ago

Hmm- I've discovered something odd- I'll be looking into it and possibly raising another issue, @Frooxius.

As far as recall previously- the whisper bubble / whisper mode volume applied to all audio sources, not just user voice. It would lower the volumes of all audio outputs in the scene that are beyond the range of the bubble.

However, in re-testing it just now using a procedural sine wave audio clip- the whisper bubble seems to make no difference to volume regardless of the whisper mode volume setting, nor audio channel- even setting the audio output to voice remains unaffected. So I think that functionality might be outright broken at the moment.

I recall having previously used the whisper bubble specifically to dampen all audio in the world including multimedia similar to what @HamoCorp is suggesting.

Frooxius commented 1 month ago

We should keep this thread more on topic please, because it's getting a bit more unwieldy with other related issues being brought up.

If there's another issue, let's make it a separate issue please.

ultrawidegamer commented 1 month ago

Personally, I sometimes get super overwhelmed when a lot of people are talking nearby. When I played VRC, I had this feature enabled 100% of the time. The key to making this feature work well is allowing configuration for multiple scenarios. The most important settings to have are Distance, Falloff, Audio Type Switch, and Visual Indicator Toggle.

Distance: The distance before audio starts to falloff. Falloff: The distance it takes to go from the current volume to no volume. Audio Type Switch: A way to switch between different types of audio to ignore outside of the zone (voices, multimedia, all). Visual Indicator Toggle: A toggle to show and hide the distance and falloff circles.

I'm super excited and can't wait for this feature to be added, as it will be a lifesaver in many of my (and I'm sure many others') social scenarios.

epicEaston197 commented 1 month ago

I do feel like that this setting should be placed in its own category called "Accessibility"

Hayden-Fluff commented 1 month ago

To add onto my comment earlier about earmuff mode affecting sounds other than users, I say this because the earmuff mode in VRChat has an option to also affect Avatar audio (ie any audio that's on a user's avatar) and this is very helpful when in open or crowded worlds.

I understand that Resonite doesn't really have this kind of separation with audio sources, but something in this direction would be very helpful. I'm unsure if it'd be possible to only affect audio sources under avatars, but this would be a very welcome thing if it is possible.

FlameSoulis commented 1 month ago

I mean, it's still doable? The earmuff mode would just need to check if the audio source is parented under a user, much like how an avatar is. If it is, then we know the audio source is from a user.

However, for objects spawned by a user and then unparented, this would fall under the radar of detection.

Frooxius commented 1 month ago

Is there a reason that lowering the volume of sound effects, multimedia and UI sounds is not sufficient for this?

Using those volume sliders you should be able to lower those sounds so they're quieter than voice.

epicEaston197 commented 1 month ago

Is there a reason that lowering the volume of sound effects, multimedia and UI sounds is not sufficient for this?

Using those volume sliders you should be able to lower those sounds so they're quieter than voice.

I can understand this if you're in a busy Club World you still want to be able to hear the music

Frooxius commented 1 month ago

Is there a reason that lowering the volume of sound effects, multimedia and UI sounds is not sufficient for this? Using those volume sliders you should be able to lower those sounds so they're quieter than voice.

I can understand this if you're in a busy Club World you still want to be able to hear the music

This wouldn't help you. Either the Ear Muff would make it quieter, or the Multimedia slider would. In either case, if you turn things quieter through some feature, they'll be quieter.

epicEaston197 commented 1 month ago

Yeah that's exactly what I was saying I wasn't against that you want players voices to be quieter within a certain range but you still wanna be able to hear the environment and music

akiRAM2 commented 1 month ago

I'd love to earmuff mode to easily switchable. I personally do not use this all the time, but I want activate when I'm in crowded areas. Therefore, I hope it can be easily switched on and off.

For example, it would be great if it were as accessible as switching the 'sitting mode' from the dash menu.

By the way, I really appreciate you considering implementing this feature.

epicEaston197 commented 1 month ago

I'd love to earmuff mode to easily switchable. I personally do not use this all the time, but I want activate when I'm in crowded areas. Therefore, I hope it can be easily switched on and off.

For example, it would be great if it were as accessible as switching the 'sitting mode' from the dash menu.

By the way, I really appreciate you considering implementing this feature.

This would likely be a setting somewhere and there's a feature that's planned but it will allow you to place facets onto your hands so although it might not be quick to access in your settings menu now, if it's added it will be way easier to access in the future when it's on your avatar's hands #1749

Frooxius commented 1 month ago

Earmuff settings have been now added in 2024.5.1.68, thanks for requesting this everyone, I hope it helps!

I'm closing this issue, since the initial version is done, but this doesn't mean we can't iterate on this more!

If something doesn't work quite right or you need more controls and such, please feel free to make new issues! But give it a spin first, play with the settings, see how well it works.