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

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

如果 CD 损坏了(例如放入 CD 播放器中播放时会出现卡顿等),如果您在计算机上将其翻录以创建 MP3,损坏的数据听起来会怎样?

音轨中间会不会只是一片“空白”?或者您会听到杂音/静电噪音等?

为了清楚起见,这个问题涉及从 CD 读取音频并编码为 MP3,而不是读取带有 MP3 的数据 CD。

答案1

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

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

在极少数情况下,部分数据(在您的示例中为音频)仍然无法读取,翻录程序通常会跳过该部分。因此,对于编码的 MP3 文件,它会跳过坏部分(可能在生成的音频文件中插入或以声音形式跳过)。

答案2

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

帧可以进行 CRC(错误检查)。它是可选的。

如果操作系统在 CD 上遇到坏扇区,它可能会重试读取(在 MP3 编码器发现任何内容之前,CD 硬件就有自己的错误检查机制)。假设解码器没有使用缓冲区,则解码器在此过程中不会接收新数据,因此必须停止。如果操作系统无法读取数据,它可能会向操作系统报告错误,最终会报告给托管 MP3 编码器的进程。这里具体发生什么取决于软件。

如果 CD 中的数据读取不正确但仍然到达解码器,则可能会发生以下几种情况(这可能不会发生在 PC 上,但可能会发生在汽车音响或其他非 PC 设备上):

  • MP3 解码器寻找这 11 个 1 位来找到帧的开始 - 如果找不到,它可能会停止解码,直到下一帧。

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

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

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

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

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

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

如果解码器输出不良数据,您将听到音频中的静电噪音或爆音。

参考

答案3

在最好的情况下,翻录器能够检索到足够的数据,使曲目能够正常播放。在次好的情况下,它会放弃并且不会生成音轨,因为它无法做到这一点。在最坏的情况下,您得到的音频文件听起来就像您尝试在普通 CD 播放器中播放曲目时的声音,甚至更糟(暂停、重复、卡顿、闪烁等)。

我对基于 cdparanoia 的翻录程序的体验总体上主要是最佳情况,但我遇到过所有这三种情况。

答案4

我从来没有遇到过有静电的情况。也没有完全“乱码”的情况 - 但它可能会播放相同的半秒钟几次。这通常是在它跳过几分钟重复循环之前,或者跳过前面,听起来就像你按住了 FF 按钮片刻。任何“空白”可能是它在播放曲目的开头,因为它再次跳过或循环。

相关内容