Forum Discussion
Acoustic Echo Cancellation (AEC) for Teams Rooms Integration
- Sep 21, 2020
Hello
Not quite, the original intention seemingly is like this:
* If the external audio DSP is MS-Teams-certified, all the MS-sided audio processing will be turned off, be it on the cloud side OR within the local running app.
Reason: The certification process proved, that the in-room external DSP is able to do a good in enough or even better job than all MS' automagic.* If the DSP is NOT certified, then MS does not switch off its own processing but forces it.
Reason: MS does not know, how "good" the DSP is, so better safe than sorry. Well, ....* The external DSP can indeed signal to the host PC, that it does have AEC capabilities. This is done via the USB terminal type. Trusted rumors are, that for example SkypeConsumer uses this info to switch on/off local AEC. However MS Teams does NOT work that way. Teams is using its own whitelist = certification list to decide.
This has some serious consequences, which are far from optimal:
1. If you hook up a perfectly working but not-certified external DSP, then MS nevertheless throws in its own DSP/AEC. Now having two different DSPs trying to improve audio is almost a guarantee for more or less distratrous results.
==> If using a non-certified DSP (for whatever reason), do yourself a favour and switch off all its dynamic functions and also switch off all kinds of AEC, NR=noise reduction and other gizmos until MS wakes up and gives us audio guys some control over the MS side of audio processing.=> AEC and NR are highly dynamic processes and work well only in an otherwise non-dynamic system. Their operation is pure "cause and effect" like you turning the driving wheel. As soon as someone else is also steering without you knowing, your wheel turning (cause) will have a different effect, from what you expected.
Means: If you have two or more of theses dynamic parts like AEC & NR in the signal change, things get very ugly very fast.2. The algorithms in the cloud are most likely developed at a much faster pace and using much more smartness (like machine learning, etc.) compared to a local audio DSP, which is most likely installed, tuned and afterwards forgotten about.
Means: It could be very beneficial to combine both the on-site specific tuning of an in-room DSP setup by knowledeable people AS WELL AS still having access to advanced stuff like psycho-acoustic tricks from a cloud-based intelligence.
However, until audio guys dont have acess to both cloud-side as well as local (in-app) processing, it is close to impossible to tune for perfection. Also the cloud side can (and will!) change any time and the app-side can change with any monthly app update. So what used to work well can break any time!3. Just installing a certified external DSP does not guarantee perfect results. There are so many parameters to tweak on a modern DSP => many possibilites to screw up.
Despite all their good intentions, MS can never be sure, that the external audio DSP is setup properly. The certification process proved, that the external box CAN be made sounding great, but has zero to do with the actual install.Long story short:
In order to make it simply for a majority of people, MS does it make very difficult for people knowing what they are doing OR for applications which are "beyond" than the cubicle and standard conference room setup and therefor needing specialist audio know-how & hardware in the room.
As stated: Others give me as the audio guy at least some basic access but the whole concept is far from being perfect.
Hope this helps
HST
8605pemo wrote:
Graham, in general. Would you say that what he says can be applied? That if a DSP is non certified, audio processing will be ON in the cloud and if the DSP is certified, all audio processing will be handled within the cloud?
I have read already that when a device connectsto a pc, it will do some kind of driver handshake to identiy what built in driver/ profile that will be used depending on application.
This is a imortant subject to lift and the answer is not very clearly stated.
8605pemo
I have read already that when a device connectsto a pc, it will do some kind of driver handshake to identiy what built in driver/ profile that will be used depending on application.
This is a imortant subject to lift and the answer is not very clearly stated.
Cheers!
Hello
Not quite, the original intention seemingly is like this:
* If the external audio DSP is MS-Teams-certified, all the MS-sided audio processing will be turned off, be it on the cloud side OR within the local running app.
Reason: The certification process proved, that the in-room external DSP is able to do a good in enough or even better job than all MS' automagic.
* If the DSP is NOT certified, then MS does not switch off its own processing but forces it.
Reason: MS does not know, how "good" the DSP is, so better safe than sorry. Well, ....
* The external DSP can indeed signal to the host PC, that it does have AEC capabilities. This is done via the USB terminal type. Trusted rumors are, that for example SkypeConsumer uses this info to switch on/off local AEC. However MS Teams does NOT work that way. Teams is using its own whitelist = certification list to decide.
This has some serious consequences, which are far from optimal:
1. If you hook up a perfectly working but not-certified external DSP, then MS nevertheless throws in its own DSP/AEC. Now having two different DSPs trying to improve audio is almost a guarantee for more or less distratrous results.
==> If using a non-certified DSP (for whatever reason), do yourself a favour and switch off all its dynamic functions and also switch off all kinds of AEC, NR=noise reduction and other gizmos until MS wakes up and gives us audio guys some control over the MS side of audio processing.
=> AEC and NR are highly dynamic processes and work well only in an otherwise non-dynamic system. Their operation is pure "cause and effect" like you turning the driving wheel. As soon as someone else is also steering without you knowing, your wheel turning (cause) will have a different effect, from what you expected.
Means: If you have two or more of theses dynamic parts like AEC & NR in the signal change, things get very ugly very fast.
2. The algorithms in the cloud are most likely developed at a much faster pace and using much more smartness (like machine learning, etc.) compared to a local audio DSP, which is most likely installed, tuned and afterwards forgotten about.
Means: It could be very beneficial to combine both the on-site specific tuning of an in-room DSP setup by knowledeable people AS WELL AS still having access to advanced stuff like psycho-acoustic tricks from a cloud-based intelligence.
However, until audio guys dont have acess to both cloud-side as well as local (in-app) processing, it is close to impossible to tune for perfection. Also the cloud side can (and will!) change any time and the app-side can change with any monthly app update. So what used to work well can break any time!
3. Just installing a certified external DSP does not guarantee perfect results. There are so many parameters to tweak on a modern DSP => many possibilites to screw up.
Despite all their good intentions, MS can never be sure, that the external audio DSP is setup properly. The certification process proved, that the external box CAN be made sounding great, but has zero to do with the actual install.
Long story short:
In order to make it simply for a majority of people, MS does it make very difficult for people knowing what they are doing OR for applications which are "beyond" than the cubicle and standard conference room setup and therefor needing specialist audio know-how & hardware in the room.
As stated: Others give me as the audio guy at least some basic access but the whole concept is far from being perfect.
Hope this helps
HST
8605pemo wrote:
Graham, in general. Would you say that what he says can be applied? That if a DSP is non certified, audio processing will be ON in the cloud and if the DSP is certified, all audio processing will be handled within the cloud?
I have read already that when a device connectsto a pc, it will do some kind of driver handshake to identiy what built in driver/ profile that will be used depending on application.
This is a imortant subject to lift and the answer is not very clearly stated.
8605pemo
- AGBasaloJul 03, 2021Copper Contributor
Hello, Harald! I have a question for you.
This process of "auto-sensing if the external DSP is MS-Teams-certified or not and then auto-switching OFF/ON the AEC processing (either cloud side or within the local running app)" will happen only in Teams Rooms? Or it is also true for the standard desktop MS Teams app?
We have an MS-certified ceiling microphone array + a DSP-USB interface in a room, but since I didn't receive the MTR kit yet (NUC + touch interface) I configured/tested the microphones/DSP using a standard PC with the standard Teams desktop app, and I'm not getting the quality that I was expecting 😕 I'm wondering if I'm suffering the "double-AEC" problem.Thank you!
- 8605pemoJul 05, 2021Copper Contributor
As some others are asking, what USB interface are you using ?Please note that is has to be a certified DSP, such as Bose, Shure / Biamp / Q-SYS or what brand you might have.
You may find them here:
https://docs.microsoft.com/en-us/microsoftteams/rooms/requirementsThere is also on / off settings for "Automatic Level Adjustments" and "Noise Reduction" via the Teams desktop client, if you check your settings. (Where you choose camera etc)
- C_WisnerJun 20, 2022Copper ContributorIt's now mid 2022. Supply chain issues are wreaking havoc with everyone. The need for systems that "play nice" with Teams as well as Brand "Z", and other cloud-based Collaboration/Conferencing providers is paramount. I have run into ZERO end-users who standardize on one solution. So even going into a larger room with mic arrays, pro DSP with AEC, etc - they just use whichever conferencing platform they like.
Are there any updates as to how Microsoft deals with these varying end-user scenarios? Is there a place on the Microsoft website to get help? Naturally, our clients do not want a "Microsoft Teams Room" - they want a conference room that will "just work" with whatever call they make. Typically there's a room PC that is connected via USB to the audio system and to the network to make the call.
- Harald_SteindlJul 05, 2021Iron Contributor
AGBasalo
Hello.
It is hard to say without knowing your setup but I suspect, that your system cannot be considered certified. Which in turn means Teams.exe is NOT offloading AEC to your hardware.
FYI: The whitelist to differ between certified and not-certified is done via USB-PVID/VID since (currently) the only way of getting external audio into a TeamsRoom is via USB.
So the make-or-break question is not about the microphone but whether your "DSP/USB" box is certified.
So...
1. Does your "DSP/USB" box include an AEC and is it activated? yes/no?
2. Maybe I missed something, but is there any such thing as a teams certified mic array? As long as it is not directly connected to the PC via USB there is no way of identifying from the PC aka MS.
SORRY, but I do not know the answer to your question about teams desktop app vs. teams rooms app.
I am curious myself. If I had to speculate I would think, that they behave differently.
What is your less-than-perfect experience? - justinblissJul 04, 2021Brass ContributorWhen you say "I'm not getting the quality that I was expecting" what symptoms are you hearing? What are your testing scenarios?