ESP-Audio-Codec 组件

[English]

概述

有关 ESP-Audio-Codec 组件的介绍及性能说明可参考 ESP-Audio-Codec

Codec 对比

下表为 ESP-Audio-Codec 支持的 Codec 特性对比:

常见音频 Codec 特性对比

Codec

特点

典型码率范围(kbps)

适用场景

AAC (Advanced Audio Coding)

有损压缩,音质优于 MP3,同码率下更高效;广泛支持。

96 – 320(立体声常用 128–256)

在线音乐、视频流媒体(YouTube、Apple Music、广播)。

MP3

最普及的有损压缩格式,兼容性极佳,但压缩效率比 AAC/Opus 略低。

128 – 320(低至 64 也可用)

音乐下载、传统播放器、车载音响。

AMR-NB / AMR-WB

专为语音优化,低比特率下语音清晰;NB(8kHz)、WB(16kHz)。

AMR-NB: 4.75 – 12.2;AMR-WB: 6.6 – 23.85

移动通信(2G/3G 电话通话)、VoIP、语音消息。

ADPCM

简单压缩,延迟低,音质有限;压缩效率不高。

常见 16 – 64

早期语音存储、嵌入式设备、对延迟敏感的简单音频传输。

G.711 (A-law / μ-law)

波形编码,固定 64 kbps,音质接近电话级;延迟极低。

固定为 64

固定电话、VoIP(如 SIP)、呼叫中心。

OPUS

低延迟、高音质,支持窄带到全频带,适应性强;开源免费。

6 – 510(常见语音 16–32,音乐 64–128)

实时语音(VoIP、会议)、音乐流、游戏语音、WebRTC。

Vorbis

开源有损压缩,音质好,压缩率比 MP3 优;逐渐被 Opus 取代。

64 – 320(常用 128–192)

开源流媒体(OGG 容器)、部分游戏和应用。

FLAC

无损压缩,保留原始音质,压缩率约 40–60%。

700 – 1100(CD 质量,取决于内容)

高保真音乐存储、音乐下载(Hi-Res 音乐)。

ALAC

苹果无损压缩,与 FLAC 类似,生态受限。

700 – 1100(与 FLAC 类似)

Apple Music 无损音频、iTunes、iOS/macOS 生态。

SBC

简单、低功耗,蓝牙 A2DP 默认编码,音质一般。

192 – 320(常用 256)

蓝牙耳机、蓝牙音箱。

LC3

继承 SBC,用于蓝牙 LE Audio;低功耗,音质比 SBC 好,延迟低。

16 – 160(常用 96–128)

蓝牙 LE Audio(TWS 耳机、助听器)、物联网音频。

使用方法

编码器使用示例

  • 详细用法请参考:audio_encoder_test.c

  • 若需要使用自定义编码器,请按照如下步骤进行:

    1. 实现自定义编码器接口,接口形式详见:结构体 esp_audio_enc_ops_t

    2. 在枚举 esp_audio_type_t 里自定义音频编码器类型,定义范围在 ESP_AUDIO_TYPE_CUSTOMIZEDESP_AUDIO_TYPE_CUSTOMIZED_MAX 之间,详见:枚举 esp_audio_type_t

    3. 如果想要覆盖默认编码器,无需自定义音频编码器类型,可直接使用已有的编码器类型

    4. 注册自定义编码器,详见:esp_audio_enc_register()

解码器使用示例

  • 详细用法请参考:audio_decoder_test.c

  • 若需要使用自定义解码器,请按照如下步骤进行:

    1. 实现自定义解码器接口,接口形式详见:结构体 esp_audio_dec_ops_t

    2. 在枚举 esp_audio_type_t 里自定义音频解码器类型,定义范围在 ESP_AUDIO_TYPE_CUSTOMIZEDESP_AUDIO_TYPE_CUSTOMIZED_MAX 之间,详见:枚举 esp_audio_type_t

    3. 如果想要覆盖默认解码器,无需自定义音频解码器类型,可直接使用已有的解码器类型

    4. 注册自定义解码器,详见:esp_audio_dec_register()

简易解码器使用示例

相关链接