解密数字音乐,什么程度才是无损音质?
2017-06-28



在生活中很多人有这样的疑问,比如什么是无损音乐?mp3文件中的320kbps和128kbps是什么意思?如果再发烧一点,HiFi、Hi-Res、DSD到底又是什么?这些音乐格式是如何工作的?




手机、电脑里的音乐能被播放出来的先决条件是,这段音乐(声音)能被存到手机和电脑里。这听起来有点像废话,但是这会产生一个问题,那就是:对于声音这种我们只能听得见但抓不住的事物来说,如何把它存储到电脑里?




一些关于“数字音乐”的基础技术知识




电脑通过“二进制数字”存储信息,也就是电脑中的任何信息都是以“一串0和1的排列”(例如100101000110101)的形式存在的,是“0和1的序列”之不同导致了信息内容的不同。举一个生活中的例子就更容易理解了:对于英语这门语言来说,信息能被表示成二十六个字母的形式,然后被存储在纸上,是“字母组合”之不同导致了信息内容的不同。电脑只认识两个“字母”,即0和1,它用0和1存储信息。比如字母“a”在电脑里面就被存储为了“01100001”。




那么问题就被转化为了:我们是如何将声音转化为“0和1的排列”呢?为了解决这个问题,首先我们需要看看“声音”的本质。在初中物理中我们就已经学过,声音的本质不是我们耳朵听到的那个“响”,而是在物体中“传播的振动”。




我们感知了这种振动,通过大脑把它转化为了听到的声音。当时的物理老师大都给我们演示的是像水波纹一样传递振动的横波,如下图所示,粒子的振动方向(上下)和振动的传播方向(向右)垂直:




但在空气中,声音其实是以纵波的形式传递振动的,就像下面的动图,其中每个黑点是空气中的分子,分子的振动方向(左右)和振动的传播方向(向右)相同:




以时间t为横轴,空气中某个位置的压强P为纵轴(密度ρ越大,压强P越大),声音就可以被描述成一种波形声音,可得到波形图如下:




将压强值减去平均压强值(也就是大气压Patm)得到相对压强值,再以其为纵轴,以时间为横轴,可得到某点附近的,压强随时间的变化而变化的图(可以理解为耳膜附近的相对压强随时间而变化的图),得到波形图如下所示:




在波形图中,横轴描述了时间,纵轴描述了波形声音的振幅。这一张图就把声音的三个特性(响度、音调、音色)都描述了:纵轴描述响度,横轴上1秒内波的重复次数代表频率(音调),波的形状代表音色。




以每秒振动1000次的正弦波为例,波形是这样的:




声音是这样的:不同的波形有不同的音色。对于一首正常的歌曲,我截取了一部分(时长0.1秒左右)的波形,是这样的:




既然如此,问题又被转化成了:如何将波形图转化为0和1的排列?其实也就是如何将波形图表示成数字?下面我将通过举例说明“最常用的方法”是如何做的。


现实生活中,“波形图”其实就像我们看远处“群山的轮廓”一样,如下图中红线标出的部分。我们如何将这条红线画到另一张纸上(这纸不能是透明的,否则直接描红了)?




很自然地想到初高中物理实验中的描点作图,我们会以图片左下角为原点设立横轴和纵轴,然后在横轴上标定一些小间隔,比如间距1mm吧,接着用尺子测量出这些点在垂直方向上与红线的距离,如52mm吧,然后就得到原图中红线上点的坐标。再后在另一张纸上建立坐标系,然后按坐标值标出那些点,最后再把这些点连起来,就完成了复制——其实就是用“各种坐标点连成的线”模拟了“红线”。




点的坐标值就是数字,我们将“红线”变成了数字。但是等等,这里有问题。第一,用尺子测量得到52mm,那为什么不是52.2mm?又会不会是52.25mm?测不精确。第二,红线从左到右的高度是逐渐变化的,如果用两点加一条直线相连来替代,就丢失了一些细节。为什么我们会很自然而然地按照描点作图的方法来复制?这是因为粗略地看起来,形状差别并不大,没必要追求那么精确,就像这张照片也无法还原当地的所有细节一样,因为粗略地看起来和当地差别不大。




