From f180f761969d3c2edd7aad14cf054ffbe48d49db Mon Sep 17 00:00:00 2001 From: Lotus CI Date: Fri, 30 Oct 2026 18:50:06 -0400 Subject: [PATCH] fix(denoise): DeepFilterNet attenuation limit 60 -> 25 dB At 60 dB the background is muted outright (measured -61 to -64 dB), so each word drops into dead silence and listeners hear the mic cutting out at word ends. On room-echo speech (RT60 ~0.4 s) with fan and keyboard noise at SNR 15 dB, 25 dB scored best: limit PESQ clean/fan/keyboard noise removed 60 3.35 / 2.33 / 2.04 ~62 dB 40 3.41 / 2.45 / 2.21 32-40 dB 25 3.59 / 2.72 / 2.38 25 dB 20 3.63 / 2.66 / 2.25 20 dB Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5 --- src/lotus/lotusDenoiseProcessor.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lotus/lotusDenoiseProcessor.ts b/src/lotus/lotusDenoiseProcessor.ts index a8499388..9a17d581 100644 --- a/src/lotus/lotusDenoiseProcessor.ts +++ b/src/lotus/lotusDenoiseProcessor.ts @@ -207,10 +207,12 @@ async function loadDfnCore(config: LotusDenoiseConfig): Promise { ); const core = new mod.DeepFilterNet3Core({ sampleRate: 48_000, - // 60, not 80: full-strength suppression is the main source of the - // "over-processed" character; a lower level keeps voice natural while - // the dry/wet floor handles the noise tail. - noiseReductionLevel: 60, + // Attenuation limit in dB. At 60 the background is muted outright + // (measured -61 to -64 dB), so every word drops into dead silence and + // listeners hear the mic "cutting out" at word ends. 25 keeps a quiet + // background bed and scored best on room-echo speech with fan and + // keyboard noise (PESQ 2.72 / 2.38 vs 2.33 / 2.04 at 60). + noiseReductionLevel: 25, assetConfig: { cdnUrl: dfnBase }, }); await core.initialize();