feat: OpenVINO CPU MetricGAN mask; 100 ms hop
Per-worker OpenVINO CPU runs the MetricGAN BLSTM mask; SpeechBrain keeps STFT/ISTFT. ENHANCE_INFER=auto with torch fallback. Hop is 0.1 s after isolated last_ms ~6 ms (model+ov+beamform).
This commit is contained in:
@@ -41,7 +41,8 @@ class Config:
|
||||
enhance_mode: str = "auto" # auto | force | off
|
||||
enhance_model: str = "speechbrain/metricgan-plus-voicebank"
|
||||
enhance_chunk_s: float = 1.0
|
||||
enhance_hop_s: float = 0.2
|
||||
enhance_hop_s: float = 0.1
|
||||
enhance_infer: str = "auto" # auto | openvino | torch
|
||||
# SpeechBrain Delay-and-Sum (GCC-PHAT) on C920 stereo before enhance
|
||||
beamform_mode: str = "auto" # auto | force | off
|
||||
torch_num_threads: int = 1
|
||||
@@ -118,7 +119,8 @@ def load_config(env_path: Optional[Path] = None) -> Config:
|
||||
"ENHANCE_MODEL", "speechbrain/metricgan-plus-voicebank"
|
||||
),
|
||||
enhance_chunk_s=float(os.environ.get("ENHANCE_CHUNK_S", "1.0")),
|
||||
enhance_hop_s=float(os.environ.get("ENHANCE_HOP_S", "0.2")),
|
||||
enhance_hop_s=float(os.environ.get("ENHANCE_HOP_S", "0.1")),
|
||||
enhance_infer=os.environ.get("ENHANCE_INFER", "auto").lower(),
|
||||
beamform_mode=os.environ.get("BEAMFORM_MODE", "auto").lower(),
|
||||
torch_num_threads=int(os.environ.get("TORCH_NUM_THREADS", "1")),
|
||||
beamform_tdoa_every=int(os.environ.get("BEAMFORM_TDOA_EVERY", "5")),
|
||||
@@ -146,6 +148,9 @@ def load_config(env_path: Optional[Path] = None) -> Config:
|
||||
|
||||
if cfg.enhance_mode not in ("auto", "force", "off"):
|
||||
raise ValueError(f"ENHANCE_MODE must be auto|force|off, got {cfg.enhance_mode}")
|
||||
if cfg.enhance_infer not in ("auto", "openvino", "torch"):
|
||||
raise ValueError(
|
||||
f"ENHANCE_INFER must be auto|openvino|torch, got {cfg.enhance_infer}")
|
||||
if cfg.beamform_mode not in ("auto", "force", "off"):
|
||||
raise ValueError(
|
||||
f"BEAMFORM_MODE must be auto|force|off, got {cfg.beamform_mode}")
|
||||
|
||||
Reference in New Issue
Block a user