spreed icon indicating copy to clipboard operation
spreed copied to clipboard

Option to disable auto gain control / audio processing for practicing music

Open egabosh opened this issue 5 years ago • 17 comments

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

We're trying do practise music over nextcloud talk together so all participants have so send audio input at the same time. The default behaviour seems to be that only one (the first or the loudest) or whatever can talk and the other participants are muted or ther volume is set lower. For sure this is helpful in "normal" conferences while only one is talking and the others are listening but its impossible to practise music.

Describe the solution you'd like

It would be great to have an option for disabling the noise cancellation. I found some ideas doing this in the web like here: https://stackoverflow.com/questions/37326846/disabling-auto-gain-conctrol-with-webrtc-app

var constraints = { audio: { echoCancellation: false, noiseSuppression: false, autoGainControl: false, } };

Describe alternatives you've considered

We're trying to deactivate this with browser settings e.g. for chromium this way: URL: chrome://flags/ search for "webrtc" WebRTC multi-channel capture audio processing. -> Enabled

In zoom it seems to be possible to disable it but I don't want to use it for many reasons ;-) https://www.youtube.com/watch?v=wkG7yOTRIAk

Would be great if you offer this option.

egabosh avatar Apr 03 '20 08:04 egabosh

The biggest problem we currently face is that when you want to change such a setting, you have to reconnect :(

nickvergessen avatar Apr 03 '20 10:04 nickvergessen

It would be no problem for me to reconnect. Maybe the option could be global in the Talk settings?

egabosh avatar Apr 03 '20 11:04 egabosh

Sorry, didn't mean to close it.

nickvergessen avatar Apr 03 '20 11:04 nickvergessen

OK, we tried to do the following with Chromium:

URL: chrome://flags/ search for "webrtc" WebRTC multi-channel capture audio processing. -> Enabled

And start Chromium with the following options chromium-browser --disable-audio-track-processing --audio-buffer-size=16 --enable-exclusive-audio

Both didn't work for us.

Does anyone of you know a way to force deactivating the auto gain control by the webbrowser? This would be a useable workaround for us.

egabosh avatar Apr 03 '20 12:04 egabosh

Hi! I have the same problem as a musician. It's hard to practice with other band-members this way. I hope someone comes up with a solution. Thanx!

durchai avatar Apr 27 '20 14:04 durchai

I'd love this feature as well. Talk has the habbit of auto adjusting the gain on my mic to 100 all the time, which can render Talk a nightmare for other participants of a call. I need to readjust the gain every couple of minutes, otherwise I blow the eardrums of the others. So yeah, "Disable auto gain" would be a godsend.

Griefed avatar Dec 01 '20 18:12 Griefed

The microphone level auto reduction causes problems for me constantly and I'd really like to just disable it completely.

BloodyIron avatar Nov 19 '21 15:11 BloodyIron

So can we please get this implemented? I have people just straight up not wanting to use Talk with me now because of this problem >:(

BloodyIron avatar Dec 11 '21 05:12 BloodyIron

Sure, send a pull request and we can merge it. 🤷‍♂️ Otherwise please stop bumping issues with comments. It's just taking up developer time preventing the issues to be actually worked on

nickvergessen avatar Dec 11 '21 06:12 nickvergessen

I'm not a developer, let alone know this codebase anywhere near well enough to properly send a merge request of quality. I don't know if you've noticed this but it's commonplace for github issues to get automatically closed when nobody expresses interest in such things getting addressed. Saying that it's still desirable to be addressed is a perfectly reasonable thing to do. The maintainers aren't mind-readers, by saying that it's still worth doing they can actually know. It's really frustrating to read the copy+paste response of "we accept merge requests". The majority of people are not software developers, but still want to see changes, that shouldn't make them magically ineligible to post here.

BloodyIron avatar Dec 11 '21 17:12 BloodyIron

You said it 3 weeks ago already. The issue is more than 2 years old. It will remain open.

nickvergessen avatar Dec 11 '21 19:12 nickvergessen

So can we please get this implemented? I have people just straight up not wanting to use Talk with me now because of this

Guys calm down. It's a pity when using Talk makes you uncomfortable. And sure is right to mention that, as a non-dev, the only thing one can do, is explain one's needs. But complaining won't help here.

Having said that, I too want to express my wishes, that the initially explained features come to Talk. Features I think are pretty essential and over due being implemented.

But we all know the devs are busy and have tons of (awesome) stuff on their roadmap. So let's wait and maybe spread the word about Talk and the few missing features ;) The day will come and lonesome dev will fulfill our wishes (regarding this issue).

ecc86 avatar Dec 11 '21 21:12 ecc86

Has there been any update on this? It's still looking like zoom is the only option I have and I'd really rather not give them money if at all possible.

socphoenix avatar Jul 19 '23 18:07 socphoenix

Has anyone tried https://chrome.google.com/webstore/detail/disable-automatic-gain-co/clpapnmmlmecieknddelobgikompchkk?

Leon99 avatar Oct 04 '23 06:10 Leon99

@nickvergessen do you happen to know if there's something in Talk's code that explicitly enables echoCancellation/noiseSuppression/autoGainControl?

Leon99 avatar Oct 04 '23 06:10 Leon99

No, but the default is "on", so we would need to explicitly opt-out

nickvergessen avatar Oct 04 '23 10:10 nickvergessen

The Disable Automatic Gain Control Chrome plugin seems to have done the trick for me for a bunch of months. But this really still needs to get fixed, as a browser plugin should not be required for an actually usable eMeeting experience. It's still horrible without it!

BloodyIron avatar Oct 11 '23 20:10 BloodyIron

Things to do:

  • Add a small settings icon next to the device list in the first screen
Image
  • Add an "Advanced settings" option in the device menu during the call
Image
  • On click open a modal with 3 switches:
    • Noise suppression
    • Echo cancellation
    • Auto gain

nickvergessen avatar Oct 29 '25 08:10 nickvergessen

Looking at Jitsi Meet solution (which inspired previous virtual BG implementation):

  • Library with WASM module is used: https://github.com/jitsi/rnnoise-wasm
  • Need some testing, but looks like it's a simple plug-in for AudioContext, which we already have: https://github.com/jitsi/jitsi-meet/blob/9013881f764c02f3ee7d3792b6677ad3ef6d1dc5/react/features/stream-effects/noise-suppression/NoiseSuppressionEffect.ts#L260-L277

Antreesy avatar Nov 28 '25 10:11 Antreesy