@formmy.app/chat 0.0.5 → 0.0.6
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.
|
@@ -38,6 +38,13 @@ export declare class FormmyVoiceClient {
|
|
|
38
38
|
private currentSource;
|
|
39
39
|
private status;
|
|
40
40
|
private isMuted;
|
|
41
|
+
private jitterBuffer;
|
|
42
|
+
private jitterPrimed;
|
|
43
|
+
private static readonly JITTER_PRIME_SAMPLES;
|
|
44
|
+
private reconnectAttempts;
|
|
45
|
+
private static readonly MAX_RECONNECT_ATTEMPTS;
|
|
46
|
+
private static readonly RECONNECT_BASE_MS;
|
|
47
|
+
private intentionalClose;
|
|
41
48
|
private activeContent;
|
|
42
49
|
private userTextBuffer;
|
|
43
50
|
private assistantTextBuffer;
|
|
@@ -70,8 +77,17 @@ export declare class FormmyVoiceClient {
|
|
|
70
77
|
private setStatus;
|
|
71
78
|
private handleMessage;
|
|
72
79
|
private startAudioCapture;
|
|
80
|
+
/**
|
|
81
|
+
* Batch audio input: split large buffers into ~512-sample chunks
|
|
82
|
+
* and send up to 5 per WebSocket message to reduce overhead.
|
|
83
|
+
*/
|
|
84
|
+
private audioInputQueue;
|
|
85
|
+
private sendAudioChunk;
|
|
86
|
+
private flushAudioInput;
|
|
73
87
|
private float32ToBase64PCM16;
|
|
74
88
|
private playAudioChunk;
|
|
89
|
+
private flushJitterBuffer;
|
|
90
|
+
private enqueuePlayback;
|
|
75
91
|
private _playbackCtx;
|
|
76
92
|
private getPlaybackContext;
|
|
77
93
|
private playNext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-client.d.ts","sourceRoot":"","sources":["../../src/voice/voice-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,qBAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"voice-client.d.ts","sourceRoot":"","sources":["../../src/voice/voice-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,qBAAa,iBAAiB;IA6BhB,OAAO,CAAC,MAAM;IA5B1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAGpD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAK;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IACjD,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,aAAa,CAAiE;IACtF,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,mBAAmB,CAAM;IAEjC,OAAO,CAAC,QAAQ,CAA0B;gBAEtB,MAAM,EAAE,uBAAuB;IAEnD;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,kBAAkB;IAI/B;;OAEG;IACG,OAAO;IA2Db;;OAEG;IACH,UAAU;IAuCV;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO;IAIvB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,SAAS,IAAI,WAAW;IAMxB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,aAAa;YA6FP,iBAAiB;IA0C/B;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAsB;IAE7C,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,YAAY;CAerB"}
|
|
@@ -21,6 +21,15 @@ export class FormmyVoiceClient {
|
|
|
21
21
|
currentSource = null;
|
|
22
22
|
status = "idle";
|
|
23
23
|
isMuted = false;
|
|
24
|
+
// Jitter buffer for smooth playback
|
|
25
|
+
jitterBuffer = [];
|
|
26
|
+
jitterPrimed = false;
|
|
27
|
+
static JITTER_PRIME_SAMPLES = 4800; // ~200ms at 24kHz
|
|
28
|
+
// Auto-reconnect
|
|
29
|
+
reconnectAttempts = 0;
|
|
30
|
+
static MAX_RECONNECT_ATTEMPTS = 3;
|
|
31
|
+
static RECONNECT_BASE_MS = 1000;
|
|
32
|
+
intentionalClose = false;
|
|
24
33
|
// Transcript tracking
|
|
25
34
|
activeContent = null;
|
|
26
35
|
userTextBuffer = "";
|
|
@@ -66,11 +75,24 @@ export class FormmyVoiceClient {
|
|
|
66
75
|
this.handleMessage(JSON.parse(e.data));
|
|
67
76
|
};
|
|
68
77
|
this.ws.onerror = () => {
|
|
69
|
-
this.setStatus("error");
|
|
70
78
|
this.handlers.onError?.(new Error("WebSocket connection failed"));
|
|
71
79
|
};
|
|
72
80
|
this.ws.onclose = () => {
|
|
73
|
-
this.
|
|
81
|
+
if (this.intentionalClose) {
|
|
82
|
+
this.setStatus("idle");
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Auto-reconnect with exponential backoff
|
|
86
|
+
if (this.reconnectAttempts < FormmyVoiceClient.MAX_RECONNECT_ATTEMPTS && this.status !== "idle") {
|
|
87
|
+
const delay = FormmyVoiceClient.RECONNECT_BASE_MS * Math.pow(2, this.reconnectAttempts);
|
|
88
|
+
this.reconnectAttempts++;
|
|
89
|
+
this.handlers.onError?.(new Error(`Connection lost. Reconnecting (${this.reconnectAttempts}/${FormmyVoiceClient.MAX_RECONNECT_ATTEMPTS})...`));
|
|
90
|
+
setTimeout(() => this.connect(), delay);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.setStatus("error");
|
|
94
|
+
this.handlers.onError?.(new Error("WebSocket connection closed after max retries"));
|
|
95
|
+
}
|
|
74
96
|
};
|
|
75
97
|
}
|
|
76
98
|
catch (err) {
|
|
@@ -82,12 +104,28 @@ export class FormmyVoiceClient {
|
|
|
82
104
|
* Disconnect and cleanup
|
|
83
105
|
*/
|
|
84
106
|
disconnect() {
|
|
107
|
+
this.intentionalClose = true;
|
|
108
|
+
this.reconnectAttempts = 0;
|
|
85
109
|
this.stopPlayback();
|
|
86
|
-
|
|
87
|
-
|
|
110
|
+
// Close WebSocket with timeout protection
|
|
111
|
+
if (this.ws) {
|
|
112
|
+
if (this.ws.readyState === WebSocket.OPEN) {
|
|
113
|
+
this.ws.send(JSON.stringify({ event: { close: {} } }));
|
|
114
|
+
}
|
|
115
|
+
const ws = this.ws;
|
|
116
|
+
this.ws = null;
|
|
117
|
+
// Race: close or timeout after 5s
|
|
118
|
+
const closePromise = new Promise((resolve) => {
|
|
119
|
+
ws.onclose = () => resolve();
|
|
120
|
+
ws.close();
|
|
121
|
+
});
|
|
122
|
+
Promise.race([closePromise, new Promise((r) => setTimeout(r, 5000))]).then(() => {
|
|
123
|
+
try {
|
|
124
|
+
ws.close();
|
|
125
|
+
}
|
|
126
|
+
catch { }
|
|
127
|
+
});
|
|
88
128
|
}
|
|
89
|
-
this.ws?.close();
|
|
90
|
-
this.ws = null;
|
|
91
129
|
this.workletNode?.disconnect();
|
|
92
130
|
this.workletNode = null;
|
|
93
131
|
this.mediaStream?.getTracks().forEach((t) => t.stop());
|
|
@@ -97,6 +135,8 @@ export class FormmyVoiceClient {
|
|
|
97
135
|
this.userTextBuffer = "";
|
|
98
136
|
this.assistantTextBuffer = "";
|
|
99
137
|
this.activeContent = null;
|
|
138
|
+
this.jitterBuffer = [];
|
|
139
|
+
this.jitterPrimed = false;
|
|
100
140
|
this.setStatus("idle");
|
|
101
141
|
}
|
|
102
142
|
/**
|
|
@@ -131,6 +171,8 @@ export class FormmyVoiceClient {
|
|
|
131
171
|
break;
|
|
132
172
|
case "ready":
|
|
133
173
|
// Auto-handshake step 2: start audio capture + send audioStart
|
|
174
|
+
this.reconnectAttempts = 0;
|
|
175
|
+
this.intentionalClose = false;
|
|
134
176
|
this.setStatus("ready");
|
|
135
177
|
this.startAudioCapture();
|
|
136
178
|
this.ws?.send(JSON.stringify({ event: { audioStart: {} } }));
|
|
@@ -231,25 +273,46 @@ export class FormmyVoiceClient {
|
|
|
231
273
|
this.workletNode.port.onmessage = (e) => {
|
|
232
274
|
if (this.isMuted || !this.ws || this.ws.readyState !== WebSocket.OPEN)
|
|
233
275
|
return;
|
|
234
|
-
|
|
235
|
-
this.ws.send(JSON.stringify({ event: { audioInput: { content: base64 } } }));
|
|
276
|
+
this.sendAudioChunk(e.data);
|
|
236
277
|
};
|
|
237
278
|
source.connect(this.workletNode);
|
|
238
279
|
// Don't connect to destination to avoid feedback
|
|
239
280
|
}
|
|
240
281
|
catch {
|
|
241
|
-
// Fallback: ScriptProcessor
|
|
242
|
-
const processor = this.audioContext.createScriptProcessor(
|
|
282
|
+
// Fallback: ScriptProcessor (2048 samples = ~128ms at 16kHz)
|
|
283
|
+
const processor = this.audioContext.createScriptProcessor(2048, 1, 1);
|
|
243
284
|
processor.onaudioprocess = (e) => {
|
|
244
285
|
if (this.isMuted || !this.ws || this.ws.readyState !== WebSocket.OPEN)
|
|
245
286
|
return;
|
|
246
|
-
|
|
247
|
-
this.ws.send(JSON.stringify({ event: { audioInput: { content: base64 } } }));
|
|
287
|
+
this.sendAudioChunk(e.inputBuffer.getChannelData(0));
|
|
248
288
|
};
|
|
249
289
|
source.connect(processor);
|
|
250
290
|
processor.connect(this.audioContext.destination);
|
|
251
291
|
}
|
|
252
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Batch audio input: split large buffers into ~512-sample chunks
|
|
295
|
+
* and send up to 5 per WebSocket message to reduce overhead.
|
|
296
|
+
*/
|
|
297
|
+
audioInputQueue = [];
|
|
298
|
+
sendAudioChunk(float32) {
|
|
299
|
+
// Split into ~512-sample chunks (matches AWS recommendation)
|
|
300
|
+
const CHUNK = 512;
|
|
301
|
+
for (let offset = 0; offset < float32.length; offset += CHUNK) {
|
|
302
|
+
this.audioInputQueue.push(float32.slice(offset, offset + CHUNK));
|
|
303
|
+
}
|
|
304
|
+
this.flushAudioInput();
|
|
305
|
+
}
|
|
306
|
+
flushAudioInput() {
|
|
307
|
+
const BATCH = 5;
|
|
308
|
+
while (this.audioInputQueue.length > 0 && this.ws?.readyState === WebSocket.OPEN) {
|
|
309
|
+
const batch = this.audioInputQueue.splice(0, BATCH);
|
|
310
|
+
for (const chunk of batch) {
|
|
311
|
+
const base64 = this.float32ToBase64PCM16(chunk);
|
|
312
|
+
this.ws.send(JSON.stringify({ event: { audioInput: { content: base64 } } }));
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
253
316
|
float32ToBase64PCM16(float32) {
|
|
254
317
|
const pcm16 = new Int16Array(float32.length);
|
|
255
318
|
for (let i = 0; i < float32.length; i++) {
|
|
@@ -264,8 +327,6 @@ export class FormmyVoiceClient {
|
|
|
264
327
|
return btoa(binary);
|
|
265
328
|
}
|
|
266
329
|
playAudioChunk(base64Audio) {
|
|
267
|
-
if (!this.audioContext)
|
|
268
|
-
return;
|
|
269
330
|
try {
|
|
270
331
|
const binaryString = atob(base64Audio);
|
|
271
332
|
const bytes = new Uint8Array(binaryString.length);
|
|
@@ -277,19 +338,47 @@ export class FormmyVoiceClient {
|
|
|
277
338
|
for (let i = 0; i < pcm16.length; i++) {
|
|
278
339
|
float32[i] = pcm16[i] / (pcm16[i] < 0 ? 0x8000 : 0x7fff);
|
|
279
340
|
}
|
|
280
|
-
//
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
341
|
+
// Jitter buffer: accumulate until primed (~200ms), then flush
|
|
342
|
+
this.jitterBuffer.push(float32);
|
|
343
|
+
if (!this.jitterPrimed) {
|
|
344
|
+
const totalSamples = this.jitterBuffer.reduce((sum, b) => sum + b.length, 0);
|
|
345
|
+
if (totalSamples >= FormmyVoiceClient.JITTER_PRIME_SAMPLES) {
|
|
346
|
+
this.jitterPrimed = true;
|
|
347
|
+
this.flushJitterBuffer();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
// Already primed: enqueue immediately
|
|
352
|
+
this.enqueuePlayback(float32);
|
|
353
|
+
}
|
|
290
354
|
}
|
|
291
355
|
catch { }
|
|
292
356
|
}
|
|
357
|
+
flushJitterBuffer() {
|
|
358
|
+
// Merge all buffered chunks into one and play
|
|
359
|
+
const chunks = this.jitterBuffer.splice(0);
|
|
360
|
+
if (chunks.length === 0)
|
|
361
|
+
return;
|
|
362
|
+
const totalLen = chunks.reduce((sum, c) => sum + c.length, 0);
|
|
363
|
+
const merged = new Float32Array(totalLen);
|
|
364
|
+
let offset = 0;
|
|
365
|
+
for (const chunk of chunks) {
|
|
366
|
+
merged.set(chunk, offset);
|
|
367
|
+
offset += chunk.length;
|
|
368
|
+
}
|
|
369
|
+
this.enqueuePlayback(merged);
|
|
370
|
+
}
|
|
371
|
+
enqueuePlayback(float32) {
|
|
372
|
+
const playbackCtx = this.getPlaybackContext();
|
|
373
|
+
const audioBuffer = playbackCtx.createBuffer(1, float32.length, 24000);
|
|
374
|
+
audioBuffer.getChannelData(0).set(float32);
|
|
375
|
+
const src = playbackCtx.createBufferSource();
|
|
376
|
+
src.buffer = audioBuffer;
|
|
377
|
+
src.connect(playbackCtx.destination);
|
|
378
|
+
this.audioQueue.push(src);
|
|
379
|
+
if (!this.isPlaying)
|
|
380
|
+
this.playNext();
|
|
381
|
+
}
|
|
293
382
|
_playbackCtx = null;
|
|
294
383
|
getPlaybackContext() {
|
|
295
384
|
if (!this._playbackCtx || this._playbackCtx.state === "closed") {
|
|
@@ -329,6 +418,9 @@ export class FormmyVoiceClient {
|
|
|
329
418
|
});
|
|
330
419
|
this.audioQueue = [];
|
|
331
420
|
this.isPlaying = false;
|
|
421
|
+
// Clear jitter buffer and re-prime on next speech
|
|
422
|
+
this.jitterBuffer = [];
|
|
423
|
+
this.jitterPrimed = false;
|
|
332
424
|
}
|
|
333
425
|
}
|
|
334
426
|
//# sourceMappingURL=voice-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-client.js","sourceRoot":"","sources":["../../src/voice/voice-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"voice-client.js","sourceRoot":"","sources":["../../src/voice/voice-client.ts"],"names":[],"mappings":"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"}
|