Releases: espressif/esp-adf
ESP-ADF Release v2.7
Below is the release information for ESP-ADF v2.7. Documentation is available here. For supported IDF versions, please check here.
Changelog
This is the list of changes since release v2.6:
Breaking Changes
- Changed the prototype of the audio recorder callback.
- Added breaking changes to
wifi_config_t
in theperiph_wifi_init
configuration. - Updated ESP-RTC to version
v1.2.0
with breaking changes.
Framework
Features
- Added support for ESP-IDF V5.3.
- Modified
algorithm_stream
to supportesp-sr nsnet
. - Updated
i2s_stream
to support IDF v5.x I2S APIs. - Made
user_agent
configurable inhttp_stream
. - Added support for the ESP32-S3-BOX-3 board.
- Added support for the ESP32-P4-FUNCTION-EV-BOARD.
- Added installation and export scripts to simplify the configuration of the build environment.
- Added the audio mixer component.
- Added support for getting and setting element handles in the ring buffer.
- Updated the supported MicroPython version to
5114f2c1e
. - Updated the
es7210
driver.
Bug Fixes
- Corrected the API return value descriptions for
audio_element_multi
APIs. - Fixed an issue where
PWM_stream
could cause sound loss due to early IO_DONE. - Fixed the default configuration issue for PDM RX.
- Fixed a hardcoded partition size issue in
tts_stream
. - Fixed a bug in
tcp_client_stream
that occurred when the TCP connection failed. - Fixed the
ADF_VER
error when not under the ADF subfolder.
Audio Recorder
Features
- Added a warning to indicate the deprecated state in
recorder_engine
. - Added support for multiple wakeup words.
- Introduced a new prototype for the audio recorder callback.
- Added
wakenet
index in the wakeup result. - Enhanced VAD and MN detection reporting when
WakeNet
is disabled.
Bug Fixes
- Fixed errors when building
micropython-adf
. - Fixed a crash if the WakeNet model is missing.
- Restored the ability to select the wake word at runtime.
Peripherals
Features
- Added
i2c_bus_run_cb
for i2c_bus. - Added an API for allocating peripheral IDs.
Bug Fixes
- Fixed crashes that occurred when Wi-Fi disconnected in power save mode.
- Resolved an issue where the LCD did not display properly on IDF v5.x.
- Added checks to ensure that BluFi is enabled around calls to
ble_config_start
orble_config_stop
. - Fixed an issue with ISR Level 1 being unavailable on IDF v5.2.
- Added support for I2C master mode.
- Fixed issues with SPI card and ESP actions.
- Properly handled the
WIFI_REASON_ROAMING
event. - Added
wifi_config_t
toperiph_wifi_init
configuration.
ADF Components Registry
The following components have been newly released to the Espressif Components Registry:
-
- Added
esp_audio_decoder
. - Added
esp_audio_simple_decoder
. - Updated
esp_audio_encoder
APIs.
- Added
-
- Added support for the
aw88298
audio amplifier. - Added support for
IDF v5.3
withesp_driver_i2c
.
- Added support for the
-
- Added support for CAF and OGG container
- Added RAM cache to improve write speed
- Added support for H264 frame type parsing, always write new slice at IDR frame boundary
ESP-RTC
Features
- Updated
esp_rtc
to v1.2.0. - Renamed API
esp_rtc_init/deinit
toesp_rtc_service_init/deinit
to avoid conflicts with IDF. - Enhanced DTMF send/receive logic and allowed registering callbacks to receive raw DTMF data.
- Added support for parsing large XML with UPNP.
Bug Fixes
- Fixed SIP invite response error due to missing SDP.
Services
Features
- Added a function to get the connected A2DP device.
- Updated
DuerOS
to versionv3.2
to supportWenXinYiYan
.
Bug Fixes
- Enabled or disabled AEC based on hardware design.
- Accelerated OTA upgrades using DRAM.
ESP Audio Codec Libraries
Features
- Supported MP4 playback where
mdat
precedesmoov
. - Added support for multi-track MP4 stream playback.
- Updated
esp_audio
to versionv1.8.0
.
Bug Fixes
- Fixed a bug causing stereo output when
AAC_PLUS
was enabled and AAC had SBR. - Fixed a decoding error for AAC SBR with a sample rate greater than 24kHz.
- Fixed an issue where the FLAC decoder did not add bitrate information.
- Corrected APIC comment and composer parsing for ID3.
- Resolved an issue where MP3 did not skip info tag frames and pad data.
- Fixed a bug in AAC channel parsing where the ADTS ID did not match.
- Fixed an issue where the downmixer was closed if the input and output channels were equal.
Examples
Features
- Added
audio_mixer_tone
example atexamples/advanced_examples/audio_mixer_tone
.
Bug Fixes
- Fixed exceptions caused by the new I2S API in the
www
example. - Corrected the result returned by
src_drv_adc_slide_filter()
. - Resolved partition size issues in Bluetooth examples.
- Corrected misspellings of "length" in the
google-tts
example logs. - Fixed downmix pipeline RB timeout errors.
Documentation
- Corrected typos and improved API descriptions.
- Updated the EOL boards (ESP32-LyraT, ESP32-LyraTD-MSC, ESP32-S2-Kaluga-1 Kit, and ESP32-Korvo-DU1906 have reached their end of life).
Get This Release
To obtain ESP-ADF v2.7, it is highly recommended to use the following git commands. Make sure to update the submodules as well (using git submodule update --init --recursive
) to ensure the source files work properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.7
cd esp-adf-v2.7
git checkout v2.7
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.6
Below is the release information of ESP-ADF v2.6, and its documentation is available here.
For supported IDF versions, please check here.
Known Issues
- The I2S stream is not fully compatible with the new I2S driver; some features can't be used, such as playing with PDM, using DAC, and recording using PDM.
ADF Components Registry
The following components have been newly released to Espressif Components Registry
- ESP-Muxer v1.0.0
- ESP-Audio-Encoder v1.0.1
- ESP-Codec-Dev v1.0.3
Changelog
This is the list of changes since release v2.5:
ADF Framework
New Features
- Added memory trace utility in media_lib_sal to trace memory usage
- Added support for range size setting in http_stream range request
- Added support 24-bit audio data on
i2s_stream
- Updated support for IDF version v5.0 and v5.1
- Added support for setting wake word on
audio_recorder
- Modified FatFS stream URI check rule to remove restriction on sdcard only
Bugfix
- Fixed code warnings from static analysis
- Fixed a bug that the `sr_recorder_cmd_id' variable is out of bounds
- Fixed a SDCARD crash when it is not mounted
- Fixed bug that raw stream reports stop status on timeout
- Fixed bug when a task in external stack uses
esp_restart
- Fixed the I2C bus initialization overwrite when creating the I2C BUS using same slot with different configured information
- Fixed the I2C bus lock issue when using two port
ESP Codec Libraries
New Features
- Added new
esp_audio_music_info_get
API foresp_audio
- Updated
esp_audio
to v1.7.3
Bugfix
- Fixed a bug that caused noise when resampling multi-channel audio
- Fixed a bug that led to compilation failure due to an uninitialized structure
- Fixed a bug that resulted in incorrect volume when playing stereo audio using the audio player
ESP-RTC
New Features
- Added the H264 to encoding image
- Added the OPUS to encoding audio
- Added support TWILIO sip server
- Added support private sip header
ESP-RTMP
New Features
- Added support for customized command exchange between pusher and puller when using
esp_rtmp_server
- Added the source support callback media data and metadata directly without mux to FLV
- Added support to send command and data with priority
- Added drop data logic when the server detects the client reading data too slowly instead of closing the client directly
- Enhanced receive data logic to prioritize processing for clients with little input data
Peripherals And Boards
New Features
- Added new board
ESP32-C6-DEVKIT
Bugfix
- Fixed hardcode in headphone detect pin
- Fixed hardcode in MCLK Pin on different IDF versions
- Fixed a build error when selecting the custom board
- Added support for sdcard read and write in SPI mode
- Fixed i2s SDI gpio matching error on esp32-s2--Kaluga board
Examples of ESP-ADF
Features
- Added
pipeline_loop_playback_without_gap
examples/player/pipeline_loop_playback_without_gap
- Added uart wakeup interrupt in light sleep for the
power_save
example - Added multiple GPIO wakeup sources in light sleep for the
power_save
example - Modified the example configuration to support the stack on external memory when SPIRAM is enabled
- Modified the
esp_rtmp
to support latestusb_stream
version, set width and height information to the server, and remove AAC header when sending AAC payload
Bugfix
- Fixed the touch IC tt21100 read data error
- Fixed IO expand chip exception when the i2c interface is shared with the camera
Get This Release
Using git commands below to obtain ESP-ADF v2.6 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files may be not working properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.6
cd esp-adf-v2.6/
git checkout v2.6
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.5
Below is the release information of ESP-ADF v2.5, and its documentation is available here.
For supported IDF versions, please check here.
Changelog
This is the list of changes since release v2.4.1:
Framework
New Features
- Updated the underlying IDF version to v4.4.4
- Updated the latest esp-sr
- Modified Bluetooth service to request
title
,artist
, andalbum
when music was played - Added AES support for http_stream
- Added gzip support for http_stream
- Added AV stream for video
- Added
cert_pem
configuration ofhttp_stream
to support https url - Added low memory cost mode for
algorithm_stream
- Added unit test for
ota_service
Bugfix
- Fixed the http client connection failure because tx buffer was too small
- Fixed the ringbuffer free wild pointer when memory was exhausted
- Fixed the exception in reading data during the next play when an embedded tone was played multiple times and 'bytes_pos' was not cleared after a playback
- Fixed A2DP stream volume out of range
- Fixed esp-adf overrode the extra component dirs set by other sdk
Audio_Hal
New Features
- Added ESP32-S3-KORVO-2L v1.0 board
- Added a new volume control method for the codec
- Modified the ES8311 out internal reference signal
- Modified the ES7210 to support 1 mic output
Bugfix
- Fixed the format issue of left-justified serial audio data output by ES8388
ESP Peripherals
Bugfix
- Fixed the bug that microSD cards could not work on more than one line
- Fixed the bug that the LCD could not display properly
- Fixed the bug that the LCD reset callback was not configured
- Fixed the memory leak due to undestroyed
esp_event_loop_delete_default
ESP ADF Libraries
New Features
- Added ESP_RTC v1.0 protocols to support video communication
- Added ESP_RTMP v1.2.1 protocol
- Added ESP_H264 Encoder v0.1.0
- Added AAC encoder
- Added
esp_muxer
to support video encoder - Added ALC and Equalizer to support
esp_audio
- Updated
esp_audio
version to v1.7.2 - Updated
esp_jpeg
version to v1.2.1 - Modified the MP3 decoder to support allocation fragmentation buffer
Bugfix
- Fixed that
esp_codec
did not use redefiniton functions - Fixed that the wav decoder did not parse the extra FMT format
Docs
- Added Chinese translation for ESP32-C3-Lyra User Guide
- Added playlist API reference document
- Added Eclipse guide
Examples of ESP-ADF
Features
- Added
led_pixels
example version 2.0 toexamples/display/led_pixels
- Added
esp-rtc
demo toexamples/protocols/esp-rtc
- Added
esp-rtsp
demo toexamples/protocols/esp-rtsp
- Added light sleep and deep sleep demo to
examples/system/power_save
- Added ESP32-C3 development boards to
led_pixels
example - Modified
rtmp
example to support RTMPs link and H264 encoder - Modified
voip
example to useesp-rtc
APIs - Modified
lcd_camera
to support YUV422 converted to RGB
Bugfix
- Fixed that a peripheral set was still used even after it was freed
- Fixed that BLE name overwrote BT name in
wifi_bt_ble_coex
- Fixed the bug that
pipeline_hfp_stream
output no sound
Get This Release
Using git commands below to obtain ESP-ADF v2.5 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files may be not working properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.5
cd esp-adf-v2.5
git checkout v2.5
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.4.1
Below is the release information of ESP-ADF v2.4.1, and its documentation is available here.
For supported IDF versions, please check here.
Changelog
This is the list of changes since release v2.4 :
Framework
New Features
- Updated the embedded IDF version to v4.4.2
- Updated esp-sr to v2.0
- Added the embedded flash stream
- Added new enhanced HLS parser
- Increased the task buffer size to improve the data transmission performance
- Modified algorithm stream to put the task stack on external memory
- Modified recorder_encoder to work with a ring buffer
- Modified wifi_service to support BluFi provisioning
Bugfix
- Fixed the bug that the I2S stream could not work with DAC on the recent IDF version
- Fixed that MCLK was set to GPIO0 by default on v4.4
- Fixed I2S APLL warnings on ESP32-S2 and ESP32-C3
- Fixed TTS stream memory leak
- Fixed the bug that PWM stream access the PSRAM on timer interrupt
- Fixed
http_stream
connect failed due to tx buffer is too small - Fixed a crash when using both of Blufi and classic BT
Audio_Hal
New Features
- Added ESP32-C3-Lyra board configurations
Bugfix
- Fixed that some application examples failed to build on some boards
- Fixed the format issue of left-justified serial audio data output by ES8388
ESP Peripherals
Bugfix
- Fixed the bug that microSD cards could not work on more than one line
ESP ADF Libraries
New Features
- Added
esp_muxer
to support video encoder - Updated
esp_jpeg
version to v1.0.0 - Support rotation for JPEG encoders and decoders
- Added bits conversion APIs for audio process
- Support FLAC decoding with various bits per sample
- Updated
esp_audio
version to v1.7.1
Bugfix
- Fixed the bug that input element buffer size was overridden by esp_audio configuration
in_stream_buf_size
Docs
- Added Chinese translation for
idf_patches
README - Added more services API reference
- Added user guide for ESP32-C3-Lyra v2.0
- Added esp-adf GitHub issue template
- Added description on how to quickly build adf example using VS Code
- Added streams API reference doc
- Added Chinese translation for ESP32-S3-Korvo-2 User Guide
- Updated the ADF glossary
- Updated quick start steps to build adf projects
Examples of ESP-ADF
Features
- Added
led_pixels
example version 2.0 toexamples/display/led_pixels
- Added
esp_muxer
example toexamples/recorder/av_muxer_sdcard
- Added embedded flash tone example to
examples/player/pipeline_embed_flash_tone
- Added AMR-WB encoder to WWE example
- Modified
esp_dispatcher_dueros
to support BluFi provisioning - Added the data point guide to the
dueros
Bugfix
- Fixed the bug that
pipeline_hfp_stream
output no sound - Fixed the bug that ESP32-S3-Korvo-2 v3 could not be waken up by voice when running
esp_dispatcher_dueros
- Fixed the bug that low priority resample task caused btc queue to block on
pipeline_a2dp_sink_stream
- Fixed the bug that name of A2DP overwrite by Blufi
Get This Release
Using git commands below to obtain ESP-ADF v2.4.1 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files may be not working properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.4.1
cd esp-adf-v2.4.1/
git checkout v2.4.1
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.4
Below is the release information of ESP-ADF v2.4, and its documentation is available here.
Supported IDF version please check on here.
Major Changes
- Changed the built-in IDF version from v3.3 to v4.4
Changelog
This is the list of changes since release v2.3:
Framework
New Features
- ADF supports IDF release/v4.4 branch
- Added
audio_queue
,media_os_ctype
, andaudio_mutex
APIs - Added esp32 s3 box lite board
- Added esp32 s3 box board
- Added esp32-s3-korvo-2 v3.0 board
- Added
audio_board_lcd_init
API for board configuration - Added new
Audio_Recorder
to support multinet and wake work engine - Support
esp-sr
release/v1.0 branch - Added
i2s_stream_sync_delay
API to drop or fill PCM data with given time - Added
algo_stream_set_delay
to help users debug reference data
Bugfix
- Fixed algorithm stream could not work with new
esp_sr
APIs
Audio_Hal
New Features
- Added DAC es8156 and ADC es7243e chips
- Modified ZL38063 dsp firmware to reduce the mic gain
Bugfix
- Fixed the bug that es8388 did not work on 8 kHz rate sometimes
- Fixed the bug that es8311 generates noise on 8 kHz - 16 kHz rate
ESP Peripherals
New Features
- Added I/O expander tca9554 driver
- Added peripheral LCD APIs
Bugfix
- Fixed missing partition label when checking for spiffs info
- Fixed the bug that adc_button.c missed RELEASE event on quick press
- Fixed incorrect gpio allocation for one-line mode of sdcard
Media Protocol
Features
- Added media protocol system abstract layer APIs
- Support RFC3581 rport config
Bugfix
- Fixed the loop register bug caused by inviting unknown number
- Fixed the bug that
sip
could not work on v4.4
ESP Codec Libraries
New Features
- Added JPEG encoder and decoder APIs
- Support HE-AAC(v1 v2)
- Support different MP3 sample rate in one file
- Support multi-channel resample
- Support esp32-c3 chip
Docs
- Added English-Chinese Glossary
- Added English version of esp32-s3-korvo-2 v3.0 user guide
- Fixed broken links
- Upgrade python2 to python3 to build documentation
- Updated integrated module information of dev board user guides
Examples of ESP-ADF
Features
- Updated content and structure of most example readme.md documents
- Added camera capture image and display on lcd example on
examples/display/lcd_camera
- Added lcd decoding jpeg exmaple on
examples/display/lcd_jpeg
- Added LVGL demo on
examples/display/music_player
- Added
audio_recoder
APIs usage onexamples/speech_recognition/wwe
Bugfix
- Fixed the bug of appending the recording information to the fatfs element
- Provided missing tones for asr example
- Modified checks example to support more boards
- Fixed the bug of
dueros
to support esp32-s3-box - Fixed the bug that
wifi_bt_ble_coex
could not build on v4.4 - Fixed crash of
google_translate
example
Get This Release
Using git commands below to obtain ESP-ADF v2.4 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files may be not working properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.4
cd esp-adf-v2.4/
git checkout v2.4
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.3
Below is the release information of ESP-ADF v2.3, and its documentation is available here.
Changelog
This is the list of changes since release v2.2:
Pipeline Framework
New Features
- Added element state
AEL_STATE_INITIALIZING
to mark the opening status - Modified elements to remove the commands sent from self task
- Modified
audio_calloc_inner
to prefer calloc on psram
Bugfix
- Fixed the bug that ringbuf mutex was called by different tasks
- Fixed the bug that ringbuffer returned
AEL_IO_DONE
directly without flushing the tail data whenrb_done_write
was called on higher priority task thanrb_read
- Fixed the
audio_element_input
description typo - Fixed the bug that element double freed the holder ringbuffer
- Fixed incorrect pointer address on
audio_thread_create
which may casue task handle is NULL
ESP_Dispatcher
Bugfix
- Fixed the bug that mutex was not unlocked when send message failed in dispatcher
Audio Stream
New Features
- Added TTS stream
- Modified algo stream for easier use
- Modified fatfs stream to support force wav header
- Support multiple tone streams
Service Framework
New Features
- Added more patterns for display service
- Modified the
wifi_service
to report event when get Wi-Fi configuration - Added the
wifi_service
new interface to get the last used Wi-Fi configuration - Modified the
bluetooth_service
to set TG volume
Bugfix
- Fixed the bug that Wi-Fi service could not get IP above ESP-IDF v4.1
- Fixed the
micropython_adf
error that pipeline should be stopped first to stop record
Audio_Hal
New Features
- Added ADC chip ES7210 driver
- Modified ZL38063 dsp firmware to support AEC
Bugfix
- Fixed bugs to keep the es8388 mic gain of left and right channels consistent
- Fixed codec es8311 and es7243 failed to call i2c bus write
- Fixed the bug that setting the default volume on mini board was invalid
ESP Peripherals
New Features
- Fixed rmt module conflict between ws2812 and idf driver
Bugfix
- Fixed memory leak in peripherals implementation
- Fixed peripheral Wi-Fi could not get IP above ESP-IDF v4.0
Audio Protocol
- Added MRM client
SIP
- Fixed bugs to support conference mode
ESP Codec Libraries
New Features
- Combined all of the codecs to one library
- Added subchunk parse to wav decoder
- Support modifying timeout of a specified ringbuffer
- Changed down-mix dynamic allocate memory for multi-channel
Bugfix
- Fixed the bug that mp3 decoder did not clear the byte position when closed
- Fixed aac memory overread when data was incorrect
ESP Audio
New Features
- Updated the
esp_audio
player version to v1.7.0 - Added
esp_audio_speed_get
,esp_audio_speed_set
andesp_audio_speed_idx_to_float
to support speed up and slow down play - Support
hfp_stream
for esp_audio APIs
Bugfix
- Fixed the bug that
esp_audio_sync_play
no return whenesp_audio_stop
was called during sync play - Fixed the bug that media source notified incorrect source type because it had been changed by
media_ctrl_media_src_set
- Fixed the bug that speed mode had wrong time
Docs
- Added more codecs copyright and License
- Added example template files
- Added docs feedback links
Examples of ESP-ADF
New Examples
- Added multi-room music example
examples/advanced_examples/multi-room
- Added HFP stream in
wifi_bt_ble_coex
example - Modified the VOIP example to support AEC, Smart Config, ringing tone and FreeSwtich/FreePBX conference
- Modified the algorithm example to support latest
algorithm_stream
example - Changed BR_EDR_ONLY to BDTM in sdkconfig.defaults for BT Sink and Source examples
Bugfix
- Fixed the bug that
play_mp3
compile failed when selecting a board - Fixed the bug that audio pipeline link did not properly set link tag in
google_translate_device
example - Fixed the bug that the
play_mp3_control
could not restart playing after music play finished - Fixed the bug that the
vad
example did not work on lyrat mini board with IDF v4.x - Fixed the bug that setting Wi-Fi via blufi failed in
wifi_bt_ble_coex
example - Fixed the
downmix_pipeline
did not set listener and never broke main loop - Fixed the bug that release sdcard listed resource on
pipeline_sdcard_mp3_control
example
Korvo Du1906
- Released
korvo_du1906
v1.4.0 - Added A2DP stream patch for Du1906
- Updated the Du1906 readme
- Fixed the issue that baidu server unreachable
- Added IDF patch to Du1906 and modified the readme file
Get This Release
Using git commands below to obtain ESP-ADF v2.3 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files may be not working properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.3
cd esp-adf-v2.3/
git checkout v2.3
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.2
Below is the release information of ESP-ADF v2.2, and its documentation is available here.
Changes since v2.1
Major New Features
Pipeline Framework
New Features
-
Added the
audio_sys_get_real_time_stats
API -
Added the
audio_element_get_read_cb
API to obtain the read callback -
Added the
audio_element_get_write_cb
API to obtain the write callback -
Added the
audio_pipeline_wait_for_stop_with_ticks
andaudio_pipeline_terminate_with_ticks
APIs -
Added a lot of thread safe APIs, such as
audio_element_set_reserve_user0
,audio_element_set_reserve_user1
,audio_element_set_reserve_user2
,audio_element_set_reserve_user3
, andaudio_element_set_reserve_user4
-
Changed the
audio_event_iface_cleanup_listener
return value to ESP_OK -
Added the
audio_mem_spiram_stack_is_enabled
API to check if the “stack on external memory” can be supported in different ESP32 chip versions
Bugfix
-
Fixed the issue that return value of the
audio_element_process_init
API is not clear -
Fixed the bug that
abort ringbuffer
is missing from theaudio_element_stop
API -
Fixed the bug that the top command is missing due to the invalid
is_running
flag with live stream -
Fixed the bug that element state is not changed from
AEL_STATE_RUNNING
toAEL_STATE_STOPPED
when destroying element -
Fixed the bug that the registered queues are not cleared because of a wrong discard API was used
ESP_Dispatcher
New Features
-
Modfied the
esp_dispatcher
to support async and sync delegation -
Added the
esp_delegate
instance to theesp_dispatcher
-
Added a
nvs_action
module to delegate NVS operation
Audio Stream
New Features
-
Added option to contain an AMR header in fatfs and spiffs
-
Added support to override the write callback of
i2s_stream
-
Added default PDM configuration in
i2s_stream
-
Added support for
tone_stream
to work with external ram stack -
Added unbuffered APIs to improved the read speed of
fatfs_stream
Bugfix
-
Fixed the bug that living stream reads invalid data due to wrong content length is used in the content sent from the server
-
Fixed the bug that I2S bit flipping occurs in single channel wav audio
Service Framework
New Features
- Added support for
wifi_service
to work with external ram stack - Update the
lightduer
version to v3.1.1
Bugfix
- Fixed the issue that the
wifi_service
reconnect times is not limited
ESP Peripherals
New Features
- Added support for
periph_sdcard_init
to customize SD card modes
Bugfix
-
Fixed the bug that
periph_led
is not thread safe for stop operation -
Fixed a bug that
periph_console
crashes on space character
Audio Protocol
SIP
- Fixed a bug that skip not current sip session
- Fixed a bug that not handle ACK SDP data
ESP Codec and Filter Libraries
New Features
-
Added support for
amr_encoder
andapus_decoder
to select task cores -
Added support for AMR codec to include or exclude AMR header
ESP Audio
-
Improved the
esp_audio_stop
response time -
Added support for
esp_audio
player so it can also be called by multi-thread -
Update the
esp_audio
player version to v1.6.5
Docs
-
Added the link to module datasheet in the Chinese version of the Du1906 Getting Started guide
-
Provided a section to list third party frameworks, libraries, modules, and boards
New Examples of ESP-ADF
Bugfix
-
Fixed the bug that the Bluetooth examples build fails in IDF 4.0 and IDF 4.1
-
Fixed the bug that the DLNA example build fails with cmake
-
Fixed the issues that led to build warnings in IDF v4.1
Korvo Du1906
-
Released
korvo_du1906
v1.2.0 -
Released
korvo_du1906
v1.3.0 -
Fixed a bug that firmware size exceeds the maximum length of the default configuration
-
Fixed the compatibility issues of the du1906 board
-
Changed the
korvo_du1906
example to use the default build configuration -
Added a OTA patch for the
korvo_du1906
example
Get This Release
Using git commands below to obtain ESP-ADF v2.2 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files may be not working properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.2
cd esp-adf-v2.2/
git checkout v2.2
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.1
Below is the release information of ESP-ADF v2.1, and its documentation is available here.
Changes since v2.0
Major New Features
Pipeline Framework
New Features
- Added
esp_event_cast
for event broadcasting - Added
audio_thread
to support stack on external memory
Bugfix
- Fixed the issue that
audio_element_run
return value is overridden - Fixed the bug that space is encoded as a wrong character in URL
- Fixed the bug that the stop opening element gets status incorrectly
- Fixed the bug that element is_open flag is cleared on the AEL_STATE_INIT state
- Fixed the thread safe issue in the audio element APIs
- Cleared the dead code in
audio_pipeline_stop
- Fixed the audio pipeline failure when compiled with cpp
Playlist
New Features
- Added the
get_url_id
API - Added the
reset
API - Added the
exit
API - Added the
remove_by_url
API - Added the
remove_by_id
API
Service Framework
New Features
- Added the Wi-Fi SSID and Password manager
- Added the OTA service
- Support event callback
- Support comparison between binary versions
- Added a battery service for monitoring the battery voltage
- Added a coredump service to trace the crash reason
- Added the
aw2013
driver to display service - Added support for
wifi_service
reconnect infinite times
Bugfix
- Fixed the issue that the
wifi_service
cannot reconnect automatically - Fixed the failure that occurs when the
wifi_service_ destroy
API is called for more than once
ESP Peripherals
New Features
- Added
wpa2
inperiph_wifi
- Replaced
malloc
,calloc
andfree
APIs withaudio_malloc
,audio_ calloc
andaudio_ free
APIs
Bugfix
- Fixed a bug that
periph_led
can't work with multi-LED
Support New Development Board
- Added support for ESP32 S2 kaluga_1_v1_2
Audio Stream
New Features
- Added TCP stream
- Added PWM stream
- Added a
version
field in the tone stream
Bugfix
- Fixed a bug that m3u8 stream is blocked
ESP Codec and Filter Libraries
You can find the released codec and filter libraries here.
New Features
- Added G711 encoder and decorder
Bugfix
- Fixed a bug that
esp_processing
gets pop noise when thecomplexity
is greater than 1
ESP Audio
Bugfix
- Improved the
esp_audio_stop
response time - Fixed an issue that raw URL play is blocked
ADF Micropython
Bugfix
- Fixed a bug that micropython build error occurs with the latest ADF
Audio Protocol
New Features
- SIP
- Added support for SIP
UPDATE
- Added support to use RANDOM RTP/SIP port
- Added support for custom headers
- Added support to send the
OPTION NAT
method packet on call - Added support to retransmit for register failure
- Added support for SIP
- DLNA
- Added support for customized
devicelist
andnotify
- Added support for customized
Bugfix
- Fixed an issue that SIP drops
non-current session method
- Fixed the UPNP notify heap corrupt issue
- Improved to reduce DLNA memory
Docs
- Updated ESP-ADF readme to support multi-chips
- Added the
esp32-korvo-du1906
board readme - Added the Chinese translation for LyraT user guide
New Examples of ESP-ADF
Below are the added examples that demonstrate the usage of ESP-ADF components:
examples/system/coredump
examples/ota
examples/korvo_du1906
aexamples/advanced_examples/wifi_bt_ble_coex
examples/system/battery
examples/system/wpa2_enterprise
examples/get-started/pipeline_tcp_client
- Fixed a bug that
pipeline_opus_sdard
no voice data in file
Get This Release
Using git commands below to obtain ESP-ADF v2.1 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files may be not working properly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.1
cd esp-adf-v2.1/
git checkout v2.1
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.
ESP-ADF Release v2.0
Below is the release information of ESP-ADF v2.0, and its documentation is available here.
Changes since v1.0
Major New Features
Pipeline Framework
New Features
- Added the
audio_element_set_output_ringbuf_size
API - Added the
audio_element_wait_for_stop_ms
API - Added the
audio_element_set_event_callback
API - Added a new element state
AEL_STATUS_STATE_FINISHED
- Added the
audio_pipeline_change_state
API - Added the
audio_pipeline_relink_more
API - Added the
rb_unblock_reader
API - Added the
audio_pipeline_get_el_once
API - Added the
audio_pipeline_reset_elements
API - Added the
audio_element_report_pos
API - Added the
audio_element_change_cmd
API - Added the
audio_element_process_init
API - Added the
audio_element_process_deinit
API - Added support for configuring the number of element's multi-input/output
- Added support for CMake build system
- Added unit test support for most of components
- Added the
playlist
function - Added the
playlist_choose
API in playlist - Added the
audio_sys_get_time_ms
andaudio_sys_get_tick_by_time_ms
APIs - Added support for more IDF versions (v3.3.1, v4.0 and v4.1)
Bugfix
- Fixed the pipeline relink failure
- Fixed the ringbuffer blocking issue that occurs when the read size or write size is larger than the size of ringbuffer
- Fixed the issue that element fails to stop after multiple pause/resume operations
- Updated the description of
audio_pipeline_stop
to provide more information - Fixed the bug that head files are not compatible with the c++ environment
- Fixed bug that the stop cmd is not sent when element open failure occurs
- Fixed bug that element fails to send the stop cmd after two open errors
ESP_Dispatcher
- Added support for ESP dispatcher
- Added support for audio service class
- Added support for peripheral service class
- Added support for independent display, DuerOS, player, recorder and Wi-Fi actions
Service Framework
New Features
- Added support for input key service
- Support ADC, GPIO and Touch key
- Added support for display service
- Support LEDC display pattern
- Support LED array display pattern
- Support WS2812 display pattern
- Added support for DuerOS service
- Support LightDuer v3.0.7
- Added support for Wi-Fi service
- Support Wi-Fi setting by Smartconfig
- Support Wi-Fi setting by AirKiss
- Support Wi-Fi setting by Blufi
Bugfix
- Fixed the issue that the
wifi_service
component loses connection during the notification process
ESP Peripherals
New Features
esp_peripherals
is divided into two parts:esp_periph_set
andperipheral handle
- Added the GPIO ISR to peripheral libraries
- Added the ADC button to peripheral libraries
- Added more unit test cases
- Added support for customized sizes of the
periph_console
input buffer - Added the LEDC display driver
- Added the LED Bar display driver
Bugfix
- Fixed the bug that
periph_wifi_config_wait_done
always block
Codec IC
Newly added supports for the following codec ICS in ESP-ADF:
- ES8311
- ES7243
- ES7148
- TAS5805
Support New Development Board
Newly added supports for the following development boards in ESP-ADF:
Audio Hal
New Features
- Added the
audio_hal_set_mute
API - Added support for customized audio boards
- Added more unit test cases
- Modified codec i2c driver APIs to
i2c_bus
for improved thread safety
Bugfix
- Fixed an incorrect function name
audio_hal_config_iface
Audio Stream
New Features
- Added ALC in I2S stream
- Added more
audio_type
checks in HTTP stream - Added support for two-level m3u8 parsing in HTTP stream
- Added the
spiffs
stream - Added the
tone
stream - Added algorithm-related streams
- Added support for customized
i2s_stream
io functions - Added new
hls_playlist
function
Bugfix
- Fixed the issue that
I2S
stream pops noise in the DAC mode - Fixed HTTP stream parsing and insertion issue in relative URIs
- Changed the HTTP stream from
strdup
toaudio_strdup
to optimize RAM - Changed the RAW API from
raw_stream_read(char *buffer, int buf_size)
toraw_stream_read(audio_element_handle_t pipeline, char *buffer, int buf_size)
- Fixed HTTP stream abort when
errno
is not 0
ESP Codec and Filter Libraries
You can find the released codec and filter libraries here.
New Features
- Added the
ALC
library to adjust volume - Optimized the
OPUS
encoder on mono - Optimized the
HC_AAC
speed - Added parameter setting APIs for
Downmix
andEqualizer
- Added
Downmix
support for up to 8 input streams - Added an
audio_forge
filter - Added a pcm decoder
- Modified
Downmix
to support "stereo-to-mono" via mix - Supported markup language format of wav
- Improved the
AAC
performance - Optimized the
MP3
CPU loading - Modified the description of resamples
mode
andtype
.
Bugfix
- Fixed the bug of
WAV
stream crash when bits is not 16 - Corrected the complexity level of
resample
to 5 - Fixed the issue that
MP3
fails to open because the idle task does not have enough time to free memory - Optimized the
OPUS
speed
ESP Recorder
New Features
- Select specific functionality to lower binary size
- Added support to disable WWE
- Support customized task priority
ESP Audio
New Features
- Added the
media_source_type
API - Added the
playing info get/set
API - Added the
esp_audio_sync_play
API - Added the
set_time
andtime_pos
parameters for esp_audio info - Added the
esp_audio_prefer_type_get
API - Added the
esp_audio_play_timeout_set
API - Added the
esp_audio_seek
API - Modified
esp_audio_sync_play
do not post any events when calling - Supported memory-preferred mode and speed-preferred mode
- Supported events callback
- Improved the playback response time
- Removed the HAL handle (replaced by callback function API)
- Changed
esp_audio_play
,esp_audio_stop
,esp_audio_pause
andesp_audio_resume
to sync APIs
Bugfix
- Fixed the raw URI failure bug
- Fixed the bug that incorrect error message is prompted when calling
esp_audio_sync_play
after anesp_audio_play
failure - Fixed some bugs related to
raw_stream
- Fixed a bug that music information is missing after resuming operation
- Fixed a bug that blocks on seek operation
- Fixed a bug that the wrong message is prompted when playing music failure
- Fixed the issue of
esp_audio_destroy
memory leakage
ADF Micropython
New Features
- Added an
audio
module that includes player and recorder - Added examples for
micropython
Audio Protocol
New Features
- Supported 2.0 SIP protocol
- Supported 2.0 RTP protocol
- Supported RFC4566-based SDP
- Supported servers: FreePBX, Yate Server and Freeswitch
- Added a DTMF event
- Added local certificate config for TLS
- Added sip unregister during sip destroy
- Added support to keep the NAT port active for longer periods
- Added support for customized DLNA XMLs
Bugfix
- Optimized sip
rtp
memory - Fixed the issue that server could fail during sip re-register
- Handled
401 unauthorized request
during the invitation process
New Examples of ESP-ADF
Below are the added examples that demonstrate the usage of ESP-ADF components:
examples/audio_processing/pipeline_alc
examples/recorder/element_cb_sdcard_amr
examples/recorder/pipeline_opus_sdcard
examples/advanced_examples/esp_dispatcher_dueros
examples/advanced_examples/record_while_play
examples/advanced_examples/voip
examples/recorder/element_wav_amr_sdcard
examples/recorder/pipeline_wav_amr_sdcard
examples/get-started/pipeline_a2dp_sink_and_hfp
examples/audio_processing/pipeline_audio_forge
examples/player/pipeline_spiffs_mp3
examples/player/pipeline_flash_tone
examples/player/pipeline_hfp_stream
examples/player/pipeline_a2dp_source_stream
examples/player/pipeline_a2dp_sink_stream
- Added more commands in the...
ESP-ADF Pre-release v2.0-beta3
Below is the release information of ESP-ADF v2.0-beta3, and its documentation is available here.
Changes since v2.0-beta2
ADF Framework
New Features
- Added supported IDF version to v3.3.1 and v4.0
- Added unit test cases
- Added the
playlist_choose
API in playlist - Added the
audio_sys_get_time_ms
andaudio_sys_get_tick_by_time_ms
APIs
Bugfix
- Fixed unclear description of
audio_pipeline_stop
- Fixed the bug that head files are not compatible with the c++ environment
- Fixed bug that the stop cmd is not sent when element open failure occurs
- Fixed bug that element fails to send the stop cmd after two open errors
ESP Peripherals
New Features
- Added unit test cases
- Added support for customized sizes of the
periph_console
input buffer
Audio Hal
New Features
- Added support for customized audio boards
- Added unit test cases
- Modified codec i2c driver APIs to
i2c_bus
for improved thread safety
Bugfix
- Fixed the incorrect function name
audio_hal_config_iface
Audio Stream
New Features
- Added support for customized
i2s_stream
io functions
ESP Codec and Filter Libraries
Bugfix
- Improved AAC performance
- Optimized the MP3 CPU loading
- Fixed resample
mode
andtype
descriptions
ESP Audio
New Features
- Added the
esp_audio_prefer_type_get
API - Added the
esp_audio_play_timeout_set
API - Added the
esp_audio_seek
API - Modified
esp_audio_sync_play
do not post any events after called
Bugfix
- Fixed the bug that incorrect error message is prompted when calling
esp_audio_sync_play
after anesp_audio_play
failure - Fixed some bugs related to
raw_stream
- Fixed a bug that music information is missing after resuming operation
- Fixed a bug that blocks on seek operation
- Fixed a bug that incorrect running time after seeking operation(Natasha:incorrect running time is logged?)
- Fixed a bug that the wrong message is prompted when playing music failure
ADF Micropython
New Features
- Added an
audio
module that includes player and recorder - Added examples for
micropython
Audio Protocol
New Features
- Added support for customized DLNA XMLs
Examples of ESP-ADF
- Added a new example
examples/player/pipeline_hfp_stream
- Added a new example
examples/player/pipeline_a2dp_source_stream
- Added a new example
examples/player/pipeline_a2dp_sink_stream
- Added more commands in the
CLI
example - Added wake tones in
dueros
example - Fixed noise on LyraTD-MSC board with
pipeline_bt_sink
example - Fixed a
dueros
bug that music resuming fails after two insert speech queries - Fixed a
play_mp3_control
bug that pipeline does not restart when the play button is pressed
Get This Release
Using git commands below to obtain ESP-ADF v2.0-beta3 is highly recommended. Note that the submodules should also be updated (using git submodule update --init --recursive
). Otherwise, the source files maybe not working correctly.
git clone https://github.com/espressif/esp-adf.git esp-adf-v2.0-beta3
cd esp-adf-v2.0-beta3/
git checkout v2.0-beta3
git submodule update --init --recursive
To get the programming guide for Audio Development Framework, please check here.