Repository navigation
[2.0.0] - 2026-10-04
🚀 里程碑概述 (Milestone Overview)
DiarizeFlow 迎來重大架構躍進!自 v1.0.0 以來歷經 62 個 Commits 與 29 個 Issues 的深度打磨,專案已由初期的單體原型全面升級為工業級即時語音分離、辨識與翻譯微核心架構。單元與整合測試規模自 77 題擴增至 254 題全數通過 (100% Passed),技術債與 DeprecationWarning 歸零。
🌟 重大特性 (Major Features)
-
目標講者語音提取 (Target-Speaker Extraction / TSE) (#54)
- 解決單收音音軌中「多人同步重疊說話 (Overlap / Cross-talk)」波形無法分離的業界難題。
- 復用 Sortformer 512 維聲紋嵌入作為條件提示向量,結合時頻遮罩 (Time-Frequency Masking) 重建目標講者的乾淨單一人聲波形,使下游 ASR 辨識錯誤率 (WER) 大幅下降。
- 採動態按需啟動機制:單人發話時零額外算力開銷,多講者重疊時即時介入分軌。
-
SmartAudioRouter 雙軌智慧動態路由與串音抑制 (#30)
- 獨立排程本地麥克風 (Track A) 與系統音訊 Loopback (Track B)。
- 結合動態能量門控、聲學回音串音抑制 (Bleed Suppression) 與跨 Chunk 平滑 Cross-fading,徹底消除爆音與時間膨脹。
-
永久聲紋資料庫與自訂講者身份追蹤 (Voiceprint Database) (#11)
- 支援將暫時講者命名並釘選至磁碟,提供自適應聲線更新與黃金錨點保護 (Anti-Drift)。
- 即時將講者標籤與專屬色系同步至 HUD 卡片與遠端客戶端。
-
串流神經 SAD 多軌分流 (Streaming Sortformer SAD) (#13)
- 全面替換傳統能量 VAD,由 NVIDIA Nemotron-3 (Sortformer) 8 通道發話後驗機率驅動時間軸切分。
- 支援語者邊界預編碼嵌入單次推論復用 (#31),消除重複 ONNX 前向傳播。
-
輕量化一鍵模型下載與初次引導工具 (#51)
- 新增
scripts/download_models.py,支援自動偵測硬體並自 Hugging Face Hub / ModelScope 一鍵下載預轉換的 ONNX 模型、CMVN 均值方差表與 Tokenizer 模型。
- 新增
-
全新模組化桌面 HUD 懸浮視窗 (#36)
-
Linux Wayland 顯示環境深度適配 (#53)
- 啟動時自動感知
XDG_SESSION_TYPE,在 Wayland 環境下主動指引托盤與視窗控制操作。
- 啟動時自動感知
-
音訊串流協定擴充二進位標頭 (Binary Frame Protocol) (#52)
/ws/audio支援 8-byte 二進位 Header (包含 Magic byte、版本握手、音軌來源標記與採樣率資訊),並對舊版客戶端 100% 向下相容。
⚡ 效能與後端架構改進 (Performance & Architecture)
- FastAPI Lifespan 現代化升級:將
server.py舊式startup/shutdown遷移至現代標準@asynccontextmanager async def lifespan,全套測試告警歸零 (#48)。 - Mel Spectrogram 濾波矩陣與窗函數全快取:預先快取
mel_basis與 Hamming 窗,消除串流循環中重複構建開銷 (#49)。 - LLM 翻譯連線池化與並行化:改用持久化
aiohttp.ClientSession連線池與/models快取,請求延遲降低 50~150ms (#15, #33)。 - 前後端分離狀態同步:前端設定變更透過非同步 REST API
POST /api/config即時推送到後端伺服器 (#32)。 - 依賴輕量化解耦:將
nemo-toolkit與onnxsim移至[project.optional-dependencies] export,普通使用者安裝體積縮減 80% 以上 (#35)。 - 移除舊式 Web 前端:精簡程式庫,全力深耕原生高效能 PySide6 懸浮 HUD (#16)。
🛠️ 漏洞修復與強固性提升 (Bug Fixes & Robustness)
- 修復純 uv 環境打包失敗問題:處理
.venv缺失pip模組導致的自動安裝 PyInstaller 崩潰,並在pyproject.toml宣告build可選依賴群組 (#57)。 - 修復音訊重採樣與混音漂移:改採多相多項式重採樣 (
resample_poly) 與滑動視窗時鐘漂移補償 (#1, #4)。 - 修復 WebSocket 事件處理遺漏:過濾
speaker_deleted等控制訊息,避免 HUD 渲染空白卡片 (#28)。 - 配置反序列化安全防呆:增強
AppConfig.from_dict欄位過濾與檔案損毀安全復原 (#2, #29)。 - 補充執行期缺失依賴:補齊
soundcard、faster-whisper、ml-dtypes、sentencepiece、kaldi-native-fbank等執行期套件 (#3)。