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

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,15 @@ 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 speech-band-aware floors to keep voice natural while still reducing
1025
+ // non-speech noise (fan/keyboard/vehicle) in low/high bands.
1026
+ const speechLowBin = Math.floor((250 * N_FFT) / SR);
1027
+ const speechHighBin = Math.ceil((3600 * N_FFT) / SR);
1026
1028
  for (let k = 0; k < bins; k++) {
1027
1029
  gains[k] = Math.sqrt(gains[k]);
1028
1030
  if (filtTotal[k] > 1e-8) {
1029
- gains[k] = Math.max(0.1, gains[k]);
1031
+ const floor = k >= speechLowBin && k <= speechHighBin ? 0.4 : 0.2;
1032
+ gains[k] = Math.max(floor, gains[k]);
1030
1033
  }
1031
1034
  }
1032
1035
  // ── 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.312",
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",