AMR Decoder and Encoder¶
Decode and encode an audio data stream from / to AMR format. Encoders cover both AMR-NB and AMR-WB formats.
Application Examples¶
Implementation of this API is demonstrated in the following examples:
API Reference - Decoder¶
Header File¶
Functions¶
- 
audio_element_handle_t 
amr_decoder_init(amr_decoder_cfg_t *config)¶ Create an Audio Element handle to decode incoming AMR data.
- Return
 The audio element handle
- Parameters
 config: The configuration
Structures¶
- 
struct 
amr_decoder_cfg_t¶ AMR Decoder configuration.
Macros¶
- 
AMR_DECODER_TASK_STACK_SIZE¶ 
- 
AMR_DECODER_TASK_CORE¶ 
- 
AMR_DECODER_TASK_PRIO¶ 
- 
AMR_DECODER_RINGBUFFER_SIZE¶ 
- 
DEFAULT_AMR_DECODER_CONFIG()¶ 
API Reference - AMR-NB Encoder¶
Header File¶
Functions¶
- 
esp_err_t 
amrnb_encoder_set_bitrate(audio_element_handle_t self, amrnb_encoder_bitrate_t bitrate_mode)¶ Set AMRNB encoder bitrate.
- Return
 ESP_OK ESP_FAIL
- Parameters
 self: Audio element handlebitrate_mode: Bitrate choose, value from amrnb_encoder_bitrate_t
- 
audio_element_handle_t 
amrnb_encoder_init(amrnb_encoder_cfg_t *config)¶ Create an Audio Element handle to encode incoming AMRNB data.
- Return
 The audio element handle
- Parameters
 config: The configuration
Structures¶
- 
struct 
amrnb_encoder_cfg_t¶ AMRNB Encoder configurations.
Public Members
- 
int 
out_rb_size¶ Size of output ringbuffer
- 
int 
task_stack¶ Task stack size
- 
int 
task_core¶ Task running in core (0 or 1)
- 
int 
task_prio¶ Task priority (based on freeRTOS priority)
- 
amrnb_encoder_bitrate_t 
bitrate_mode¶ AMRNB Encoder bitrate choose
- 
bool 
contain_amrnb_header¶ Choose to contain amrnb header in amrnb encoder whether or not (true or false, true means choose to contain amrnb header)
- 
bool 
stack_in_ext¶ Try to allocate stack in external memory
- 
int 
 
Macros¶
- 
AMRNB_ENCODER_TASK_STACK¶ 
- 
AMRNB_ENCODER_TASK_CORE¶ 
- 
AMRNB_ENCODER_TASK_PRIO¶ 
- 
AMRNB_ENCODER_RINGBUFFER_SIZE¶ 
- 
DEFAULT_AMRNB_ENCODER_CONFIG()¶ 
Enumerations¶
- 
enum 
amrnb_encoder_bitrate_t¶ Enum of AMRNB Encoder bitrate choose.
Values:
- 
AMRNB_ENC_BITRATE_UNKNOW= -1¶ Invalid mode
- 
AMRNB_ENC_BITRATE_MR475= 0¶ 
- 
AMRNB_ENC_BITRATE_MR515= 1¶ 
- 
AMRNB_ENC_BITRATE_MR59= 2¶ 
- 
AMRNB_ENC_BITRATE_MR67= 3¶ 
- 
AMRNB_ENC_BITRATE_MR74= 4¶ 
- 
AMRNB_ENC_BITRATE_MR795= 5¶ 
- 
AMRNB_ENC_BITRATE_MR102= 6¶ 
- 
AMRNB_ENC_BITRATE_MR122= 7¶ 
- 
AMRNB_ENC_BITRATE_MRDTX= 8¶ 
- 
AMRNB_ENC_BITRATE_N_MODES= 9¶ 
- 
 
API Reference - AMR-WB Encoder¶
Header File¶
Functions¶
- 
esp_err_t 
amrwb_encoder_set_bitrate(audio_element_handle_t self, amrwb_encoder_bitrate_t bitrate_mode)¶ Set AMRWB encoder bitrate.
- Return
 ESP_OK ESP_FAIL
- Parameters
 self: Audio element handlebitrate_mode: Bitrate choose, value from amrwb_encoder_bitrate_t
- 
audio_element_handle_t 
amrwb_encoder_init(amrwb_encoder_cfg_t *config)¶ Create an Audio Element handle to encode incoming amrwb data.
- Return
 The audio element handle
- Parameters
 config: The configuration
Structures¶
- 
struct 
amrwb_encoder_cfg_t¶ AMRWB Encoder configurations.
Public Members
- 
int 
out_rb_size¶ Size of output ringbuffer
- 
int 
task_stack¶ Task stack size
- 
int 
task_core¶ Task running in core (0 or 1)
- 
int 
task_prio¶ Task priority (based on freeRTOS priority)
- 
amrwb_encoder_bitrate_t 
bitrate_mode¶ AMRWB Encoder bitrate choose
- 
bool 
contain_amrwb_header¶ Choose to contain amrwb header in amrwb encoder whether or not (true or false, true means choose to contain amrwb header)
- 
bool 
stack_in_ext¶ Try to allocate stack in external memory
- 
int 
 
Macros¶
- 
AMRWB_ENCODER_TASK_STACK¶ 
- 
AMRWB_ENCODER_TASK_CORE¶ 
- 
AMRWB_ENCODER_TASK_PRIO¶ 
- 
AMRWB_ENCODER_RINGBUFFER_SIZE¶ 
- 
DEFAULT_AMRWB_ENCODER_CONFIG()¶ 
Enumerations¶
- 
enum 
amrwb_encoder_bitrate_t¶ Enum of AMRWB Encoder bitrate choose.
Values:
- 
AMRWB_ENC_BITRATE_MDNONE= -1¶ Invalid mode
- 
AMRWB_ENC_BITRATE_MD66= 0¶ 6.60kbps
- 
AMRWB_ENC_BITRATE_MD885= 1¶ 8.85kbps
- 
AMRWB_ENC_BITRATE_MD1265= 2¶ 12.65kbps
- 
AMRWB_ENC_BITRATE_MD1425= 3¶ 14.25kbps
- 
AMRWB_ENC_BITRATE_MD1585= 4¶ 15.85bps
- 
AMRWB_ENC_BITRATE_MD1825= 5¶ 18.25bps
- 
AMRWB_ENC_BITRATE_MD1985= 6¶ 19.85kbps
- 
AMRWB_ENC_BITRATE_MD2305= 7¶ 23.05kbps
- 
AMRWB_ENC_BITRATE_MD2385= 8¶ 23.85kbps>
- 
AMRWB_ENC_BITRATE_N_MODES= 9¶ Invalid mode
-