Featured image of post 数字音频抓取质量检测指南

数字音频抓取质量检测指南

我要如何知晓我手头光驱的抓轨、纠错等能力强弱?

本文翻译自 该指南

前言

数字音频抓取(DAE)质量检测是一个用于测试 CD 和 DVD 光驱数字音频抓取(DAE)质量的项目。由于测试环境相当廉价,其结果与开销大约 500 美元的测试 CD 可能不具有可比性。

如果你不知道什么是误码掩盖(Error concealment),抑或是从未听说过分贝(dB)或纠错码(ECC),那么这个工具对你来说可能毫无意义。它主要是为那些想要知道哪一款光驱拥有最优光学系统、光驱又是如何执行纠错和误码掩盖的(在线)杂志、爱好者以及专业人士服务的。这款程序的想法是在阅读了一篇关于一些 CD-R 光驱的在线测试之后产生的。该 DAE 测试是通过 CD Speed 完成的,且所有光驱的测试结果最高为 10.0 分。使用处于最佳状况的 CD-R 去做 DAE 测试可太搞笑了,如果我的光驱不能从完美的碟子中准确无误地读取到音频数据,我肯定会退货的。而观察光驱在极端条件下的表现(这也会反映那些故意操纵 C2 错误信息的光驱的 DAE 质量)就有趣多了。一款特殊的测试 CD 也就由此诞生,它能够用于比较不同的光驱。当然,由于有很多手动操作,且也是基于所使用的 CD-R,只有使用同一张特殊 CD 测试光驱的结果才能相互比较。

下载 DAEQuality V1.43(1224 kB - ZIP)。

前期准备

首先,启动程序的 CreateReference.EXE,它会在其所在的文件夹下创建 WAV 文件。因此,该硬盘应拥有至少 1.8 GB 的剩余空间。在镜像制作期间,你可将内含的 PDF 文件打印出来,并准备好所需的工具。镜像制作完毕后,使用任意写入程序将生成的 Reference.WAV 作为单个长音轨刻录到 74 分钟的 CD-R 中(如果没得选,80 分钟的 CD-R 也行)。不开最高速,而是限制在 12× 的写入速度可能比较好,大多数光驱能在这个速度下以恒定线速度写入。刻录完后也别删掉 WAV 文件,因为它在之后的比较中会用到。

你需要的工具:打印好的 PDF 文件,内容是两个同心圆和一些线条(使用 Acrobat Reader 一类的软件打印)、裁纸刀、可供裁切的平面、尺子、揭下时无残留的胶带以及水性的黑色记号笔。

首先,你需要切下打印好的形状。使用裁纸刀(或剪刀)沿着两个同心圆切割。如此,就能得到一张 CD 状的纸。

现在使用尺子,在纸片上沿线切出五条细线。确保你切的长度没有超过打印线段的范围。

而后,用裁纸刀确认刻线彻底穿透了纸面。

将 CD 状纸片使用胶带固定在预先刻录好的 CD-R 上。纸片要固定在 CD 的数据面上。如果打印过程正确,圆边界应与 CD-R 同等尺寸。

现在用裁纸刀虚不受力地沿着之前切割好的细线滑动一次。

再用裁纸刀(或是质量够好的记号笔)在 CD 的外侧(和内侧)区域(无数据写入)标几个点。轻轻刻出痕迹即可,不要刻太深,或太靠近写有数据的部分。在每一处长线段的端点都做上标记(共六处)。

从 CD-R 上取下纸片,它已完成了使命,但还能用来制作更多测试 CD。用胶带贴边纸片上印着的三角区域。上一步做好的标记能帮你准确贴好。

在内环处,标线是交叉的,意味着胶带会如图所示地重叠起来。确保重叠的小三角底边宽度不要超过 3 毫米。如果都准确无误地操作了,你的胶带应如图所示,且胶带贴出的区域应与纸片上所示的三角形状相同。

用手指甲按压三角边缘区域的胶带,尤其要关注两层胶带重叠之处。确保三角区域周边的 CD-R 和胶带之间没有任何空隙。

现在使用记号笔给三角区域内涂色。小心地给所有的边缘都填上颜色。在墨水干燥后,再如法炮制一次会比较好,这样能保证它确实黑掉了。

等待墨水干透(5~10 分钟),然后小心地揭掉胶带。有时会有少许墨水溅在 CD-R 上,只要用纸巾或者指甲小心地去除即可。

如果一切顺利,CD 应如图所示,且可用于测试了。(请注意,在照片上,CD 的反射层显示了所有镜像的内容。)

为了测试,将 CD 放入光驱,然后将音轨抓取出来,和参考文件放在一起。使用带缓冲的爆发模式(例如,EAC 的爆发模式就是带缓冲的)对于测试很重要。爆发模式重要的原因在于,我们应当评估的是光驱的错误处理质量,而非软件的。变更抓取速度可能会彻底改变测试结果,所以设置不同的光驱速度(或直接调到最低)可能是个不错的做法。如果 EAC 不支持光驱以某个速度测试,你可以试试 CD-Bremse(仅限德国 IP 访问)或类似的工具能不能将光驱设置到特定速度。

