本文代码已在 Github 开源,由Gemini 2.5 Pro协助编写。
前言
在阅读了ZexWoo大佬的 EAC 配置与抓轨指南 之后,我陆陆续续抓了手头的十几张CD。为了折腾到底,我又搞了些CD-R(就是Ritek那种超级丑的蓝色盘,非可打印表面)想试试能不能做到完美的刻录(不考虑jitter,只追求数据的完整)
但我根据这位大佬的 EAC刻录指南 ,用光驱支持的最低速度8x刻录了三张,结果翻车了:一张无法读取,另外两张重新抓轨后和原文件比对,都出现了不同程度的采样丢失或变化。
寻找替代方案
网上搜索了一下了解到,EAC的刻录功能有很大概率会丢失信息。于是我转而下载了Nero(当然是学习版),结果发现它并不能读取EAC的CUE格式——倒是可以把每条音轨都拖进去,但这样会丢失重要的间隙(Gap)和ISRC信息,算不上“完美刻录”。毕竟CUE文件本身就是为了保留这些信息而设计的。我又找到了可以直接读取EAC生成的CUE的Burrrn,但它似乎识别不了我的光驱(话说我这台2010年的LG蓝光刻录机居然不认……)。
刻录教程
- 将音源转换为WAV格式。 如果你抓轨时选了压缩还删除了wav需要将压缩格式转换成wav。
- 对文件名称进行修改 项目中的rename.py会自动把分轨的WAV文件重命名成
01.wav
,02.wav
等,并自动修改CUE文件里的引用,修改后文件保存在../burn
(为了不影响原文件多占点空间问题不大)。 - 转换CUE并合并音轨。 将EAC生成的非规则带间隙CUE转换成标准CUE,并把所有分轨WAV合并成一个单文件。可以用CUETools或者直接在burn文件夹运行eaccueconverter.py
- 处理写入偏移(可选)。 如果你的光驱存在写入偏移(Write Offset),可以使用offset.py为WAV和CUE文件添加补偿。未测试是否能够完美匹配,建议先拿CD-RW测试,防止刻坏盘。
- 用专业软件刻录。 我这里用的是 ImgBurn。直接用它打开上一步处理好的CUE文件,选择你光驱支持的最低速率,开始刻录即可。
刻录后检验
刻录完成后,把光盘拿出来再放回去,打开EAC,重新对它进行一次抓轨。检查抓取结果的CTDB和AccurateRip数据库是否能够匹配,以及抓出来的WAV文件内容是否和刻录前的源文件完全一致。
如果都没问题,那么恭喜你,完成了一次真正意义上的“完美刻录”!