在 Espressif ESP32-LYRATD-MSC 开发板上配置音频编解码器

标签 c audio embedded audio-recording esp32

当我使用 official audio recording examples 编译和烧录 ESP32-LYRATD-MSC 时,我在配置 ES8388 编解码器驱动程序后收到 es_write_reg 错误。

从 LYRA 或 WROVER 套件到 LYRATD-MSC 有什么变化可能会导致错误?

最佳答案

这是一个 known issue与 sample 。 ESP32-LYRATD-MSC 附带 ZL38063 DSP 芯片,但从示例中可以看出,它期望配置 ESP8388:

audio_hal_codec_config_t audio_hal_codec_cfg =  AUDIO_HAL_ES8388_DEFAULT(); // offending line
audio_hal_codec_cfg.i2s_iface.samples = AUDIO_HAL_16K_SAMPLES;
audio_hal_handle_t hal = audio_hal_init(&audio_hal_codec_cfg, 0);
audio_hal_ctrl_codec(hal, AUDIO_HAL_CODEC_MODE_ENCODE, AUDIO_HAL_CTRL_START);

要解决,改为配置 ZL38063:

audio_hal_handle_t init_audio_codec()
{
#if (CONFIG_ESP_LYRAT_V4_3_BOARD || CONFIG_ESP_LYRAT_V4_2_BOARD)
    audio_hal_codec_config_t audio_hal_codec_cfg = AUDIO_HAL_ES8388_DEFAULT();
    return audio_hal_init(&audio_hal_codec_cfg, 0);
#endif

#if (CONFIG_ESP_LYRATD_MSC_V2_1_BOARD || CONFIG_ESP_LYRATD_MSC_V2_2_BOARD)
    audio_hal_codec_config_t audio_hal_codec_cfg = AUDIO_HAL_ZL38063_DEFAULT();
    return audio_hal_init(&audio_hal_codec_cfg, 2);
#endif
}

然后,在 app_main() 中:

audio_hal_ctrl_codec(init_audio_codec(), AUDIO_HAL_CODEC_MODE_BOTH, AUDIO_HAL_CTRL_START);

关于在 Espressif ESP32-LYRATD-MSC 开发板上配置音频编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55012774/

相关文章:

javascript - PhantomJS不支持音频标签

java - 如何在 Android 2.1 中实现均衡器?

c++ - 如何开始基于nucleus RTOS的中国手机开发? (MTK)

assembly - ARM指令SWI和SVC完全相同吗?

c - 通过指针修改常量数据

c - 在 gdb 中逐字打印整个字符串

c++ - 寄存器函数指针

完全内存中的文件 *

html - 无法使用 SoundManager2 库平移音频

c - tm 结构和 MPLABX x8 编译器