IDI-Systems / acre2

Advanced Combat Radio Environment 2 (ACRE2) for Arma 3
https://acre2.idi-systems.com
GNU General Public License v3.0
206 stars 117 forks source link

Option to turn off default distortion filter on radio audio #1329

Open LuckyOwl1364 opened 5 months ago

LuckyOwl1364 commented 5 months ago

Is your enhancement related to a problem? The baseline distortion filter applied to radio communication makes it difficult-to-impossible for me to understand what is being said; even with the speaker ~10m away from me with no obstructions, the audio has hisses & pops & crackles applied to it that distort speech.

Solution you'd like: If the filter could be turned off, so the only distortion to speech comes from obstructions, that would make operations go from frustrating & exhausting to perfectly fine.

Alternatives you've considered: I do not think there are alternatives that will work for me: it is not a volume problem, but the hiss and the pops and the crackles applied to all audio played through radios that makes speech unparsable.

Additional context: Example recordings of the audio (first clip the speaker is ~10m away, second clip the speaker is <100m away)

https://github.com/IDI-Systems/acre2/assets/24234179/a92a3876-a1f8-44c6-a1b5-419b203af192

https://github.com/IDI-Systems/acre2/assets/24234179/412f5222-c058-4e09-855d-dce14c40efc5

LuckyOwl1364 commented 5 months ago

Oh interesting: in the file FilterRadio.cpp is a check on a getter getDisableRadioFilter() that skips the audio-filtering process: https://github.com/IDI-Systems/acre2/blob/e5582cd7716f620ed38d719ff283b2cf45f8d3f5/extensions/src/ACRE2Core/FilterRadio.cpp#L15 that is set to false by default in AcreSettings.cpp: https://github.com/IDI-Systems/acre2/blob/e5582cd7716f620ed38d719ff283b2cf45f8d3f5/extensions/src/ACRE2Core/AcreSettings.cpp#L66

but does not look like it checks for a config change when fetching all the other configs higher up in the file. Is there a way to change m_DisableRadioFilter's value other than this setting of a default? Ideally I want to do this client-side not server-side

LuckyOwl1364 commented 5 months ago

Further investigations: it seems like the main culprits for speech being unintelligible to me may be the white noise and pink noise mixed in. I see in FilterRadio.cpp https://github.com/IDI-Systems/acre2/blob/e5582cd7716f620ed38d719ff283b2cf45f8d3f5/extensions/src/ACRE2Core/FilterRadio.cpp#L32 they can be toggled with the noise parameter, which comes from RadioEffect.cpp: https://github.com/IDI-Systems/acre2/blob/master/extensions/src/ACRE2Core/RadioEffect.cpp#L15

noise gets set by getParam("disableNoise"), which I can't seem to find in the repo (though admittedly my IDE is not indexing this repo very well for some reason). If I could toggle that param in a reachable way, that could solve my problem 🤔

jonpas commented 5 months ago

I can clearly hear and understand the voices in your recordings.

Do you have a known hearing condition? It could also be your audio equipment. Have you tried playing back those recordings on your phone?

LuckyOwl1364 commented 5 months ago

Really? It's hard for me to understand the first clip, and for the second clip, the first person talking is entirely unintelligible to me (the second person is somewhat understandable).

I have audio processing issues, so while my ears can pick up that a radio transmission is playing, I can't parse what is being said through the noise applied to the audio :( . If I could turn off the white noise and pink noise on my client, that could be enough to make things understandable.

rautamiekka commented 5 months ago

No problems in the 1st one for me either (couldn't understand the words in the latter), which sounded the same with my Android 14 tablet's speakers as always did with my HyperX-something headset on my Win10 laptop, so I agree with @jonpas.

jonpas commented 5 months ago

Really? It's hard for me to understand the first clip, and for the second clip, the first person talking is entirely unintelligible to me (the second person is somewhat understandable).

I have audio processing issues, so while my ears can pick up that a radio transmission is playing, I can't parse what is being said through the noise applied to the audio :( . If I could turn off the white noise and pink noise on my client, that could be enough to make things understandable.

Yeah, that's why I was very confused at first. But it makes sense and of course, we are willing to accept settings to make it usable for you as well.

LuckyOwl1364 commented 5 months ago

Thank you! It means a lot that you hear out accessibility issues. I'd be happy to put some work in to implement a toggle setting in the in-game addon config menu or something if that would help :) (Not that I've modded games or made UIs before but in general coding I could help)