@elevenlabs/client 1.1.2 → 1.2.0
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/dist/BaseConversation.d.ts +8 -0
- package/dist/BaseConversation.d.ts.map +1 -1
- package/dist/BaseConversation.js.map +1 -1
- package/dist/InputController.d.ts +13 -0
- package/dist/InputController.d.ts.map +1 -1
- package/dist/OutputController.d.ts +13 -0
- package/dist/OutputController.d.ts.map +1 -1
- package/dist/VoiceConversation.d.ts +3 -3
- package/dist/VoiceConversation.d.ts.map +1 -1
- package/dist/VoiceConversation.js +7 -38
- package/dist/VoiceConversation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/lib.iife.js +158 -37
- package/dist/lib.iife.js.map +1 -1
- package/dist/utils/WebRTCConnection.d.ts +14 -2
- package/dist/utils/WebRTCConnection.d.ts.map +1 -1
- package/dist/utils/WebRTCConnection.js +83 -10
- package/dist/utils/WebRTCConnection.js.map +1 -1
- package/dist/utils/calculateVolume.d.ts +7 -0
- package/dist/utils/calculateVolume.d.ts.map +1 -0
- package/dist/utils/calculateVolume.js +17 -0
- package/dist/utils/calculateVolume.js.map +1 -0
- package/dist/utils/input.d.ts +3 -0
- package/dist/utils/input.d.ts.map +1 -1
- package/dist/utils/input.js +15 -0
- package/dist/utils/input.js.map +1 -1
- package/dist/utils/output.d.ts +3 -0
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +9 -0
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/volumeProvider.d.ts +21 -0
- package/dist/utils/volumeProvider.d.ts.map +1 -0
- package/dist/utils/volumeProvider.js +51 -0
- package/dist/utils/volumeProvider.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { type OutgoingSocketEvent } from "./events.js";
|
|
|
3
3
|
import { Room } from "livekit-client";
|
|
4
4
|
import type { InputController } from "../InputController.js";
|
|
5
5
|
import type { OutputController } from "../OutputController.js";
|
|
6
|
+
import { type VolumeProvider } from "./volumeProvider.js";
|
|
6
7
|
export type ConnectionConfig = SessionConfig & {
|
|
7
8
|
onDebug?: (info: unknown) => void;
|
|
8
9
|
};
|
|
@@ -16,8 +17,11 @@ export declare class WebRTCConnection extends BaseConnection {
|
|
|
16
17
|
private audioCaptureContext;
|
|
17
18
|
private audioElements;
|
|
18
19
|
private outputDeviceId;
|
|
20
|
+
private inputAnalyser;
|
|
21
|
+
private inputAudioContext;
|
|
22
|
+
private inputVolumeProvider;
|
|
19
23
|
private outputAnalyser;
|
|
20
|
-
private
|
|
24
|
+
private outputVolumeProvider;
|
|
21
25
|
private _isMuted;
|
|
22
26
|
readonly input: InputController;
|
|
23
27
|
readonly output: OutputController;
|
|
@@ -27,10 +31,18 @@ export declare class WebRTCConnection extends BaseConnection {
|
|
|
27
31
|
close(): void;
|
|
28
32
|
sendMessage(message: OutgoingSocketEvent): Promise<void>;
|
|
29
33
|
getRoom(): Room;
|
|
34
|
+
/**
|
|
35
|
+
* (Re-)creates an AudioContext + AnalyserNode from the given track and
|
|
36
|
+
* installs the corresponding VolumeProvider. Called once during create()
|
|
37
|
+
* and again after an input device switch so the analyser follows the
|
|
38
|
+
* active mic track.
|
|
39
|
+
*/
|
|
40
|
+
private setupInputAnalyser;
|
|
41
|
+
setInputVolumeProvider(provider: VolumeProvider): void;
|
|
42
|
+
setOutputVolumeProvider(provider: VolumeProvider): void;
|
|
30
43
|
private setupAudioCapture;
|
|
31
44
|
setAudioVolume(volume: number): void;
|
|
32
45
|
setAudioOutputDevice(deviceId: string): Promise<void>;
|
|
33
46
|
setAudioInputDevice(deviceId: string): Promise<void>;
|
|
34
|
-
getOutputByteFrequencyData(): Uint8Array<ArrayBuffer> | null;
|
|
35
47
|
}
|
|
36
48
|
//# sourceMappingURL=WebRTCConnection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebRTCConnection.d.ts","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EACL,IAAI,EAKL,MAAM,gBAAgB,CAAC;AAaxB,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"WebRTCConnection.d.ts","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EACL,IAAI,EAKL,MAAM,gBAAgB,CAAC;AAaxB,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,qBAAqB,CAAC;AAU7B,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,cAAc;IAC3C,cAAc,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,EAAE,YAAY,CAAC;IAC1C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,mBAAmB,CAA6B;IAExD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,oBAAoB,CAA6B;IAGzD,OAAO,CAAC,QAAQ,CAAS;IAGzB,SAAgB,KAAK,EAAE,eAAe,CA+FpC;IAGF,SAAgB,MAAM,EAAE,gBAAgB,CAkCtC;IAEF,OAAO;WAgBa,MAAM,CACxB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAiI5B,OAAO,CAAC,uBAAuB;IA0HxB,KAAK;IA4CC,WAAW,CAAC,OAAO,EAAE,mBAAmB;IAgC9C,OAAO,IAAI,IAAI;IAItB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA+BnB,sBAAsB,CAAC,QAAQ,EAAE,cAAc;IAI/C,uBAAuB,CAAC,QAAQ,EAAE,cAAc;YAIzC,iBAAiB;IAuExB,cAAc,CAAC,MAAM,EAAE,MAAM;IAMvB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwDlE"}
|
|
@@ -5,6 +5,7 @@ import { Room, RoomEvent, Track, ConnectionState, createLocalAudioTrack, } from
|
|
|
5
5
|
import { constructOverrides, CONVERSATION_INITIATION_CLIENT_DATA_TYPE, } from "./overrides.js";
|
|
6
6
|
import { arrayBufferToBase64 } from "./audio.js";
|
|
7
7
|
import { loadRawAudioProcessor } from "./rawAudioProcessor.generated.js";
|
|
8
|
+
import { NO_VOLUME, createAnalyserVolumeProvider, } from "./volumeProvider.js";
|
|
8
9
|
const DEFAULT_LIVEKIT_WS_URL = "wss://livekit.rtc.elevenlabs.io";
|
|
9
10
|
const HTTPS_API_ORIGIN = "https://api.elevenlabs.io";
|
|
10
11
|
// Convert WSS origin to HTTPS for API calls
|
|
@@ -21,8 +22,11 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
21
22
|
audioCaptureContext = null;
|
|
22
23
|
audioElements = [];
|
|
23
24
|
outputDeviceId = null;
|
|
25
|
+
inputAnalyser = null;
|
|
26
|
+
inputAudioContext = null;
|
|
27
|
+
inputVolumeProvider = NO_VOLUME;
|
|
24
28
|
outputAnalyser = null;
|
|
25
|
-
|
|
29
|
+
outputVolumeProvider = NO_VOLUME;
|
|
26
30
|
// InputController state
|
|
27
31
|
_isMuted = false;
|
|
28
32
|
// InputController interface exposed as a property
|
|
@@ -63,6 +67,9 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
63
67
|
console.warn("Cannot set microphone muted: room not connected or no local participant");
|
|
64
68
|
return;
|
|
65
69
|
}
|
|
70
|
+
// Set immediately so volume/frequency indicators reflect the muted
|
|
71
|
+
// state even if the underlying track operation fails (e.g. on RN).
|
|
72
|
+
this._isMuted = isMuted;
|
|
66
73
|
// Get the microphone track publication
|
|
67
74
|
const micTrackPublication = this.room.localParticipant.getTrackPublication(Track.Source.Microphone);
|
|
68
75
|
if (micTrackPublication?.track) {
|
|
@@ -84,10 +91,29 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
84
91
|
// No track found, use participant-level control directly
|
|
85
92
|
await this.room.localParticipant.setMicrophoneEnabled(!isMuted);
|
|
86
93
|
}
|
|
87
|
-
|
|
94
|
+
// After unmuting, reconnect the input analyser because LiveKit may
|
|
95
|
+
// have replaced the underlying MediaStreamTrack during mute/unmute.
|
|
96
|
+
if (!isMuted) {
|
|
97
|
+
const track = this.room.localParticipant.getTrackPublication(Track.Source.Microphone)?.track;
|
|
98
|
+
if (track) {
|
|
99
|
+
this.setupInputAnalyser(track.mediaStreamTrack);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
88
102
|
},
|
|
89
103
|
isMuted: () => this._isMuted,
|
|
90
|
-
getAnalyser: () => undefined,
|
|
104
|
+
getAnalyser: () => this.inputAnalyser ?? undefined,
|
|
105
|
+
getVolume: () => {
|
|
106
|
+
if (this._isMuted)
|
|
107
|
+
return 0;
|
|
108
|
+
return this.inputVolumeProvider.getVolume();
|
|
109
|
+
},
|
|
110
|
+
getByteFrequencyData: (buffer) => {
|
|
111
|
+
if (this._isMuted) {
|
|
112
|
+
buffer.fill(0);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this.inputVolumeProvider.getByteFrequencyData(buffer);
|
|
116
|
+
},
|
|
91
117
|
};
|
|
92
118
|
// OutputController interface exposed as a property
|
|
93
119
|
output = {
|
|
@@ -117,6 +143,10 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
117
143
|
// Audio interruption is managed by the server/agent
|
|
118
144
|
},
|
|
119
145
|
getAnalyser: () => this.outputAnalyser ?? undefined,
|
|
146
|
+
getVolume: () => this.outputVolumeProvider.getVolume(),
|
|
147
|
+
getByteFrequencyData: (buffer) => {
|
|
148
|
+
this.outputVolumeProvider.getByteFrequencyData(buffer);
|
|
149
|
+
},
|
|
120
150
|
};
|
|
121
151
|
constructor(room, conversationId, inputFormat, outputFormat, config = {}) {
|
|
122
152
|
super(config);
|
|
@@ -205,6 +235,11 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
205
235
|
});
|
|
206
236
|
// Ensure the microphone was successfully enabled
|
|
207
237
|
await micEnabled;
|
|
238
|
+
// Set up input analyser from the local mic track for volume metering
|
|
239
|
+
const micTrack = room.localParticipant.getTrackPublication(Track.Source.Microphone)?.track;
|
|
240
|
+
if (micTrack) {
|
|
241
|
+
connection.setupInputAnalyser(micTrack.mediaStreamTrack);
|
|
242
|
+
}
|
|
208
243
|
if (room.name) {
|
|
209
244
|
connection.conversationId =
|
|
210
245
|
room.name.match(/(conv_[a-zA-Z0-9]+)/)?.[0] || room.name;
|
|
@@ -324,6 +359,14 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
324
359
|
catch (error) {
|
|
325
360
|
console.warn("Error stopping local tracks:", error);
|
|
326
361
|
}
|
|
362
|
+
// Clean up input audio context (non-blocking)
|
|
363
|
+
if (this.inputAudioContext) {
|
|
364
|
+
this.inputAudioContext.close().catch(error => {
|
|
365
|
+
console.warn("Error closing input audio context:", error);
|
|
366
|
+
});
|
|
367
|
+
this.inputAudioContext = null;
|
|
368
|
+
this.inputAnalyser = null;
|
|
369
|
+
}
|
|
327
370
|
// Clean up audio capture context (non-blocking)
|
|
328
371
|
if (this.audioCaptureContext) {
|
|
329
372
|
this.audioCaptureContext.close().catch(error => {
|
|
@@ -371,6 +414,40 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
371
414
|
getRoom() {
|
|
372
415
|
return this.room;
|
|
373
416
|
}
|
|
417
|
+
/**
|
|
418
|
+
* (Re-)creates an AudioContext + AnalyserNode from the given track and
|
|
419
|
+
* installs the corresponding VolumeProvider. Called once during create()
|
|
420
|
+
* and again after an input device switch so the analyser follows the
|
|
421
|
+
* active mic track.
|
|
422
|
+
*/
|
|
423
|
+
setupInputAnalyser(mediaStreamTrack) {
|
|
424
|
+
// Clean up existing input audio context
|
|
425
|
+
if (this.inputAudioContext) {
|
|
426
|
+
this.inputAudioContext.close().catch(() => { });
|
|
427
|
+
this.inputAudioContext = null;
|
|
428
|
+
this.inputAnalyser = null;
|
|
429
|
+
}
|
|
430
|
+
try {
|
|
431
|
+
const ctx = new AudioContext();
|
|
432
|
+
const analyser = ctx.createAnalyser();
|
|
433
|
+
const source = ctx.createMediaStreamSource(new MediaStream([mediaStreamTrack]));
|
|
434
|
+
source.connect(analyser);
|
|
435
|
+
this.inputAnalyser = analyser;
|
|
436
|
+
this.inputAudioContext = ctx;
|
|
437
|
+
this.inputVolumeProvider = createAnalyserVolumeProvider(analyser, ctx.sampleRate);
|
|
438
|
+
}
|
|
439
|
+
catch (error) {
|
|
440
|
+
// Don't reset inputVolumeProvider here — an external provider (e.g.
|
|
441
|
+
// React Native's native volume layer) may still be valid.
|
|
442
|
+
console.warn("[ConversationalAI] Failed to set up input volume analyser:", error);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
setInputVolumeProvider(provider) {
|
|
446
|
+
this.inputVolumeProvider = provider;
|
|
447
|
+
}
|
|
448
|
+
setOutputVolumeProvider(provider) {
|
|
449
|
+
this.outputVolumeProvider = provider;
|
|
450
|
+
}
|
|
374
451
|
async setupAudioCapture(track) {
|
|
375
452
|
try {
|
|
376
453
|
// Create audio context for processing
|
|
@@ -386,6 +463,7 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
386
463
|
const source = audioContext.createMediaStreamSource(mediaStream);
|
|
387
464
|
// Connect source to analyser
|
|
388
465
|
source.connect(this.outputAnalyser);
|
|
466
|
+
this.setOutputVolumeProvider(createAnalyserVolumeProvider(this.outputAnalyser, audioContext.sampleRate));
|
|
389
467
|
await loadRawAudioProcessor(audioContext.audioWorklet);
|
|
390
468
|
const worklet = new AudioWorkletNode(audioContext, "rawAudioProcessor");
|
|
391
469
|
// Connect analyser to worklet for processing
|
|
@@ -473,6 +551,8 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
473
551
|
name: "microphone",
|
|
474
552
|
source: Track.Source.Microphone,
|
|
475
553
|
});
|
|
554
|
+
// Reconnect the input analyser to the new track
|
|
555
|
+
this.setupInputAnalyser(audioTrack.mediaStreamTrack);
|
|
476
556
|
}
|
|
477
557
|
catch (error) {
|
|
478
558
|
console.error("Failed to change input device:", error);
|
|
@@ -486,12 +566,5 @@ export class WebRTCConnection extends BaseConnection {
|
|
|
486
566
|
throw error;
|
|
487
567
|
}
|
|
488
568
|
}
|
|
489
|
-
getOutputByteFrequencyData() {
|
|
490
|
-
if (!this.outputAnalyser)
|
|
491
|
-
return null;
|
|
492
|
-
this.outputFrequencyData ??= new Uint8Array(this.outputAnalyser.frequencyBinCount);
|
|
493
|
-
this.outputAnalyser.getByteFrequencyData(this.outputFrequencyData);
|
|
494
|
-
return this.outputFrequencyData;
|
|
495
|
-
}
|
|
496
569
|
}
|
|
497
570
|
//# sourceMappingURL=WebRTCConnection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebRTCConnection.js","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAA4B,MAAM,aAAa,CAAC;AAC3E,OAAO,EACL,IAAI,EACJ,SAAS,EACT,KAAK,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACL,kBAAkB,EAClB,wCAAwC,GACzC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAOzE,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AACjE,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAErD,4CAA4C;AAC5C,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAMD,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAC3C,cAAc,CAAS;IACd,WAAW,CAAe;IAC1B,YAAY,CAAe;IAEnC,IAAI,CAAO;IACX,WAAW,GAAG,KAAK,CAAC;IACpB,YAAY,GAAG,CAAC,CAAC;IACjB,mBAAmB,GAAwB,IAAI,CAAC;IAChD,aAAa,GAAuB,EAAE,CAAC;IACvC,cAAc,GAAkB,IAAI,CAAC;IAErC,cAAc,GAAwB,IAAI,CAAC;IAC3C,mBAAmB,GAAmC,IAAI,CAAC;IAEnE,wBAAwB;IAChB,QAAQ,GAAG,KAAK,CAAC;IAEzB,kDAAkD;IAClC,KAAK,GAAoB;QACvC,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,0DAA0D;YAC1D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CACvD,WAAW,CAAC,EAAE;wBACZ,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;4BACtB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC3B,CAAC;oBACH,CAAC,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,MAAkD,EAAE,EAAE;YACtE,8CAA8C;YAC9C,0EAA0E;YAC1E,IACE,MAAM,EAAE,UAAU,KAAK,SAAS;gBAChC,MAAM,EAAE,MAAM,KAAK,SAAS;gBAC5B,MAAM,EAAE,6BAA6B,KAAK,SAAS,EACnD,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,sDAAsD;gBACtD,2CAA2C;gBAC3C,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CACV,yEAAyE,CAC1E,CAAC;gBACF,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,MAAM,mBAAmB,GACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE1E,IAAI,mBAAmB,EAAE,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,sCAAsC;oBACtC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACN,MAAM,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,gEAAgE;oBAChE,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,yDAAyD;gBACzD,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;QAC5B,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,wCAAwC;KACvE,CAAC;IAEF,mDAAmD;IACnC,MAAM,GAAqB;QACzC,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,6CAA6C;YAC7C,2DAA2D;QAC7D,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,MAAmD,EAAE,EAAE;YACvE,+CAA+C;YAC/C,0CAA0C;YAC1C,IAAI,MAAM,EAAE,UAAU,KAAK,SAAS,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrE,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,EAAE,cAAc,CAAC;YAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,sDAAsD;gBACtD,2CAA2C;gBAC3C,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,SAAS,EAAE,CAAC,MAAc,EAAE,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,SAAS,EAAE,CAAC,cAAuB,EAAE,EAAE;YACrC,qEAAqE;YACrE,oDAAoD;QACtD,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS;KACpD,CAAC;IAEF,YACE,IAAU,EACV,cAAsB,EACtB,WAAyB,EACzB,YAA0B,EAC1B,SAAgD,EAAE;QAElD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,MAAwB;QAExB,IAAI,iBAAyB,CAAC;QAE9B,4CAA4C;QAC5C,IAAI,mBAAmB,IAAI,MAAM,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC9D,wBAAwB;YACxB,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC/C,CAAC;aAAM,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjD,2CAA2C;YAC3C,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;gBAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC;gBACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,0BAA0B;gBAC1E,IAAI,GAAG,GAAG,GAAG,MAAM,0CAA0C,MAAM,CAAC,OAAO,WAAW,MAAM,YAAY,OAAO,EAAE,CAAC;gBAClH,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,GAAG,IAAI,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACpE,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5D,GAAG;wBACD,8FAA8F,CAAC;gBACnG,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,CAAC,OAAO,KAAK,GAAG,EAAE,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAExB,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,cAAc,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,IAAI,gBAAgB,CACrC,IAAI,EACJ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,MAAM,CACP,CAAC;YAEF,0DAA0D;YAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,sBAAsB,CAAC;YAE/D,uEAAuE;YACvE,mEAAmE;YACnE,sEAAsE;YACtE,sDAAsD;YACtD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ;gBAChC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;gBACnB,CAAC,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,EAAE;wBACxC,IAAI,CAAC,gBAAgB;6BAClB,oBAAoB,CAAC,IAAI,CAAC;6BAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;6BACrB,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEP,8BAA8B;YAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAElD,6DAA6D;YAC7D,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAChC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC3B,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAG,GAAG,EAAE;wBACvB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;wBAC3C,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBACF,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,iDAAiD;YACjD,MAAM,UAAU,CAAC;YAEjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,UAAU,CAAC,cAAc;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YAC7D,CAAC;YAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAElD,UAAU,CAAC,KAAK,CAAC;gBACf,IAAI,EAAE,wCAAwC;gBAC9C,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;YAEH,MAAM,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAE7C,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;YAC5C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC;gBACd,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;aACjE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;YACrD,IAAI,KAAK,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC;oBACd,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,uCAAuC,KAAK,EAAE;oBACvD,OAAO,EAAE,IAAI,KAAK,CAAC,0BAA0B,CAAC;iBAC/C,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,EAAE,CACV,SAAS,CAAC,YAAY,EACtB,CAAC,OAAmB,EAAE,YAAY,EAAE,EAAE;YACpC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE9D,0EAA0E;gBAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBAED,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CACV,SAAS,CAAC,eAAe,EACzB,KAAK,EACH,KAAY,EACZ,YAA8B,EAC9B,WAAwB,EACxB,EAAE;YACF,IACE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK;gBAC/B,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtC,CAAC;gBACD,uBAAuB;gBACvB,MAAM,gBAAgB,GAAG,KAAyB,CAAC;gBACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC/C,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC7B,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAE9B,mDAAmD;gBACnD,IAAI,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;oBAClD,IAAI,CAAC;wBACH,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACpD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CACV,oDAAoD,EACpD,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAExC,qCAAqC;gBACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEtC,yFAAyF;gBACzF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpC,uEAAuE;oBACvE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;gBAClD,CAAC;gBAED,4CAA4C;gBAC5C,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CACV,SAAS,CAAC,qBAAqB,EAC/B,KAAK,EAAE,QAAuB,EAAE,EAAE;YAChC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,CACb,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CACpE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CACV,SAAS,CAAC,uBAAuB,EACjC,CAAC,WAA8B,EAAE,EAAE;YACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC;oBACd,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,yFAAyF;gBACzF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CACvD,WAAW,CAAC,EAAE;oBACZ,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;wBACtB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;YAED,gDAAgD;YAChD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC7C,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,0BAA0B;YAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAExB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAA4B;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CACV,iEAAiE,CAClE,CAAC;YACF,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,IAAI,kBAAkB,IAAI,OAAO,EAAE,CAAC;YAClC,iEAAiE;YACjE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAErD,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC;gBACT,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE;oBACP,OAAO;oBACP,KAAK;iBACN;aACF,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,2CAA2C;IACpC,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAAuB;QACrD,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;YAExC,qCAAqC;YACrC,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,GAAG,CAAC;YAEhD,oCAAoC;YACpC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAE9D,sCAAsC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAEjE,6BAA6B;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEpC,MAAM,qBAAqB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;YAExE,6CAA6C;YAC7C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,gDAAgD;YAChD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBACvB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBAChC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;aACzC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;gBAC/C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;gBAE1C,mEAAmE;gBACnE,MAAM,eAAe,GAAG,IAAI,CAAC;gBAE7B,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;oBAChC,oBAAoB;oBACpB,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAE1D,uDAAuD;oBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBAEpC,4DAA4D;oBAC5D,IAAI,CAAC,aAAa,CAAC;wBACjB,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE;4BACX,aAAa,EAAE,WAAW;4BAC1B,QAAQ,EAAE,OAAO;yBAClB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC;YAEF,qCAAqC;YACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACnC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QAChD,IAAI,CAAC,CAAC,WAAW,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACtD,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBACjE,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,gDAAgD;QAChD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,0BAA0B,GAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE1E,iDAAiD;YACjD,IAAI,0BAA0B,EAAE,KAAK,EAAE,CAAC;gBACtC,MAAM,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAC7C,0BAA0B,CAAC,KAAK,CACjC,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,MAAM,gBAAgB,GAA0B;gBAC9C,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC7B,gBAAgB,EAAE,IAAI;gBACtB,gBAAgB,EAAE,IAAI;gBACtB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;aAC3B,CAAC;YAEF,mDAAmD;YACnD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAEjE,mCAAmC;YACnC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE;gBACxD,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;aAChC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YAEvD,iDAAiD;YACjD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CACX,yDAAyD,EACzD,aAAa,CACd,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,0BAA0B;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEtC,IAAI,CAAC,mBAAmB,KAAK,IAAI,UAAU,CACzC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACX,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"WebRTCConnection.js","sourceRoot":"","sources":["../../src/utils/WebRTCConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate a scalar volume level (0–1) from byte frequency data.
|
|
3
|
+
*
|
|
4
|
+
* The value is the mean of all frequency bins normalised to [0, 1].
|
|
5
|
+
*/
|
|
6
|
+
export declare function calculateVolume(frequencyData: Uint8Array<ArrayBuffer>): number;
|
|
7
|
+
//# sourceMappingURL=calculateVolume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculateVolume.d.ts","sourceRoot":"","sources":["../../src/utils/calculateVolume.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC,GACrC,MAAM,CAYR"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate a scalar volume level (0–1) from byte frequency data.
|
|
3
|
+
*
|
|
4
|
+
* The value is the mean of all frequency bins normalised to [0, 1].
|
|
5
|
+
*/
|
|
6
|
+
export function calculateVolume(frequencyData) {
|
|
7
|
+
if (frequencyData.length === 0) {
|
|
8
|
+
return 0;
|
|
9
|
+
}
|
|
10
|
+
let volume = 0;
|
|
11
|
+
for (let i = 0; i < frequencyData.length; i++) {
|
|
12
|
+
volume += frequencyData[i] / 255;
|
|
13
|
+
}
|
|
14
|
+
volume /= frequencyData.length;
|
|
15
|
+
return volume < 0 ? 0 : volume > 1 ? 1 : volume;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=calculateVolume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculateVolume.js","sourceRoot":"","sources":["../../src/utils/calculateVolume.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,aAAsC;IAEtC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACnC,CAAC;IACD,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;IAE/B,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC"}
|
package/dist/utils/input.d.ts
CHANGED
|
@@ -21,8 +21,11 @@ export declare class MediaDeviceInput implements InputController, InputEventTarg
|
|
|
21
21
|
static create({ sampleRate, format, preferHeadphonesForIosDevices, inputDeviceId, workletPaths, libsampleratePath, onError, }: FormatConfig & InputConfig & AudioWorkletConfig): Promise<MediaDeviceInput>;
|
|
22
22
|
private static getDeviceIdConstraint;
|
|
23
23
|
private muted;
|
|
24
|
+
private readonly volumeProvider;
|
|
24
25
|
private constructor();
|
|
25
26
|
getAnalyser(): AnalyserNode;
|
|
27
|
+
getVolume(): number;
|
|
28
|
+
getByteFrequencyData(buffer: Uint8Array<ArrayBuffer>): void;
|
|
26
29
|
isMuted(): boolean;
|
|
27
30
|
addListener(listener: InputListener): void;
|
|
28
31
|
removeListener(listener: InputListener): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAMhF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACpD,CAAC;AAWF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3C,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,qBAAa,gBAAiB,YAAW,eAAe,EAAE,gBAAgB;IA2GtE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,OAAO;WAhHG,MAAM,CAAC,EACzB,UAAU,EACV,MAAM,EACN,6BAA6B,EAC7B,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,OAAO,GACR,EAAE,YAAY,GACb,WAAW,GACX,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmFhD,OAAO,CAAC,MAAM,CAAC,qBAAqB;IASpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEhD,OAAO;IAsBA,WAAW,IAAI,YAAY;IAI3B,SAAS,IAAI,MAAM;IAKnB,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAQ3D,OAAO,IAAI,OAAO;IAIlB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI1C,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIpD,OAAO,CAAC,0BAA0B;IAOrB,KAAK;IASL,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,OAAO,CAAC,YAAY,CAAkB;IACzB,SAAS,CACpB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,iBAAiB,GACjD,OAAO,CAAC,IAAI,CAAC;IAkDhB,OAAO,CAAC,uBAAuB,CAe7B;CACH"}
|
package/dist/utils/input.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { loadRawAudioProcessor } from "./rawAudioProcessor.generated.js";
|
|
2
2
|
import { isIosDevice } from "./compatibility.js";
|
|
3
3
|
import { addLibsamplerateModule } from "./addLibsamplerateModule.js";
|
|
4
|
+
import { createAnalyserVolumeProvider, } from "./volumeProvider.js";
|
|
4
5
|
const defaultConstraints = {
|
|
5
6
|
echoCancellation: true,
|
|
6
7
|
noiseSuppression: true,
|
|
@@ -78,6 +79,7 @@ export class MediaDeviceInput {
|
|
|
78
79
|
return isIosDevice() ? { ideal: deviceId } : { exact: deviceId };
|
|
79
80
|
}
|
|
80
81
|
muted = false;
|
|
82
|
+
volumeProvider;
|
|
81
83
|
constructor(context, analyser, worklet, inputStream, mediaStreamSource, permissions, onError = console.error) {
|
|
82
84
|
this.context = context;
|
|
83
85
|
this.analyser = analyser;
|
|
@@ -90,10 +92,23 @@ export class MediaDeviceInput {
|
|
|
90
92
|
// Start the MessagePort to enable addEventListener to work
|
|
91
93
|
// (required when using addEventListener instead of onmessage)
|
|
92
94
|
this.worklet.port.start();
|
|
95
|
+
this.volumeProvider = createAnalyserVolumeProvider(analyser, context.sampleRate);
|
|
93
96
|
}
|
|
94
97
|
getAnalyser() {
|
|
95
98
|
return this.analyser;
|
|
96
99
|
}
|
|
100
|
+
getVolume() {
|
|
101
|
+
if (this.muted)
|
|
102
|
+
return 0;
|
|
103
|
+
return this.volumeProvider.getVolume();
|
|
104
|
+
}
|
|
105
|
+
getByteFrequencyData(buffer) {
|
|
106
|
+
if (this.muted) {
|
|
107
|
+
buffer.fill(0);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.volumeProvider.getByteFrequencyData(buffer);
|
|
111
|
+
}
|
|
97
112
|
isMuted() {
|
|
98
113
|
return this.muted;
|
|
99
114
|
}
|
package/dist/utils/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/output.d.ts
CHANGED
|
@@ -29,8 +29,11 @@ export declare class MediaDeviceOutput implements OutputController, PlaybackEven
|
|
|
29
29
|
private volume;
|
|
30
30
|
private interrupted;
|
|
31
31
|
private interruptTimeout;
|
|
32
|
+
private readonly volumeProvider;
|
|
32
33
|
private constructor();
|
|
33
34
|
getAnalyser(): AnalyserNode;
|
|
35
|
+
getVolume(): number;
|
|
36
|
+
getByteFrequencyData(buffer: Uint8Array<ArrayBuffer>): void;
|
|
34
37
|
addListener(listener: PlaybackListener): void;
|
|
35
38
|
removeListener(listener: PlaybackListener): void;
|
|
36
39
|
setVolume(volume: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAMhC,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAG9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CAChD,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,qBAAa,iBACX,YAAW,gBAAgB,EAAE,mBAAmB;IA2F9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;WA7FX,MAAM,CAAC,EACzB,UAAU,EACV,MAAM,EACN,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,EAAE,YAAY,GACb,YAAY,GACZ,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2EjD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEhD,OAAO;IAgBA,WAAW,IAAI,YAAY;IAI3B,SAAS,IAAI,MAAM;IAInB,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IAI3D,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI7C,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIhD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKnC,SAAS,CAAC,aAAa,SAAO,GAAG,IAAI;IA2B/B,SAAS,CACpB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,GAClD,OAAO,CAAC,IAAI,CAAC;IAgBH,KAAK;CAcnB"}
|
package/dist/utils/output.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { loadAudioConcatProcessor } from "./audioConcatProcessor.generated.js";
|
|
2
2
|
import { addLibsamplerateModule } from "./addLibsamplerateModule.js";
|
|
3
|
+
import { createAnalyserVolumeProvider, } from "./volumeProvider.js";
|
|
3
4
|
export class MediaDeviceOutput {
|
|
4
5
|
context;
|
|
5
6
|
analyser;
|
|
@@ -59,6 +60,7 @@ export class MediaDeviceOutput {
|
|
|
59
60
|
volume = 1;
|
|
60
61
|
interrupted = false;
|
|
61
62
|
interruptTimeout = null;
|
|
63
|
+
volumeProvider;
|
|
62
64
|
constructor(context, analyser, gain, worklet, audioElement) {
|
|
63
65
|
this.context = context;
|
|
64
66
|
this.analyser = analyser;
|
|
@@ -68,10 +70,17 @@ export class MediaDeviceOutput {
|
|
|
68
70
|
// Start the MessagePort to enable addEventListener to work
|
|
69
71
|
// (required when using addEventListener instead of onmessage)
|
|
70
72
|
this.worklet.port.start();
|
|
73
|
+
this.volumeProvider = createAnalyserVolumeProvider(analyser, context.sampleRate);
|
|
71
74
|
}
|
|
72
75
|
getAnalyser() {
|
|
73
76
|
return this.analyser;
|
|
74
77
|
}
|
|
78
|
+
getVolume() {
|
|
79
|
+
return this.volumeProvider.getVolume();
|
|
80
|
+
}
|
|
81
|
+
getByteFrequencyData(buffer) {
|
|
82
|
+
this.volumeProvider.getByteFrequencyData(buffer);
|
|
83
|
+
}
|
|
75
84
|
addListener(listener) {
|
|
76
85
|
this.worklet.port.addEventListener("message", listener);
|
|
77
86
|
}
|
package/dist/utils/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAG/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface VolumeProvider {
|
|
2
|
+
/** Returns current audio level as a scalar 0-1. */
|
|
3
|
+
getVolume(): number;
|
|
4
|
+
/**
|
|
5
|
+
* Writes byte frequency data (0-255) into the provided buffer, focused on
|
|
6
|
+
* the human voice range (100-8000 Hz). The buffer length determines the
|
|
7
|
+
* number of frequency bands returned.
|
|
8
|
+
*/
|
|
9
|
+
getByteFrequencyData(buffer: Uint8Array<ArrayBuffer>): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const NO_VOLUME: VolumeProvider;
|
|
12
|
+
export declare const MIN_VOICE_FREQUENCY = 100;
|
|
13
|
+
export declare const MAX_VOICE_FREQUENCY = 8000;
|
|
14
|
+
/**
|
|
15
|
+
* Resamples the voice-relevant portion of raw frequency data into an output
|
|
16
|
+
* buffer using linear interpolation. This ensures both web and React Native
|
|
17
|
+
* return comparable frequency data focused on the human voice range.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resampleVoiceRange(raw: Uint8Array<ArrayBuffer>, buffer: Uint8Array<ArrayBuffer>, sampleRate: number): void;
|
|
20
|
+
export declare function createAnalyserVolumeProvider(analyser: AnalyserNode, sampleRate: number): VolumeProvider;
|
|
21
|
+
//# sourceMappingURL=volumeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumeProvider.d.ts","sourceRoot":"","sources":["../../src/utils/volumeProvider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,SAAS,IAAI,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED,eAAO,MAAM,SAAS,EAAE,cAGvB,CAAC;AAIF,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,EAC5B,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,EAC/B,UAAU,EAAE,MAAM,GACjB,IAAI,CAcN;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,cAAc,CAqBhB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { calculateVolume } from "./calculateVolume.js";
|
|
2
|
+
export const NO_VOLUME = {
|
|
3
|
+
getVolume: () => 0,
|
|
4
|
+
getByteFrequencyData: () => { },
|
|
5
|
+
};
|
|
6
|
+
// Voice-relevant frequency range, matching the React Native multiband
|
|
7
|
+
// processor config so both platforms return comparable data.
|
|
8
|
+
export const MIN_VOICE_FREQUENCY = 100;
|
|
9
|
+
export const MAX_VOICE_FREQUENCY = 8000;
|
|
10
|
+
/**
|
|
11
|
+
* Resamples the voice-relevant portion of raw frequency data into an output
|
|
12
|
+
* buffer using linear interpolation. This ensures both web and React Native
|
|
13
|
+
* return comparable frequency data focused on the human voice range.
|
|
14
|
+
*/
|
|
15
|
+
export function resampleVoiceRange(raw, buffer, sampleRate) {
|
|
16
|
+
const binCount = raw.length;
|
|
17
|
+
const hzPerBin = sampleRate / 2 / binCount;
|
|
18
|
+
const minBin = Math.floor(MIN_VOICE_FREQUENCY / hzPerBin);
|
|
19
|
+
const maxBin = Math.min(Math.ceil(MAX_VOICE_FREQUENCY / hzPerBin), binCount);
|
|
20
|
+
const voiceBinCount = maxBin - minBin;
|
|
21
|
+
const outLen = buffer.length;
|
|
22
|
+
for (let i = 0; i < outLen; i++) {
|
|
23
|
+
const pos = (i / outLen) * voiceBinCount;
|
|
24
|
+
const lo = minBin + Math.floor(pos);
|
|
25
|
+
const hi = Math.min(lo + 1, maxBin - 1);
|
|
26
|
+
const t = pos - Math.floor(pos);
|
|
27
|
+
buffer[i] = Math.round(raw[lo] * (1 - t) + raw[hi] * t);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export function createAnalyserVolumeProvider(analyser, sampleRate) {
|
|
31
|
+
const binCount = analyser.frequencyBinCount;
|
|
32
|
+
let rawData;
|
|
33
|
+
// Resampled buffer used by getVolume() so the scalar is computed from the
|
|
34
|
+
// voice-frequency range only, matching RN's RMS processor behaviour.
|
|
35
|
+
let voiceData;
|
|
36
|
+
return {
|
|
37
|
+
getVolume() {
|
|
38
|
+
rawData ??= new Uint8Array(binCount);
|
|
39
|
+
voiceData ??= new Uint8Array(binCount);
|
|
40
|
+
analyser.getByteFrequencyData(rawData);
|
|
41
|
+
resampleVoiceRange(rawData, voiceData, sampleRate);
|
|
42
|
+
return calculateVolume(voiceData);
|
|
43
|
+
},
|
|
44
|
+
getByteFrequencyData(buffer) {
|
|
45
|
+
rawData ??= new Uint8Array(binCount);
|
|
46
|
+
analyser.getByteFrequencyData(rawData);
|
|
47
|
+
resampleVoiceRange(rawData, buffer, sampleRate);
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=volumeProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumeProvider.js","sourceRoot":"","sources":["../../src/utils/volumeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAClB,oBAAoB,EAAE,GAAG,EAAE,GAAE,CAAC;CAC/B,CAAC;AAEF,sEAAsE;AACtE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAA4B,EAC5B,MAA+B,EAC/B,UAAkB;IAElB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC;QACzC,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAAsB,EACtB,UAAkB;IAElB,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAC5C,IAAI,OAA4C,CAAC;IACjD,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,SAA8C,CAAC;IAEnD,OAAO;QACL,SAAS;YACP,OAAO,KAAK,IAAI,UAAU,CAAC,QAAQ,CAA4B,CAAC;YAChE,SAAS,KAAK,IAAI,UAAU,CAAC,QAAQ,CAA4B,CAAC;YAClE,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACvC,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACnD,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,CAAC,MAA+B;YAClD,OAAO,KAAK,IAAI,UAAU,CAAC,QAAQ,CAA4B,CAAC;YAChE,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACvC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "1.
|
|
1
|
+
export declare const PACKAGE_VERSION = "1.2.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED