查看積分策略說明發表回覆
Discuz! 代碼
提示插入
直接插入
說明訊息

插入粗體文本 插入斜體文本 插入下劃線 置中對齊 插入超級連結 插入信件位址 插入圖像 插入 flash 插入代碼 插入引言 插入列表
刪除線 直線分隔線 虛線分隔線
    
添加文字底框
內容 [字數檢查]:

表情符號

更多 Smilies
字型大小 |||
溫馨提示:本區開放遊客瀏覽。


文章關鍵字 : [功能說明]
(關鍵字可加強搜索準確性, 如關鍵字多於一組, 請以 , 作分隔, e.g. : 阿笨,shiuh,第一笨)

 關閉 URL 識別 | html 禁用
 關閉 表情符號 | 表情符號 可用
 關閉 Discuz! 代碼 | Discuz! 代碼 可用
使用個人簽名
接收新回覆信件通知
推薦放檔網絡空間

檔案(Torent, zip等)
  1. freedl
  2. multiupload
  3. btghost
  4. 便當狗
  5. mediafire
  6. pillowangel
圖片(JPG, GIF等)
  1. hotimg
  2. tinypic
  3. mousems2
  4. imageshack
  5. imm.io
>>>歡迎推薦好用空間


最新10篇文章回顧
lazyman

 發表於 2005-11-18 01:26 PM


引用:
lovelegend寫到:
我說的是 sample 一個 wave, 不是說 waveform...
另外 waveform 的失真當然和音質有關, 問題是失真率有很大, 和聽的人的敏感度 (金耳朵和牛耳朵當然不同了... )

我已經強調是 MP3 了,waveform 失真與音質無關。

因為這篇的主題是 MP3,所以我自然會 focus 在 lossy compression;
以 MP3 這類的壓縮格式而言,客觀的評估方式(SNR 等)會變的不適用,
而改採主觀的評估方式(MOS 等)。


lovelegend

 發表於 2005-11-18 12:25 PM


引用:
lazyman寫到:
對 MP3 而言,time domain 上的 waveform 失真與音質無涉,

我說的是 sample 一個 wave, 不是說 waveform...
另外 waveform 的失真當然和音質有關, 問題是失真率有很大, 和聽的人的敏感度 (金耳朵和牛耳朵當然不同了... )


引用:
即使用最高音質的 320kbps MP3 轉回 PCM 與原始的檔案比對 waveform,
結果仍然會差非常多,而算出來的 SNR 會爛的一蹋糊塗;

mp3 是破壞性壓縮, wavform 和 LPCM 當然有很大分別...
版主 innison 之前也做貼過測圖, 亦發現 mp3 其實並不是最好的壓縮方法, 但當然普通最緊要, 以前 win98 不停當機人們還不是一邊罵一邊 reboot? ... (一大堆比 mp3 好的壓縮方法但就是普遍不起來)


引用:
如果有興趣的話,可以用 MATLAB 將音樂檔過一個 22.05 kHz 的 LPF,
你會發現處理過的聲音會變得比較空洞,
但是之前提過 44.1 kHz MP3 用 low bit rate (below 48kbps or 64kbps),
scalefactor 的量化誤差則會造成嚴重的 noise。

我不知 mp3 的詳情, 但我之前亦說過, low bitrate 的話 wma 遠比 mp3 好...


引用:
對於不知道的事情,還是拜一下 google 大神吧。

都已經日拜夜拜了, 這些小事便猜一下便算吧...
看過了過幾個月又忘得一乾二淨, 又何必太認真呢?


lazyman

 發表於 2005-11-18 11:41 AM


引用:
lovelegend寫到:
我覺得除非檔案的 highest frequency 是 11kHz,
否則失真應該仍然是 22.05kHz 的較大 (因為一個 wave 連 1 peak + 1 valley 也取不到),
我自己未試過轉成 22kHz (只有用 Matlab 做過 aliasing 的測試),
但我有個網友試過把一首歌轉成 32kHz, 結果是 -- 老牛唱歌...   

對 MP3 而言,time domain 上的 waveform 失真與音質無涉,
即使用最高音質的 320kbps MP3 轉回 PCM 與原始的檔案比對 waveform,
結果仍然會差非常多,而算出來的 SNR 會爛的一蹋糊塗;
因為 MP3 壓縮的關鍵是在 freq. domain 上的 psychoacoustic model ,
原始頻譜跟壓縮過後的頻譜就已經差很多了,只是人耳聽不太出來,
更不用說經過 imdct 轉回 time domain 上的 waveform 了。
至於你上面所提到的,跟我們前面討論的並沒有太大關聯,
如果有興趣的話,可以用 MATLAB 將音樂檔過一個 22.05 kHz 的 LPF,
你會發現處理過的聲音會變得比較空洞,
但是之前提過 44.1 kHz MP3 用 low bit rate (below 48kbps or 64kbps),
scalefactor 的量化誤差則會造成嚴重的 noise。


