forked from yuyun2000/SpeechDenoiser
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Raymond Lei(雷菩宇); 䨻-Ficus religiosa-Cousin edited this page Aug 8, 2025
·
1 revision
我幫你把兩個程式做了功能、數學流程、推理模式上的比較,讓你清楚看到它們差在哪裡,以及各自的設計重點:
| 項目 | AudioDenoiser(16kHz) | FortyEightKHzDenoiser(48kHz) |
|---|---|---|
| 採樣率 | 16 kHz | 48 kHz |
| 時頻轉換 | 手動 torch.stft → 頻域處理 → torch.istft 還原 | 無 STFT,直接時域模型(input_frame)做推論 |
| 模型輸入型態 | 複數 STFT Frame(實部+虛部)+ 三個 Cache(conv_cache / tra_cache / inter_cache) | 單一時域 Frame(大小固定 hopSize=480)+ 狀態向量(state)+ 限幅參數(atten_lim_db) |
| 模型推論流程 | Frame-by-frame 頻域卷積處理,需持續更新三種內部緩存狀態 | Frame-by-frame 時域推論,僅需更新一個 state 陣列 |
| 輸出還原 | 頻域合成複數張量 → istft → 時域波形 | 時域波形直接拼接(cat) |
| 數據緩衝管理 | 須手動重建 Real/Imag 矩陣 | 輸出直接拼接,然後去掉 Padding |
-
如果要保留更多音質細節、特別是對付特定頻段噪聲 → 用 16kHz STFT 頻域版。
-
如果延遲極低、且能接受端到端模型音色特性 → 用 48kHz 時域版。
-
如果需要跨平台實時處理(WebRTC、SIP)→ 時域模型更容易整合,因為不用額外 FFT/IFFT。