再论“为什么CD抓轨,无法100%还原音质?
steven11060
编辑于 2024年06月25日 15:24

声明:本文章只针对发烧友,非发烧友我觉得320K的MP3已经足够,就没有必要深挖这些对你们毫无意义的技术了,世界很大,有趣的事情也很多,就此打住,去看你们更加感兴趣的东西。

之前写了一篇“为什么CD抓轨,无法100%还原音质?”,估计没有写清楚原因,所以便有了这一篇继续深挖篇。

既然是深挖,当然是从源头下手,篇幅所限,只涉及转盘部份,解码部份就不涉及了。

首先,讲讲红皮书规范:

红皮书(Red Book)是指音频CD(CD-DA, Compact Disc Digital Audio)的标准规范,由索尼和飞利浦在1980年代制定。这一标准详细规定了CD音频格式的技术参数,包括数据存储、音频格式、误码纠正等内容。对于时钟信息,红皮书规格的CD本身并不直接包含实时时钟数据,但它包含了对时钟信息的处理方式,这对数据读取和播放时钟同步至关重要。

那么红皮书是如何定义存储,误码纠正方式以及它的时钟信息处理方式又是什么?

数据存储与时序信息

  • 音频数据:红皮书CD存储的音频数据是以PCM(脉冲编码调制)格式存储的,采样率为44.1kHz,每个样本16位。这些数据以连续的、固定速率写入和读取光盘。

  • EFM编码:在写入CD之前,音频数据经过EFM(八到十四调制)编码,这种编码方式有助于数据的同步和误码纠正。

  • 帧结构:音频数据被分成帧(frame),每帧包括588个采样,并附带同步字(sync word)和子码(subcode)信息,用于标识帧的开始和控制信息。

同步和误码纠正

  • 同步字:每帧的同步字用于光驱的激光头同步读取操作,确保数据读取的准确性。

  • CIRC纠错码:红皮书规范使用CIRC(交叉交错里德-所罗门码)进行误码纠正,这不仅有助于纠正数据读取过程中产生的误码,还能在一定程度上减小抖动对数据的影响。如果CD制造瑕疵或者透光掉银,就是依靠CIRC去纠错。如果数据损坏超过了CIRC纠错码的极限,唱片就会有“跳碟”的声音,也就是不能正常播放,但是误码仅仅是影响那一处,并不会影响整张唱片的音质。

时钟提取

  • 时钟信号:在读取数据时,CD驱动器通过读取同步字和子码信息,从连续的EFM编码数据流中提取出时钟信号。这些时钟信号用于数据读取的同步,确保读取的采样数据具有正确的时间间隔。

  • Jitter抖动的影响:因为CD数据本身没有直接存储实时时钟,所以光驱的时钟提取和同步过程中,抖动会影响读取精度,从而影响音频信号的质量。高质量的CD驱动器会有更好的时钟恢复和抖动抑制能力(要留意这里仅仅是抑制,并不是消除),这也是高端发烧转盘的卖点之一。

有了前面这些东西作为基础,我们可以继续探寻抖动(Jitter)对CD中EFM编码数据转换为PCM格式的影响。

尽管抖动不会直接改变数据的内容,但是数据读取和时钟同步过程中的时间不一致性会影响读取过程中的时间精度,从而间接影响音频播放的质量,具体是:

EFM编码与时钟提取:

  • EFM编码将8位数据转换为14位码字,并添加合适过渡(merge bits),确保在光盘上读取时有足够的频率变化,用于时钟信号的提取。

  • 光驱激光头在读取CD上的EFM编码数据时,通过这些频率变化提取出时钟信号,确保数据读取的同步性。

抖动对时钟信号的影响:

  • 抖动定义:抖动是指信号的时间间隔不稳定,即每个数据采样点之间的时间并不完全一致。这种不稳定性可能由多种因素引起,包括机械振动、电源噪声和电磁干扰等。

  • 时钟抖动:如果时钟信号受到抖动影响,数据读取的同步性会变差。具体表现为读取到的EFM数据流中,各数据帧的时间间隔不均匀。

举个例子:

