feat: noise gate implementation

This commit is contained in:
mk
2026-03-23 20:48:11 -03:00
parent 385ab0a0ed
commit 68d8bb1f92
10 changed files with 770 additions and 5 deletions

View File

@@ -129,6 +129,22 @@ export const alwaysShowIphoneEarpiece = new Setting<boolean>(
false,
);
export const noiseGateEnabled = new Setting<boolean>(
"noise-gate-enabled",
false,
);
// Threshold in dBFS — gate opens above this, closes below it
export const noiseGateThreshold = new Setting<number>(
"noise-gate-threshold",
-60,
);
// Time in ms for the gate to fully open after signal exceeds threshold
export const noiseGateAttack = new Setting<number>("noise-gate-attack", 25);
// Time in ms the gate stays open after signal drops below threshold
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 enum MatrixRTCMode {
Legacy = "legacy",
Compatibility = "compatibility",