测试与错误报告图表

在抓取文件之后,你就能使用 Analyse.exe 程序开始分析文件了。传递的参数是需要测试的文件名(假设 Reference.wav 就在当前目录)。另外,你可能需要为生成的图表指定不同的 X 和 Y 轴分辨率(单位是像素)。分析过程可能会花去 0.5~1.5 小时,这取决于错误总量和电脑性能。分析完成后,会得到一份报告,同时会存储到日志文件中。日志文件、图表(位图)和数据文件(.dat)都会保存在当前目录。数据文件包含了所有时间/错误值,所以其他的程序也一样能创建图表。第一个值总是以分钟为单位的时间(涵盖了 CD 的 74 分钟),第二个值则是以 dB(A) 为单位的值,表示当前时间点的错误。

我们来看一张典型的图表:

图形的网格含义如下:网格线的 X 点始终代表 CD 上新分钟的伊始点(整个轴就是播放时间,最长 74 分钟)。Y 轴显示抓轨文件中错误的 dB(A) 值。顶部的 0 dB(A) 基线略微加深显示,与众不同。所以这张图展示了从 6 dB(A) 到 -120.0 dB(A) 的范围。每一行代表 6 dB(A) 的音量(每提高 6 dB(A) 都意味着响度是原来的两倍)。

图表展示了光驱的好多能力。光学系统的质量(和/或固件的纠错能力)展示在指示错误开始的时间点上。而在楔形变大时,又能显示错误隐藏品质。比如说,我的 先锋(Pioneer)DVD 光驱会相当早地开始纠错(读取问题和纠错),但修正后的数据几乎总能保持在 -60 dB(A) 以下,如果被响亮的音乐包围,它几乎是微不可闻的。上图的箭头展示了这些值(箭头不是分析程序加的,是之后手动加的)。

之后的五处划痕几乎完美修复,只有其中三处没能 100% 修复,而这些「钉子」相当短且几乎微不可闻(-54 dB(A) 和 -74 dB(A))。

那个先锋光驱和其他一些选来测试的光驱图表会在下文展示。

这是先锋 DVD-ROM DVD-106 的测试结果。如你所见,其纠错能力不咋地,但不管怎样,其错误隐藏功能却不坏,所有错误都明显低于 -60 dB(A)。

这是同一款光驱,但使用了静音模式(转速更低)。改变不大,也许它只是个安静的模式。

这是浦科特(Plextor)CD-R PX-W2410A 的测试结果。浦科特的纠错(光学和/或固件)真是非同凡响。许多错误都已经被彻底修正了。整个抓取是以设置在 40× 的速度完成的(但由于直接存储器存取(DMA)问题,实际抓取速度仅 16.8×)。然而错误隐藏却不太好,如你所见,大多数错误能达到 -48 dB(A),而某些「钉子」甚至冲到了 -18 dB(A)。

这是同一款光驱,但设置 4× 的速度抓取。现在你可以看到为什么浦科特光驱总是被推荐。浦科特能够干掉几乎所有的抓取错误,而仅剩下的那些也低于 -60 dB(A)!

这是先锋 DVD-RW A04。它比另一款先锋光驱强的唯一一点是划痕修复得更好些。

我的老浦科特 CD-ROM PX-40TS。测试结果有点出乎意料,但我想补充一点,这款光驱已经操劳过度,行将就木了。

我的 HIFI(独立)CD 播放器 Harman/Kardon HD760,使用 SPDIF 抓取的音频。它的纠错功能也相当不错(但只能以单一速度抓取),但错误隐藏却不怎么样。不过我喜欢这款播放器不是因为纠错……

进一步使用分析工具也会告诉你关于抓取的一些事实,包括分析工具对相应光驱的评分。下面是浦科特 CD-R PX-W2410A 快速抓取的测试结果:

1
2
3
4
5
Errors total	Num : 7505440
Errors (Loudness)	Num : 30197	– Avg : -72.9 dB(A)	– Max : -18.2 dB(A)
Error Muting	Num : 1991	– Avg : 1.5 Samples	– Max : 195 Samples
Skips	Num : 0	– Avg : 0.0 Samples	– Max : 0 Samples
Total Test Result	: 77.4 points (of 100.0 maximum)

Errors total(错误总量)告诉我们错误立体声采样的总数。这包括了错误采样的区域,也可能包括一些正确采样。

通过 Errors (Loudness)(错误响度)计算的错误数量是 快速傅里叶变换(FFT)计算得到的。通过平均值和最大值可获知两个信号的能量差异。该计算没有用到声学模型,所以可听错误可能与这些值不同。

