• ESP-Audio-Effects

    A Professional, High-Performance Audio Effects Library

ESP-Audio-Effects is a professional audio processing library developed by Espressif for the ESP32 series. It provides essential capabilities including audio format conversion, dynamic range control, and sound effects processing, making it well suited for embedded audio applications such as smart speakers, headphones, and voice-interactive devices.

Designed for minimal resource consumption, the library offers consistent APIs across all modules. Each module can be integrated independently or combined into a flexible audio pipelines tailored to their product requirements.

Features

  • Format Conversion
  • Audio Routing
  • Dynamic Processing
  • Audio Effects
Input Channels LRC LR
  • Rate Conversion
  • Bit Conversion
  • Channel Conversion

Rate Conversion

Converts audio to a target sample rate.

Specifications

  • 4 kHz to 192 kHz
  • Supports multiples of 4 kHz or 11.025 kHz
  • s16, s24, and s32 formats
  • Three complexity levels

Bit Conversion

Converts audio between u8, s16, s24, and s32 formats for compatibility with different audio sources and devices.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • u8, s16, s24, and s32 formats
  • Interleaved and non-interleaved layouts

Channel Conversion

Converts audio between channel configurations using a configurable weighting matrix.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • u8, s16, s24, and s32 formats
  • Interleaved and non-interleaved layouts
Ch A Ch B Interleave Deinterleave
Audio 1 Audio 2 Audio 3
  • Audio Interleaver
  • Audio Mixer

Audio Interleaver

Interleaves separate channel buffers into a continuous multichannel stream, or deinterleaves a stream into individual channel buffers.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 sample formats

Audio Mixer

Mixes multiple audio inputs into a single output with independently configurable weights and smooth fade transitions.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 formats
  • Two configurable weight sets
  • Smooth transitions between weight sets
  • Interleaved and non-interleaved layouts
Raw Gain ALC
LowLow MidHigh MidHigh
  • Automatic Level Control
  • Dynamic Range Control
  • Multiband Compressor

Automatic Level Control

Automatically adjusts gain to maintain a stable output level as input volume changes. Per-channel gain control supports microphones and other sources with varying input levels.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 sample formats
  • Gain range: (−64, 63] dB
  • Supports interleaved and non-interleaved layouts

Dynamic Range Control

Shapes audio dynamics with a configurable gain curve for compression, limiting, expansion, and noise gating. Supports up to six curve points, independent timing controls, and hard- or soft-knee transitions.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 sample formats
  • Up to six configurable curve points
  • Makeup gain: −10.0 to 10.0 dB
  • Attack time: 0 to 500 ms
  • Release time: 0 to 500 ms
  • Hold time: 0 to 100 ms
  • Knee width: 0.0 to 10.0 dB
  • Supports interleaved and non-interleaved layouts

Multiband Compressor

Splits audio into four configurable frequency bands and applies compression to each band independently. Crossover frequencies and compression settings can be adjusted per band.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 sample formats
  • Four configurable frequency bands
  • Independent compression settings per band
  • Threshold: −100 to 0 dB
  • Compression ratio: 1:1 to ∞:1
  • Makeup gain: −10 to 10 dB
  • Attack time: 0 to 500 ms
  • Release time: 0 to 500 ms
  • Hold time: 0 to 100 ms
  • Knee width: 0 to 10 dB
  • Solo and bypass controls per band
  • Supports interleaved and non-interleaved layouts
Fade InFull LevelFade Out
Howl
Input Waveform Feedback Delay Tail
  • Equalizer
  • Fade
  • Sonic
  • Howl Suppression
  • Reverb
  • Delay

Equalizer

Supports multiple filter types to independently adjust different frequency ranges. Center frequency, Q factor, and gain can be updated at runtime without reinitialization.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 sample formats
  • Supports single or multiple filter configurations
  • Filter types: High-Pass, Low-Pass, High-Shelf, Low-Shelf, and Peaking
  • Supports real-time filter parameter updates
  • Supports interleaved and non-interleaved layouts

Fade

Smoothly raises or lowers audio volume using linear or curved transitions.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • Supports s16, s24, and s32 sample formats
  • Modes: Fade-In and Fade-Out
  • Curves: Linear, Quadratic, and Square Root
  • Supports interleaved and non-interleaved layouts

Sonic

Adjusts playback speed and pitch independently or together. Speed changes preserve pitch, while pitch changes preserve playback speed.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 sample formats
  • Speed range: 0.5× to 2.0×
  • Pitch range: 0.5× to 2.0×

Howl Suppression

Detects and suppresses acoustic feedback between microphones and speakers in real time. Detection thresholds are configurable, with independent processing for each channel.

Specifications

  • Supports sample rates: 8, 16, 32, 44.1, and 48 kHz
  • s16, s24, and s32 sample formats
  • Supports any number of channels with independent per-channel processing
  • Configurable detection threshold
  • Supports interleaved and non-interleaved layouts

Reverb

Simulates room reflections and sound diffusion to add depth and spatial presence. Built on the Freeverb (Schroeder–Moorer) algorithm for natural reverb with efficient resource use.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 bit depths
  • Room size factor: [0.0, 1.0]
  • High-frequency damping factor: [0.0, 1.0]
  • Wet signal (reverb) level: [96.0, 0.01] dB
  • Dry signal (original) level: [96.0, 0.01] dB
  • Reverb pre-delay: [0, 200] ms
  • Supports interleaved and non-interleaved layouts

Delay

Creates natural echo effects using delayed copies of the input signal. A lightweight feedback delay line provides adjustable echo repetition, decay, and spatial depth.

Specifications

  • Multichannel audio
  • Supports arbitrary sample rates
  • s16, s24, and s32 sample formats
  • Configurable maximum delay: [0, 1000] ms
  • Delay range: [0, max_delay_ms] ms
  • Feedback coefficient range: [0.0, 0.95]
  • Supports interleaved and non-interleaved layouts

Key Benefits

Ultra-Low Resource Usage

Most modules use less than 1% CPU on the ESP32-S3 at 240 MHz, with memory usage measured in kilobytes. Even the most demanding module, the multiband compressor, uses less than 5% CPU.

Flexible Parameter Control

Parameters can be adjusted at runtime. The equalizer supports independent filter, frequency, and gain settings, while dynamic range and multiband compression offer configurable gain curves and timing controls.

Simple, Consistent APIs

All 14 modules share a consistent API pattern, simplifying integration, module replacement, and pipeline expansion.

Flexible Module Combination

Modules can run independently or be chained together, with support for a wide range of sample rates and channel configurations.

Support Across the ESP32 Series

This framework supports the full range of Espressif ESP32 SoCs and integrates seamlessly with existing ESP-IDF and ESP-GMF projects.