feat: add transient suppressor to audio pipeline
Implements a per-sample transient suppressor in the noise gate AudioWorklet that instantly cuts gain when a sudden loud peak (desk hit, mic bump) exceeds the slow background RMS by a configurable threshold, then releases over a short window. Exposes enable, sensitivity, and release controls in the audio settings tab. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -145,6 +145,21 @@ export const noiseGateHold = new Setting<number>("noise-gate-hold", 200);
|
||||
// Time in ms for the gate to fully close after hold expires
|
||||
export const noiseGateRelease = new Setting<number>("noise-gate-release", 150);
|
||||
|
||||
export const transientSuppressorEnabled = new Setting<boolean>(
|
||||
"transient-suppressor-enabled",
|
||||
false,
|
||||
);
|
||||
// How many dB above the background RMS a peak must be to trigger suppression
|
||||
export const transientThreshold = new Setting<number>(
|
||||
"transient-suppressor-threshold",
|
||||
15,
|
||||
);
|
||||
// Time in ms for suppression to fade after transient ends
|
||||
export const transientRelease = new Setting<number>(
|
||||
"transient-suppressor-release",
|
||||
80,
|
||||
);
|
||||
|
||||
export enum MatrixRTCMode {
|
||||
Legacy = "legacy",
|
||||
Compatibility = "compatibility",
|
||||
|
||||
Reference in New Issue
Block a user