@tensamin/audio 0.1.9 → 0.1.10

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.
package/README.md CHANGED
@@ -101,7 +101,7 @@ vad: {
101
101
  energyVad?: {
102
102
  smoothing: number; // Default: 0.95
103
103
  initialNoiseFloor: number; // Default: 0.001
104
- noiseFloorAdaptRateQuiet: number; // Default: 0.05
104
+ noiseFloorAdaptRateQuiet: number; // Default: 0.005
105
105
  noiseFloorAdaptRateLoud: number; // Default: 0.01
106
106
  minSNR: number; // Default: 10.0 (dB)
107
107
  snrRange: number; // Default: 10.0 (dB)
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VADStateMachine
3
- } from "./chunk-KGCEV2VT.mjs";
3
+ } from "./chunk-VCQMZVO3.mjs";
4
4
  import {
5
5
  getAudioContext,
6
6
  registerPipeline,
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  getNoiseSuppressionPlugin,
11
11
  getVADPlugin
12
- } from "./chunk-FOGC2MFA.mjs";
12
+ } from "./chunk-Z3QBDLTM.mjs";
13
13
 
14
14
  // src/pipeline/audio-pipeline.ts
15
15
  import mitt from "mitt";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createAudioPipeline
3
- } from "./chunk-E7NH2QKZ.mjs";
3
+ } from "./chunk-CD5XFC5M.mjs";
4
4
 
5
5
  // src/livekit/integration.ts