那么再回到声音上。其实和上面的例子一样,用数字完美复制真实声音的波形是不可能的,因此只要做到形状和真实情况非常近似——就像用数字描述的坐标点连成的线和“红线”看上去相似,这就可以了。操作上,就像描述红线一样,在声音波形图上“找点找坐标”,这种将真实生活中的信息(被称为“模拟信号”analog signal)转化为数字(被称为“数字信号”digital signal)的过程被称作“模数转化”(ADC/analog to digital conversion):




假设上图表示时长为1秒钟的声音波形图(红线代表声音真实的波形图)。对于横轴,我们把它平均分成了26份;对于纵轴,我们把“最大振幅”到“反向最大振幅”(peak-to-peak amplitude)分成了15份。对于每一份的时间,我们找到最靠近真实波形的点。对于这些点,我们把他们以阶梯形连接起来,就能近似得到真实声音的波形了。




电脑回放声音的时候,就是将数字信号转化为模拟信号的过程(被称作“数模转化”DAC/digital to analog conversion),原理大致是通过改变每个最小时间段的输出电流值(因此要连接成阶梯型,而不是以直线相连)、进而改变音响振膜的位置来实现播放的。




当然像对于这样粗糙的分割,连线得到的波形和原始波形还是有很大的差距的,上图的粗糙一目了然。那怎么办?那就细分呗,只要分得够细,就会够像,就像描点作图中选点越多就会越精确一样。一般情况下对于声音,一秒会被分成44100份,“最大振幅”到“反向最大振幅”之间被分成65535份,这已经相当细致了。那么,为什么是这两个数字?




这时候需要引入概念了。第一个概念是采样频率(sampling rate)。采样频率是指声音每秒钟被分割的次数(就是上面的44100),单位是“赫兹(Hz),也就是“次/秒”。“采样”这个词就相当于在波形上“采集样品点”,在录音上就是采集最小单位时间(1/44100秒)内声音的近似响度。用拍照片的例子来理解“采样”更为合适。现实生活中的风景不会是一个一个的点构成的,而照一张照片其实就是在现实生活中“采”1200万个“样”,以此构成了一张1200万像素的照片。在这里,采样就是取某个区域的颜色近似值。




因为我们人耳能分辨出的最高音的频率是20KHz,也就是每秒振动两万次。为了覆盖人能听到的频率范围,采样频率至少要达到20KHz。然而因为“奈奎斯特-香农采样定理(Nyquist–Shannon sampling theorem)”(这个定理的大意为数字信号的采样频率要比模拟信号大两倍以上才能得到更真实的信号,否则会失真【8】。),因此扩大两倍后即要大于40KHz。又因为工程上的一些滤波处理、加之采样频率要为50和60的公倍数(50和60取决于电视每秒的帧数),因此采样频率最终被定为了44.1KHz,也就是上文44100这个数字。




第二个概念是量化位数(又称“位深度”,bit depth)。量化位数表示声音的响度大小被分成了多少份,单位是“比特(bit)”。举个例子,比如量化位数是16bit,那么这个音频文件就能表示“2^16-1”种响度,也就是65535种响度。其中这个“减1”是因为,0响度的存在导致“2^16-1”是个基数,无法均匀分布在0的两侧。去掉一个响度后,就能对称分布在0的两侧了。这就相当于纵坐标数值最大是32767,最小是-32767,每一个采样的响度大小对应纵坐标上的一个数字。要说明两点,第一是“负号”代表的其实是方向,-32767其实和32767所代表的响度的绝对值相同。第二,有点难以理解的是,在电脑中“数字的大小”被表示成了二进制。其实不管是二进制还是十进制,只要两个数字表达的大小一样多就行,比如一个响度值是13287,它对应的二进制数是16位的1100111****11,电脑知道这两个数字所表达的数量大小是一样的。




