作者wahaha99 (我讨厌人类)
看板PC_Shopping
标题Re: [闲聊] 音响级电脑周边
时间Fri May 9 02:38:41 2025
※ 引述《s25g5d4 (function(){})()》之铭言:
: 佩服你这麽无知还敢发文
你也别说别人
: CD-DA 没有档案系统结构,只有一个接一个的 PCM 音讯流
: 开头跟每一轨中间会有两秒的静音区间,用来标示曲目开头与结束
: CD-DA 只有有限的同步资讯
: 每个不同型号的 CD drive 都可能会有一点点时间读取误差
: error correction 能力也比 CD-ROM 低非常多
: 就我看到的资料来说修正能力差了快两倍
: 所以 CD-DA 至少会有以下几个问题:
: 1. read offset jitter
: 由於没有足够的时间同步资讯,在维持定速读取的情况下
: 同样的时间应该有同样大小的资料量,但现实世界是不完美的
: 如果读取速度忽快忽慢、或是 DAC clock 有误差,就会造成资料有多有少
: 那就必须砍掉或补假资料进去以满足等速播放的需求
这就错的很离谱
CD是靠EFM编码
这种编码包含Clock
然後透过PLL做Clock Recovery後控制CD转速
(要跟本地Clock做比较, 4.3218 MHz)
不存在你说的要砍掉或补资料的状况
: 2. track offset
: 刚刚提到开头、结尾跟曲目中间的静音片段 lead in/out, gaps
: 每段大约两秒钟,而每个不同型号的 CD drive 读取每一音轨时
: 可能会有一小段误差,导致有些读出来的音轨长一点、有些短一点
主要是lead in/out造成误差
gaps不会 (会的话光碟机太烂...)
你听过在曲中间分轨的CD就知道了
: 3. error detection
: CDDA 原始用途根本不需要回报错误,只需 CD player 自行修正即可
: 所以早期的 CD drive 就是由韧体自动修正错误
: 无法修正就插值补假资料,再无法修正就乾脆静音
: 软体根本看不到错误的话,怎麽知道有读取错误?
: 为了解决这些问题,较先进的光碟机会有一些额外功能:
: 1. Accurate Stream
: 针对 read offset/track offset 做修正,每次读取都是固定的 offset
: 每个音轨开头与结尾 offset 相同以解决 track offset
: 还有就像上面说的 CDDA 本身时间同步资讯有限
: 当软体尝试前後跳 n 个 frame 时,只有支援 Accurate Stream 的
: CD drive 才能精准跳回同一个地方,从而保证重读的 offset 都相同
不能精准地跳同一个地方, 那是要怎样 seek 啦
TOC + subcode去了解下
: 2. C2 Error
: 当读取发生不可修正错误时,透过 MMC 指令回报读取错误
: 但是标准并没有规定怎麽样算是错误
: 所以这部分完全看各家韧体实作,有好有坏,不是一个可靠的指标
: 因此 EAC 的 secure mode 根本不看 C2 error
「怎样算错误」的标准在红皮书内, C1/C2 error correction用的是 CIRC编码
没有规定的是「怎样回报」(没有标准SCSI/ATAPI命令)
: 3. Cache Invalidation
: 不管是使用哪种软体,只要是有强调 accurate rip 的软体
: 他能做到精准读取唯一的方法就是重读几次看看结果是否吻合
: 然而如果 CD drive 有做快取,那不管重读几次相同区块都会是同样的资料
: 就无从比对不同次读取的资料是否都吻合
: 所以 CD drive 必须支援 cache invalidation,强制从 CD 重新读取
: EAC 当年会红就是因为他的读取演算法先进
: 对 CD drive 进阶功能支援也完整
: 它可以做到没有支援 Accrate Stream 的情况下修正 jitter
: 预设多次重读以判断是否有错误并修正
: 对於不支援 cache invalidation 的 CD drive
: 也可以透过把 buffer 写满强制清除原本要读的区块再重读
: 就算 CD drive 都支援这些功能,也用了 EAC
: 仍然有可能遇到实体 CD 制作缺陷或刮伤或老化
: 所以才会有 AccurateRip 资料库让大家比对及上传 rip hash
: 如果 rip 符合大部分人结果,那 rip 成功信心就越高
: 会把整件事情简化成只要开 verify 就能做到 bit-to-bit perfect 读取
事实上光碟机厂商有回报的C1/C2是有用的
你拿把刀片往光碟上刮一下
然後用OptiDriveControl做Scan就知道了
你要说他都回报了还报假资料给你
那我也没法说啥
: 完全是把十几年前为了 rip CD 特挑光碟机
: 以及浪费时间开 EAC secure mode 慢慢读追求完美
: 还有使用及贡献 AccurateRip 资料库的人当白痴
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.169.4.176 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PC_Shopping/M.1746729524.A.434.html
※ 编辑: wahaha99 (118.169.4.176 台湾), 05/09/2025 02:57:35
1F:推 s25g5d4: 我有说没有 clock 吗?你讲的是理想情况 1.34.245.37 05/09 08:14
2F:→ s25g5d4: ,但现实是早期就是有光碟机从 buffer 读 1.34.245.37 05/09 08:14
3F:→ s25g5d4: 出来的资料跟别人有差嘛。再来 CDDA 定址 1.34.245.37 05/09 08:14
读出来资料有差跟这无关, 这也不是啥理想情况,
这是CLV工作的基本原理...
4F:→ s25g5d4: 是看 time frame 不是 block address,并 1.34.245.37 05/09 08:14
5F:→ s25g5d4: 且 block address 还会从读出来的资料中 1.34.245.37 05/09 08:14
6F:→ s25g5d4: 移除,如果遇到暂停开始、重读、搜寻,只 1.34.245.37 05/09 08:14
7F:→ s25g5d4: 要前後 frame 不要差太多,听起来根本没 1.34.245.37 05/09 08:14
8F:→ s25g5d4: 差,但读资料出来储存就会有差了啊。啊这 1.34.245.37 05/09 08:14
9F:→ s25g5d4: 叫不能 seek?我有说不能 seek?後面也提 1.34.245.37 05/09 08:14
不管那叫time frame还是block address
每个资料都是能被精确定位的
不然要怎麽放档案啦...
你能接受每次copy出来的档案都不一样吗?
10F:→ s25g5d4: 到有些光碟机已经解决定址不精确问题避免 1.34.245.37 05/09 08:14
11F:→ s25g5d4: jitter 了。C2 Error 那里是我用词错误 1.34.245.37 05/09 08:14
实际上jitter也不是用在这
jitter是指电讯号fall与rise的随机时间偏移
你说的已经是成为data後的事情
12F:→ s25g5d4: ,但意思是一样的,drive 回报的 C2 erro 1.34.245.37 05/09 08:14
13F:→ s25g5d4: r 不一定可靠,有资料说最好的 drive 也 1.34.245.37 05/09 08:14
14F:→ s25g5d4: 会有 3% 左右的误报,也有人说有的 drive 1.34.245.37 05/09 08:14
15F:→ s25g5d4: C2 error 根本是假的。 1.34.245.37 05/09 08:14
这大概是有可能的, 尤其是比较早期的光碟机
不过後期的光碟机我所知道是准的
而且对於 CD rip来说, 其实C1/C2 error有多少并不重要,
重要的是 C2 failure, 这才会导致 "你读出来的资料跟别人不同"
※ 编辑: wahaha99 (118.169.4.176 台湾), 05/09/2025 12:44:06
16F:推 s25g5d4: CD Player 可以接受 copy 出来不一样啊, 42.70.235.185 05/09 12:51
17F:→ s25g5d4: CDDA 是红皮书不是黄皮书,本来就是可以 42.70.235.185 05/09 12:51
18F:→ s25g5d4: 容忍一定程度的失真 42.70.235.185 05/09 12:51
20F:→ s25g5d4: 国外实测过有些光碟机连基本的 offset 都 42.70.235.185 05/09 12:54
21F:→ s25g5d4: 做不好,读出来的资料就是有落差,至於 j 42.70.235.185 05/09 12:54
22F:→ s25g5d4: itter 定义这篇里面也有解释它不是电子学 42.70.235.185 05/09 12:54
23F:→ s25g5d4: 上真正的 jitter,只是在 DAE 领域里习惯 42.70.235.185 05/09 12:54
24F:→ s25g5d4: 这样叫了 42.70.235.185 05/09 12:54
这就单纯的是FW有问题或偷工减料,
在CD-DA模式下不能完全正确处理 lead in/out 或 gaps
25F:→ s25g5d4: 啊我也解释过有光碟机可以精确定位保证一 42.70.235.185 05/09 12:55
26F:→ s25g5d4: 定读到正确的 offset,关键字也给你了, 42.70.235.185 05/09 12:55
不管什麽皮书,
光碟资料都是在Sector/Frame上用subcode定位,
还有一个TOC总表在负责
不能精确定位的可能性, 只存在於随便乱做、偷工减料的player,
而电脑上的CD-ROM不存在这问题, 否则你连档案都读不出来
27F:→ s25g5d4: 现在随便读都是准的不代表过去不准的年代 42.70.235.185 05/09 12:55
28F:→ s25g5d4: 不存在欸 42.70.235.185 05/09 12:55
29F:→ leolarrel: 楼主不用跟他辩,直接承认自己无知就好 123.51.165.127 05/09 13:43
30F:→ leolarrel: 红皮书写得清清楚楚的事情辩也不会改变 123.51.165.127 05/09 13:44
知道的人总要出来讲事实啊
※ 编辑: wahaha99 (118.169.4.176 台湾), 05/09/2025 13:58:30
31F:→ leolarrel: "知道的人总要出来讲事实啊"给你一个赞 123.51.165.127 05/09 14:01
32F:推 b325019: cdrom连定位都有问题要怎麽读普通档案 60.248.33.28 05/09 14:05
33F:推 s25g5d4: 因为 CDROM 跟 CDDA 是两种不同读取方式 42.70.235.185 05/09 14:42
最底层都是一样的EFM编码、0.5um 宽的实体层、C1/C2校验、Sector
"不同的读取方式"是取决於控制机制(硬体/韧体)
所以这取决於很多事情:
好比说 player 会怎麽做, 这部分确实如你所说,
随便一点可能也没人发现
到了CD-ROM时代, 可能是看当下模式,
好比是 CD-ROM 模式, 或是 CD-DA Player模式
但到了再稍微後期(也二十年前了), 复杂的要求开始出现,
越来越多底层功能被可以呼叫
也就是说, 到了後期在ripping的时候,
这是更底层的、接近 RAW data在处理
这里的 CD-DA 或是 CD-ROM 基本上已经没有在区分
这点不只是体现在CD rip上,
更多时候反而是在对付复制保护/反保护的问题
所以CD-DA不会不能精确定位,
C2 Correction也是靠谱的,
只要CD-ROM有支援正确的模式不瞎搞
至於为什麽EAC作者崇尚Secure mode, 但不开C2,
也许是他的个人经验, 可能早期乱七八糟的机器用太多了,
但我的光碟机, 除了 offset 可能会有点偏外(这可以手动校正),
靠C2从来没有问题过, 都是 bit perfect rip
已经20年了。
※ 编辑: wahaha99 (118.169.4.176 台湾), 05/09/2025 15:31:13
34F:推 s25g5d4: EAC 那段我记错了,secure mode 下 C2 er 42.70.235.185 05/09 15:35
35F:→ s25g5d4: ror correction 是可以选或不选的 42.70.235.185 05/09 15:35