Audio File Format

2016-03-18 Tec

音频文件的内容

音频文件当然需要包括音频的采样,采样保存为未经压缩的PCM,或压缩后再保存
同时还需要保存音频本身的信息:

  • 不压缩:采样率,位数,声道数
  • 压缩:需要更多信息——编码,比特率

元数据:

  • 艺术家姓名,音轨标题
  • 专辑封面
  • timestamp标记

WAV

wav是windows标准的音频格式


如果采样率、比特率、声道很多,音频内容超过4G是不能用wav保存的,可以用RF64 WAV。
wav不能用于网络传输,因为信息都保存在头部,如果只接收到中间部分,将不知道怎么播放

Mac使用类似于WAV的AIFF格式。注意WAV使用little-endian(Intel处理器),AIFF使用big-endian

MP3

比特率较低时,体积比PCM小很多。
使用ID3 tag(保存在mp3尾部),ID3v2 tag(保存在mp3头部)保存metadata。
ID3v2 tag后面就是一个个的mp3帧,每个mp3帧都由音频采样和格式信息组成,一个帧有几百个字节
MP3适合在网络传播,因为只要找到帧开头就可以继续播放。
MP3的重要参数是bitrate比特率,表示每秒有多少bit的数据,这些数据是已经压缩过的。
不压缩的CD立体声音频是1411kbps=44.1k*16*2
MP3从32~320kbps,一般128kbps就相当接近CD音质了,更高的音质是192kbps
比特率高,音质高,文件体积大
CBR-固定码率
VBR-可变码率,由编码器决定码率,体积会更小

Audio Codec

  • Encoder编码器:把PCM压缩
  • Decoder解码器:把压缩音频还原为PCM
  • Transcoding转码:先解码称PCM,再编码为另一种格式或比特率

容器和编码的不同

文件格式规定了音频的信息和音频内容以何种格式保存
WAV是一种文件格式(容器),WAV可以保存不同编码的音频,例如WAV后缀里可能放的是MP3的音频
编码方式规定了如何编解码
MP3是一种编码方式,同时也是一种文件格式

Lo-Fi(Voice) Codecs

使用场景

  • Telephony
  • Radio
  • VoIP

输入

  • 16bit 8kHz mono PCM(128bkps)
  • 16bit 16kHz mono PCM(256bkps)

priorities

  • low bitrate
  • low latency
  • low CPU
  • accpted quality

Hi-Fi

Users

  • music
  • film soundtracks

Typical input

  • 44.1kHz stereo 16bit

Priorities

  • reduces file size
  • good audio quality

获得编解码器

单独的编解码可以获得 命令行工具(Lame)/库(libopus)
另外,windows自带有编解码器的API

  • ACM(Audio Compression Manager)
  • MFT(Media Foundation Transform) newer
  • DMO(DIrectX Media Objects)

点MediaPlayer里的帮助-关于-技术支持信息 可以看到电脑上已经装了哪些编解码器。

选择编解码器

权衡比特率与质量

  • 最高质量:PCM,FLAC
  • 流音乐:MP3,AAC
  • 低延迟:Opus,Speex

受众得有相应的解码器

mp3和711广泛使用的原因就是对应的解码器很普遍

授权,版税

有的编码器是需要付费的,所以很多音乐编辑器让客户自己下载编解码器

用自己的耳朵在各种环境下听来选择

Comments
Write a Comment