6
6
  async function attachProcessingToTrack(track, config = {}) {
@@ -3,7 +3,7 @@ var createEnergyVadWorkletCode = (vadConfig) => {
3
3
  const energyParams = vadConfig?.energyVad || {};
4
4
  const smoothing = energyParams.smoothing ?? 0.95;
5
5
  const initialNoiseFloor = energyParams.initialNoiseFloor ?? 1e-3;
6
- const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 0.05;
6
+ const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 5e-3;
7
7
  const noiseFloorAdaptRateLoud = energyParams.noiseFloorAdaptRateLoud ?? 0.01;
8
8
  const minSNR = energyParams.minSNR ?? 10;
9
9
  const snrRange = energyParams.snrRange ?? 10;
@@ -71,7 +71,8 @@ class EnergyVadProcessor extends AudioWorkletProcessor {
71
71
  }
72
72
 
73
73
  // Ensure noise floor doesn't drop to absolute zero
74
- this.noiseFloor = Math.max(this.noiseFloor, 1e-5);
74
+ // 0.0002 is approx -74dB, a reasonable floor for ambient noise
75
+ this.noiseFloor = Math.max(this.noiseFloor, 0.0002);
75
76
 
76
77
  // Calculate Signal-to-Noise Ratio (SNR) in dB using smoothed energy
77
78
  const snr = this.energy / (this.noiseFloor + 1e-6);
@@ -26,7 +26,7 @@ var VADStateMachine = class {
26
26
  energyVad: {
27
27
  smoothing: config?.energyVad?.smoothing ?? 0.95,
28
28
  initialNoiseFloor: config?.energyVad?.initialNoiseFloor ?? 1e-3,
29
- noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 0.05,
29
+ noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 5e-3,
30
30
  noiseFloorAdaptRateLoud: config?.energyVad?.noiseFloorAdaptRateLoud ?? 0.01,
31
31
  minSNR: config?.energyVad?.minSNR ?? 10,
32
32
  snrRange: config?.energyVad?.snrRange ?? 10,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-XO6B3D4A.mjs";
4
4
  import {
5
5
  EnergyVADPlugin
6
- } from "./chunk-3A2CTC4K.mjs";
6
+ } from "./chunk-SMNOCQYR.mjs";
7
7
 
8
8
  // src/extensibility/plugins.ts
9
9
  var nsPlugins = /* @__PURE__ */ new Map();
@@ -106,7 +106,7 @@ var createEnergyVadWorkletCode = (vadConfig) => {
106
106
  const energyParams = vadConfig?.energyVad || {};
107
107
  const smoothing = energyParams.smoothing ?? 0.95;
108
108
  const initialNoiseFloor = energyParams.initialNoiseFloor ?? 1e-3;
109
- const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 0.05;
109
+ const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 5e-3;
110
110
  const noiseFloorAdaptRateLoud = energyParams.noiseFloorAdaptRateLoud ?? 0.01;
111
111
  const minSNR = energyParams.minSNR ?? 10;
112
112
  const snrRange = energyParams.snrRange ?? 10;
@@ -174,7 +174,8 @@ class EnergyVadProcessor extends AudioWorkletProcessor {
174
174
  }
175
175
 
176
176
  // Ensure noise floor doesn't drop to absolute zero
177
- this.noiseFloor = Math.max(this.noiseFloor, 1e-5);
177
+ // 0.0002 is approx -74dB, a reasonable floor for ambient noise
178
+ this.noiseFloor = Math.max(this.noiseFloor, 0.0002);
178
179
 
179
180
  // Calculate Signal-to-Noise Ratio (SNR) in dB using smoothed energy
180
181
  const snr = this.energy / (this.noiseFloor + 1e-6);
@@ -3,9 +3,9 @@ import {
3
3
  getVADPlugin,
4
4
  registerNoiseSuppressionPlugin,
5
5
  registerVADPlugin
6
- } from "../chunk-FOGC2MFA.mjs";
6
+ } from "../chunk-Z3QBDLTM.mjs";
7
7
  import "../chunk-XO6B3D4A.mjs";
8
- import "../chunk-3A2CTC4K.mjs";
8
+ import "../chunk-SMNOCQYR.mjs";
9
9
  export {
10
10
  getNoiseSuppressionPlugin,
11
11
  getVADPlugin,
package/dist/index.js CHANGED
@@ -158,7 +158,7 @@ var createEnergyVadWorkletCode = (vadConfig) => {
158
158
  const energyParams = vadConfig?.energyVad || {};
159
159
  const smoothing = energyParams.smoothing ?? 0.95;
160
160
  const initialNoiseFloor = energyParams.initialNoiseFloor ?? 1e-3;
161
- const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 0.05;
161
+ const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 5e-3;
162
162
  const noiseFloorAdaptRateLoud = energyParams.noiseFloorAdaptRateLoud ?? 0.01;
163
163
  const minSNR = energyParams.minSNR ?? 10;
164
164
  const snrRange = energyParams.snrRange ?? 10;
@@ -226,7 +226,8 @@ class EnergyVadProcessor extends AudioWorkletProcessor {
226
226
  }
227
227
 
228
228
  // Ensure noise floor doesn't drop to absolute zero
229
- this.noiseFloor = Math.max(this.noiseFloor, 1e-5);
229
+ // 0.0002 is approx -74dB, a reasonable floor for ambient noise
230
+ this.noiseFloor = Math.max(this.noiseFloor, 0.0002);
230
231
 
231
232
  // Calculate Signal-to-Noise Ratio (SNR) in dB using smoothed energy
232
233
  const snr = this.energy / (this.noiseFloor + 1e-6);
@@ -374,7 +375,7 @@ var VADStateMachine = class {
374
375
  energyVad: {
375
376
  smoothing: config?.energyVad?.smoothing ?? 0.95,
376
377
  initialNoiseFloor: config?.energyVad?.initialNoiseFloor ?? 1e-3,
377
- noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 0.05,
378
+ noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 5e-3,
378
379
  noiseFloorAdaptRateLoud: config?.energyVad?.noiseFloorAdaptRateLoud ?? 0.01,
379
380
  minSNR: config?.energyVad?.minSNR ?? 10,
380
381
  snrRange: config?.energyVad?.snrRange ?? 10,
package/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import "./chunk-WBQAMGXK.mjs";
2
2
  import {
3
3
  attachProcessingToTrack
4
- } from "./chunk-ZISGHJDU.mjs";
4
+ } from "./chunk-IL4F7WVW.mjs";
5
5
  import {
6
6
  createAudioPipeline
7
- } from "./chunk-E7NH2QKZ.mjs";
7
+ } from "./chunk-CD5XFC5M.mjs";
8
8
  import {
9
9
  VADStateMachine
10
- } from "./chunk-KGCEV2VT.mjs";
10
+ } from "./chunk-VCQMZVO3.mjs";
11
11
  import {
12
12
  closeAudioContext,
13
13
  getAudioContext,
@@ -21,13 +21,13 @@ import {
21
21
  getVADPlugin,
22
22
  registerNoiseSuppressionPlugin,
23
23
  registerVADPlugin
24
- } from "./chunk-FOGC2MFA.mjs";
24
+ } from "./chunk-Z3QBDLTM.mjs";
25
25
  import {
26
26
  RNNoisePlugin
27
27
  } from "./chunk-XO6B3D4A.mjs";
28
28
  import {
29
29
  EnergyVADPlugin
30
- } from "./chunk-3A2CTC4K.mjs";
30
+ } from "./chunk-SMNOCQYR.mjs";
31
31
  export {
32
32
  EnergyVADPlugin,
33
33
  RNNoisePlugin,
@@ -127,7 +127,7 @@ var createEnergyVadWorkletCode = (vadConfig) => {
127
127
  const energyParams = vadConfig?.energyVad || {};
128
128
  const smoothing = energyParams.smoothing ?? 0.95;
129
129
  const initialNoiseFloor = energyParams.initialNoiseFloor ?? 1e-3;
130
- const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 0.05;
130
+ const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 5e-3;
131
131
  const noiseFloorAdaptRateLoud = energyParams.noiseFloorAdaptRateLoud ?? 0.01;
132
132
  const minSNR = energyParams.minSNR ?? 10;
133
133
  const snrRange = energyParams.snrRange ?? 10;
@@ -195,7 +195,8 @@ class EnergyVadProcessor extends AudioWorkletProcessor {
195
195
  }
196
196
 
197
197
  // Ensure noise floor doesn't drop to absolute zero
198
- this.noiseFloor = Math.max(this.noiseFloor, 1e-5);
198
+ // 0.0002 is approx -74dB, a reasonable floor for ambient noise
199
+ this.noiseFloor = Math.max(this.noiseFloor, 0.0002);
199
200
 
200
201
  // Calculate Signal-to-Noise Ratio (SNR) in dB using smoothed energy
201
202
  const snr = this.energy / (this.noiseFloor + 1e-6);
@@ -337,7 +338,7 @@ var VADStateMachine = class {
337
338
  energyVad: {
338
339
  smoothing: config?.energyVad?.smoothing ?? 0.95,
339
340
  initialNoiseFloor: config?.energyVad?.initialNoiseFloor ?? 1e-3,
340
- noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 0.05,
341
+ noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 5e-3,
341
342
  noiseFloorAdaptRateLoud: config?.energyVad?.noiseFloorAdaptRateLoud ?? 0.01,
342
343
  minSNR: config?.energyVad?.minSNR ?? 10,
343
344
  snrRange: config?.energyVad?.snrRange ?? 10,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  attachProcessingToTrack
3
- } from "../chunk-ZISGHJDU.mjs";
4
- import "../chunk-E7NH2QKZ.mjs";
5
- import "../chunk-KGCEV2VT.mjs";
3
+ } from "../chunk-IL4F7WVW.mjs";
4
+ import "../chunk-CD5XFC5M.mjs";
5
+ import "../chunk-VCQMZVO3.mjs";
6
6
  import "../chunk-OZ7KMC4S.mjs";
7
- import "../chunk-FOGC2MFA.mjs";
7
+ import "../chunk-Z3QBDLTM.mjs";
8
8
  import "../chunk-XO6B3D4A.mjs";
9
- import "../chunk-3A2CTC4K.mjs";
9
+ import "../chunk-SMNOCQYR.mjs";
10
10
  export {
11
11
  attachProcessingToTrack
12
12
  };
@@ -125,7 +125,7 @@ var createEnergyVadWorkletCode = (vadConfig) => {
125
125
  const energyParams = vadConfig?.energyVad || {};
126
126
  const smoothing = energyParams.smoothing ?? 0.95;
127
127
  const initialNoiseFloor = energyParams.initialNoiseFloor ?? 1e-3;
128
- const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 0.05;
128
+ const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 5e-3;
129
129
  const noiseFloorAdaptRateLoud = energyParams.noiseFloorAdaptRateLoud ?? 0.01;
130
130
  const minSNR = energyParams.minSNR ?? 10;
131
131
  const snrRange = energyParams.snrRange ?? 10;
@@ -193,7 +193,8 @@ class EnergyVadProcessor extends AudioWorkletProcessor {
193
193
  }
194
194
 
195
195
  // Ensure noise floor doesn't drop to absolute zero
196
- this.noiseFloor = Math.max(this.noiseFloor, 1e-5);
196
+ // 0.0002 is approx -74dB, a reasonable floor for ambient noise
197
+ this.noiseFloor = Math.max(this.noiseFloor, 0.0002);
197
198
 
198
199
  // Calculate Signal-to-Noise Ratio (SNR) in dB using smoothed energy
199
200
  const snr = this.energy / (this.noiseFloor + 1e-6);
@@ -335,7 +336,7 @@ var VADStateMachine = class {
335
336
  energyVad: {
336
337
  smoothing: config?.energyVad?.smoothing ?? 0.95,
337
338
  initialNoiseFloor: config?.energyVad?.initialNoiseFloor ?? 1e-3,
338
- noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 0.05,
339
+ noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 5e-3,
339
340
  noiseFloorAdaptRateLoud: config?.energyVad?.noiseFloorAdaptRateLoud ?? 0.01,
340
341
  minSNR: config?.energyVad?.minSNR ?? 10,
341
342
  snrRange: config?.energyVad?.snrRange ?? 10,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createAudioPipeline
3
- } from "../chunk-E7NH2QKZ.mjs";
4
- import "../chunk-KGCEV2VT.mjs";
3
+ } from "../chunk-CD5XFC5M.mjs";
4
+ import "../chunk-VCQMZVO3.mjs";
5
5
  import "../chunk-OZ7KMC4S.mjs";
6
- import "../chunk-FOGC2MFA.mjs";
6
+ import "../chunk-Z3QBDLTM.mjs";
7
7
  import "../chunk-XO6B3D4A.mjs";
8
- import "../chunk-3A2CTC4K.mjs";
8
+ import "../chunk-SMNOCQYR.mjs";
9
9
  export {
10
10
  createAudioPipeline
11
11
  };
package/dist/types.d.mts CHANGED
@@ -97,12 +97,12 @@ interface AudioProcessingConfig {
97
97
  initialNoiseFloor?: number;
98
98
  /**
99
99
  * Rate at which noise floor adapts to quiet signals (0-1).
100
- * Default: 0.05
100
+ * Default: 0.005 (slower downward drift)
101
101
  */
102
102
  noiseFloorAdaptRateQuiet?: number;
103
103
  /**
104
104
  * Rate at which noise floor adapts to loud signals (0-1).
105
- * Default: 0.01 (faster tracking of rising noise)
105
+ * Default: 0.01
106
106
  */
107
107
  noiseFloorAdaptRateLoud?: number;
108
108
  /**
package/dist/types.d.ts CHANGED
@@ -97,12 +97,12 @@ interface AudioProcessingConfig {
97
97
  initialNoiseFloor?: number;
98
98
  /**
99
99
  * Rate at which noise floor adapts to quiet signals (0-1).
100
- * Default: 0.05
100
+ * Default: 0.005 (slower downward drift)
101
101
  */
102
102
  noiseFloorAdaptRateQuiet?: number;
103
103
  /**
104
104
  * Rate at which noise floor adapts to loud signals (0-1).
105
- * Default: 0.01 (faster tracking of rising noise)
105
+ * Default: 0.01
106
106
  */
107
107
  noiseFloorAdaptRateLoud?: number;
108
108
  /**
@@ -27,7 +27,7 @@ var createEnergyVadWorkletCode = (vadConfig) => {
27
27
  const energyParams = vadConfig?.energyVad || {};
28
28
  const smoothing = energyParams.smoothing ?? 0.95;
29
29
  const initialNoiseFloor = energyParams.initialNoiseFloor ?? 1e-3;
30
- const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 0.05;
30
+ const noiseFloorAdaptRateQuiet = energyParams.noiseFloorAdaptRateQuiet ?? 5e-3;
31
31
  const noiseFloorAdaptRateLoud = energyParams.noiseFloorAdaptRateLoud ?? 0.01;
32
32
  const minSNR = energyParams.minSNR ?? 10;
33
33
  const snrRange = energyParams.snrRange ?? 10;
@@ -95,7 +95,8 @@ class EnergyVadProcessor extends AudioWorkletProcessor {
95
95
  }
96
96
 
97
97
  // Ensure noise floor doesn't drop to absolute zero
98
- this.noiseFloor = Math.max(this.noiseFloor, 1e-5);
98
+ // 0.0002 is approx -74dB, a reasonable floor for ambient noise
99
+ this.noiseFloor = Math.max(this.noiseFloor, 0.0002);
99
100
 
100
101
  // Calculate Signal-to-Noise Ratio (SNR) in dB using smoothed energy
101
102
  const snr = this.energy / (this.noiseFloor + 1e-6);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EnergyVADPlugin
3
- } from "../chunk-3A2CTC4K.mjs";
3
+ } from "../chunk-SMNOCQYR.mjs";
4
4
  export {
5
5
  EnergyVADPlugin
6
6
  };
@@ -50,7 +50,7 @@ var VADStateMachine = class {
50
50
  energyVad: {
51
51
  smoothing: config?.energyVad?.smoothing ?? 0.95,
52
52
  initialNoiseFloor: config?.energyVad?.initialNoiseFloor ?? 1e-3,
53
- noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 0.05,
53
+ noiseFloorAdaptRateQuiet: config?.energyVad?.noiseFloorAdaptRateQuiet ?? 5e-3,
54
54
  noiseFloorAdaptRateLoud: config?.energyVad?.noiseFloorAdaptRateLoud ?? 0.01,
55
55
  minSNR: config?.energyVad?.minSNR ?? 10,
56
56
  snrRange: config?.energyVad?.snrRange ?? 10,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VADStateMachine
3
- } from "../chunk-KGCEV2VT.mjs";
3
+ } from "../chunk-VCQMZVO3.mjs";
4
4
  export {
5
5
  VADStateMachine
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tensamin/audio",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",