Error Muting(错误静音)揭示了错误隐藏的一些情况。对于糟糕的错误(或糟糕的错误隐藏技术),最后一个无错采样会被保留一段时间,直到找到一个新的有效采样。第一个结果是这些静音的数量,然后是这些静音采样长度的平均值和最大值。

Skips(跳过)发生在失去同步,且光驱必须重新复位时(且会从一个略微不同的位置开始)。无精确流技术的设备会经常性失去同步,从而发生或大或小的跳过(因此采样会丢失或无关联)。平均值和最大值指示了这些跳过的长度,单位是采样。

好了,这就是这个新项目的小小介绍。当然你可以找到更多的测试和用法。你甚至可以「滥用」Analyse.exe 来比较两个 CRC 不同的抓取结果,这样你就能找到错误在哪,其可听程度又如何。

C2 错误指示器检查程序

工具包里现在也包含了 C2 错误指示器的检查程序。为此,C2Extract.exe 必须用于从测试 CD 中抓取 WAV 镜像。唯一的参数是用于抓取的光驱编号(ID)。光驱编号从 0 开始,且与 EAC 中所列一致。伴随着 WAV 文件会创建一个 .c2 文件,它会被分析程序用到。

分析程序会额外创建一份图表以及一个 包含了所有图表数据的 .dat 文件,以便为其创建更高分辨率的图像。

如上图所示,一张图分三个图标。X 轴仍然是音频数据的分钟数,Y 轴是对数尺度下的(重要!)C2 错误数量。因此,Y 轴的每根线都代表了大约两倍于下方线数量的 C2 错误数量。因此,Y

第一张图表(绿)展示了光驱报告的 C2 错误总数。你可以看到 C2 错误是否被报告,以及是否匹配错误指示图表中展现的错误位置。

第二张图表(红)展示了在抓取到的 WAV 镜像中完全没问题,却被报告了的 C2 错误数量。某些情况下光驱能够将有缺陷的值修正(或篡改)为原始值。所以此处的数字通常不是零,这完全正常。

第三张图表(蓝)是三者中最有趣的一张。它指示了抓取到的 WAV 文件中有多少没有被 C2 错误指示器报告的错误。在拥有完美 C2 报告能力的光驱上,这张图表应该是平直的零线。但因为大多数光驱的 C2 功能并不完美,它将在一定程度上揭露问题。即使是 Teac56S(展示在下面)仍在无法读取的块上带有失真。后边会展示更多光驱的例子说明此事。

Analyse.exe 程序拥有一个供 C2 分析的新参数,名为「-c2flip」。该参数的位置相当重要,它必须按如下顺序:

1
ANALYSE WAV-File [-c2flip] [X-sizeofbitmap Y-sizeofbitmap]

-c2flip 开关会改变 C2 错误指示器的最高有效位和最低有效位编码。定义 C2 错误指示器的标准在开始时非常宽松,它并不总是哪个位代表哪个字节。因此,一些(少数)驱动器正好相反地使用编码。(甚至 Teac56S 也需要这个标记,但在供应商文档中,它的说法又不一样!)。因此,如果生成图表中的数字过大(红色和蓝色图表几乎与红色图表一样高),请尝试使用此开关。如果没有开关,它将使用固定标准定义的编码类型。

下面是一些光驱的 C2 错误检测报告。请注意,在本测试中我使用了一张不同于之前测试的 CD,所以图表是不能与之前那些错误指示图表作比较的。

这是浦科特 CD-R PX-W2410A 满速下的测试结果。如图所示,它检测出了相当数量的 C2 错误(而且看起来是它自己较慢速度的两倍)。本次抓取的错误指示图表(使用了不同的测试 CD)见前文。

同样值得注意的是,这么快的速度,很多错误都被忽略了。

这是同一款光驱,但抓取速度为 4.0×。错误指示图表见前文。我没法儿解释为什么浦科特现在拥有几乎完美的 C2 报告能力,而在更高速度下却无法做到。我不太明白,因此我的结论是浦科特的 C2 报告能力仍然有缺陷(对于高抓取速度我也会这么说)。

这是我的老伙计 Teac 56S 刻录机。它在高速下也拥有几乎完美的 C2 报告能力(不过就没那么快了)。错误指示图表见前文。小「钉子」问题不大,它们可能出现在非常糟糕的扇区,以至于根本无法读取(而且光驱现在非常老旧,已经拒绝接受一些 CD 了)。正如之前已经提过的,这张图表是开启 -c2flip 选项制作的。

我不打算提供我的浦科特 40x CD-ROM 的检测结果,因为它非常差劲,而且我只能解释它要么是 C2 信息严重错误,要么是光学系统已经很烂,以至于无法检索到任何正确信息用于纠错(虽然不太可能)。我甚至手动用缓冲区数据检查了 C2 指示器,但还是忍不住想说指针不完全对。也许一个新的光驱和/或固件能帮到我,当我收集到更多信息后,我会再写些内容。

Written by ZexWoo. All rights reserved.
主题 StackJimmy 设计 | 使用 Hugo 搭建