如果将有划痕的 CD 翻录为 MP3,会发生什么情况?

sam*_*sam 12 audio mp3 cd ripping burning

如果 CD 损坏(例如,如果放在 CD 播放器中它会断断续续等),如果您在计算机上将其翻录以制作 MP3,那么损坏的数据会发出怎样的声音?

它会不会只是轨道中间的“空白”?或者你会听到乱码的音频/静电等吗?

为清楚起见,这个问题与从 CD 读取音频和编码为 MP3 相关,而不是读取带有 MP3 的数据 CD。

ypn*_*nos 38

好的 CD 开膛手软件,例如cdparanoia尽力纠正 CD 的错误读数,并且会多次检查受影响的部分;有时需要几分钟,直到数据恢复。这是可能的,因为 CD 包含用于纠错的校验和,应该立即检测到误读。

由于这种策略,CD ripper 软件恢复正确数据的机会比设计为实时播放的典型 CD 播放设备高得多。

在极少数情况下,一部分数据(在您的示例中是音频)仍然无法读取,开膛手通常会跳过该段。因此,对于编码的 MP3 文件,它将跳过坏部分(可以在生成的音频文件中插入或在听觉上跳过)。

  • @screwnut:CD 播放器不能“慢下来”。小故障或沉默比停止音乐更可取。但是,在翻录时,软件会尝试多次读取受影响的区域。由于驱动器伺服电机的不准确和其他随机因素,激光可能会以稍微不同的角度或稍微不同的位置击中该区域,这可能会或可能不会使更多的数据可读。根据用户设置,软件可能会尝试长达几个小时来读取受影响的区域。当然,过去的东西已经过去了,但有时有些东西是可读的。 (20认同)
  • @aslum PC 不是 Windows 的同义词。别再暗示了。GNU/Linux 也可以在 PC 上使用,并且经常以这种方式使用。 (3认同)

Law*_*ceC 14

MP3 文件格式由帧组成。每个帧以 11 个“1”位开始,还有几个字节的元数据控制比特率并定义一些其他属性。每个帧都是独立的,它被设计为支持流媒体。

帧可以有一个 CRC - 一种错误检查。它是可选的。

如果操作系统在 CD 上遇到坏扇区,它可能会重试读取(CD 硬件在 MP3 编码器甚至看到任何东西之前都有自己的错误检查机制)。假设解码器不在缓冲区中工作,解码器在此过程中将不会接收新数据并且必须停止。如果操作系统无法读取数据,它可能会向操作系统报告错误,该错误最终会报告给托管 MP3 编码器的进程。取决于软件在这里究竟发生了什么。

如果 CD 中的数据被错误读取并仍然进入解码器,则可能会发生几种情况(这可能不会发生在 PC 上,但可能发生在汽车音响或其他非 PC 设备中):

  • MP3 解码器查找这 11 个 1 位以找到帧的开头 - 如果找不到它们,它可能会在下一帧之前停止解码。

  • 如果头数据不好,它可能会以错误的比特率播放帧,因为指示哪个比特率可能是错误的字节。

  • 如果设置了标头 CRC 位并且 CRC 不匹配,则解码器可能会丢弃该帧而不播放它。大多数 MP3 文件没有设置 CRC 位。

  • 如果有效载荷(标头后的数据)错误,MP3 解码器将尝试播放它。

解码器的工作是获取压缩数据并生成未压缩数据以移交给“更高”级别。上层实际上使用未压缩的数据来驱动音频设备。我猜测大多数编码器/音频驱动程序设置都有一个缓冲区 - 具有可配置的大小 - MP3 解码器可以在其中为音频驱动程序构建一些数据并允许重试读取。

因此,无论如何,如果解码器由于未获取数据而停止,则实际驱动音频的上层可能会执行以下任何操作:

  • 上层输出静音。您会听到音频中断。
  • 解码器停止将数据填充到音频缓冲区中,但上层继续播放那里的内容。音频缓冲区通常是“圆形”的,这意味着它们不会被清零,而是会不断被新数据覆盖。您将听到跳过,这是先前播放的音频的一部分。
  • 上层很聪明,并试图插入“应该”在那里的内容。我不认为这是很常见的。

如果解码器输出错误数据,您将在音频中听到静电干扰或爆破音。

参考

  • 我认为问题是关于读取 _audio_ CD 并将其编码为 MP3,而不是读取带有 MP3 的 _data_ CD。 (9认同)