element-hq / element-call

Group calls powered by Matrix
https://call.element.io
GNU Affero General Public License v3.0
586 stars 89 forks source link

Configurable automatic gain control #248

Open ara4n opened 2 years ago

ara4n commented 2 years ago

We seem to be using WebRTC's defaults for AGC - we should probably either force it on via audioConstraints (https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/autoGainControl) and/or make it configurable.

foxlet commented 2 years ago

A checkbox to disable AGC would be particularly beneficial for podcast or production use, where mic gain is already carefully controlled and fluctuations would be detrimental.

bblacher commented 8 months ago

Also, the checkbox within Element Desktop that should disable AGC doesn't do anything when using Element Call in Element Desktop. https://github.com/element-hq/element-web/issues/24355

natanox commented 7 months ago

For anyone who also can't use the call feature due to this unsolved issue (or with participants who regularly complain about their ears falling off), this is the workaround we're currently using:

Find out the correct number for your source with wpctl status. Then, when connecting to a call, execute while sleep 0.01; do wpctl set-volume 54 .25; done in a terminal (replace 54 with your source and .25 with the target volume, on a scale from 0.01 to 1.00). This will set the correct volume every 10 milliseconds.

perru commented 6 months ago

For anyone who also can't use the call feature due to this unsolved issue (or with participants who regularly complain about their ears falling off), this is the workaround we're currently using:

Find out the correct number for your source with wpctl status. Then, when connecting to a call, execute while sleep 0.01; do wpctl set-volume 54 .25; done in a terminal (replace 54 with your source and .25 with the target volume, on a scale from 0.01 to 1.00). This will set the correct volume every 10 milliseconds.

Well, it works but what an ugly workaround...

Me and all my contacts have this bug and nobody wanna use Element cause of it. Same on Linux and Windows.

Ceiridge commented 3 days ago

For anyone who also can't use the call feature due to this unsolved issue (or with participants who regularly complain about their ears falling off), this is the workaround we're currently using:

Find out the correct number for your source with wpctl status. Then, when connecting to a call, execute while sleep 0.01; do wpctl set-volume 54 .25; done in a terminal (replace 54 with your source and .25 with the target volume, on a scale from 0.01 to 1.00). This will set the correct volume every 10 milliseconds.

This probably also causes it to change all the time, meaning for some milliseconds, you are quieter/louder than you should be, which will sound very unprofessional

bblacher commented 3 days ago

This is just fixing an issue that shouldn't be there in the first place with a very sloppy workaround. I can't imagine that telling livekit not to do agc would be that hard.