Page 1 of 1

调用esp-adf 出现MP3_DE_LIB: pvmp3_framedecoder.cpp:701 (pvmp3_InitDecoder): Memory exhausted

Posted: Thu Oct 17, 2024 2:11 pm
by robot3g
调用esp-adf 出现MP3_DE_LIB: pvmp3_framedecoder.cpp:701 (pvmp3_InitDecoder): Memory exhausted
加大了MP3的stack size也是出现Memory exhausted的问题!求助各位专家,我的问题如何解决呢?

我的工程设置如下:
使用 ADF 进行VTT(voice to text),之后text发到minimax进行ai大模型交互,返回的txt由百度在线语音合成 (text-to-speech, TTS) 服务生成的音频通过i2s送到音频codec进行播放。
使用的是兼容ESP32_S3_KORVO2_V3_BOARD 板卡,模组是ESP32-S3-WROOM-1,ESP-IDF用的版本是5.2.2,ESP-ADF用的最新的。
工程我放到了gitee上,可以编译下载,https://gitee.com/robot3g/ai_toys,麻烦各位专家帮忙看一下问题!在线等!
初始化函数如下:

baidu_tts_handle_t baidu_tts_init(baidu_tts_config_t *config)
{
// 管道设置
audio_pipeline_cfg_t pipeline_cfg = DEFAULT_AUDIO_PIPELINE_CONFIG();
baidu_tts_t *tts = calloc(1, sizeof(baidu_tts_t));
AUDIO_MEM_CHECK(TAG, tts, return NULL);

tts->pipeline = audio_pipeline_init(&pipeline_cfg);

tts->buffer_size = config->buffer_size;
if (tts->buffer_size <= 0) {
tts->buffer_size = DEFAULT_TTS_BUFFER_SIZE;
}

tts->buffer = malloc(tts->buffer_size);
AUDIO_MEM_CHECK(TAG, tts->buffer, goto exit_tts_init);

tts->sample_rate = config->playback_sample_rate;

// I2S流设置
i2s_stream_cfg_t i2s_cfg = I2S_STREAM_CFG_DEFAULT_WITH_PARA(0, 16000, 16, AUDIO_STREAM_WRITER);
i2s_cfg.std_cfg.slot_cfg.slot_mode = I2S_SLOT_MODE_MONO;
i2s_cfg.std_cfg.slot_cfg.slot_mask = I2S_STD_SLOT_LEFT;
tts->i2s_writer = i2s_stream_init(&i2s_cfg);

// http流设置
http_stream_cfg_t http_cfg = {
.type = AUDIO_STREAM_READER,
.event_handle = _http_stream_reader_event_handle,
.user_data = tts,
.task_stack = BAIDU_TTS_TASK_STACK,
};
tts->http_stream_reader = http_stream_init(&http_cfg);

// MP3流设置
mp3_decoder_cfg_t mp3_cfg = DEFAULT_MP3_DECODER_CONFIG();
tts->mp3_decoder = mp3_decoder_init(&mp3_cfg);

audio_pipeline_register(tts->pipeline, tts->http_stream_reader, "tts_http");
audio_pipeline_register(tts->pipeline, tts->mp3_decoder, "tts_mp3");
audio_pipeline_register(tts->pipeline, tts->i2s_writer, "tts_i2s");
const char *link_tag[3] = {"tts_http", "tts_mp3", "tts_i2s"};
audio_pipeline_link(tts->pipeline, &link_tag[0], 3);

// I2S流采样率 位数等设置
i2s_stream_set_clk(tts->i2s_writer, config->playback_sample_rate, 16, 1);
return tts;
exit_tts_init:
baidu_tts_destroy(tts);
return NULL;
}

出现的问题是:
I (23569) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce3fa4 cmd:10, data:0x0, data_len:0
I (23569) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce3fa4 cmd:8, data:0xc, data_len:4
I (23579) CODEC_ELEMENT_HELPER: The element is 0x3fcedb68. The reserve data 2 is 0x0.
E (23589) MP3_DE_LIB: pvmp3_framedecoder.cpp:701 (pvmp3_InitDecoder): Memory exhausted
E (23599) MP3_DECODER: Allocate buffer failed. (line 407)
E (23609) AUDIO_ELEMENT: [tts_mp3] AEL_STATUS_ERROR_OPEN,-1
W (23609) AUDIO_ELEMENT: [tts_mp3] audio_element_on_cmd_error,7
I (23619) MP3_DECODER: Closed
W (23619) AUDIO_ELEMENT: IN-[tts_i2s] AEL_IO_ABORT

