esp32怎么分离人声和设备播放音频的声音

caoshiyu288
Posts: 4
Joined: Fri Jan 10, 2025 12:31 pm

esp32怎么分离人声和设备播放音频的声音

Postby caoshiyu288 » Fri Jan 10, 2025 12:39 pm

我在esp32s3终端开启录音的时候,会同时录制到设备播放音频的声音和人说话的声音, 请问我如何将人声分离出来,比如我可以在esp32终端系统中完成这个分离操作, 也可以将整段音频上传到我自己的服务端,服务端做分离,关键是分离逻辑是什么,比如音频数据的排练是否有规律,比如按照mic1mic3mic1...这样排,请协助,谢谢!

caoshiyu288
Posts: 4
Joined: Fri Jan 10, 2025 12:31 pm

Re: esp32怎么分离人声和设备播放音频的声音

Postby caoshiyu288 » Tue Jan 14, 2025 9:17 am

我是用的adf方案,语音唤醒识别, 和语音录音通话放在一起的:
recorder_sr_cfg_t recorder_sr_cfg = DEFAULT_RECORDER_SR_CFG();
recorder_sr_cfg.afe_cfg.memory_alloc_mode = AFE_MEMORY_ALLOC_MORE_PSRAM;
recorder_sr_cfg.afe_cfg.wakenet_init = WAKENET_ENABLE;
// recorder_sr_cfg.multinet_init = MULTINET_ENABLE;
recorder_sr_cfg.afe_cfg.aec_init = RECORD_HARDWARE_AEC;
recorder_sr_cfg.afe_cfg.agc_mode = AFE_MN_PEAK_AGC_MODE_2;//
recorder_sr_cfg.afe_cfg.afe_mode = SR_MODE_HIGH_PERF;
audio_rec_cfg_t cfg = AUDIO_RECORDER_DEFAULT_CFG();
cfg.read = (recorder_data_read_t)&input_cb_for_afe;
cfg.sr_handle = recorder_sr_create(&recorder_sr_cfg, &cfg.sr_iface);
#if SPEECH_CMDS_RESET
char err[200];
recorder_sr_reset_speech_cmd(cfg.sr_handle, SPEECH_COMMANDS, err);
#endif
#if RECORDER_ENC_ENABLE
cfg.encoder_handle = recorder_encoder_create(&recorder_encoder_cfg, &cfg.encoder_iface);
#endif
cfg.event_cb = rec_engine_cb;
cfg.vad_off = 1000;//1000
cfg.wakeup_time = 5 * 60 *1000;//5 min
cfg.wakeup_end = 4 * 60 * 1000;
recorder = audio_recorder_create(&cfg);

Who is online

Users browsing this forum: No registered users and 40 guests