Espressif Audio Development Framework
Espressif Systems Audio Development Framework (ESP-ADF) is the official audio development framework for the ESP32 chip.
Overview
ESP-ADF supports development of audio applications for the Espressif Systems ESP32 chip in the most comprehensive way. With ESP-ADF, you can easily add features, develop audio applications from simple to complex:
- Music player or recorder supports audio formats such as MP3, AAC, FLAC, WAV, OGG, OPUS, AMR, TS, EQ, Downmixer, Sonic, ALC, G.711...
- Play music from sources: HTTP, HLS(HTTP Live Streaming), SPIFFS, SDCARD, A2DP-Source, A2DP-Sink, HFP ...
- Integrate Media services such as: DLNA, VoIP ...
- Internet Radio
- Voice recognition and integration with online services such as Alexa, DuerOS, ...
As a general, the ESP-ADF features will be supported as shown below:
Developing with the ESP-ADF
Quick Start
You need stable version of ESP-IDF to provide the toolchain, the ESP32-LyraT board and headphone connected.
Note: If this is your first exposure to ESP32 and ESP-IDF, proceed to Getting Started documentation.
Clone the ESP-ADF repository, set up ADF_PATH
, and then compile, flash and monitor applications in the same way as when working with ESP-IDF.
git clone --recursive https://github.com/espressif/esp-adf.git
cd esp-adf/examples/get-started/play_mp3
make menuconfig
make flash monitor
If you clone project without --recursive
flag, please goto the esp-adf
directory and run command git submodule update --init
before doing anything.
Hardware
Espressif Systems has released a number of boards for ESP-ADF to develop ESP32 audio applications, including:
ESP32-LyraT Development Board | ESP32-LyraTD-MSC Development Board | ESP32-LyraT-Mini Development Board |
---|---|---|
Getting Started with ESP32-LyraT | Getting Started with ESP32-LyraTD-MSC | Getting Started with ESP32-LyraT-Mini |
ESP32-LyraT
An open-source development board, supporting Espressif Systems’ ADF and featuring voice wake-up, a wake-up button and an audio player. Designed for smart speakers and smart-home applications.
ESP32-LyraTD-MSC
Designed for smart speakers and AI applications. Supports Acoustic Echo Cancellation (AEC), Automatic Speech Recognition (ASR), Wake-up Interrupt and Voice Interaction.
- Getting Started with ESP32-LyraTD-MSC
- ESP32-LyraTD-MSC Schematic Lower Board A (PDF) , Upper Board B (PDF)
ESP32-LyraT-Mini
An open-source mono development board. Designed for connected smart speakers and smart-home audio applications.
ESP-ADF is based on the application layer of ESP-IDF (Espressif IoT Development Framework). The git clone
command, described under Quick Start above, automatically downloads specific version of the ESP-IDF alongside with ESP-ADF. Please take a look at Get Started
Examples
Check folder examples that contains sample applications to demonstrate API features of the ESP-ADF.
Resources
- Documentation for the latest version of https://docs.espressif.com/projects/esp-adf/. This documentation is built from the docs directory of this repository.
- The esp32.com forum is a place to ask questions and find community resources. On the forum there is a section dedicated to ESP-ADF users.
- Check the Issues section on github if you find a bug or have a feature request. Please check existing Issues before opening a new one.
- If you're interested in contributing to ESP-ADF, please check the Contributions Guide.