完整的log如下:
\workspace\esp-idf\ai_toys> & set IDF_PATH='D:\Espressif\v5.2\esp-idf'
PS D:\workspace\esp-idf\ai_toys> & 'D:\Espressif\tools\v5.2\python_env\idf5.2_py3.11_env\Scripts\python.exe' 'D:\Espressif\v5.2\esp-idf\tools\idf_monitor.py' -p COM4 -b 115200
--toolchain-prefix xtensa-esp32s3-elf- --target esp32s3 'd:\workspace\esp-idf\ai_toys\build\ai_toys.elf'
--- WARNING: GDB cannot open serial ports accessed as COMx
--- Using \\.\COM4 instead...
--- esp-idf-monitor 1.4.0 on \\.\COM4 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3810,len:0x178c
load:0x403c9700,len:0x4
load:0x403c9704,len:0xcbc
load:0x403cc700,len:0x2d9c
entry 0x403c9914
I (27) boot: ESP-IDF v5.2.2-639-g43098fc4de-dirty 2nd stage bootloader
I (27) boot: compile time Oct 6 2024 17:31:43
I (28) boot: Multicore bootloader
I (32) boot: chip revision: v0.2
I (36) boot.esp32s3: Boot SPI Speed : 80MHz
I (40) boot.esp32s3: SPI Mode : DIO
I (45) boot.esp32s3: SPI Flash Size : 16MB
I (50) boot: Enabling RNG early entropy source...
I (55) boot: Partition Table:
I (59) boot: ## Label Usage Type ST Offset Length
I (66) boot: 0 nvs WiFi data 01 02 00009000 00004000
I (74) boot: 1 phy_init RF data 01 01 0000d000 00001000
I (81) boot: 2 factory factory app 00 00 00010000 00600000
I (89) boot: End of partition table
I (93) esp_image: segment 0: paddr=00010020 vaddr=3c100020 size=326384h (3302276) map
I (694) esp_image: segment 1: paddr=003363ac vaddr=3fc9d100 size=04d50h ( 19792) load
I (698) esp_image: segment 2: paddr=0033b104 vaddr=40374000 size=04f14h ( 20244) load
I (704) esp_image: segment 3: paddr=00340020 vaddr=42000020 size=f3420h (996384) map
I (886) esp_image: segment 4: paddr=00433448 vaddr=40378f14 size=14158h ( 82264) load
I (915) boot: Loaded app from partition at offset 0x10000
I (915) boot: Disabling RNG early entropy source...
I (927) cpu_start: Multicore app
I (936) cpu_start: Pro cpu start user code
I (937) cpu_start: cpu freq: 160000000 Hz
I (937) cpu_start: Application information:
I (940) cpu_start: Project name: ai_toys
I (944) cpu_start: App version: 20241005-lcdtpgt911andadcbutton
I (951) cpu_start: Compile time: Oct 13 2024 15:06:36
I (958) cpu_start: ELF file SHA256: 64b0df800...
I (963) cpu_start: ESP-IDF: v5.2.2-639-g43098fc4de-dirty
I (970) cpu_start: Min chip rev: v0.0
I (974) cpu_start: Max chip rev: v0.99
I (979) cpu_start: Chip rev: v0.2
I (984) heap_init: Initializing. RAM available for dynamic allocation:
I (991) heap_init: At 3FCB9D38 len 0002F9D8 (190 KiB): RAM
I (997) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM
I (1003) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (1010) heap_init: At 600FE010 len 00001FD8 (7 KiB): RTCRAM
I (1017) spi_flash: detected chip: generic
I (1021) spi_flash: flash io: dio
W (1025) i2c: This driver is an old driver, please migrate your application code to adapt `driver/i2c_master.h`
W (1036) ADC: legacy driver is deprecated, please migrate to `esp_adc/adc_oneshot.h`
I (1044) sleep: Configure to isolate all GPIO pins in sleep state
I (1051) sleep: Enable automatic switching of GPIO sleep configuration
I (1059) main_task: Started on CPU0
I (1069) main_task: Calling app_main()
I (1069) BAIDU_SPEECH_EXAMPLE: nvs_flash_init start
I (1079) BAIDU_SPEECH_EXAMPLE: [ 0 ] Start and wait for Wi-Fi network
I (1079) TCA9554: Detected IO expander device at 0x70, name is: TCA9554A
I (1089) AUDIO_BOARD: tca9554_init done
E (1099) gpio: GPIO_PIN mask error
I (1119) gpio: GPIO[2]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1519) AUDIO_BOARD: lcd init done
I (1519) AUDIO_THREAD: The esp_periph task allocate stack on internal memory
W (1519) I2C_BUS: I2C bus has been already created, [port:0]
I (1519) GT911: TouchPad_ID:0x39,0x31,0x31
I (1529) GT911: TouchPad_Config_Version:65
I (1539) BAIDU_SPEECH_EXAMPLE: lv_port_init done
I (1559) BAIDU_SPEECH_EXAMPLE: lv_demo_music done
I (1559) BAIDU_SPEECH_EXAMPLE: main_page_task
I (1559) BAIDU_SPEECH_EXAMPLE: main_page_task
I (1569) BAIDU_SPEECH_EXAMPLE: ai_chat_task
I (1569) BAIDU_SPEECH_EXAMPLE: ai_chat_task
I (1579) BAIDU_SPEECH_EXAMPLE: [ 0 ] Start and wait for Wi-Fi network
I (1579) BAIDU_SPEECH_EXAMPLE: [ key_start 00]
I (1589) BAIDU_SPEECH_EXAMPLE: [ key_start 01]
I (1589) AUDIO_THREAD: The input_key_service task allocate stack on internal memory
W (1599) BAIDU_SPEECH_EXAMPLE: [ 4 ] Waiting for a button to be pressed ...
I (1609) BAIDU_SPEECH_EXAMPLE: audio_key_start done
I (1599) AUDIO_THREAD: The button_task task allocate stack on internal memory
I (1619) BAIDU_SPEECH_EXAMPLE: ai_chat_task finish
I (1629) pp: pp rom version: e7ae62f
I (1629) net80211: net80211 rom version: e7ae62f
I (1649) wifi:wifi driver task: 3fcdc1c0, prio:23, stack:6656, core=0
I (1649) wifi:wifi firmware version: c2ae8d1
I (1649) wifi:wifi certification version: v7.0
I (1649) wifi:config NVS flash: enabled
I (1659) wifi:config nano formating: disabled
I (1659) wifi:Init data frame dynamic rx buffer num: 32
I (1659) wifi:Init static rx mgmt buffer num: 5
I (1669) wifi:Init management short buffer num: 32
I (1669) wifi:Init dynamic tx buffer num: 32
I (1679) wifi:Init static tx FG buffer num: 2
I (1679) wifi:Init static rx buffer size: 1600
I (1689) wifi:Init static rx buffer num: 10
I (1689) wifi:Init dynamic rx buffer num: 32
I (1689) wifi_init: rx ba win: 6
I (1699) wifi_init: tcpip mbox: 32
I (1699) wifi_init: udp mbox: 6
I (1699) wifi_init: tcp mbox: 6
I (1709) wifi_init: tcp tx win: 5760
I (1709) wifi_init: tcp rx win: 5760
I (1719) wifi_init: tcp mss: 1440
I (1719) wifi_init: WiFi IRAM OP enabled
I (1729) wifi_init: WiFi RX IRAM OP enabled
W (1729) wifi:Password length matches WPA2 standards, authmode threshold changes from OPEN to WPA2
I (1739) wifi:Set ps type: 1, coexist: 0

