Espressif Systems Audio Development Framework (ESP-ADF) is the official audio development framework for the ESP32, ESP32-S2 and ESP32-S3 SoCs.
Note: The "main" branch of this fork is based off of ESP-ADF v2.4 with the addition of support for the ESP32 Audio Kit v2.2 boards (with es8388 codec) and the older AI Thinker Audio boards with the ac101 codec. The board are nearly impossible to tell apart, if you bought it after mid-to-late 2020 you can be almost certain it has the es8388, if it has an all black antenna it does for sure. The ac1010 codec were used for a limited number of the early AI Thinker Audio boards, these are also labeled v2.2 but have shiny copper traces on the antenna. The ac101 became unavailable and was replaced by the es8388 for the majority of these board. Unless you know for sure your board uses the ac101 you best bet is to try the ESP32-Audio-Kit v2.2 board in
menuconfig->Audio Hal->Audio board
first, if you get a codec failure error and have copper traces on you v2.2 board then you can select ESP32-AiThinker-Audio in menuconfig.
ESP-ADF supports development of audio applications for the Espressif Systems SoCs 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 and etc.
- Play music from sources: HTTP, HLS (HTTP Live Streaming), SPIFFS, SDCARD, A2DP-Source, A2DP-Sink, HFP and etc.
- Integrate Media services such as: DLNA, VoIP and etc.
- Internet Radio
- Voice recognition and integration with online services such as Alexa, DuerOS and etc.
As a general, the ESP-ADF features will be supported as shown below:
The following table shows the ESP-IDF versions supported by ESP-ADF at the current time. The lable means supported, and the lable means not supported.
The ESP-IDF master branch is marked as not supported because the major feature changes it has introduced may cause conflicts with ESP-ADF. Yet, the ADF examples not affected by those feature changes can still run correctly on the IDF master branch.
End of Life IDF branches are marked as not supported, such as ESP-IDF Release/v4.0. See IDF Supported Periods for details.
ESP-IDF Release/v3.3 |
ESP-IDF Release/v4.0 |
ESP-IDF Release/v4.1 |
ESP-IDF Release/v4.2 |
ESP-IDF Release/v4.3 |
ESP-IDF Release/v4.4 |
ESP-IDF Master |
|
---|---|---|---|---|---|---|---|
ESP-ADF Master |
|||||||
ESP-ADF Release/v2.4 |
1 | ||||||
ESP-ADF Release/v2.3 |
Note 1: The built-in IDF branch of ESP-ADF v2.4 is IDF Release/v4.4 at the current time.
You need one of ESP-IDF versions described in ESP-ADF Releases, one of audio boards below and headphones.
Note: If this is your first exposure to ESP-IDF, proceed to Getting Started documentation specific for ESP32, ESP32-S2, or ESP32-S3 SoCs.
Click on one of audio boards shown below to set up and start using ESP-ADF.
Espressif Systems has released a number of boards for ESP-ADF to develop audio applications. Click the links below to learn more information on each board.
It is recommended to use the ESP-ADF master branch, as it has the latest bugfixes and the new features.
ESP32-LyraT | ESP32-LyraTD-MSC | ESP32-LyraT-Mini | ESP32-Korvo-DU1906 | ESP32-S2-Kaluga-1 Kit | ESP32-S3-Korvo-2 | |
---|---|---|---|---|---|---|
ESP-ADF Master | ||||||
ESP-ADF Release/v2.4 | ||||||
ESP-ADF Release/v2.3 |
Check folder examples that contains sample applications to demonstrate API features of the ESP-ADF.
- 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.