class6 寫:關於軟體降頻.
我試了一下.
Sound Forge 96->48的聲音. 和用SSRC PPHS轉的相比.
聽不出來有什麼不妥之處.
96->48 是整數比,SRC 可以做得比較好,所以差距可能比較小,不容易聽出來。
96->44.1 的話,我貼很恐怖的測試圖給你看

SoundForge 9 無 Anti-Aliasing

這張圖是 sweep,從 0Hz 一直掃頻到 96KHz,長度八秒鐘。
縱軸是頻率,橫軸是時間,從 5.5 秒的位置以後就是 22.05KHz 以上的訊號。
但是在 44.1KHz 的檔案裡面是不會有 22.05KHz 以上的訊號的,
所以正確的情況應該要把 22.05KHz 以上的頻率濾掉,
否則這些無法在 44.1KHz 檔案裡正確記錄下來的訊號,
會變成以錯誤的低頻形式出現,出現原本的聲音中不該有的低頻,我們就會聽到一堆低頻的雜音。
無 Anti-Aliasing 選項就是沒有做這個 pre-filtering,所以我們會看到橫軸從 5.5 秒以後,
背景不是乾淨的黑色,而有一堆錯誤的低頻訊號出現。
而且在 5.5 秒之前,光是 22.05KHz 以下的掃頻訊號,就出現了一堆交疊的高低頻失真,
出現許多不應該存在的高頻或低頻雜音。
當然我們轉換的時候一定會開啟 Anti-Aliasing 選項,
下圖是 SoundForge 9 有開 Anti-Aliasing 的情況

我們可以看到 5.5 秒之後的狀況好很多,背景已經很接近全黑色,
沒有明顯的低頻錯誤訊號出現,不過 5.5 秒之前一樣有交疊的高低頻失真。
拿 SSRC 來比較的話,
SSRC 高精度的 sweep 掃頻測試

正常的圖形應該是長得像這樣,相比之下,您就明白我為什麼會說 SoundForge 圖是很恐怖的

除了頻率失真的情況,看一個 SRC 的好壞還可以從很多方面來看,例如 SNR 訊噪比
SoundForge 9 (Anti-Aliasing)

高頻的失真相當可怕,這也是為什麼前面測試掃頻時,
即使 22.05KHz 以下也會出現那麼多交疊的頻率失真。
SSRC 高精度的 SNR

下面就不舉 SoundForge 了,因為沒什麼好比的,我們來比較 IZotope 的 64-bit SRC
IZotope 64-bit SRC (High Steepness)
掃頻

背景是完全黑色的,連一點藍色都沒有
SNR

應該是所有 SRC 中雜訊最低的
pass band 的圖我就不貼了,都很穩定,沒有上下波動的現象。
我們看它在 cut off 頻率的過渡特性
SSRC高精度

IZotope 64-bit SRC (High Steepness)

High Steepness 設定就是切得非常的陡,我們可以看到 IZotope 64-bit SRC 切得非常得猛,
幾乎是一直線,22.05KHz 以上完全沒有任何訊號,不像 SSRC 還會跑出來一點點。
phase 的話兩個 SRC 都是完全的 linear phase,不會改變相位,所以只貼一張圖作代表

但是這些都是頻率上的特性,時間軸上的特性呢?
前面說到 IZotope 64-bit SRC 的 High Steepness 設定會把頻率切得很漂亮,
22.05KHz 之前頻率幾乎無衰減,22.05KHz之後立刻沒有不能保留的訊號,
從頻率域上來看,幾乎可以說是最完美,但是這種很陡峭的 filter
會在時間軸上產生很長的抖動的現象,叫做 ringing
IZotope 64-bit SRC (High Steepness) 的 impulse 響應

所以 IZotope 64-bit SRC 有另一個設定,叫做 intermediate phase,
這個設定不會切得那麼陡

如圖,22.05KHz 之前訊號就開始衰減,22.05KHz 之後還有少許訊號沒有完全衰減,
所以它的 sweep 測試 5.5 秒之後,高頻會出現一些反折回來的,不應該存在的假頻訊號,
不過還好這個錯誤的訊號頻率相當高,可能不會聽出來

IZotope 64-bit SRC (intermediate phase) 的 impulse

我們可以看到它的波形之前的抖動(pre-ringing)變得很短,也比較小,
但是之後的抖動(post-ringing)變得很大,同時長度加長。
這種是 minimum phase filter 的特性,既然是 minimum phase filter,
不再是 linear phase,也就是說相位會改變。
我們也可以從上面的 impulse 圖中看到波形在時間軸上的位置移動了,
所以看相位圖,果然,高頻的 phase 產生 shift,不再是維持一直線

不過它的相位是從 16KHz 開始產生 shift,對聽感的影響可能比較小,
有的 SRC 是從低頻就開始 shift,這樣一聽就會覺得聲音完全不一樣。
實際上 IZotope 64-bit SRC 的 intermediate phase 是可以設定的,
把濾波的特性從 linear phase (pre-ringing 和 post-ringing 完全對稱)
到 minimum phase (只有 post-ring,但是抖很大) 之間作調整,
你可以根據輸入的音樂訊號的情況,是 pre-ringing 比較重要,
pre-ringing 的瑕疵比較容易被聽到,還是 post-ringing 太長會影響正確的音樂表現,
你可以根據輸入的音樂訊號的特性,修改 filter 的設定。
這篇又寫太長,總之
1. 根據不同的音樂訊號,聽起來最佳的 SRC 設定不一定相同
2. 但是失真太嚴重的 SRC,也不可能達到最佳的轉換結果
無論如何.
96->48. 要比用48直接錄要好很多.
這個議題討論起來又可以寫一大篇

這個還有專門的論文呢,pro audio 業界也為這個問題爭論了很久。
不過因為時代總是往前邁進的,未來的媒體載體,可能都是 96KHz 以上,
所以考慮到符合未來的趨勢和需求,然後你又有使用很好的 SRC 的話,
當然還是錄 96KHz 比較好。
如果你後續會用到許多效果器做後製處理的話,那麼 source 的規格當然更是越高越好
