Welcome, Guest
Username: Password: Remember me
NOTE: This forum is community powered. Please be mindful that long time community members are here to help as part of a community effort. If you have a specific issue (e.g. hardware, failure), please use our tech support portal (Support menu - > Contact Us). Thanks a lot of your help in making a better community. :-)

TOPIC: Echo Cancellation and Microphone Management

Echo Cancellation and Microphone Management 4 weeks 8 hours ago #33783

  • mosminer
  • mosminer's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 4
  • Karma: 0
I'm still trying to get a grip on evaluating echo cancellation on the UMA-8, and I have a question on microphone management. For echo cancellation my admittedly broad question of appropriate test procedures is unanswered. Let me float an assumption and see if it's true. I can devise a test from there.

If I plug the UMA-8 into my laptop as a microphone, and use my laptop speaker, then turn the AEC setting on and off there doesn't seem to be any effect.

Reading up on AEC it seems that, traditionally, AEC samples the inbound speaker signal (pre-speaker), then attempts to subtract that inbound signal from the outbound microphone signal. There is of course more to it than that, but this is the basic premise. If the UMA-8 is using this form of AEC can I assume that the UMA-8 has to be both the microphone and speaker output to make AEC work? That would mean I need to wire a speaker to the I2S port. Yes or no?

Question RE the microphones: Is there a way to select individual or groups of microphones to form left and right stereo channels? I'd like to do some experiments with microphone directionality and grouping to assess the effect on 3D audio. So I need a way to explicitly assign microphones to get mixed into left and right audio channels.
The administrator has disabled public write access.

Echo Cancellation and Microphone Management 3 weeks 5 days ago #33802

  • devteam
  • devteam's Avatar
  • Offline
  • Administrator
  • Posts: 5983
  • Thank you received: 728
  • Karma: 132
@ mosminer

1) You're indeed correct that AEC requires a "reference".
www.google.com.hk/search?q=aec+diagram&c...imgrc=yhMHZI-42kOZjM:

If you're playing a tone from your speaker, that reference isn't fed to the AEC algorithm, so the XMOS embedded code can't cancel it out. Does that make sense?
Using the I2S out (wired to a little amp) would indeed be the way to go.

2) For the mic processing, you can maybe use one of the set direction? i.e. we also added to the new manual API on how to control that from your own app (i.e. no automatic direction).

DevTeam
MiniDSP, building a DIY DSP community one board at a time.
The administrator has disabled public write access.
The following user(s) said Thank You: mosminer

Echo Cancellation and Microphone Management 3 weeks 4 days ago #33815

  • mosminer
  • mosminer's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 4
  • Karma: 0
That totally helps! Thank you!

Freezing the microphone direction won't quite get me where I want to be. BUT what I might be able to do is get a second UMA-8 and then logically merge the two microphones into a single stereo source and get close enough.

If I find the microphone quality in a two UMA-8 setup works well, is there a way I can write custom firmware myself for a single UMA-8 product prototype as a next step? I'm not seeing any SDKs or other firmware support on your site so I'm guessing not. Just have to ask.

Thanks again!
The administrator has disabled public write access.

Echo Cancellation and Microphone Management 2 weeks 2 days ago #34027

  • devteam
  • devteam's Avatar
  • Offline
  • Administrator
  • Posts: 5983
  • Thank you received: 728
  • Karma: 132
@mosminer

Unfortunately, we don't have an SDK to release all our work under open source I'm afraid.. :-(
We sometimes do custom/oem boards but that's currently reserved to large contracts as we're quite a small team unfortunately.. :-(

DevTeam
MiniDSP, building a DIY DSP community one board at a time.
The administrator has disabled public write access.
Time to create page: 0.121 seconds