@newgameplusinc/odyssey-audio-video-sdk-dev 1.0.310 → 1.0.311

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -257,7 +257,7 @@ class MLNoiseSuppressor {
257
257
  // Temporal smoothing state — per-participant to avoid cross-participant corruption
258
258
  // when multiple async computeGainsFromFeatures() calls run concurrently.
259
259
  this.prevMaskMap = new Map();
260
- this.SMOOTHING_ALPHA = 0.85;
260
+ this.SMOOTHING_ALPHA = 0.92;
261
261
  // Mel filterbank cache (built once, reused every frame)
262
262
  this.melFilterbank = null;
263
263
  // ── Google Meet-style ring buffer architecture ─────────────────────────────
@@ -1021,12 +1021,13 @@ class MLNoiseSuppressor {
1021
1021
  // gain=0.05 (noise) → sqrt → 0.22 (78% suppressed, not 95%)
1022
1022
  // gain=0.0 (silent) → sqrt → 0.0 (still fully suppressed)
1023
1023
  //
1024
- // Floor of 0.10 only applies to bins that have ANY gain contribution
1025
- // (filtTotal > 1e-8), preventing ringing while letting true silence through.
1024
+ // Use a conservative floor to reduce narrow deep notches that create
1025
+ // synthetic metallic/chirpy side-tones during speech.
1026
+ // This trades some max suppression for significantly better naturalness.
1026
1027
  for (let k = 0; k < bins; k++) {
1027
1028
  gains[k] = Math.sqrt(gains[k]);
1028
1029
  if (filtTotal[k] > 1e-8) {
1029
- gains[k] = Math.max(0.1, gains[k]);
1030
+ gains[k] = Math.max(0.22, gains[k]);
1030
1031
  }
1031
1032
  }
1032
1033
  // ── Diagnostic: throttled log showing ML is actively processing ─────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newgameplusinc/odyssey-audio-video-sdk-dev",
3
- "version": "1.0.310",
3
+ "version": "1.0.311",
4
4
  "description": "Odyssey Spatial Audio & Video SDK using MediaSoup for real-time communication",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",