音频开发学习笔记

244 阅读3分钟

音频的关键概念

  • PCM 脉冲编码调制,是数字音频的标准形式。
    • 采样率,单位Hz/s简单理解为每秒采样的个数。
    • 位深度,每个样本中信息的位数,即一个样本使用多个bit表示,位深越大理论声音质量越高(相同音源),和比特率正关联。
  • 比特率,单位bit/s,指每秒的比特数量。
  • 通道,整数,例如1 = 单声道、2 = 双声道
  • 编码器,对数字数据流进行编码或解码,决定音频质量和占用存储大小。
  • 音频文件格式
    • 未压缩,例如PCM、WAV
    • 无损压缩,ACC、ALAC等。
    • 有损压缩,MP3、WMA等
  • 音频编码格式(音频压缩格式)
  • DRM,音频版权保护

音频大小计算

计算公式:Bits = 采样率 x 位深 x 通道 x 时长

单通道音频每秒大小 = 采样率 * 位深,例如 44100 Hz/秒 x 8 Bits x 1 = 44100 bytes,约 43.06 kb/秒

有哪些常见格式?

编码格式常见文件格式压缩模式开发商免费压缩比例平台备注
ALAC.m4a .caf无损Apple40-60%除Android外
AAC.m4a .aac .mp4 .3gp混合ISO部分全平台MP3升级版
FLAC.flac .mka .mkv .caf无损Xiph.Org50-70%全平台
MP3.mp3有损ISO75-95%全平台
WavPack.wv .wvc混合30-70%除Android外
WMA.wma有损微软全平台
PCM.pcmN/A0全平台
WAV.wav .waveN/A0全平台

压缩模式中的 混合 指的是文件编码后会产生两个文件,一个是高质量的有损文件,以及一个校正文件,当两个文件同时使用时可以恢复无损数据。

AAC只针对编码/解码器商业需要获得授权许可,终端使用传输免费。

平台只考虑iOSAndroidWindowsmacOSLinux

疑问点

PCM和WAV的区别❓

WAV是对PCM进行包装,添加了文件标头用来记录文件文件长度等数据。基于此,WAV不适用于流式音频,因为在流未结束前,无法生成文件标头。

文件格式和编码格式的区别❓

编码格式是文件格式的子集。编码格式只适用于有损/无损的文件格式。编码格式与编码器相关。

有哪些常见的文件格式和编码格式❓

编码格式比较: 音频编码格式的比较.png

操作系统兼容性: 操作系统兼容性.png

技术细节: 技术细节.png

哪种无损是好的选择❓

结论:FLACACC

考虑以下因数:

  1. 支持的采样率
  2. 支持的比特率
  3. 延迟大小
  4. 支持立体声
  5. 支持多通道
  6. 操作系统支持
  7. 免费的编码/解码器
  8. 压缩比

具体对比参考维基百科 音频编码格式比较

哪种有损是好的选择❓

结论:ACC**

资料参考

PCM 脉冲编码调制

维基百科 音频编码格式比较

维基百科 音频文件格式

维基百科 音频编码格式