将实体CD转换成数字音频档案、规范的使用EAC/XLD
前言
2021年了,Hi-Res配信都早已流行起来。CD作为音乐载体、早已不再有优势
但是收藏价值还是有的,当然每次想听的时候、需要放入光驱也是挺麻烦的
这里介绍一下将实体CD转换到Lossless
数字档案的方案
这里只推荐EAC/XLD两个抓轨软件,比较可靠,也被各个音乐分享站点公认
EAC (Exact Audio Copy) (https://www.exactaudiocopy.de/)
XLD (X Lossless Decoder) (https://tmkk.undo.jp/xld/)
两个都是免费软件,EAC
运行环境是Windows
,XLD
则是Mac OS
两个软件并不是简单到安装完直接可用,你必须正确的设置你的光驱一些特性
写这篇文章的目的也是做个笔记
EAC
安装
打开EAC官网、选择 Download
安装过程比较简单,Choose Components 这一步建议全部选择
关于这些 Components 后面会使用到
安装好后,请务必先配置下EAC,这样才能
正确地
抓出音频
设置
第一次启动可能弹出这个 (metadata provider)
选NO和YES都可以
第一次启动还会弹出设置向导,我们直接到设置里详细设置
直接Cancel就行
EAC提供了简体中文
,你可以到设置里切换,方便你对软件更快速上手
按F9
打开EAC选项 (EAC options)
,在常规 (General)
选项卡最下面可以切换语言
接着我们对一些重要选项进行设置
EAC选项 -> 抓取 (Extraction)不要勾选
删除头部及尾部静音块 (Delete leading and trailing slient blocks)勾选
用静音填充丢失的偏移采样 (Fill up missing offset samples with silence)
EAC选项 -> 常规 (General)
务必勾选
总是使用英语创建日志文件(Create log file always in english language)可以勾选
使用备用 CD播放方法 (Use altemate CD play routines)
EAC选项 -> 工具
勾选
创建CUE文件时寻找 UPC/ISRC代码(Retrieve UPC / ISRC codes in CUE sheet generation)勾选
创建CUE文件时使用 CD-Text信息(Use CD-Text infomation in CUE sheet generation)务必勾选
抓取完毕后自动生成状态报告(Automatically write status report extraction)务必勾选
增加校验至状态报告(Append checksum to status report)不要勾选
激活新手模式,禁用所有高级特性 (Activate beginner mode, disable all advanced features)
EAC选项 -> 标准化 (Nomalize)
不需要设置、请不要勾选
没提到的其他选项卡并不重要,默认即可
驱动器选项 (Drive Options)
按F10可以打开驱动器选项,接下来的设置比较重要
驱动器选项 -> 抓取模式 (Extration Method)
抓取模式务必选择"安全模式" (Secure mode)
关于[精准流] 、 [缓存音频数据] 、 [C2错误报告能力]
此部分争议比较大,先说结论精准流
,请点击左边的检测读取特性
按钮,不同型号光驱不同,光驱支持即可勾选缓存音频数据
无论你光驱是否支持,请勾选它C2错误报告能力
无论你的光驱是否支持,请不要勾选它
精准流
光驱支持的话,可以不必进行 jetter 纠错、根据光驱设置就行
缓存音频数据
EAC会多次读取每个扇区,结果一致才会读下一个
如果光驱有缓存的话、读取缓存会造成结果一定相同
所以必须勾上这个,勾上后表现为禁用缓存 (Defeat audio cache)
即使光驱不支持缓存,禁用缓存理应不会产生问题
C2错误报告能力
即使光驱支持,也不建议勾选
(普遍说法是部分光驱C2纠错固件有BUG)
如果中途让你把特性提交,点是即可
驱动器选项 -> 驱动器
勾选
抓取之前先转动驱动器 (Spin up drive before extraction)勾选
驱动器支持 CD-Text 读取 (CD-Text Read Capable driver)
驱动器选项 -> 偏移 / 速度 (Offset / Speed)
请务必正确设置使用读取采样偏移矫正的值
设置方法有3种,推荐第2种
1.手动查询 AccurateRip 数据库 并设置
每个型号光驱都不同,可以参考AccurateRip 数据库
Ctrl+F 搜索你的光驱型号机型,比如我的hp BD CMB UJ160
是+103
2.让EAC自动设置
当然EAC已经支持从AccurateRip
自动获取采样偏移矫正值
(Use read sample offset correction) 了
勾上在驱动器上使用 AccurateRip 数据库
(Use AccurateRip with this drive) 即可,上面的设定会变成灰色并锁定
推荐勾上这个
3.通过CD来计算出
当然你也可以插入一张CD,然后点检测读取采样偏移矫正
按钮
前提是这张CD数据库里有,当然这种还是比较麻烦的
(当然我试了几张手上的CD,CD偏移数据库都没有...)
至于
检测特性时请不要装入盘片!
(Do not produce load while detecting features !)这个是错误的翻译
大意为不要在EAC检测的时候再用其他软件读取光盘
驱动器选项 -> 间隙检测间隙/索引寻获方式
(Gap / Index retrieval method):【A执行最快、B兼容性佳、C较慢】检测精确度
( Detection accuracy):请设置到安全
(Secure)
元数据选项 -> FreeDB
请在freedb填写下邮箱
如果只抓取无压缩
的WAV波形
档案,压缩选项可以忽略
补全CD信息
插入一张CD后,CD的信息都没有补全,可能是这样的(没有曲目标题、作者信息等)
我们可以从公开的CD数据库获取信息(标题/作曲家等)
可选FreeDB、CUETools DB、MusicBrainz等,这些都是国外知名的免费CD数据库
以CUETools DB为例
如果找到了,选择一个即可。点击OK,信息就会被自动填充了
抓取单文件 wav+cue+log
抓取wav整轨的话、在菜单中选择抓取镜像并创建CUE目录文件
完成后连同log文件,应该有3个
分别是 wav audio
、cue sheet
、log file
其中logfile请不要做改动、cue文件如果是GBK编码、可以转换成UFT-8 with BOM
分割成多个音轨 / 抓取分割好的文件
如果你想创建分割的音频文件,可以抓好整轨后、用工具读取 cue sheet 然后切割就可以
推荐GUI工具:CUETools
、Foobar2000
我不建议切割成wav分轨
,wav对tag支持不太好。flac也是无损压缩编码,并且设备兼容性较好
同样不推荐有损压缩格式和不开源的无损压缩格式(ape
/tta
等)
当然也可以在EAC一步搞定
在这之前、需要先设置一下EAC压缩选项
压缩选项 -> 外部压缩程序
在附加的命令行选项填入内容
填这些参数的意义无非是:转换成FLAC时,把标题、作曲者封面等写入flac文件的tag内。参数可以自行更改
参数具体意义可以参考 flac documentation (https://xiph.org/flac/documentation_tools_flac.html)
这里给出几个举例
整轨用
1 | -8 -V -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "GENRE=%genre%" -T "PERFORMER=%albuminterpret%" -T "COMPOSER=%composer%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" -T "COMMENT=%comment%" %hascover%--picture=||||"%coverfile%"%hascover% --cuesheet="%artist% - %albumtitle%.cue" %source% -o %dest% |
多音轨用
1 | -8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "GENRE=%genre%" -T "PERFORMER=%albuminterpret%" -T "COMPOSER=%composer%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" -T "COMMENT=%comment%" -T "DISCID=%cddbid%" %hascover%--picture=||||"%coverfile%"%hascover% %source% -o %dest% |
设置好后可以尝试抓取,要抓取flac分割的成品、选择抓取所选范围音轨
->已压缩
成品大概是这样的
一份较好 EAC log 示范
抓轨log自动保存,请不要改动删除它
它是你正确使用EAC的最好证据
1 | Exact Audio Copy V1.6 from 23. October 2020 |
校验 EAC Log
EAC提供的校验程式在安装目录下,要想校验log必须用到它
按住shift右键,打开任意一个命令行
后面跟上log文件路径即可校验
log完好: 1. Log entry is fine!
log被修改过: 1. Log entry was modified, checksum incorrect!
log校验码不存在: 1. Log entry has no checksum!
将LOG检验程式关联到上下文菜单
校验每次要打开终端比较麻烦,这里介绍一个技巧,可以直接关联到上下文菜单
效果如下
会直接弹出校验结果
实现方法
直接改注册表比较麻烦,这里推荐一个开源的GUI工具
BluePointLilac / ContextMenuManager
https://github.com/BluePointLilac/ContextMenuManager
选择文件类型、自选格式、筛选扩展名:"log"
新建一个项目,菜单类型选择shell
菜单文本:Check This Log File
菜单参数:cmd
命令参数:"cmd" "/k ""E:\Program Files\Exact Audio Copy\CheckLog.exe" "%1"""
好了后可以测试下,只有特定后缀名才会有效果
原理
有兴趣的话可以打开regedit
看下,原理并不复杂
XLD
找到Download
,获取编译好的xld-xxxxxx.dmg
下面还有个Log checker plugin
,请一同下载
打开dmg
文件,将XLD拖到桌面或应用程序,即可完成安装
如果无法打开,在系统设置偏好
->安全与隐私
->仍要打开
即可
启动XLD,按【⌘ ,
】(Command + ,)
打开设置页面
XLD预置 -> 通用
导出格式可选音频编码/封装格式
:建议选择 FLAC
Cuesheet 的字符编码
:请选择 Unicode (UTF-8)
存储 Cue Sheet 时前置BOM
:请勾上
XLD预置 -> 抓取 CD
Ripper Mode (抓取模式):XLD Secure Ripper
读取样本偏离修正值如果是0的话,请对照 AccurateRip 数据库 设置一下
这边勾选了自动设置,XLD已经帮我设置好了(103)
每个光驱的偏移值都不同,你的不一定是103!
Save Log File
:总是Save Cue Sheet
:仅单一文件时
验证可疑选区
:请打勾
安装 Log checker plugin
从官网下载插件,得到一个zip压缩包
解压后得到XLDLogChecker.bundle
把这个文件移动到~/Library/Application Support/XLD/PlugIns
提示一下,这个目录是在Finder
中隐藏的,你可以在设置显示或使用Terminal
移动
Library (资源库) 显示方法:
放入重启XLD即可生效,不需要额外设置
抓取光盘
【⌘ + ⇧ + O
】(Command + Shift + O) 或者在 顶部菜单选择打开音乐CD
检查好后,点击右上角的Get Metadata
,会从数据库获取光盘信息
左上角可以选择单一文件
(整轨)或分轨导出
我个人推荐单一的flac+cue
,如需分轨之后单独切割也很方便
点击 Extract 就可以开始抓取了
完成后会弹出抓取日志,如果开了自动保存、就不用另存为了
如果你正确安装log插件,日志结尾还有校验码
检查log
从菜单中打开 Log Checker
把log文件拖到这个窗口即可
正确的Log: OK
没有校验码:Not signed
改动过的:Malformed
示例 XLD Log
1 | X Lossless Decoder version 20210101 (153.1) |
检测音频文件CRC32
一个音频文件包含了头部标签(标题、封面、作曲家信息等)要正确计算
你需要把wav/flac
头部头部标签
去掉,只计算音频部分
所以你怎么改动专辑标题、艺术家信息,音频部分
CRC32是不会变的
所以还是比较麻烦的,也有人写过专门计算的工具,比如wavcrc32
不过已经非常老了,我也不再推荐
个人推荐还是利用foobar2000的File Integrity Verifier
组件
无论是单轨还是整轨、各种封装格式都支持
组件可以在foorbar2000
官网获取
Ctrl + F
搜索
下载后可以获得Verifier.fb2k-component
,在foorbar2000
内安装即可
重启后即可生效
如果音频部分没有改动 (比如有损转码),那校验出的结果是一致的