I (1739) phy_init: phy_version 680,a6008b2,Jun 4 2024,16:41:10
I (1789) wifi:mode : sta (cc:8d:a2:ee:c5:94)
I (1789) wifi:enable tsf
W (1789) PERIPH_WIFI: WiFi Event cb, Unhandle event_base:WIFI_EVENT, event_id:43
I (2919) wifi:new:<6,1>, old:<1,0>, ap:<255,255>, sta:<6,1>, prof:1
I (2919) wifi:state: init -> auth (b0)
W (2919) PERIPH_WIFI: WiFi Event cb, Unhandle event_base:WIFI_EVENT, event_id:43
I (2929) wifi:state: auth -> assoc (0)
I (2939) wifi:state: assoc -> run (10)
I (2949) wifi:connected with luke2g, aid = 4, channel 6, 40U, bssid = b0:95:8e:cd:5b:c9
I (2949) wifi:security: WPA2-PSK, phy: bgn, rssi: -45
I (2949) wifi:pm start, type: 1

I (2959) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
I (2959) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time:
10000
W (2979) PERIPH_WIFI: WiFi Event cb, Unhandle event_base:WIFI_EVENT, event_id:4
I (2979) wifi:<ba-add>idx:0 (ifx:0, b0:95:8e:cd:5b:c9), tid:0, ssn:0, winSize:64
I (2989) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (3969) esp_netif_handlers: sta ip: 192.168.0.105, mask: 255.255.255.0, gw: 192.168.0.1I (3969) PERIPH_WIFI: Got ip:192.168.0.105
I (7039) BAIDU_AUTH: Access token=24.c05d89f8c84aacd52c66d23b87c47501.2592000.1731764019.282335-96165023
I (7039) AUDIO_BOARD: audio_board_init and codec adc
W (7039) I2C_BUS: I2C bus has been already created, [port:0]
I (7059) DRV8311: ES8311 in Slave mode
I (7069) gpio: GPIO[48]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0|
Intr:0
W (7069) I2C_BUS: I2C bus has been already created, [port:0]
I (7079) ES7210: ES7210 in Slave mode
I (7089) ES7210: Enable ES7210_INPUT_MIC1
I (7089) ES7210: Enable ES7210_INPUT_MIC2
I (7099) ES7210: Enable ES7210_INPUT_MIC3
W (7099) ES7210: Enable TDM mode. ES7210_SDP_INTERFACE2_REG12: 2
I (7109) ES7210: config fmt 60
I (7109) AUDIO_HAL: Codec mode is 3, Ctrl:1
I (7119) AUDIO_PIPELINE: link el->rb, el:0x3fce8ce8, tag:vtt_i2s, rb:0x3fce358c
I (7129) MP3_DECODER: MP3 init
I (7129) AUDIO_PIPELINE: link el->rb, el:0x3fce3fa4, tag:tts_http, rb:0x3fcedec0
I (7129) AUDIO_PIPELINE: link el->rb, el:0x3fcedb68, tag:tts_mp3, rb:0x3fced318
I (7139) BAIDU_SPEECH_EXAMPLE: [ 4 ] Set up event listener
I (7149) BAIDU_SPEECH_EXAMPLE: [4.1] Listening event from the pipeline
I (7149) BAIDU_SPEECH_EXAMPLE: [4.2] Listening event from peripherals
I (7159) BAIDU_SPEECH_EXAMPLE: [ 5 ] Listen for all pipeline events
I (7169) BAIDU_SPEECH_EXAMPLE: lv_main_page
I (7179) BAIDU_SPEECH_EXAMPLE: lv_main_page done
I (18239) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:1048588, source:0x3fcd6aa8 cmd:1, data:0x5, data_len:4
I (18239) BAIDU_SPEECH_EXAMPLE: msg.cmd=1
W (18239) AUDIO_PIPELINE: Without stop, st:1
W (18249) AUDIO_PIPELINE: Without wait stop, st:1
I (18249) BAIDU_TTS: TTS all el stopped
I (18259) BAIDU_SPEECH_EXAMPLE: [ * ] Resuming pipeline
I (18259) AUDIO_THREAD: The vtt_http task allocate stack on internal memory
I (18269) AUDIO_ELEMENT: [vtt_http-0x3fce9278] Element task created
I (18279) AUDIO_THREAD: The vtt_i2s task allocate stack on internal memory
I (18279) AUDIO_ELEMENT: [vtt_i2s-0x3fce8ce8] Element task created
I (18289) AUDIO_PIPELINE: Func:audio_pipeline_run, Line:359, MEM Total:77708 Bytes

