ESP-Audio-Effects 组件
概述
ESP-Audio-Effects 是一个功能强大且灵活的音频处理库,旨在为开发者提供高效的音频效果处理能力。该组件广泛应用于各类智能音频设备,包括智能音箱、耳机、音频播放设备,以及语音交互系统。
功能
自动电平控制:自动调节输入增益以稳定音频音量。渐进式调整确保平滑过渡。动态校正过度放大以避免削波失真。
均衡器:提供对滤波器类型、频率、增益和 Q 因子的精细控制。适用于音频调谐和专业信号塑形。
淡入淡出:实现淡入和淡出效果,确保音轨之间的平滑过渡。
音速音调处理:支持实时速度和音调修改,实现更动态的播放效果。
混音器:将多个输入流合并为一个输出,可为每个输入配置起始/目标权重和过渡时间。
数据编织器:处理音频数据缓冲区的交织和解交织。
采样率转换:在 4000 和 11025 的倍数之间进行采样率转换。
通道转换:使用权重数组重新映射音频通道布局。
位深转换:支持 U8、S16、S24 和 S32 位深度之间的转换。
动态范围控制:根据不同的播放环境和设备,调节音频信号的动态范围。动态范围表示音频信号中最安静与最响亮部分之间的差值。
多频段动态范围压缩:通过分频滤波器将音频信号拆分为多个频率区间,并对每个区间独立进行动态范围处理。
每个模块所支持的采样率、声道数和采样位深可参考 README。
数据布局
ESP-Audio-Effects 支持交织和解交织两种音频格式:
交织格式:使用
esp_ae_xxx_process()API 处理此布局。例如:
L0 R0 L1 R1 L2 R2 ...其中 L 和 R 分别代表左右声道样本。
解交织格式:使用
esp_ae_xxx_deintlv_process()API。每个通道存储在单独的缓冲区中:
L1, L2, L3, ... // 左声道 R1, R2, R3, ... // 右声道
API 风格
ESP-Audio-Effects 提供一致且开发者友好的 API:
类别 |
函数 |
描述 |
|---|---|---|
初始化 |
|
创建音频效果句柄。 |
交织处理 |
|
处理交织音频数据。 |
解交织处理 |
|
处理解交织音频数据。 |
设置参数 |
|
设置组件特定参数。 |
获取参数 |
|
获取当前参数。 |
释放 |
|
释放资源并销毁句柄。 |
相关链接
组件注册表: esp_audio_effects component