Re: [閒聊] 音響級電腦週邊

看板PC_Shopping (個人電腦購買)作者 (我討厭人類)時間3周前 (2025/05/09 02:38), 3周前編輯推噓5(5030)
留言35則, 3人參與, 3周前最新討論串11/12 (看更多)
※ 引述《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://www.ptt.cc/bbs/PC_Shopping/M.1746729524.A.434.html ※ 編輯: wahaha99 (118.169.4.176 臺灣), 05/09/2025 02:57:35

05/09 08:14, 3周前 , 1F
我有說沒有 clock 嗎?你講的是理想情況
05/09 08:14, 1F

05/09 08:14, 3周前 , 2F
,但現實是早期就是有光碟機從 buffer 讀
05/09 08:14, 2F

05/09 08:14, 3周前 , 3F
出來的資料跟別人有差嘛。再來 CDDA 定址
05/09 08:14, 3F
讀出來資料有差跟這無關, 這也不是啥理想情況, 這是CLV工作的基本原理...

05/09 08:14, 3周前 , 4F
是看 time frame 不是 block address,並
05/09 08:14, 4F

05/09 08:14, 3周前 , 5F
且 block address 還會從讀出來的資料中
05/09 08:14, 5F

05/09 08:14, 3周前 , 6F
移除,如果遇到暫停開始、重讀、搜尋,只
05/09 08:14, 6F

05/09 08:14, 3周前 , 7F
要前後 frame 不要差太多,聽起來根本沒
05/09 08:14, 7F

05/09 08:14, 3周前 , 8F
差,但讀資料出來儲存就會有差了啊。啊這
05/09 08:14, 8F

05/09 08:14, 3周前 , 9F
叫不能 seek?我有說不能 seek?後面也提
05/09 08:14, 9F
不管那叫time frame還是block address 每個資料都是能被精確定位的 不然要怎麼放檔案啦... 你能接受每次copy出來的檔案都不一樣嗎?

05/09 08:14, 3周前 , 10F
到有些光碟機已經解決定址不精確問題避免
05/09 08:14, 10F

05/09 08:14, 3周前 , 11F
jitter 了。C2 Error 那裡是我用詞錯誤
05/09 08:14, 11F
實際上jitter也不是用在這 jitter是指電訊號fall與rise的隨機時間偏移 你說的已經是成為data後的事情

05/09 08:14, 3周前 , 12F
,但意思是一樣的,drive 回報的 C2 erro
05/09 08:14, 12F

05/09 08:14, 3周前 , 13F
r 不一定可靠,有資料說最好的 drive 也
05/09 08:14, 13F

05/09 08:14, 3周前 , 14F
會有 3% 左右的誤報,也有人說有的 drive
05/09 08:14, 14F

05/09 08:14, 3周前 , 15F
C2 error 根本是假的。
05/09 08:14, 15F
這大概是有可能的, 尤其是比較早期的光碟機 不過後期的光碟機我所知道是準的 而且對於 CD rip來說, 其實C1/C2 error有多少並不重要, 重要的是 C2 failure, 這才會導致 "你讀出來的資料跟別人不同" ※ 編輯: wahaha99 (118.169.4.176 臺灣), 05/09/2025 12:44:06

05/09 12:51, 3周前 , 16F
CD Player 可以接受 copy 出來不一樣啊,
05/09 12:51, 16F

05/09 12:51, 3周前 , 17F
CDDA 是紅皮書不是黃皮書,本來就是可以
05/09 12:51, 17F

05/09 12:51, 3周前 , 18F
容忍一定程度的失真
05/09 12:51, 18F

05/09 12:52, 3周前 , 19F

05/09 12:54, 3周前 , 20F
國外實測過有些光碟機連基本的 offset 都
05/09 12:54, 20F

05/09 12:54, 3周前 , 21F
做不好,讀出來的資料就是有落差,至於 j
05/09 12:54, 21F

05/09 12:54, 3周前 , 22F
itter 定義這篇裡面也有解釋它不是電子學
05/09 12:54, 22F

05/09 12:54, 3周前 , 23F
上真正的 jitter,只是在 DAE 領域裡習慣
05/09 12:54, 23F

05/09 12:54, 3周前 , 24F
這樣叫了
05/09 12:54, 24F
這就單純的是FW有問題或偷工減料, 在CD-DA模式下不能完全正確處理 lead in/out 或 gaps

05/09 12:55, 3周前 , 25F
啊我也解釋過有光碟機可以精確定位保證一
05/09 12:55, 25F

05/09 12:55, 3周前 , 26F
定讀到正確的 offset,關鍵字也給你了,
05/09 12:55, 26F
不管什麼皮書, 光碟資料都是在Sector/Frame上用subcode定位, 還有一個TOC總表在負責 不能精確定位的可能性, 只存在於隨便亂做、偷工減料的player, 而電腦上的CD-ROM不存在這問題, 否則你連檔案都讀不出來

05/09 12:55, 3周前 , 27F
現在隨便讀都是準的不代表過去不準的年代
05/09 12:55, 27F

05/09 12:55, 3周前 , 28F
不存在欸
05/09 12:55, 28F

05/09 13:43, 3周前 , 29F
樓主不用跟他辯,直接承認自己無知就好
05/09 13:43, 29F

05/09 13:44, 3周前 , 30F
紅皮書寫得清清楚楚的事情辯也不會改變
05/09 13:44, 30F
知道的人總要出來講事實啊 ※ 編輯: wahaha99 (118.169.4.176 臺灣), 05/09/2025 13:58:30

05/09 14:01, 3周前 , 31F
"知道的人總要出來講事實啊"給你一個讚
05/09 14:01, 31F

05/09 14:05, 3周前 , 32F
cdrom連定位都有問題要怎麼讀普通檔案
05/09 14:05, 32F

05/09 14:42, 3周前 , 33F
因為 CDROM 跟 CDDA 是兩種不同讀取方式
05/09 14:42, 33F
最底層都是一樣的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

05/09 15:35, 3周前 , 34F
EAC 那段我記錯了,secure mode 下 C2 er
05/09 15:35, 34F

05/09 15:35, 3周前 , 35F
ror correction 是可以選或不選的
05/09 15:35, 35F
文章代碼(AID): #1e7FeqGq (PC_Shopping)
討論串 (同標題文章)
文章代碼(AID): #1e7FeqGq (PC_Shopping)