这里关于录音还要再说一点。为什么有时候录音会爆音?这和录音设备采用的灵敏度有关。如果设备能录到的最大声音是50分贝,而实际声音是60分贝,那录出来的声音就失真了。只要把录音设备的灵敏度调低,比如能录到的最大声音是75分贝,那60分贝的声音就能录进去了。要注意的是,不管灵敏度如何,量化位数都是16,这就意味着50分贝和75分贝下的两个录音响度都是被分成了65535份。




数字音频文件里最主要的概念也就是这两个:采样频率和量化位数。再加上时间这个因素,我们就能计算一个音频文件的大小了。比如一首规格为44.1kHz 16bit 4分钟的歌曲,占用多大的储存空间?我们可以做计算:




4min=4×60s=240s。又因为1MB=1024KB,1KB=1024B,1B=8bit(1字节=8比特),得到占用的储存空间大小为:240×44100×16÷1024÷1024÷8=20.19MB(240秒,每秒取样44100次,每次占16比特的空间,然后转化为MB,得到结果)。实际一首歌是左右两个声道,刚刚只算了一个声道。因此对于正常的歌曲来说,大小为40.38MB,准确地来说对于一首44.1KHz 16bit 4分钟的wav格式歌曲,大小是40.38MB。




4分钟的歌曲40多MB,这听起来确实有一点大,尤其是对于16GB的手机来说这大小简直是灾难……1GB只能放25首歌?不行。那怎么办?压缩呗,把大文件变成小文件。压缩有两种方式,有损压缩和无损压缩,由此产生无损音乐格式(简称“无损”)和有损音乐格式。无损压缩就像rar文件或zip文件一样,压缩过后体积会缩小,但是能完美还原源文件。有损压缩是以牺牲音质为代价将体积变小的,音频文件不能被还原到原来的音质,但还是能听的(可以类比为:发到朋友圈中的图被腾讯的服务器压缩了,明显画质会下降,但还是能看)。无损音质的主要优点就是音质好,缺点主要就是体积大,有损音乐的优缺点正好对调。无损压缩格式有ape、flac、m4a等,有损压缩格式有大名鼎鼎的mp3和aac等。




那么是无损音乐从谁那里压缩?也就是压缩的源文件是什么?答:是“CD音质”的音乐。“CD音质”特指44.1KHz 16bit的条件下音频文件所代表的音质(所谓HiFi,High-Fidelity,高保真,也是指达到了这种音质)。要强调的是,“无损”并不是和“被录音的声音”相比较,因为依据上文介绍的“选点采样”原理,只要是录出来的声音都不可能还原出原始的声音,只能无限近似于原始的声音。无损是和CD音质作比较的,只要能还原出CD音质,就算无损音乐。




关于有损音乐格式,比如mp3,它压缩的方式是去掉音频中部分的高频来实现的。因为对于人来说,虽然能听到的频率上限是20000Hz,但是在一般的歌曲中,高频部分其实并不多。下图【9】表示了一些乐器所能发出的频率范围,可以看到,钢琴能发出的最高频率的声音不到5000Hz,人声在80-1000Hz的范围。




因此可以通过去除部分高频实现压缩。




对于压缩效果,我用两张图可以比较出来:




对于同一首歌的无损音质版本(上图)和mp3版本(下图)中,我们可以看到,无损音质版本的音频往高频一直延伸到20.5KHz,而mp3版本则在约16kHz处被完全截断了。这表示不论使用多好的设备来放这段音频,16kHz以上的频率都听不到了。但是对于压缩来说,无损版本22.4MB,mp3版本3.9MB,压缩掉了80%多……这也意味着,原来的1GB还装不下50首歌,压缩过后就能装250多首……牺牲一些音质换来更多的歌曲存量,还算是值得。




那么这两种音频格式的音质差多少呢?说实话如果是一般手机配一般耳机,无损和mp3是听不大出有什么区别的……无损音乐没那么神。