I (18299) AUDIO_ELEMENT: [vtt_http] AEL_MSG_CMD_RESUME,state:1
I (18309) BAIDU_VTT: [ + ] HTTP client HTTP_STREAM_PRE_REQUEST, lenght=0
I (18309) AUDIO_ELEMENT: [vtt_i2s] AEL_MSG_CMD_RESUME,state:1
I (18319) AUDIO_PIPELINE: Pipeline started
I (18319) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce8ce8 cmd:8, data:0xc, data_len:4
I (18349) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce9278 cmd:10, data:0x0, data_len:0
I (18349) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce9278Total bytes written: 69632
I (20559) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:1048588, source:0x3fcd6aa8 cmd:2, data:0x5, data_len:4
I (20559) BAIDU_SPEECH_EXAMPLE: msg.cmd=2
I (20559) BAIDU_SPEECH_EXAMPLE: [ * ] Stop pipeline
W (20569) AUDIO_PIPELINE: Without stop, st:1
W (20569) AUDIO_PIPELINE: Without wait stop, st:1
I (20579) BAIDU_TTS: TTS all el stopped
W (20579) AUDIO_ELEMENT: IN-[vtt_http] AEL_IO_ABORT
W (20589) HTTP_STREAM: No output due to stopping
I (20589) BAIDU_VTT: [ + ] HTTP client HTTP_STREAM_POST_REQUEST, write end chunked marker
I (20999) BAIDU_VTT: [ + ] HTTP client HTTP_STREAM_FINISH_REQUEST, read_len=135
I (20999) BAIDU_VTT: Got HTTP Response = {"corpus_no":"7426737332121943696","err_msg":"success.","err_no":0,"result":["你还会死机了吗?"],"sn":"348135840301729172033"}

