今天突然想到一件事。身為一個音樂收藏癖的人,常常對音樂本身的比特率很感興趣,尤其是無損音樂FLAC格式,但是,這產生一個問題,會有一些人很不肖的把一些MP3檔案轉檔為FLAC,然後告訴別人這是無損音樂,雖然是轉檔後是無損檔案,但實際上音質根本就是原本的有損MP3的音質,很難聽,也有明明是 128 kbps 的 mp3 檔案轉成 320 kbps,然後讓人以為這檔案很高音質。
於是我就想到,到底要怎麼辨識,去網路上稍微查過了一下,感覺沒啥麼中文文章討論這個,我就來發一個,順便當個筆記,以後自己要查也方便。
首先先去下一個具有頻譜分析的軟體,例如 Spek,下載完成後開啟要辨識的文件,以人工方式肉眼判斷。截斷的頻率位置。就可以大概猜得出這文件的原始音質如何。
MP3 file, Bitrate 32 kbps. Cut-off at 4.5kHz.
MP3 file, Bitrate 48 kbps. Cut-off at 7.5kHz.
MP3 file, Bitrate 64 kbps. Cut-off at 10.3kHz.
MP3 file, Bitrate 80 kbps. Cut-off at 11.2kHz.
MP3 file, Bitrate 96 kbps. Cut-off at 11.5kHz.
MP3 file, Bitrate 112 kbps. Cut-off at 13.5 kHz.
MP3 file, Bitrate 128 kbps. Cut-off at 16 kHz.
MP3 file, Bitrate 160 kbps. Cut-off at 17 kHz.
MP3 file, Bitrate 192 kbps. Cut-off at 19 kHz.
MP3 file, Bitrate 320 kbps. Cut-off at 19.5 kHz.
M4A file, Bitrate 500 kbps. Cut-off at 22 kHz.
上表是參考別人數據加上我自己實驗的結果,可以從表的數據知道實際上的 MP3 壓縮有損後會清掉的部分高頻率的部分。所以大概可以得知是何種音頻轉檔而來,由低碼率轉高碼率的檔案,轉檔過後已經切掉的部分是不會復原的,而且還可能使音質變更差。
例如:我們可以從下圖看到平均被切掉的部分是 16k 赫茲,根據查表得出可能原始檔案為 128kbps 的檔案,不過現在已經被轉成 320 kbps。算是一個偽高音質的檔案。
第二個例子,平均截斷的部分在 9 或 11 kHz,可以知道這檔案原始的碼率絕對不會是 128 kbps,一定比較低,原始檔案極有可能是 96/80/64 kbps。可以和下圖同首音樂的 FLAC 無損音質檔案進行比對。
下圖是 FLAC 無損音質,理應是全頻顯示,不會有截斷的問題。只有有損壓縮才會刪掉一些高頻內容。(因為人耳聽不太出來也不太需要。)
補充再來幾個例子,下面的截圖是WAV無損無壓縮的檔案格式,上面的頻譜高頻區域就全頻顯示沒有任何截斷的問題。
接著,下圖是我用音訊編輯軟體重新輸出為有損音質的 MP3 檔案,128 kbps。可以由頻譜分析明顯看到大概在 16 kHz的地方被截斷,而查表的結果正好是 128 kbps,與實際音訊檔的比特率吻合。所以算是比較實際的檔案。
之後我又把那個 128 kbps 的 mp3 檔案轉檔為 320 kbps 的 mp3 檔案,頻譜分析圖如下:
幾乎沒什麼變化,可以看得出音質沒啥麼改變,而且高頻的部分依舊是缺失的。
總結:
當然這個方法不一定絕對管用,但是拿來識別一般的檔案已經足夠了。有些檔案本身就沒有高頻區域,比如很單純的鋼琴曲,不會有到 20 kHz 的音,所以頻譜分析上方高頻區本身都是黑的,這很正常,檔案也的確很可能是 320 kbps,主要要看的是「截斷區」,比如原本應該有像山峰一樣尖尖的區塊,到了某個頻率後突然被砍斷一樣,那就很可能是轉檔造成的截斷。這時候這個方法判斷原始檔案比特率就很準確了。
最後,本方法本身不保證一定正確。主要還是要靠耳朵去仔細聆聽其中的差異吧。
參考資料:
https://thesession.org/discussions/19642
https://www.reddit.com/r/hiphopheads/comments/2t88ne/a_quick_guide_to_checking_the_real_bitrate_of/