June 2017
DocID030606 Rev 1
1/4
For further information contact your local STMicroelectronics sales
office
www.st.com
FP-AUD-SMARTMIC1
STM32 ODE function pack for MEMS microphone acquisition,
advanced audio processing and audio output
Data brief
Features
AcousticBF real-time beam forming software
expansion for STM32Cube
AcousticEC real-time acoustic echo
cancellation software expansion for
STM32Cube
AcousticSL real-time sound source
localization software expansion for
STM32Cube
Complete application including all the
acoustic functions in a unique example
application
Software graphic user interface to easily
control parameters and algorithms from a
host PC
Free, user-friendly license terms
Sample implementation available on a
NUCLEO-F446RE board when connected to
an X-NUCLEO-CCA01M1 and an X-
NUCLEO-CCA02M1 expansion board
Sample implementation available on the
BlueCoin starter kit (STEVAL-BCNKT01V1)
Description
FP-AUD-SMARTMIC1 is an STM32 ODE
function pack. This software package implements
a complete application targeting advanced
processing for MEMS microphone arrays,
including digital MEMS microphone acquisition,
beamforming, source localization and acoustic
echo cancellation. The processed audio is sent to
a USB host and a loudspeaker connected to the
relevant expansion boards.
The expansion is built on STM32Cube software
technology to ease portability across different
STM32 microcontrollers.
This sample implementation supports two kind of
systems: STM32 NUCLEO-F446RE development
board equipped with the X-NUCLEO-CCA01M1
or X-NUCLEO-CCA02M1 expansion boards and
the STEVAL-MKI129Vx digital microphone
evaluation board series or the BlueCoin starter kit
(STEVAL-BCNKT01V1).
FP-AUD-SMARTMIC1
2/4
DocID030606 Rev 1
What can you do with STM32 ODE function packs?
The STM32 ODE function packs leverage the modularity and interoperability of STM32
Nucleo and X-NUCLEO boards with STM32Cube and X-CUBE software, to create
functional examples representing some of the most common use cases in each sphere of
application.
These software function packs are designed to fully exploit the underlying STM32 ODE
hardware and software components to best satisfy the final user application requirements.
Function packs may also include additional libraries and frameworks not present in the
original X-CUBE packages, thus enabling new functions and creating more pertinent and
usable systems for developers.
What is STM32Cube?
STMCube™ is designed by STMicroelectronics to reduce development effort, time and
cost across the entire STM32 portfolio.
STM32Cube version 1.x includes:
STM32CubeMX, a graphical software configuration tool that allows the generation of
C initialization code using graphical wizards.
A comprehensive embedded software platform specific to each series (such as the
STM32CubeF4 for the STM32F4 series), which includes:
the STM32Cube HAL embedded abstraction-layer software, ensuring maximized
portability across the STM32 portfolio
a consistent set of middleware components such as RTOS, USB, TCP/IP and
graphics
all embedded software utilities with a full set of examples
How does this software complement STM32Cube?
The FP-AUD-SMARTMIC1 firmware is based on the STM32CubeHAL hardware
abstraction layer for the STM32 microcontroller, and exploits BSP and middleware layers to
build a complete acoustic application based on a MEMS microphone array. The software
acquires audio signals from four digital MEMS microphones, elaborates them using
embedded DSP libraries and streams the processed audio to a USB host and a
loudspeaker connected to the relevant expansion boards.
A software example which performs a set of operations to remotely control the device from
a PC host is also provided.
The package includes several audio DSP libraries:
the AcousticBF library provides an implementation for a real-time adaptive
beamforming algorithm - using the audio signals acquired from two digital MEMS
microphones, it creates a virtual directional microphone pointing to a fixed direction in
space;
the AcousticEC library provides an implementation for a real-time echo cancellation
routine based on the well-known SPEEX implementation of the MDF algorithm;
the AcousticSL library provides an implementation for a real-time sound source
localization algorithm: using 2 or 4 signals acquired from digital MEMS microphones, it
can estimate the arrival direction of the audio source.
The firmware provides a sample implementation supporting two systems:
STM32 NUCLEO-F446RE development board equipped with the
X-NUCLEO-CCA01M1 expansion board (based on the STA350BW Sound Terminal
®
2.1-channel high-efficiency digital audio output system) or X-NUCLEO-CCA02M1
expansion board (based on the MP34DT01-M digital MEMS microphones) and
STEVAL-MKI129Vx digital microphone evaluation board series
BlueCoin starter kit (STEVAL-BCNKT01V1)