MMFX Software

The Signal Essence Multi-Microphone Effects (MMFX) implements a sophisticated microphone preprocessor which greatly improves speech quality.  The algorithm is highly configurable and scalable; the number of microphones and amount of echo cancellation is dictated by your hardware platform’s processing power, real-time constraints, and power consumption.  This flexibility lets us quickly provide software for your hardware.

Architecture

MMFX consists of several components that work together:

  • acoustic echo cancellation: identify and cancel acoustic echoes (echoes originating from the loudspeaker)

  • beam search (direction finding): locate the talker and a corresponding spatial solution

  • beamforming: combine multiple microphone inputs to improve microphone pickup

  • noise reduction: identify and eliminate noise and residual echo

MMFX must run very close to the acoustical transducers (microphones and loudspeakers); ideally, MMFX is the last thing that touches audio samples before they go out to the loudspeakers and the first thing that touches samples coming from the microphones.

Processors

Our software is written in ANSI C, and is architected for portability.  Porting MMFX to a new platform typically involves customizing the beamforming solutions, then optimizing a few core computation functions.  We currently have MMFX running in real-time on ARM Cortex A series and M series processors and Intel Architecture x86 processors.

Diagnostics

Diagnostics make for fast integration and allows for remote debugging anywhere in the world.  Signal Essence exports all the essential variables and parameters to allow for total visibility of the algorithm performance.