Skip to content

Releases: espressif/esp-adf

ESP-ADF Release v2.7

14 Sep 07:10
Compare
Choose a tag to compare

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 the periph_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 support esp-sr nsnet.
  • Updated i2s_stream to support IDF v5.x I2S APIs.
  • Made user_agent configurable in http_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 or ble_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 to periph_wifi_init configuration.

ADF Components Registry

The following components have been newly released to the Espressif Components Registry:

  • ESP-Audio-Codec v2.0.0

    • Added esp_audio_decoder.
    • Added esp_audio_simple_decoder.
    • Updated esp_audio_encoder APIs.
  • ESP-Codec-Dev v1.3.1

    • Added support for the aw88298 audio amplifier.
    • Added support for IDF v5.3 with esp_driver_i2c.
  • ESP-Muxer v1.1.1

    • 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 to esp_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 version v3.2 to support WenXinYiYan.

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 precedes moov.
  • Added support for multi-track MP4 stream playback.
  • Updated esp_audio to version v1.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

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

04 Aug 13:31
Compare
Choose a tag to compare

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 for esp_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 latest usb_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

23 Feb 07:44
Compare
Choose a tag to compare

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, and album 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 of http_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

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

07 Sep 01:52
Compare
Choose a tag to compare

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

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

25 Mar 07:13
Compare
Choose a tag to compare

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, and audio_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

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

21 May 13:03
Compare
Choose a tag to compare

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 when rb_done_write was called on higher priority task than rb_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 and esp_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 when esp_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

05 Nov 15:58
Compare
Choose a tag to compare

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 and audio_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, and audio_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 the audio_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 to AEL_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 the esp_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 and apus_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

24 Jul 03:34
Compare
Choose a tag to compare

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 in periph_wifi
  • Replaced malloc, calloc and free APIs with audio_malloc, audio_ calloc and audio_ free APIs

Bugfix

  • Fixed a bug that periph_led can't work with multi-LED

Support New Development Board

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 the complexity 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
  • DLNA
    • Added support for customized devicelist and notify

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:

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

01 Apr 13:38
Compare
Choose a tag to compare

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 theaudio_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 and audio_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 and peripheral 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 to audio_strdup to optimize RAM
  • Changed the RAW API from raw_stream_read(char *buffer, int buf_size) to raw_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 and Equalizer
  • 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 and type.

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 and time_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 and esp_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 an esp_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:

Read more

ESP-ADF Pre-release v2.0-beta3

21 Feb 12:56
Compare
Choose a tag to compare
Pre-release

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 and audio_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 and type 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 an esp_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

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.