音频常见格式
对音频进行编码常见的格式有:
格式 | 类型 | 说明 |
---|---|---|
PCM | 无压缩 | 一种将模拟信号的数字化方法,无损编码。 |
WAV | 无压缩 | 有多种实现方式,但是都不会进行压缩操作。其中一种实现就是在 PCM 数据格式的前面加上 44 字节,分别用来描述 PCM 的采样率、声道数、数据格式等信息。音质非常好,大量软件都支持。 |
MP3 | 有损压缩 | 音质在 128 Kbps 以上表现还不错,压缩比比较高,大量软件和硬件都支持,兼容性好。 |
AAC | 有损压缩 | 在小于 128 Kbps 的码率下表现优异,并且多用于视频中的音频编码。 |
OPUS | 有损压缩 | 可以用比 MP3 更小的码率实现比 MP3 更好的音质,高中低码率下均有良好的表现,兼容性不够好,流媒体特性不支持。适用于语音聊天的音频消息场景。 |
PCM 是音频原始数据的基础格式,并不支持直接用于播放,但可以将其通过编码转换成其他支持播放的格式文件,也可将一些格式文件解码成PCM后再进行编码来实现不同格式的音频文件转换;AAC 则在短视频和直播场景广泛使用。
我们能直接获取到的默认音频格式为音频裸数据格式,即 PCM 格式,因此并不需要对 PCM 进行额外的编码,但需要获取到对应的配置,用于将 PCM 格式的音频转换为其他格式的音频,比如我们本文中的 WAV 格式。
WAV
WAV 全称 Waveform Audio File Format,是微软公司开发的一种无损声音文件格式,也叫波形声音文件,是最早的数字音频格式,被 Windows 平台及其应用程序广泛支持。
WAV 符合 RIFF(Resource Interchange File Format) 规范,所有的WAV都由 44字节 文件头 和 PCM 数据 组成,这个文件头包含语音信号的所有参数信息(声道数、采样率、量化位数、比特率…) 44个字节的 头文件由 3个区块组成:
- RIFF chunk:WAV文件标识
- Format chunk: 声道数、采样率、量化位数、等信息
- Data chunk:存放 PCM 数据
根据上图,所有区块的内容如下:
RIFF 区块
名称 | 字节数 | 内容 | 描述 |
---|