-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Echo cancellation disabled in OSX #1775
Comments
+1 |
We need to change the AudioUnit used in CoreAudio.cpp to use the VoiceProcessingIO audio unit. However, it is not as simple as just changing the audio unit subtype, which caused various problems -- the CoreAudio code needs to be reworked somehow. I don't recall the problems encountered when simply switching the audio unit subtype, but I believe it simply "broke" audio output and/or input. |
+1 from me as well, alas, I don't speak the languages needed to help fix this |
Also, the UI for Audio Input in the ConfigDialog needs to be able to show that it is using "System-provided Echo Cancellation". |
👍 |
Any plans to fix this? |
Maybe this year? - Please. <3 |
This would be absolutely wonderful! |
I'm wondering that under linux there is a switch to turn AEC on but it doesn't seem to be working. I heard that it should not work under Windows either, but unfortunately I can't test it myself. I have already been asked to write a script to avoid the Echo problem. I started it but I remembered that there are other implementations, e.g. pulseaudio module-echo-cancel which runs stable since version 9.0 and works as well as mumble 1.1.x under Windows with ASIO on single speaker. That's why I didn't finish it. I think the whole implementation of the echo cancellation has to be brought up to date. |
I'd like to provide some follow-up to this old issue. As indicated in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation, since macOS 10.12, Apple included a native echo canceller in the OS. Some useful code snippets can be found here: https://developer.apple.com/forums/thread/66953. I'm wondering if there's anyone interested in implementing this. |
…IP AU Apple doesn't provide a way to hijack system audio stream into Mumble so speedx's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement mumble-voip#1775.
…IP AU Apple doesn't provide a way to hijack system audio stream into Mumble so speedx's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement mumble-voip#1775.
mumble wiki has a dead link in the FAQ regarding this topic (points to sourceforge). The wiki is what appeared in web search. Should probably point it to this Issue. https://wiki.mumble.info/wiki/FAQ/English#No_Echo_Cancellation_on_Mac_OS_X |
…IP AU Apple doesn't provide a way to hijack system audio stream into Mumble so speedx's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement mumble-voip#1775.
…IP AU Apple doesn't provide a way to hijack system audio stream into Mumble so speedx's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement mumble-voip#1775.
…IP AU Apple doesn't provide a way to hijack system audio stream into Mumble so speedx's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement mumble-voip#1775.
…IP AU Apple doesn't provide a way to hijack system audio stream into Mumble so speedx's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement mumble-voip#1775.
…IP AU Apple doesn't provide a way to hijack system audio stream into Mumble so speex's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement mumble-voip#1775.
Apple doesn't provide a way to hijack the system audio stream into Mumble so speex's echo cancellation cannot work for Mac. It was reported in https://developers.google.com/web/updates/2018/03/macos-native-echo-cancellation that Mac has a native echo cancellation AU. This commit uses this native AU to enable echo cancellation for Mac users. Unfortunately, this function is poorly documented by Apple. The best reference of this function is from Chromium's code, https://github.com/chromium/chromium/blob/master/media/audio/mac/audio_low_latency_input_mac.cc Limited support from Apple made invoking this AU a very unfriendly task. Also, the subtleness of echo cancellation made it hard to be tested. I would just submit this PR and see the reactions from other testers. Implement #1775.
I know this has been a long-running issue, but I didn't see any mention of it in closed or open tickets in Github.
The echo cancellation feature has been missing from OSX for a long time (forever?), since OSX doesn't offer a method for getting all the audio streams in the system through CoreAudio. There are other applications out there that can achieve this, but supposedly they use a lower-level interface than CoreAudio.
If this is impossible for some reason, please leave a detailed explanation so that others don't ask for this feature in the future. If there is no reason, then lets have a meaningful discussion on how to implement it.
The text was updated successfully, but these errors were encountered: