PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。它是70年代末发展起来的,记录媒体之一的CD,在80年代初由飞利浦和索尼公司共同推出。脉码调制的音频格式也被DVD-A所采用,它支持立体声和5.1环绕声,1999年由DVD讨论会发布和推出的。
我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值还要进行编码,就是用一组二进制码组来表示每一个量化值,然后记录到存储介质中,所有这些组成了数字音频的产生过程。采样、量化如下图所示。
根据数字音频的产生过程可知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV 文件中均有应用。因此,PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准。
对于我们最常说的“无损音频”来说,一般都是指传统CD格式中的16bit/44.1kHz采样率的文件格式,而之所以称其为无损,也是因为其包含了20Hz-22.05kHz这个完全覆盖人耳可闻范围的频响频率而得名。要做到真正的无损是困难的,就像用数字去表达圆周率,不管精度多高,也只是无限接近,而不是真正等于圆周率的值。
常见的无损音频格式有WAV、FLAC和APE。
WAV格式文件是音响设备和很多软件可以直接读取的音频文件,基本上不存在编解码问题。FLAC和APE都对WAV进行了编码,故能换取较小的体积,但同时造成解码播放时,因播放器材解析力很敏感(或者说技术所限),会出现一定的jitter抖动(解析复杂编码所致)而导致播放效果不够饱满和流畅。这点你可以通过统一转换为WAV格式来试听解决。
对于WAV格式来说,是目前的常规无损压缩格式中体积最大的文件格式,由于FLAC和APE都对WAV进行了更高技术的编码,所以换取了较小的体积,这也是这两种格式之所以出现的根本原因。而对于FLAC和APE两种格式来说,虽然体积大小差不多,但是采用了不同的压缩格式,所以对于设备来说在播放时候需要占用的资源多少也并不相同,简单地说占用资源多少的比例为:APE最大、FLAC中、WAV占用最小。
三、PCM编码与WAV格式的关系
单独的PCM编码文件是不能直接播放的,这种文件通常称为PCM裸流。PCM裸流经过封装后,就可以正常播放了。
WAV格式文件可以使用多种音频编码方式来压缩其封装的音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,几乎所有支持ACM规范的编码方式都可以为WAV的音频流进行编码。
在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美播放,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中。因为几乎所有的有损压缩格式都是从WAV格式压缩、转换而来,其实内部的编码依然是PCM,所以曾经很多MP3设备并不支持FLAC、APE、AAC等等格式,是因为它们不支持这些文件的解压缩,但是从没有一款播放器不支持WAV格式,因为WAV格式本身,就等于PCM码流。
最常见的WAV格式文是在PCM裸流的基础上加上44字节的文件头构成的,此时PCM的采样率是8KHz,量化位数是16位,当采用8位的量化位数时,文件头的长度可以达到58位。比如说Windows下自带的那个录音机录下的WAV,文件头有58个字节。所以,比较好的办法是,首先读取n个长度的一段字符,例如60个,然后从中查找关键字“data”,“data”之后的一个DWORD是实际音频数据的长度,得到这个长度length,再从这DWORD后开始读取length个字节,就可以读到文件尾。如下图所示,用UltraEdit打开一个WAV文件,可以看到关键字data,data之后红框中的四个字节就是length。
如果是双声道的,那么数据是交替存放的;如果是16bit采样的,每两个字节会以小端的方式存储一个AD值。根据这样的方式,就可以顺利读取音频数据了。
四、PCM裸流的制作
步骤一、用酷狗音乐客户端下载一首无损歌曲,格式为WAV、FLAC或APE,如果下载的是WAV格式,直接看最后一个步骤。
步骤二、切换到工具界面,入下图所示。
步骤三、点击上图中的“格式转换”按钮,弹出“格式转换工具”对话框,如下图所示。注意格式转换工具默认不可用,需要联网下载。
步骤四、添加需要转换的歌曲,转换格式选择WAV,然后点击“转换文件”按钮,等待转换完成。
步骤五、点击“打开文件夹”按钮,可以看到转换成功的WAV歌曲,如下图所示。
步骤六、用文本编辑器,比如说UltraEdit,打开该WAV歌曲文件,然后选中文件头的44个字节并剪切(因为退格键不管用),将这44个字节删掉,保存后更名并把后缀改成pcm即可,如下图所示。