-
-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable echo cancellation during calls #1559
Comments
Dino has support for echo cancelation and noise reduction. However it's only used if the system has the webrtc-audio-processing library installed at build time. Which OS and Dino build are you using? |
We (both sides) are both on the Flatpak version of Dino. In case it's relevant: I'm additionally applying noise reduction from my end, but the other end is not. I'm also using PipeWire on the host system. Not sure why this wouldn't be working, is there anything I can do to debug this, perhaps? It is working for me in Firefox (also Flatpak-ed) with the above-mentioned platforms, though, so might be some configuration somewhere. |
The Flatpak version should support it (although I actually never tried, but the library is used in the build). I also would't expect your local noise reduction to be the culprit (but you can try how it is without it). You can try if there is anything suspicious being logged when starting with |
Ran the command and it gives the following output - don't spot too much out of the ordinary at first glance:
|
From the logs it looks as if you change the input device shortly after the call started (from pulsedevice3 to pulsedevice0)? It might be that this breaks the echo cancellation, as this is not very well tested. Automatic gain correction seems to be kicking in and then reversing its decision to lower input gain. Also the poor_delays is way to high for correct echo cancellation to work. So something is definitely not working as it should. Can you try if it works when you don't change the input device after start? |
Thanks for the follow-up!
Yes, that's correct. I have two actual microphone devices, and the RNNoise source that I configured as mentioned in the OP. After Dino starts I switch to the RNNoise source to avoid keyboard noises from being picked up (though maybe Dino doesn't even need it if it has noise reduction). Off-topic: Dino always selects the microphone as default the next time it starts, likely because this is also the default in GNOME (but the RNNoise source can't be the default in GNOME because its own source is the microphone setting, so it knows which source to filter and it would otherwise be filtering itself).
👍 Will try as soon as I do another call (can take a few days), but will report back ASAP. |
I tried without changing the input right after, and unfortunately it's still the same. Are there perhaps other logs I could extract or view to help debug? |
Currently if calls are made, no echo cancellation is applied to the pipeline, making callers hear themselves if you use speakers rather than headphones.
By comparison, browsers such as Firefox automatically apply echo cancellation during WebRTC calls (Jitsi, Google Meet, Microsoft Teams, ...) to solve this problem. Perhaps Dino could utilize a similar approach.
The text was updated successfully, but these errors were encountered: