Exact Audio Copy(以下簡稱 EAC)是套相當著重品質的 CD 擷取軟體,它可以將 CD 中的音軌盡可能準確地抓下來,讓音樂播放的品質得以最佳化。所以我們就要來試看看到底是不是有那麼好用!
CD資料可以分為3種格式:音樂CD(Audio CD)、CD-ROM mode 1、CD-ROM mode 2,無論是哪種格式,每個扇區(sector)大小皆為2,352 bytes,並劃分為98個大小為24 bytes的框架(frame)。
由於音樂CD的資料特性是沒有前後的相依性,如果資料因為刮傷等因素而讀不出來的話,只要跳過出問題的片段就好,即使可能發生跳針、爆音等狀況,但不會影響到後續的音樂。
因為這個特性的關係,音樂CD為了將儲存資料的能力最大化,所以捨去了資料校驗的部份,讓每個扇區的2,352 bytes都被用在儲存音訊資料上,不過也就是因為如此,我們很難確保從音樂CD讀出的資料為100%正確。
EAC以secure mode運作時,每個扇區都會至少讀取2次以上,並比對讀出的資料是不是一模一樣,如果發現前後讀出的資料有所差異時,程式就會將發生問題的扇區標示起來,重新讀取該扇區內的資料。
重新讀取的過程,可不是再讀1次那麼簡單,程式會在1回合中讀取16次資料,若該回合中有8次資料是相符的,則將該回合視為讀取成功,並採用其資料。若是將讀取品質設為最高的話,則需在5回合中有3次以上成功,程式才將讀出的資料視為正確。如果還是無法成功的話,程式會顯示讀取失敗的訊息。
筆者花了許多時間考慮,要用什麼方式來檢驗EAC的讀取品質,如果用人耳進行盲測(在不知道播放樣本的情況下,分辨所有受測樣本的好壞),可能會受測試者主觀判斷影響,而且當品質差異太小時,很容易發生誤判的情況。
因此筆者想來想去,決定回歸Hi-Fi(High Fidelity,高傳真)的初衷,測試抓取音軌的準確度。在測試時筆者隨機選擇2張CD的其中1首曲目,以EAC分別讀取3次,並存為WAV檔,待檔案全部讀取完成後,再用WinMerge以16進位格式開啟、比對各WAV檔的差異。
由於WinMerge只能同時比對2組樣本,所以筆者將3組樣本分次進行比對,結果得知第1組樣本和第2組樣本的檔案內容一模一樣,第2、3組樣本內容也一樣,當然第1、3組樣本也是如出一轍,可見EAC在抓取音軌的準確度上,確實有其厲害之處。
▲以16進位方式開啟WAV檔後,可以看見每個byte對應2個16進位數字。以WinMerge比對2組樣本,發現彼此的內容完全相同,因此可以推測讀取準確度相當高。
需要注意的是,由於音樂CD的格式不具有錯誤校正能力,所以我們無法取得100%正確(與CD母帶相同)的樣本。因此測試中的3個樣本內容一致,除了可能是EAC能夠100%精準地讀取資料,也有可能是3次都在相同的地方發生相同的錯誤,不過這種可能性低到可以忽略,所以我們還是相信EAC的實力吧。