假设你在播放一张红皮书规范的CD,光驱从CD上读取EFM编码的数据,并进行解码和纠错,最终输出PCM格式的音频数据。如果在这个过程中,时钟信号受到抖动影响,以下情况可能发生:

  1. 轻微抖动:光驱能够纠正大部分错误,但仍存在微小的时间偏差,导致音频播放时的细节损失,特别是在高频部分。

  2. 中度抖动:错误率增加,CIRC纠错码能够纠正一部分错误,但仍有一些未能纠正的错误,导致音频信号中出现明显的点击声或噪音。

  3. 严重抖动:错误率超出纠错能力范围,导致大规模数据错误,音频信号严重失真,甚至无法正常播放。

总结

抖动通过影响CD中EFM编码数据的读取和时钟同步,间接影响了PCM格式音频数据的解码和输出。尽管EFM编码和CIRC纠错码设计旨在提高数据读取的可靠性,抖动仍会导致时钟信号的不稳定,进而影响音频播放质量。

Q&A:

Q:抓轨后生成的WAV文件复制次数会导致声音变化吗?

A:不会,这种Jitter误差在转换过程中被固化在WAV文件中。

CD抓轨和WAV文件复制的差异

CD抓轨(Ripping):

  • 抓轨是指从音频CD上提取数字音频数据并保存为计算机文件的过程。

  • 在这个过程中,CD驱动器需要精确地读取光盘上的数据。这不仅涉及数据的读取,还涉及数据的时序,因为音频数据是以流的形式存储和读取的。

  • 抓轨过程中,CD驱动器的机械部件(如激光头和转盘)和数字时钟都会影响数据读取的精确性。如果驱动器的时钟不稳定或存在其他硬件问题,可能会引入抖动,从而导致数据在时间上的微小偏移,影响音频质量。

WAV文件复制:

  • WAV文件复制则是指在计算机上直接复制已有的数字音频文件。

  • 这个过程只是简单的数据传输,不涉及任何数据的重新采样或时序信息的处理。数据在传输过程中保持原样,没有任何改变。

  • 由于复制过程仅涉及数据的比特级别的转移,不依赖于硬件的时钟,因此不会引入抖动。数据的每一个比特都被精确地复制,确保了原始音频数据的完整性和准确性。

为什么抖动影响抓轨而不影响复制

数据读取 vs 数据传输:

  • 抓轨过程中,数据需要从CD的物理介质上读取,这涉及到光学读取过程的时序精度。如果时序不准确,就可能引入抖动,导致数据偏差。

  • 复制过程中,数据已经在数字存储介质上,只需进行纯粹的数字传输,没有涉及重新读取和采样,因此不会受到抖动影响。

硬件依赖性:

  • 抓轨依赖于CD驱动器的硬件性能,尤其是其时钟的稳定性和读取精度。任何硬件上的不稳定都可能导致抖动。

  • 复制则完全依赖于计算机的内存和存储设备,这些设备在数据传输过程中不会引入时序误差,确保了数据的准确传输。

错误校正和缓冲:

  • 高质量的CD抓轨软件通常会使用错误校正和缓冲技术来减少抖动的影响,但这些方法并不能完全消除抖动,尤其是在硬件本身存在问题时。

  • 在复制过程中,由于没有时序信息的重新采样,因此无需考虑抖动问题。

结论

CD抓轨过程涉及从物理介质上读取数据,并且受到硬件时钟稳定性的影响,因此可能会受到抖动的影响。而WAV文件复制是纯粹的数字数据传输过程,没有涉及时序信息的重新处理,因此不会受到抖动的影响。这就是为什么CD抓轨可能受到抖动影响,而WAV复制则不会受到抖动影响的原因。

Q:相同的MD5文件的WAV意味着相同的声音吗?

A:不是,这些微小的时间偏差和失真不会改变WAV文件的数字数据,但会影响最终输出的模拟音频信号的质量,只能说他们的声音很接近。不同光驱抓取相同CD的数据时,即使WAV文件的数据是相同的,抖动会在音频播放阶段影响音质。这种影响在文件数据中不会直接体现,但会在播放过程中通过时钟信号的稳定性表现出来。

后续这种问题我会继续深挖,敬请期待~