ESP-Audio-Effects 组件

[English]

概述

ESP-Audio-Effects 是一个功能强大且灵活的音频处理库,旨在为开发者提供高效的音频效果处理能力。该组件广泛应用于各类智能音频设备,包括智能音箱、耳机、音频播放设备,以及语音交互系统。

功能

  • 自动电平控制:自动调节输入增益以稳定音频音量。渐进式调整确保平滑过渡。动态校正过度放大以避免削波失真。

  • 均衡器:提供对滤波器类型、频率、增益和 Q 因子的精细控制。适用于音频调谐和专业信号塑形。

  • 淡入淡出:实现淡入和淡出效果,确保音轨之间的平滑过渡。

  • 音速音调处理:支持实时速度和音调修改,实现更动态的播放效果。

  • 混音器:将多个输入流合并为一个输出,可为每个输入配置起始/目标权重和过渡时间。

  • 数据编织器:处理音频数据缓冲区的交织和解交织。

  • 采样率转换:在 4000 和 11025 的倍数之间进行采样率转换。

  • 通道转换:使用权重数组重新映射音频通道布局。

  • 位深转换:支持 U8、S16、S24 和 S32 位深度之间的转换。

  • 动态范围控制:根据不同的播放环境和设备,调节音频信号的动态范围。动态范围表示音频信号中最安静与最响亮部分之间的差值。

  • 多频段动态范围压缩:通过分频滤波器将音频信号拆分为多个频率区间,并对每个区间独立进行动态范围处理。

每个模块所支持的采样率、声道数和采样位深可参考 README

数据布局

ESP-Audio-Effects 支持交织和解交织两种音频格式:

  1. 交织格式:使用 esp_ae_xxx_process() API 处理此布局。例如:

L0 R0 L1 R1 L2 R2 ...

其中 L 和 R 分别代表左右声道样本。

  1. 解交织格式:使用 esp_ae_xxx_deintlv_process() API。每个通道存储在单独的缓冲区中:

L1, L2, L3, ...  // 左声道
R1, R2, R3, ...  // 右声道

API 风格

ESP-Audio-Effects 提供一致且开发者友好的 API:

颜色转换格式支持

类别

函数

描述

初始化

esp_ae_xxx_open()

创建音频效果句柄。

交织处理

esp_ae_xxx_process()

处理交织音频数据。

解交织处理

esp_ae_xxx_deintlv_process()

处理解交织音频数据。

设置参数

esp_ae_xxx_set_xxx()

设置组件特定参数。

获取参数

esp_ae_xxx_get_xxx()

获取当前参数。

释放

esp_ae_xxx_close()

释放资源并销毁句柄。

相关链接