Implement background noise suppression and typing attenuation into the mumble audio processing chain

I know ‘bumping’ already requested features isn’t well received here (which is understandable), but as the related Github PR has been stale for quite some time now, I thought it would be fine to bring this up again.

My main question is: Are those features still planned to be released sometime shortly?

As a dev for some FiveM servers, the only reason owners hold back finally adapting to Mumble is the missing noise suppression that is present in ‘other’ voice solutions. Other than that, there is nothing left to consider anything else, but sadly this often is the winning point to the adaption of Mumble.

(We all know the ‘other’ stuff sucks, is deprecated, kills performance, or simply violates current TOS, but that’s the current situation.)

This PR was a bit weird, and the author never actually fixed it. Similarly, we can’t really test voice chat functionality in real-world scenarios still, but this is still on the - by now over 1000 items long - backlog, yes, though it also ranks quite far behind on the ‘importance/risk/annoyance’ scale.

If this is actually relevant to someone’s use case, it could be expedited if actually cleaning up the PR to meet the requirements stated in the comments there oneself, though. I would have done a quick pass over this if I actually had the required setup (and other people) to easily test this, but alas, I don’t, and I don’t want to risk pushing a change only to hear 2 weeks later ‘this broke everything’ or ‘it doesn’t work’ or whatnot.

Also,

pertinently false, people have a lot of weird random reasons ranging from unreported bugs to some details about positional audio or DSP filters or … that either never get expressed, expressed as if they’re ‘the only reason’, or briefly expressed once but then never followed up on and as such can’t get implemented because more details are needed to implement such a feature.

I’ve never seen this one mentioned before as a reason to stick with hacky commercial NUI workarounds, for example…

The RNNoise code seems very simple however and I think not much can go wrong there especially if mirroring the actual code in the reference Mumble codebase.

I’ll see if I can get this implemented soon-ish, though I’d appreciate it if someone could confirm if it works/has the desired effect.

Implemented: feat(voip/mumble): noise suppression using RNNoise · citizenfx/fivem@7910e14 · GitHub

(it seems to work fine, managed to test it as I recalled this is an audio input change so I could compare using a local Mumble client)

1 Like

Wow, this was … fast^^

Happy to run a live test with ~300-500 players as soon as this is included in the Canary Build.

Thank you!