引用:
lovelegend寫到:
20kHz 不是 "全人類" 聽到的最高頻,
應該是加了 10% margin 吧?

對於不知道的事情,還是拜一下 google 大神吧。
http://www.beareyes.com.cn/2/lib/200112/09/20011209026.htm

那么为什么要用 44.1kHz 这个数字呢?那是因为在CD发明前硬盘还很贵,所以主要将数字音频信号储存媒体是录像带,用黑白来记录0与1。而当时的录像带格式为每秒30张,而一张图又可以分为490条线,每一条线又可以储存三个取样信号,因此每秒有30×490×3=44100个取样点,而为了研发的方便,CD唱盘也继承了这个规格,这就是44.1kHz的由来。

--更正--
對不起,剛剛看到小熊在綫,才突然想到八成不是原創。
被節錄的原始文章應該是 DH 來的。
http://www.dearhoney.idv.tw/Audio/LukeLo20010705/

音樂CD的規格為什麼是44.1kHz、16Bits呢?關於44.1kHz這個數字的選取分為兩個層面。首先我們知道人耳的聆聽範圍是20Hz到20kHz,根據Nyquist Functions,理論上我們只要用40kHz以上的取樣率就可以完整紀錄20kHz以下的訊號。那麼為什麼要用44.1kHz這個數字呢?那是因為在CD發明前硬碟還很貴,所以主要數位音訊儲存媒體是錄影帶,用黑白來記錄0與1。而當時的錄影帶格式為每秒30張,而一張圖又可以分為490條線,每一條線又可以儲存三個取樣訊號,因此每秒有30*490*3=44100個取樣點,而為了研發的方便,CD也繼承了這個規格,這就是44.1kHz的由來。

[lazyman 在 2005-11-18 11:56 AM 作了最後編輯]


lovelegend

 發表於 2005-11-18 09:08 AM


引用:
lazyman寫到:
再者,如果要讓 44.1kHz 跟 22.05kHz 用同樣的 bitrate 輸出,
我想在 48kbps 甚至 64kbps 以下會是後者勝出,
畢竟 low bitrate 下,44.1 kHz 算 scalefactor 的量化誤差會非常大,

我覺得除非檔案的 highest frequency 是 11kHz,
否則失真應該仍然是 22.05kHz 的較大 (因為一個 wave 連 1 peak + 1 valley 也取不到),
我自己未試過轉成 22kHz (只有用 Matlab 做過 aliasing 的測試),
但我有個網友試過把一首歌轉成 32kHz, 結果是 -- 老牛唱歌...


引用:
另外,CD 的取樣頻率訂為 44.1 kHz 並不是因為音樂頻譜,
而是因為人耳能夠聽到的頻率範圍為 20-20k Hz,
至於 44.1k 這個奇怪的數字是怎麼訂出來的,我也不清楚。

20kHz 不是 "全人類" 聽到的最高頻,
應該是加了 10% margin 吧?



引用:
甚至 AAC 還可以支援到 96 kHz,
只是我一直蠻好奇哪來的 96 kHz source 可以轉。

我們當然沒有, 但錄音室的母帶應該不只 48kHz 這麼少....


lazyman

 發表於 2005-11-18 08:11 AM


引用:
lovelegend寫到:
仍然不太對...
低 sampling frequency 已經是對音質的直接破壞,
在相同 bitrate 下 22kHz 的音質是比 44kHz 的差 (除非那檔案的最高 frequency 是在 11kHz 之下)
但要知道 sampling frequency 對檔案大小沒有影響,
一個 128kbps/22kHz 的檔案和一個 128kbps/44kHz 的檔案 filesize 是一樣的, 因為檔案大小是取決於 bitrate per second, 所以降低 sampling frequency 根本沒有作用 (也不是說沒有作用, 應該說對最高 frequency 11kHz 的檔案才會有用, 但一般的音樂檔都是 22kHz 以內, 所以 CD 的取樣頻率才會是 44kHz)... 

