SOLVED

Acoustic Echo Cancellation (AEC) for Teams Rooms Integration

%3CLINGO-SUB%20id%3D%22lingo-sub-1364592%22%20slang%3D%22en-US%22%3EAcoustic%20Echo%20Cancellation%20(AEC)%20for%20Teams%20Rooms%20Integration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1364592%22%20slang%3D%22en-US%22%3E%3CP%3EI've%20been%20researching%20on%20Teams%20Rooms%20audio%20integration%20for%20large%20conference%20rooms.%20System%20design%20in%20question%20calls%20for%20an%20external%20DSP%20processor.%20I've%20read%20an%20opinion%20that%20for%20non-certified%20audio%20device%20Teams%20will%20apply%20a%20default%20audio%20processing%20in%20the%20cloud%2C%20including%20AEC%20processing.%20Wich%20may%20be%20detrimental%20for%20the%20audio%20when%20DSP%20runs%20its%20own%20AEC.%3C%2FP%3E%3CP%3EIs%20there%20a%20way%20to%20avoid%20this%20extra%20in-cloud%20processing%3F%20In%20particular%2C%20if%20my%20DSP%20shows%20as%20generic%20Echo%20Canceling%20Speakerphone%20in%20Teams%20Rooms%20Settings%2C%20will%20it%20still%20get%20the%20same%20audio%20treatment%20in%20the%20cloud%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1364592%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EMicrosoft%20Teams%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESettings%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1412202%22%20slang%3D%22en-US%22%3ERe%3A%20Acoustic%20Echo%20Cancellation%20(AEC)%20for%20Teams%20Rooms%20Integration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1412202%22%20slang%3D%22en-US%22%3EThere%20is%20no%20way%20to%20disable%20the%20cloud%20processing.%20The%20certified%20DSP%20are%20detailed%20here%20%3CA%20href%3D%22https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fmicrosoft-teams%2Facross-devices%2Fdevices%2Fcategory%3Fdevicetype%3D73%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fmicrosoft-teams%2Facross-devices%2Fdevices%2Fcategory%3Fdevicetype%3D73%3C%2FA%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1429994%22%20slang%3D%22en-US%22%3ERe%3A%20Acoustic%20Echo%20Cancellation%20(AEC)%20for%20Teams%20Rooms%20Integration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1429994%22%20slang%3D%22en-US%22%3EGraham%2C%20in%20general.%20Would%20you%20say%20that%20what%20he%20says%20can%20be%20applied%3F%20That%20if%20a%20DSP%20is%20non%20certified%2C%20audio%20processing%20will%20be%20ON%20in%20the%20cloud%20and%20if%20the%20DSP%20is%20certified%2C%20all%20audio%20processing%20will%20be%20handled%20within%20the%20cloud%3F%3CBR%20%2F%3EI%20have%20read%20already%20that%20when%20a%20device%20connectsto%20a%20pc%2C%20it%20will%20do%20some%20kind%20of%20driver%20handshake%20to%20identiy%20what%20built%20in%20driver%2F%20profile%20that%20will%20be%20used%20depending%20on%20application.%3CBR%20%2F%3EThis%20is%20a%20imortant%20subject%20to%20lift%20and%20the%20answer%20is%20not%20very%20clearly%20stated.%3CBR%20%2F%3ECheers!%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1430577%22%20slang%3D%22en-US%22%3ERe%3A%20Acoustic%20Echo%20Cancellation%20(AEC)%20for%20Teams%20Rooms%20Integration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1430577%22%20slang%3D%22en-US%22%3EThat%20is%20what%20I%20understand%2C%20I'm%20no%20DSP%20%2F%20audio%2C%20processing%20expert.%20Just%20what%20I%20have%20seen%20in%20the%20field%20and%20feedback%20from%20Microsoft.%3CBR%20%2F%3E%3CBR%20%2F%3EI%20have%20seen%20many%20installations%20of%20customers%20using%20non-certified%20DSPs%20and%20inputs%20and%20I%20guess%20they%20work%20around%20it%20with%20programming.%20It%20might%20work%20today%20but%20could%20fail%20tomorrow.%3CBR%20%2F%3E%3CBR%20%2F%3EBut%20of%20course%2C%20the%20MTR%20manufacturer%20will%20usually%20get%20the%20blame%20as%20it's%20their%20hardware%20in%20front%20of%20the%20user%2C%20not%20the%20DSP%20(or%20network%20etc.)%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1672849%22%20slang%3D%22en-US%22%3ERe%3A%20Acoustic%20Echo%20Cancellation%20(AEC)%20for%20Teams%20Rooms%20Integration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1672849%22%20slang%3D%22en-US%22%3E%3CP%3EWell%2C%20its%20the%20old%20story.%20MS%20tries%20to%20be%20super%20smart%20and%20does%20everything%20auto-magically.%3C%2FP%3E%3CP%3EFor%20what%20it's%20worth%20%22the%20other%20guys%20named%20Z**M%22%20handle%20it%20very%20good.%3C%2FP%3E%3CP%3EIn%20their%20Z**M%20ROOMS%20application%20there%20is%20a%20simple%20admin%20switch%20called%20%22software%20audio%20processing%22.%3C%2FP%3E%3CP%3EWhen%20certain%20whitelisted%20audio%20products%20are%20detected%2C%20this%20switch%20is%20flipped%20automatically%20to%20OFF.%3C%2FP%3E%3CP%3EFor%20all%20other%20DSPs%20it%20defaults%20to%20ON%20but%20can%20be%20forced%20OFF.%3C%2FP%3E%3CP%3EThis%20would%20also%20be%20nice%20to%20have%20on%20the%20TEAMS%20side.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EFor%20what%20it's%20worth%3A%20There%20is%20a%20similar%20function%20called%20%22original%20audio%22%20even%20on%20their%20client%20%26amp%3B%20mobile%20app%2C%20so%20not%20just%20on%20their%20room%20products.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1672850%22%20slang%3D%22en-US%22%3ERe%3A%20Acoustic%20Echo%20Cancellation%20(AEC)%20for%20Teams%20Rooms%20Integration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1672850%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F207028%22%20target%3D%22_blank%22%3E%40Harald%20Steindl%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1690002%22%20slang%3D%22en-US%22%3ERe%3A%20Acoustic%20Echo%20Cancellation%20(AEC)%20for%20Teams%20Rooms%20Integration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1690002%22%20slang%3D%22en-US%22%3E%3CP%3EHello%3C%2FP%3E%3CP%3ENot%20quite%2C%20the%20original%20intention%20seemingly%20is%20like%20this%3A%3C%2FP%3E%3CP%3E*%20If%20the%20external%20audio%20DSP%20is%20MS-Teams-certified%2C%20all%20the%20MS-sided%20audio%20processing%20will%20be%20turned%20off%2C%20be%20it%20on%20the%20cloud%20side%20OR%20within%20the%20local%20running%20app.%3CBR%20%2F%3EReason%3A%20The%20certification%20process%20proved%2C%20that%20the%20in-room%20external%20DSP%20is%20able%20to%20do%20a%20good%20in%20enough%20or%20even%20better%20job%20than%20all%20MS'%20automagic.%3C%2FP%3E%3CP%3E*%20If%20the%20DSP%20is%20NOT%20certified%2C%20then%20MS%20does%20not%20switch%20off%20its%20own%20processing%20but%20forces%20it.%3CBR%20%2F%3EReason%3A%20MS%20does%20not%20know%2C%20how%20%22good%22%20the%20DSP%20is%2C%20so%20better%20safe%20than%20sorry.%20Well%2C%20....%3C%2FP%3E%3CP%3E*%20The%20external%20DSP%20can%20indeed%20signal%20to%20the%20host%20PC%2C%20that%20it%20does%20have%20AEC%20capabilities.%20This%20is%20done%20via%20the%20USB%20terminal%20type.%20Trusted%20rumors%20are%2C%20that%20for%20example%20SkypeConsumer%20uses%20this%20info%20to%20switch%20on%2Foff%20local%20AEC.%20However%20MS%20Teams%20does%20NOT%20work%20that%20way.%20Teams%20is%20using%20its%20own%20whitelist%20%3D%20certification%20list%20to%20decide.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20has%20some%20serious%20consequences%2C%20which%20are%20far%20from%20optimal%3A%3C%2FP%3E%3CP%3E1.%20If%20you%20hook%20up%20a%20perfectly%20working%20but%20not-certified%20external%20DSP%2C%20then%20MS%20nevertheless%20throws%20in%20its%20own%20DSP%2FAEC.%20Now%20having%20two%20different%20DSPs%20trying%20to%20improve%20audio%20is%20almost%20a%20guarantee%20for%20more%20or%20less%20distratrous%20results.%3CBR%20%2F%3E%3D%3D%26gt%3B%20If%20using%20a%20non-certified%20DSP%20(for%20whatever%20reason)%2C%20do%20yourself%20a%20favour%20and%20switch%20off%20all%20its%20dynamic%20functions%20and%20also%20switch%20off%20all%20kinds%20of%20AEC%2C%20NR%3Dnoise%20reduction%20and%20other%20gizmos%20until%20MS%20wakes%20up%20and%20gives%20us%20audio%20guys%20some%20control%20over%20the%20MS%20side%20of%20audio%20processing.%3C%2FP%3E%3CP%3E%3D%26gt%3B%20AEC%20and%20NR%20are%20highly%20dynamic%20processes%20and%20work%20well%20only%20in%20an%20otherwise%20non-dynamic%20system.%20Their%20operation%20is%20pure%20%22cause%20and%20effect%22%20like%20you%20turning%20the%20driving%20wheel.%20As%20soon%20as%20someone%20else%20is%20also%20steering%20without%20you%20knowing%2C%20your%20wheel%20turning%20(cause)%20will%20have%20a%20different%20effect%2C%20from%20what%20you%20expected.%3CBR%20%2F%3EMeans%3A%20If%20you%20have%20two%20or%20more%20of%20theses%20dynamic%20parts%20like%20AEC%20%26amp%3B%20NR%20in%20the%20signal%20change%2C%20things%20get%20very%20ugly%20very%20fast.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E2.%20The%20algorithms%20in%20the%20cloud%20are%20most%20likely%20developed%20at%20a%20much%20faster%20pace%20and%20using%20much%20more%20smartness%20(like%20machine%20learning%2C%20etc.)%20compared%20to%20a%20local%20audio%20DSP%2C%20which%20is%20most%20likely%20installed%2C%20tuned%20and%20afterwards%20forgotten%20about.%3CBR%20%2F%3EMeans%3A%20It%20could%20be%20very%20beneficial%20to%20combine%20both%20the%20on-site%20specific%20tuning%20of%20an%20in-room%20DSP%20setup%20by%20knowledeable%20people%20AS%20WELL%20AS%20still%20having%20access%20to%20advanced%20stuff%20like%20psycho-acoustic%20tricks%20from%20a%20cloud-based%20intelligence.%3CBR%20%2F%3EHowever%2C%20until%20audio%20guys%20dont%20have%20acess%20to%20both%20cloud-side%20as%20well%20as%20local%20(in-app)%20processing%2C%20it%20is%20close%20to%20impossible%20to%20tune%20for%20perfection.%20Also%20the%20cloud%20side%20can%20(and%20will!)%20change%20any%20time%20and%20the%20app-side%20can%20change%20with%20any%20monthly%20app%20update.%20So%20what%20used%20to%20work%20well%20can%20break%20any%20time!%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E3.%20Just%20installing%20a%20certified%20external%20DSP%20does%20not%20guarantee%20perfect%20results.%20There%20are%20so%20many%20parameters%20to%20tweak%20on%20a%20modern%20DSP%20%3D%26gt%3B%20many%20possibilites%20to%20screw%20up.%3CBR%20%2F%3EDespite%20all%20their%20good%20intentions%2C%20MS%20can%20never%20be%20sure%2C%20that%20the%20external%20audio%20DSP%20is%20setup%20properly.%20The%20certification%20process%20proved%2C%20that%20the%20external%20box%20CAN%20be%20made%20sounding%20great%2C%20but%20has%20zero%20to%20do%20with%20the%20actual%20install.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ELong%20story%20short%3A%3C%2FP%3E%3CP%3EIn%20order%20to%20make%20it%20simply%20for%20a%20majority%20of%20people%2C%20MS%20does%20it%20make%20very%20difficult%20for%20people%20knowing%20what%20they%20are%20doing%20OR%20for%20applications%20which%20are%20%22beyond%22%20than%20the%20cubicle%20and%20standard%20conference%20room%20setup%20and%20therefor%20needing%20specialist%20audio%20know-how%20%26amp%3B%20hardware%20in%20the%20room.%3C%2FP%3E%3CP%3EAs%20stated%3A%20Others%20give%20me%20as%20the%20audio%20guy%20at%20least%20some%20basic%20access%20but%20the%20whole%20concept%20is%20far%20from%20being%20perfect.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHope%20this%20helps%3C%2FP%3E%3CP%3EHST%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E8605pemo%26nbsp%3Bwrote%3A%3C%2FP%3E%3CBLOCKQUOTE%3EGraham%2C%20in%20general.%20Would%20you%20say%20that%20what%20he%20says%20can%20be%20applied%3F%20That%20if%20a%20DSP%20is%20non%20certified%2C%20audio%20processing%20will%20be%20ON%20in%20the%20cloud%20and%20if%20the%20DSP%20is%20certified%2C%20all%20audio%20processing%20will%20be%20handled%20within%20the%20cloud%3F%3CBR%20%2F%3EI%20have%20read%20already%20that%20when%20a%20device%20connectsto%20a%20pc%2C%20it%20will%20do%20some%20kind%20of%20driver%20handshake%20to%20identiy%20what%20built%20in%20driver%2F%20profile%20that%20will%20be%20used%20depending%20on%20application.%3CBR%20%2F%3EThis%20is%20a%20imortant%20subject%20to%20lift%20and%20the%20answer%20is%20not%20very%20clearly%20stated.%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F684899%22%20target%3D%22_blank%22%3E%408605pemo%3C%2FA%3E%3C%2FBLOCKQUOTE%3E%3C%2FLINGO-BODY%3E
Highlighted
Regular Visitor

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?

 

6 Replies
Highlighted
Highlighted
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.
Cheers!
Highlighted
That is what I understand, I'm no DSP / audio, processing expert. Just what I have seen in the field and feedback from Microsoft.

I have seen many installations of customers using non-certified DSPs and inputs and I guess they work around it with programming. It might work today but could fail tomorrow.

But of course, the MTR manufacturer will usually get the blame as it's their hardware in front of the user, not the DSP (or network etc.)
Highlighted

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.

Highlighted
Highlighted
Best Response confirmed by DUtkin (Regular Visitor)
Solution

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