看板 Headphone 關於我們 聯絡資訊
> 但是取出來後之WAV與原先於CD上之音軌是否完全一樣<--- > 這才是關鍵 確實, 在早期的光碟機上面, 這是一個問題, 但是在現代的硬體上面(五年以內就算現代吧, 我家還有200MB的SCSI硬碟...)這不是一個問題. 為什麼我這樣說呢, 因為CD的結構上面, CD上面最基本的資料群是Frame, 一個Frame裡面, 有三十三個位元組, 其中有二十四個是紀錄音樂, 另外有八個紀錄除錯碼(Error Correction Code), 這個八個碼, 可以在一個Frame裡面的資料出問題的時候, 運用進階的數學運算, 從這八個除錯碼中, 取得原本正確的資料. 最後一個位元組, 叫做Subchannel data, 是用來儲存歌名或是作者之類的, 這一個位元組不在我們的討論範圍內. 重點: 只要資料毀損的不嚴重, 系統能自動修復錯誤. 就好像沒有錯過一樣. 在過去, 由於運算能力有限, 一般的光碟機, 為了能夠以現時讀取音樂資料, 他不做Error Correction的處理, 而且以前的電腦沒有那麼進步, 例如說連接光碟機用的IDE BUS只有四十條線(現在每根之間加了一跟GND Shield => 80 pins), 會因為電磁干擾而導致音樂資料毀損(IDE也有CRC,不過還是會發生). 這些你所講的軟體(Exact Audio Copy, EAC), 他所做的, 就是當資料被讀出來的時候, 他會用Error Correction Code來確認資料是否正確, 而且, 有的時候, 他會多讀幾遍來確認. 我用電腦到現在, 沒有遇過一片光碟讀兩次內容不一樣的, 有興趣的朋友, 如果使用Linux, 可以嘗試以下指令, 多做幾遍看結果出來一不一樣: dd if=/dev/cdrom | md5sum 我自己會做幾次, 然後晚一點我會Po結果上來. > 是否能確實保證直接於光碟機播放CD時所讀取之音軌 類比波形完全相同? > (單純討論抓音軌部份之jitter 而非音效卡上之類比輸出後因各項變因造成的波形改變) 如果Error Correction Code真的沒有辦法算出原本的資料, EAC或是任何有ECC的軟體會告訴你說有錯誤. 如果他沒說有錯誤, 那你可以確定說, 讀出來的確確實實是無誤的 類比波形跟數位資料的問題, 我下面再說. > 有jitter因素 一般來說, 當我們討論光碟跟Wave時, 我們指的jitter, 是上面所說的資料因各種原因毀壞, 而不是時間差. 所以說, 只要數位料讀出無誤, 就不會有所謂的jitter. > 請參閱IEC 908的規範 :-o It's IEC 60908 > 別忘了 某些lossless格式可以接受部分毀損依然可以播放的(容錯度高) (如flac) 根據FLAC官方的FLAC格式定義(FLAC File Format Specification): http://ppt.cc/SFvJ FLAC內部有CRC偵錯功能, 也就是說, 如果檔案有問題的話, 程式可以檢測的出來. 也就是說, 事實上, 他不容錯, 只是你可以逼迫他不理那個錯誤, 繼續播放. > zero1289:我比較好奇的是CD上儲存格式是數位還是類比的!? > pipi5867:數位 類比的是LP,或是錄音帶 > pipi5867:通常毀損的話 就很明顯會有爆音,斷音等情況了 07/06 20:56 正解 > kuo123:有趣的是,CD雖然儲存的是數位資料,紀錄的概念卻是類比的 07/06 21:32 > commutative:電腦科技本來就有限呀!用數位描述類比本來就無限可能 07/06 21:01 > commutative:取樣44.1K如果真的夠用,就不會有人死守LP了呀! 07/06 21:01 > commutative:在極高頻通常只取兩個點,卻要電腦畫一個漂亮的弦波 07/06 21:06 在資訊理論中, 有個叫做Nyquist-Shannon Sampling Theorem的定理, 他規定: If a function x(t) contains no frequencies higher than B hertz, it is completely determined by giving its ordinates at a series of points spaced 1/(2B) seconds apart. 中文翻譯: 假設一個函數x(t)沒有超過B Hertz的頻率, 那他可用一系列的點, 其間格1/(2B)秒, 來完整的描述這個函數. 也就是說, 任何不超過B Hertz的訊號, 如果我們用2B Hertz來採樣, 那我們可以用數學來算出他中間的所有數值(有興趣的可以看看Fourier Transform). 在這種情況下面, 只要數位訊號(那一系列的點)準確無誤, 那就可以用數學的分法準確無誤的畫出那訊號. 另外, 對於那些對CD有問題的人, 我想他們應該是不喜歡DAC, 為什麼我這麼說呢, 來一張DAC輸出的訊號在示波器上面的圖吧. 這張不是我自己照的, 是網路上面找到的: http://ppt.cc/kUwa 出處: http://ppt.cc/P9NE 由此可見, DAC會有一格一格的, 這樣不是原本的訊號, 分析之後, 他會有少數高頻訊號(超過人類聽力範圍). 不過, 那照片是作者自己用R-2R Ladder的方法自己做的DAC, 所以會有這種問題. 早期的DAC也會有這種問題, 現在的設備上面, 基本上來說沒有. 我自己也照了一張, 這個信號是由我的主機板內建音效卡輸出(華碩 P5B), 頻率是18kHz. 示波器是一台古董的GW Instek GOS-623B (類比的) 抱歉, 檔案有一點大: http://stashbox.org/561997/P7070001.JPG
基本上來說, 看不到什麼方格, 這是個很標準的正弦波. 順便一題, 輸出這個波的音訊檔, 裡面只有*兩個*點來敘述一個週期. 請見輸出用的檔案: http://stashbox.org/562000/Auda18K.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.76.65 ※ 編輯: john0312 來自: 220.133.76.65 (07/06 22:26)
padro:基本上你講得沒錯 另外我個人認為的比較應是兩台不同光碟機 07/06 22:28
john0312:好的, 我家有將近十台電腦, 我紀錄晚點Po 07/06 22:29
padro:因為我手邊目前無法比較 謝謝 :) 07/06 22:30
kevin0125:padro兄你真的太小看科技和那些天才想出的演算法以及錯 07/06 22:30
kevin0125:誤更正技術了XD 07/06 22:30
kevin0125:專業文 剛剛CD 補推 07/06 22:39
john0312:Sorry, 我記事本上面打的, 貼上來一堆斜線 OTL 07/06 22:43
amurorei:好專業啊 07/06 22:46
takase:也許「不好聽」的原因在於數位濾波處理? 07/06 22:48
takase:早期一些CD機在這方面的處理真的不好.... 07/06 22:48
DemonRing:你的「不好聽」也許是別人的「好聽」啊... 07/06 22:53
commutative:就是因為看過Nyquist-Shannon Sampling Theorem 07/06 23:21
commutative:才會發現它的前提假設,以目前的科技並沒有辦法去滿足 07/06 23:23
commutative:如果可以被滿足,那麼不會有超取樣,也不會有192K取樣 07/06 23:26
commutative:就是因為做不到,所以取越多點越接近真實狀態... 07/06 23:27
Zenta:不太懂commutative大說的,目前科技無法滿足什麼? 07/06 23:29
commutative:可以去找教DSP的老師討論,都已經暑假,不想再寫報告了 07/06 23:50
commutative:當做沒看到就行了,反正CD目前還是都用44.1k錄製 07/06 23:51
commutative:討論這個沒什麼太大的意思,30年後再拿出來研究吧! 07/06 23:52
weiliya:Nyquist-Shannon Sampling Theorem的需求是一個"理想"的 07/06 23:58
weiliya:數位濾波器,理想的數位濾波器的傅立葉展開延伸到無限大 07/07 00:00
padro:算是後話 稱Red Book為IEC 908是個人習慣 XD 07/08 00:31