但是对于不同音质的mp3文件来说,用好手机配好耳机(价格千元左右)还是能听出差别的。如QQ音乐、网易云音乐上的“标准品质”、“HQ高品质”、“普通”、“较高”、“极高”等等品质,就会呈现出差别。但是在手机上听最好音质的mp3和无损,讲真差别不大。




mp3文件音质的好坏主要通过“码率”来判断。码率的单位是kbps(kilo bits per second),千比特每秒(说白了就是每秒钟音频文件有多大)。大致可以这样说,码率值越高,说明单位时间的文件体积越大,文件体积越大能容纳的声音细节就越多。常见的mp3文件有320kbps(所谓“HQ高品质”、“极高”)、192kbps(所谓“较高”)、以及128kbps(所谓“标准品质”、“普通”),对比一下44100KHz 16bit的wav文件的码率为1411kbps、一般的无损音乐码率为700多kbps,还是压缩了不少的。其实320kbps的mp3文件在手机上听,和无损比几乎听不出差别。




但其实320kbps的mp3和无损音乐之间还是有一点差别的,体现在高音区上乐器的一些泛音。这些泛音未必能被明显感知到,但是有这些泛音的话会让人感觉更有“真实感”。这就像,实际上你的骨头也参与了听觉系统,但是你感知不到你在用骨头来听一些音一样。只要换个好的播放设备、好的耳机、配上一个好心情,音质就能提升不少(感觉就是听同一首歌听到了原来没有听到的东西,甚至有的时候配一个好耳机灵魂都升华了……)。




基础的部分介绍完了,但对于音乐发烧友来说,还有一些更极致的音质文件,比如MQS和Hi-Res。




它们的全称分别是Mastering-Quality-Sound(大师音质的声音(翻译囧),iriver提出的标准)和High-Resolution Audio(高解析度音频,Sony提出的标准)。其实这只是名字的差异,它们本质上都是一样的:指音质超过“CD音质”的音乐。它们也都是无损音乐(无损音乐的概念在这里被拓展了),只是这些音质的参数更为变态。




比如采样频率可以到88.2KHz、192KHz、甚至384KHz(采样频率足足是CD音质的近8倍),量化位数可以到32bit甚至64bit。其实录音棚录出来基本就是这样的格式,只是一首几分钟的歌曲会轻轻松松过200MB,太大了……因此为了满足大众的需求(大众的设备基本上也发挥不出来这种音质应有的实力),出版商还是会将其压缩成CD音质然后发行……为了体会MQS或Hi-Res音乐,除了要能找到这样的音频文件,另外还要有一**万的设备(播放器+耳机/音响)。




还有另一种DSD格式(或DSF格式)的音乐。这种音乐的录音方式和以上所有的都有所不同。它的采样频率高达惊人的2.8224MHz(是CD音质采样频率的64倍,这种采样频率也被称为64DSD,还有128DSD,采样频率是CD音质的128倍),但量化位数只有1bit。这种音频的录音方法和前文提到的方法完全不同。前文的方法被称为PCM(Pulse-Code Modulation),就是将声音信号转换成波形图,然后记录波形图。而DSD格式采取PDM(Pulse-Density Modulation)的方法录制。



其实没必要过于追求这个技术细节……DSD格式的原理简要理解就是,用0和1的组合表示响度,如下图所示,蓝色块代表1,白色块代表0。当连续的蓝色块(或白色块)很多时,则说明这段时间的声音响度很大(可参考声音波形的红线)。




对比PCM和PDM如下图所示:




据说通过PDM的录音方式,可以减少底噪,这算是DSD格式相对于其他无损格式的优点吧。当然DSD格式也可以说是无损格式,毕竟一首几分钟的歌也是一两百MB……




存储了DSD格式音频的CD被称为SACD,购买的时候可以留意封面上是否有如下标志:




不过需要注意的是,SACD有两层,一层是DSD层,一层是普通CD层,如果是一般CD机只能读取普通CD层,只有特殊的CD机才能读取DSD层。然而并没有必要买SACD,一张要几百块呢,而且没有上万块的设备也听不出SACD和CD的区别。




下一篇: 汽车音响系统清洁小窍门