Seirenes 語音 Pipeline — 演進史

從 batch Whisper 到流式多麥克風陣列 + 神經 TTS,10 天完成

場景成功率
22 場景測試
17 改善 · 3 退化 · 2 持平
測試覆蓋率
46 個單元測試通過
Stage 1→3 + 流式架構
音訊延遲
首音 2.5ms
罐頭開場句,p95

V0 原型

mic → Whisper-large-v3 → LLM → canned TTS
已完成
  • 僅 batch 處理
  • 首音約 700ms
  • 無麥克風陣列
  • 雞尾酒會場景全爆
Performance Metric
基準線,無 DSP

V1 Stage 1 最小可行版

4mic → DSB beamform → noisereduce → silero VAD
已完成
  • 第一版麥克風陣列 pipeline 部署
  • 7/7 測試通過
  • DSB SNR 增益: +4.7dB
Performance Metric
D/G/F 場景仍很差

V2 Stage 2 多源 DOA

SRP-PHAT × MUSIC top-K → loudest-peak BF
已完成

adaptive_denoise + spatial_wiener_mic0 + GTCRN_voice_mask

  • D 場景全自動增強: +3.82dB(達到 oracle DOA 上限)
  • 14/14 測試通過
Performance Metric
D 場景自動修復

V3 Stage 3 首語者鎖定 + AEC

[Mic Array] --(NLMS AEC)--> [Robust DOA]
                       |
[WeSpeaker ResNet34] --(Lock)--> [Spatial Wiener BF]
已完成
  • 22 場景 / 17 改善 / 3 退化 / 2 持平
  • WeSpeaker 26MB ONNX (sim≥0.65 speaker lock)
  • 指標: D +3.82, G +5.71, C +5.74
Performance Metric
G 與 D 同時修復

V3.5 流式架構 + 原生函式庫

chunk-online MUSIC alpha=0.95
IN PROGRESS
  • 測試從 35 增加到 46
  • 依賴項: bin/rnnoise.dll, bin/speexdsp.dll
  • TTS 首音 p95 858ms, 總延遲 1188ms
Performance Metric
流式架構就緒

V4 VibeVoice TTS(最新 PoC)

規劃中
規劃中
  • 已測 3 個聲音預設(Carter 男聲、Emma 女聲、Grace 女聲)
  • 官方宣稱首音 300ms
  • 3 段樣本已生成並做響度正規化
Performance Metric
取代串接式 TTS

下一步規劃

architecture

演算法混合方案

混合 DSP + DNN 勝過純 DNN(業界標準,Apple/Google/Amazon 都這樣做)。我們先使用確定性的 beamforming 和 AEC 處理,再進入神經網絡掩碼。

memory

計算異構性

GTCRN (流式)CPU 0.84ms vs CUDA 41.8ms 慢 50 倍
WeSpeaker (批次)CPU 132ms vs CUDA 3.9ms 快 34 倍
check_circle

Bypass 作為一項功能

Bypass 是 feature 不是 bug — A/E(乾淨環境)和 K(耳語)場景直接讓 mic-0 過去,省下 40dB 退化,同時保留自然諧波並達成零延遲吞吐量。

三個工程教訓

里程碑 優先級 預期影響 預計日期
VibeVoice 整合 P0 Critical VibeVoice 整合進 SeirenesFE Stage 4(規劃中) W42
中文微調 P1 High VibeVoice 中文微調(待定,README 僅保證英文) W44
零樣本情緒鎖定 P2 Med F 場景 4mic 雞尾酒+回音退化 -8dB(無源分離神經網路無法修復) W46
動態 Beamforming++ P2 Med I 場景移動目標離線 -16dB(已支援 chunk-online MUSIC,benchmark 未接上) W48