Applications &
demonstrations
FP-AUD-AEC1
Hardware Abstraction
Layer API
Board Support
Package
Middleware
Hardware
Abstraction
Hardware
NUCLEO-F446RE
NUCLEO-F746ZG
X-NUCLEO-CCA01M1
X-NUCLEO-CCA02M2
STM32 USB Device
Library
AUDIO IN OUT
USB Class
STM32 Acoustic EC
Library
STM32 PDM Library
STM32F446RET6U
STM32F746ZGT6U
Features
Specific example fully focused on acoustic echo cancellation
Implementation of a USB smart speaker use case with microphone
Based on STM32 AcousticEC library
Support for audio in/out streaming via USB through a dedicated USB AUDIO IN
OUT class
Description
FP-AUD-AEC1 is an STM32Cube function pack which features an example fully
focused on acoustic echo cancellation and provides an implementation of a USB
smart speaker use case with microphone.
The package includes the AcousticEC library which provides an implementation
for a real-time echo cancellation routine based on the MDF algorithm SPEEX
implementation.
The function pack also includes an implementation example for NUCLEO-F446RE
or NUCLEO-F746ZG development boards equipped with X-NUCLEO-CCA01M1
expansion board, based on the STA350BW Sound Terminal 2.1-channel high-
efficiency digital audio output system, or X-NUCLEO-CCA02M2 expansion board,
based on digital MEMS microphones and designed around MP34DT06J digital
microphones.
After the initialization of all the required elements, the device is recognized by a host
PC as a USB microphone and USB speaker at the same time.
You can record and save the real-time audio streaming and, in the meanwhile, send
the preferred audio signal to the loudspeaker connected to the expansion board. The
stereo track contains the processed signal in which the acoustic echo cancellation
has removed the far-end signal from the audio acquired by a microphone and an
omnidirectional microphone as a reference.
Product summary
STM32Cube function
pack for acoustic echo
cancellation
FP-AUD-AEC1
Sound terminal
expansion board based
on STA350BW for
STM32 Nucleo
X-NUCLEO-
CCA01M1
Digital MEMS
microphone expansion
board based on
MP34DT06J for STM32
Nucleo
X-NUCLEO-
CCA02M2
MEMS audio sensor
omnidirectional stereo
digital microphone
MP34DT06J
Applications
Speakers
Sound Sensing
STM32Cube function pack for acoustic echo cancellation
FP-AUD-AEC1
Data brief
DB4393 - Rev 1 - January 2021
For further information contact your local STMicroelectronics sales office.
www.st.com
1 Detailed description
1.1 What can you do with STM32Cube function packs?
STM32Cube function packs leverage the modularity and interoperability of STM32 Nucleo and X-NUCLEO
boards together with STM32Cube and X-CUBE software to create function examples for some of the most
common use cases of different application technologies.
These software function packs are designed to exploit the underlying STM32 ODE hardware and software
components as much as possible to best satisfy the requirements of final user applications.
Moreover, function packs may include additional libraries and frameworks that are not present in the original
X-CUBE packages, thus enabling new functionalities allowing real and usable system for developers.
1.2 What is STM32Cube?
STM32Cube is a combination of a full set of PC software tools and embedded software blocks running on STM32
microcontrollers and microprocessors:
STM32CubeMX configuration tool for any STM32 device; it generates initialization C code for Cortex-M
cores and the Linux device tree source for Cortex-A cores
STM32CubeIDE integrated development environment based on open-source solutions like Eclipse or the
GNU C/C++ toolchain, including compilation reporting features and advanced debug features
STM32CubeProgrammer programming tool that provides an easy-to-use and efficient environment for
reading, writing and verifying devices and external memories via a wide variety of available communication
media (JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, etc.)
STM32CubeMonitor family of tools (STM32CubeMonRF, STM32CubeMonUCPD, STM32CubeMonPwr) to
help developers customize their applications in real-time
STM32Cube MCU and MPU packages specific to each STM32 series with drivers (HAL, low-layer, etc.),
middleware, and lots of example code used in a wide variety of real-world use cases
STM32Cube expansion packages for application-oriented solutions
1.3 How does this function pack complement STM32Cube?
This software is based on the STM32CubeHAL. It extends STM32Cube by providing a board support package
(BSP) for the MEMS microphone expansion board and some middleware components for PDM to PCM
conversion, acoustic echo cancellation and USB communication with a PC.
The drivers abstract low-level details of the hardware and allow the middleware components and applications to
access audio data in a hardware-independent manner.
The package also includes a sample application that developers can use to start experimenting with the code.
The sample application has been developed to enable device recognition as a standard USB microphone and
speaker on a PC.
Any freeware or commercial audio recording and player software can be used.
FP-AUD-AEC1
Detailed description
DB4393 - Rev 1
page 2/4