file size = bitrate * time
從上述關係看來,檔案大小確實與 bitrate 無關,
問題是 sampling freq. 與所能夠使用的 bitrate 相關。
要知道其對應關係,比較簡單的方式請參考 Winamp,
[Options] -> [Preferences] 內,
打開 [Plug-ins] -> [Output] 的 [out_disk.dll],
點擊正中央的 [...] 然後 [格式] 選 MPEG Layer-3,
在 [屬性] 的下拉選單中即可看到不同 sampling freq. 所能使用的 bitrate。

再者,如果要讓 44.1kHz 跟 22.05kHz 用同樣的 bitrate 輸出,
我想在 48kbps 甚至 64kbps 以下會是後者勝出,
畢竟 low bitrate 下,44.1 kHz 算 scalefactor 的量化誤差會非常大,
即使頻寬比較寬,但 spectrum 應該都爛掉了,
更不用說還要考慮 frame header 的 overhead。

另外,CD 的取樣頻率訂為 44.1 kHz 並不是因為音樂頻譜,
而是因為人耳能夠聽到的頻率範圍為 20-20k Hz,
至於 44.1k 這個奇怪的數字是怎麼訂出來的,我也不清楚。
當然還是有人會 argue 說自己聽得出來 44.1k 有失真,
所以後來才會有 48 kHz 的 sampling freq.,
甚至 AAC 還可以支援到 96 kHz,
只是我一直蠻好奇哪來的 96 kHz source 可以轉。


lovelegend

 發表於 2005-11-18 06:50 AM


引用:
starroach寫到:
所以比較可行的方法應該是用high pass/low pass過濾掉一些東西...再配合down sampling...這樣應該可行吧

仍然不太對...
低 sampling frequency 已經是對音質的直接破壞,
在相同 bitrate 下 22kHz 的音質是比 44kHz 的差 (除非那檔案的最高 frequency 是在 11kHz 之下)
但要知道 sampling frequency 對檔案大小沒有影響,
一個 128kbps/22kHz 的檔案和一個 128kbps/44kHz 的檔案 filesize 是一樣的, 因為檔案大小是取決於 bitrate per second, 所以降低 sampling frequency 根本沒有作用 (也不是說沒有作用, 應該說對最高 frequency 11kHz 的檔案才會有用, 但一般的音樂檔都是 22kHz 以內, 所以 CD 的取樣頻率才會是 44kHz)... 


lazyman

 發表於 2005-11-17 02:40 PM


引用:
starroach寫到:
所以比較可行的方法應該是用high pass/low pass過濾掉一些東西...再配合down sampling...這樣應該可行吧


上述這些動作,在 trans-coding 時,程式都會幫你完成。

例如用 Adobe Audition (即以前的 CoolEdit Pro) 開啟某個檔案,
另存新檔時選擇不同的 sampling frequency,按個鍵就完成了。


lazyman

 發表於 2005-11-17 02:34 PM


引用:
lovelegend寫到:
這是萬萬不可的事, sampling frequency 少過 highest frequency 的兩倍便會有 aliasing 的出現...

這種問題並不會發生,
因為輸入訊號會先通過一個 cut-off frequency 對應的 Low-pass filter。

以 MPEG-1 Layer 3 來說,
支援的 sampling freq. 有 32, 44.1, 48 kHz,
MPEG-2 BC 則增加 16, 22.05, 24 kHz,
業界衍生的 MPEG-2.5 又增加了 8, 11.025, 12 kHz;
目前的 codec 應該都有支援上述這些 sampling freq.,
而 aliasing 的問題自然會被 coder 處理掉。
不過低到如 8 kHz sampling freq. 比較適合用來錄音,(人聲的頻率為 320-4k)
如果用來轉錄音樂,quality 會很糟糕。


starroach

 發表於 2005-11-17 01:21 AM


引用:
lovelegend寫到:

引用:
starroach寫到:
2.由44100壓成22050Hz(22.05Khz)甚至11025Hz(11.025Khz)

這是萬萬不可的事, sampling frequency 少過 highest frequency 的兩倍便會有 aliasing 的出現...

阿!對! 我都忘記了 多謝指正
最近東忘西忘的...

所以比較可行的方法應該是用high pass/low pass過濾掉一些東西...再配合down sampling...這樣應該可行吧


lovelegend

 發表於 2005-11-14 12:31 AM


引用:
starroach寫到:
2.由44100壓成22050Hz(22.05Khz)甚至11025Hz(11.025Khz)

這是萬萬不可的事, sampling frequency 少過 highest frequency 的兩倍便會有 aliasing 的出現...


本主題回覆較多,請 點擊這裡 檢閱。



所在時區為 GMT+8, 現在時間是 2024-11-27 08:31 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.026358 second(s), 6 queries , Qzip disabled