在将音频信号转换为数字信号后,为了将数据保存在文件,使用了编码处理。常用的编码有PCM、MP3,AAC、FLAC等。这里的编码,可以对照理解为文件的压缩格式一样的处理,目的就是减少数据的保存量,也就是音频文件所占的物理存储空间。
例如对长度为4分钟,采样频率为44100Hz,采样深度为16bits,双声音Wav文件大小:
44100Hz*16bits*4minutes*2=(44100/1second)*16bits*(4minutes*(60seconds/1minutes)*2=705600bits/second*240seconds=169344000bits=169344000/(8bits/1byte)*2=42336000bytes=42336000/(1048576/1M)bytes=40.37MB
MP3,128kbps压缩后文件大小:
128kbps*4minutes=(128kbits/1second)*(4minutes*(60seconds/1minutes))=(128kbits/1second)*240seconds=30720kbits=30720kbits/(8bits/1byte)=3840kbytes=3840k/(1024k/1M)bytes=3.75Mbytes=3.75MB
正如上面的例子,声音压缩后,存储大小为原大小的十分之一,压缩率十分可观!
使用编码器时需要考虑的因素:
1、最佳压缩比;
2、算法的复杂度;
3、算法延时;
4、针对特殊场景下的特定设计;
5、兼容性。
通过一些特定的压缩算法,可以压缩音频文件至原来的1/10,同时人耳也无法分辨压缩前后的声音质量差异,需要满足多种条件才能实现这种效果;而对于编码器,无论是设计阶段还是使用阶段,我们都需要考虑最佳压缩效果、算法的复杂度与算法的延时,结合特殊场景进行特定的设计;而兼容性也是我们不能不考虑的重点。