碟片轉速會不同,讀內圈時會比外圈快得多,而為了要簡化設計,許多 CD-ROM
都只是用一個 FIFO(First In, First out)的緩衝區來控制轉速,當緩衝區快要
滿的時候就將轉速降低,反之則加快,故在讀取資料時的間距就會忽大忽小,
這就是 jitter。這在讀取資料軌時沒有什麼問題,因為每個資料區塊有起始碼
及第三層 ECC(error correcting code),但音樂軌時就有問題了,因為在
音樂軌的資料中沒有起始碼,無法準確的決定每一個 frame 的起始位置,所以
會有一種現象就是,一片音樂 CD 中的某一首歌,在兩台 CD-Player 中播放
出來的時間會有一點點差距。為了要解決這種音樂播放時的問題,各家廠商都在
CD device 裡加上一些線路來設法解決問題,這就是 de-jitter。
當我們要在電腦上利用可以抓音軌的 CD-ROM 來抓音軌時,一樣會發生這種
問題,但因為近來 CD device 的技術越來越進步,再加上(我猜測的)有些公司
的 CD-ROM 有用到額外通道中的一些資訊來確定每個 frame 的起始位置,因此
已經可以做到 100% 完整重現音樂軌的資料,因為無論如何,de-jitter 後所得到
的音樂軌資料,很有可能會和原始資料不同,既使在大部份的情形下可能聽不
出來,但是仔細聽還是有些變化比較快的地方是可以聽得出來的。
用軟體來做 de-jitter 的一種常用的方法是,將同一個 frame 讀出兩次加以
比較,如果完全相同就沒有問題,如果還是不同就要讀第三次,然後找出最相近的
兩次,然後再用一些方法來算出可以接受的資料,如果三次的差距都很大,那麼
de-jitter 就會失敗,這在使用 cdda 時是偶爾會出現的。有人問說為何 cdda
會比 cdgrabp 慢得多,而 cdda 抓出來的品質卻比 cdgrabp 好,這是因為 cdda
deafult 會有 de-jitter,而 cdgrabp 沒有罷了。當這種情形發生時,就表示
你抓到的資料已經是經過修飾的了,已經和原始資料不同了,既使你不太能夠聽
得出差異。
我為何敢如此斷定上面這件事呢?很簡單,請將一個音樂軌重覆抓兩次,
存成 ta.wav 及 tb.wav,然後用 DOS 的 FC 加以比較:fc/b ta.wav tb.wav,
你就會發現原來它們的差距是如此的大!附帶要提的一件事就是,在有 smartdrv
的情形下,很容易發生 jitter 的情形,既使那台 CD-ROM 本來應該是很好的,
此時可以試著將 smartdrv 關掉,同一軌再抓兩次比較看看,你或許就會驚訝的
發現,"no differences encountered"!
好啦,請各位有心抓音軌的人,將你的 PC 啟動到 DOS 模式下,將 smartdrv
關掉,然後將你最喜歡的那首歌抓下兩次比較看看,如果完全一模一樣,那個恭禧
你,如果有所不同,那就表示你以前抓下來的"沒有音爆"的音樂軌,其實是經過
修飾的,當然,如果你不介意,那還有誰能介意呢?
沒有留言:
張貼留言