May 06 2020 10:21 AM
I've been researching on Teams Rooms audio integration for large conference rooms. System design in question calls for an external DSP processor. I've read an opinion that for non-certified audio device Teams will apply a default audio processing in the cloud, including AEC processing. Wich may be detrimental for the audio when DSP runs its own AEC.
Is there a way to avoid this extra in-cloud processing? In particular, if my DSP shows as generic Echo Canceling Speakerphone in Teams Rooms Settings, will it still get the same audio treatment in the cloud?
May 22 2020 10:26 AM
May 31 2020 12:09 PM
Jun 01 2020 02:07 AM
Sep 16 2020 04:39 AM
Well, its the old story. MS tries to be super smart and does everything auto-magically.
For what it's worth "the other guys named Z**M" handle it very good.
In their Z**M ROOMS application there is a simple admin switch called "software audio processing".
When certain whitelisted audio products are detected, this switch is flipped automatically to OFF.
For all other DSPs it defaults to ON but can be forced OFF.
This would also be nice to have on the TEAMS side.
For what it's worth: There is a similar function called "original audio" even on their client & mobile app, so not just on their room products.
Sep 16 2020 04:42 AM
Sep 20 2020 11:46 PM
SolutionHello
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
Jul 02 2021 05:23 PM - edited Jul 02 2021 05:24 PM
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!
Jul 04 2021 02:25 PM
Jul 05 2021 12:06 AM
@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?
Jul 05 2021 12:12 AM
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/requirements
There 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)
Jun 20 2022 09:36 AM
Jun 21 2022 01:43 PM
@C_Wisner The idea is that you choose a Teams Room or a Zoom Room, and it also allows you to join the other vendors meetings through Direct Guest Join.
Enable Teams Rooms devices to join third-party meetings - Microsoft Teams | Microsoft Docs
Jul 04 2022 11:36 PM
Sep 20 2020 11:46 PM
SolutionHello
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