I (21019) BAIDU_VTT: response_text:你还会死机了吗?
I (21029) BAIDU_SPEECH_EXAMPLE: Original text = 你还会死机了吗?
I (21539) MINIMAX_CHAT: Need to write 508, written 508
I (22029) MINIMAX_CHAT: read = {"created":1729172034,"model":"abab5.5s-chat","reply":"(
得意)当然不会,我可是技术专家。","choices":[{"finish_reason":"stop","messages":[{"sender_type":"BOT","sender_name":"三哥","text":"(得意)当然不会,我可是技术专家。"}]}],"usage":{"total_tokens":88},"input_sensitive":false,"output_sensitive":false,"id":"03604542ee39fc976378ec4434878768","base_resp":{"status_code":0,"status_msg":""}}
I (22059) MINIMAX_CHAT: response_text:(得意)当然不会,我可是技术专家。
I (22069) BAIDU_SPEECH_EXAMPLE: minimax answer = (得意)当然不会,我可是技术专家。
I (22079) AUDIO_THREAD: The tts_http task allocate stack on internal memory
I (22079) AUDIO_ELEMENT: [tts_http-0x3fce3fa4] Element task created
W (22089) AUDIO_THREAD: Make sure selected the `CONFIG_SPIRAM_BOOT_INIT` and `CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY` by `make menuconfig`
I (22099) AUDIO_THREAD: The tts_mp3 task allocate stack on internal memory
I (22109) AUDIO_ELEMENT: [tts_mp3-0x3fcedb68] Element task created
I (22119) AUDIO_THREAD: The tts_i2s task allocate stack on internal memory
I (22129) AUDIO_ELEMENT: [tts_i2s-0x3fce38dc] Element task created
I (22129) AUDIO_PIPELINE: Func:audio_pipeline_run, Line:359, MEM Total:43008 Bytes

I (22139) AUDIO_ELEMENT: [tts_http] AEL_MSG_CMD_RESUME,state:1
I (22149) BAIDU_TTS: [ + ] HTTP client HTTP_STREAM_PRE_REQUEST, lenght=0
I (22149) AUDIO_ELEMENT: [tts_mp3] AEL_MSG_CMD_RESUME,state:1
I (22159) MP3_DECODER: MP3 opened
I (22159) AUDIO_ELEMENT: [tts_i2s] AEL_MSG_CMD_RESUME,state:1
I (22169) AUDIO_PIPELINE: Pipeline started
I (22179) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce8ce8 cmd:11, data:0x3fcca044, data_len:64
I (22189) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce8ce8 cmd:8, data:0xe, data_len:4
I (22199) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce9278 cmd:11, data:0x3fcca088, data_len:64
I (22209) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce9278 cmd:8, data:0xe, data_len:4
I (22219) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce38dc cmd:8, data:0xc, data_len:4
I (23569) HTTP_STREAM: total_bytes=29376
I (23569) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce3fa4 cmd:10, data:0x0, data_len:0
I (23569) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce3fa4 cmd:8, data:0xc, data_len:4
I (23579) CODEC_ELEMENT_HELPER: The element is 0x3fcedb68. The reserve data 2 is 0x0.
E (23589) MP3_DE_LIB: pvmp3_framedecoder.cpp:701 (pvmp3_InitDecoder): Memory exhausted
E (23599) MP3_DECODER: Allocate buffer failed. (line 407)
E (23609) AUDIO_ELEMENT: [tts_mp3] AEL_STATUS_ERROR_OPEN,-1
W (23609) AUDIO_ELEMENT: [tts_mp3] audio_element_on_cmd_error,7
I (23619) MP3_DECODER: Closed
W (23619) AUDIO_ELEMENT: IN-[tts_i2s] AEL_IO_ABORT
I (23609) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fcedb68 cmd:8, data:0x1, data_len:4
I (23639) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fcedb68 cmd:11, data:0x3fcc98c4, data_len:64
I (23649) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce38dc cmd:11, data:0x3fcc99b8, data_len:64
I (23659) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce38dc cmd:8, data:0xe, data_len:4
I (23669) BAIDU_SPEECH_EXAMPLE: [ * ] TTS Finish
W (23629) AUDIO_ELEMENT: OUT-[tts_http] AEL_IO_ABORT
I (23689) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce3fa4 cmd:11, data:0x3fcc9ae4, data_len:64
I (23699) BAIDU_SPEECH_EXAMPLE: [ * ] Event received: src_type:131072, source:0x3fce3fa4 cmd:8, data:0xe, data_len:4