gemi 0.132.0 → 0.134.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/ai/index.d.ts +2 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +9 -9
- package/dist/ai/index.js.map +4 -4
- package/dist/ai/providers/realtime.d.ts +75 -4
- package/dist/ai/providers/realtime.d.ts.map +1 -1
- package/dist/ai/providers/sideband.d.ts +7 -2
- package/dist/ai/providers/sideband.d.ts.map +1 -1
- package/dist/ai/voice/energyVad.d.ts +42 -0
- package/dist/ai/voice/energyVad.d.ts.map +1 -0
- package/dist/ai/voice/index.d.ts +7 -0
- package/dist/ai/voice/index.d.ts.map +1 -1
- package/dist/ai/voice/index.js +601 -1
- package/dist/ai/voice/index.js.map +1 -1
- package/dist/ai/voice/liveTranscription.d.ts +99 -0
- package/dist/ai/voice/liveTranscription.d.ts.map +1 -0
- package/dist/ai/voice/transcriptionState.d.ts +52 -0
- package/dist/ai/voice/transcriptionState.d.ts.map +1 -0
- package/dist/ai/voice/useLiveTranscription.d.ts +86 -0
- package/dist/ai/voice/useLiveTranscription.d.ts.map +1 -0
- package/dist/{chunk-2vteyrjj.js → chunk-3xm7ysef.js} +1 -1
- package/dist/{chunk-t79n15f8.js → chunk-778kv5wf.js} +1 -1
- package/dist/{chunk-mr66zxsz.js → chunk-c7g1jb3f.js} +2 -2
- package/dist/{chunk-mr66zxsz.js.map → chunk-c7g1jb3f.js.map} +1 -1
- package/dist/orm/defaults.d.ts.map +1 -1
- package/dist/orm/index.js +3 -3
- package/dist/orm/index.js.map +3 -3
- package/dist/server/index.js +1 -1
- package/package.json +1 -1
- /package/dist/{chunk-2vteyrjj.js.map → chunk-3xm7ysef.js.map} +0 -0
- /package/dist/{chunk-t79n15f8.js.map → chunk-778kv5wf.js.map} +0 -0
|
@@ -86,6 +86,9 @@ export type RealtimeTurnDetection = {
|
|
|
86
86
|
* does not need a gemi release.
|
|
87
87
|
*/
|
|
88
88
|
export type RealtimeSession = {
|
|
89
|
+
/** A voice-agent session, the default. See `TranscriptionSession` for
|
|
90
|
+
* speech-to-text only. */
|
|
91
|
+
type?: "realtime";
|
|
89
92
|
/** Defaults to the provider's model (the deployment, on Azure). */
|
|
90
93
|
model?: string;
|
|
91
94
|
instructions?: string;
|
|
@@ -113,14 +116,72 @@ export type RealtimeSession = {
|
|
|
113
116
|
/** Merged into the vendor's session object last. */
|
|
114
117
|
vendor?: Record<string, unknown>;
|
|
115
118
|
};
|
|
119
|
+
/** OpenAI's recommended live speech-to-text model (realtime transcription
|
|
120
|
+
* guide, 10-2026): partial deltas as speech arrives, the final transcript on
|
|
121
|
+
* `input_audio_buffer.commit`. */
|
|
122
|
+
export declare const DEFAULT_TRANSCRIPTION_MODEL = "gpt-live-transcribe";
|
|
123
|
+
/** How long the model waits before emitting text: lower gives earlier
|
|
124
|
+
* partials, higher gives the model more audio and fewer errors. */
|
|
125
|
+
export type TranscriptionDelay = "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
116
126
|
/**
|
|
117
|
-
*
|
|
127
|
+
* A transcription session (`session.type: "transcription"`): the user's audio
|
|
128
|
+
* in, transcript deltas and final transcripts out, no spoken or written
|
|
129
|
+
* answer. Mapped by `toVendorSession` onto the vendor's
|
|
130
|
+
* `RealtimeTranscriptionSessionCreateRequest`, which has no top-level `model`:
|
|
131
|
+
* the model is the transcription's (`audio.input.transcription.model`).
|
|
132
|
+
*
|
|
133
|
+
* With `gpt-live-transcribe` there is no server-side turn detection (neither
|
|
134
|
+
* `server_vad` nor `semantic_vad`), so `turnDetection` defaults to `null` and
|
|
135
|
+
* the client commits each turn (`input_audio_buffer.commit`) when it hears the
|
|
136
|
+
* user stop — what `useLiveTranscription` in `gemi/ai/voice` does.
|
|
137
|
+
*
|
|
138
|
+
* @experimental Follows OpenAI's realtime transcription guide; not yet run
|
|
139
|
+
* against a live session, and not confirmed on Azure.
|
|
140
|
+
*/
|
|
141
|
+
export type TranscriptionSession = {
|
|
142
|
+
type: "transcription";
|
|
143
|
+
/** Default `gpt-live-transcribe`. On Azure, the transcription deployment. */
|
|
144
|
+
model?: string;
|
|
145
|
+
/** Expected input languages (ISO 639-1 such as `en`, `tr`, or the selected
|
|
146
|
+
* ISO 639-3 / `zh-*` codes the vendor lists). `gpt-live-transcribe` and
|
|
147
|
+
* `gpt-transcribe` read this one. */
|
|
148
|
+
languages?: string[];
|
|
149
|
+
/** The single-language hint older models (`gpt-4o-transcribe`,
|
|
150
|
+
* `whisper-1`) read. Never together with `languages`. */
|
|
151
|
+
language?: string;
|
|
152
|
+
/** What the recording is about, in a sentence or two. */
|
|
153
|
+
prompt?: string;
|
|
154
|
+
/** Product names, acronyms and other literal terms likely to be said: hints,
|
|
155
|
+
* not required output. One line each, without `<` or `>`. */
|
|
156
|
+
keywords?: string[];
|
|
157
|
+
/** Latency against accuracy. See `TranscriptionDelay`. */
|
|
158
|
+
delay?: TranscriptionDelay;
|
|
159
|
+
noiseReduction?: "near_field" | "far_field" | null;
|
|
160
|
+
/** `null` by default (the client commits). Only for models that support
|
|
161
|
+
* server-side detection; `gpt-live-transcribe` does not. */
|
|
162
|
+
turnDetection?: RealtimeTurnDetection | null;
|
|
163
|
+
/** Adds `item.input_audio_transcription.logprobs` to `include`, for models
|
|
164
|
+
* that return them. */
|
|
165
|
+
logprobs?: boolean;
|
|
166
|
+
/** Merged into the vendor's session object last. */
|
|
167
|
+
vendor?: Record<string, unknown>;
|
|
168
|
+
};
|
|
169
|
+
/** Either kind of session `createCall`, `clientSecret` and the sideband's
|
|
170
|
+
* `updateSession` take. */
|
|
171
|
+
export type AnyRealtimeSession = RealtimeSession | TranscriptionSession;
|
|
172
|
+
/** gemi's transcription session onto the vendor's. Refuses, before any
|
|
173
|
+
* request, what the vendor documents it rejects. */
|
|
174
|
+
export declare function toVendorTranscriptionSession(session: TranscriptionSession): Record<string, unknown>;
|
|
175
|
+
/**
|
|
176
|
+
* gemi's session onto the vendor's. A `TranscriptionSession` goes to
|
|
177
|
+
* `toVendorTranscriptionSession` (its model is the transcription's, so the
|
|
178
|
+
* provider's realtime model is not used).
|
|
118
179
|
*
|
|
119
180
|
* `model` is written only when there is one: a `session.update` on a live call
|
|
120
181
|
* must not try to change the model, and `createCall` always passes the
|
|
121
182
|
* provider's.
|
|
122
183
|
*/
|
|
123
|
-
export declare function toVendorSession(session:
|
|
184
|
+
export declare function toVendorSession(session: AnyRealtimeSession, model?: string): Record<string, unknown>;
|
|
124
185
|
/**
|
|
125
186
|
* A realtime `response.done`'s `usage` onto gemi's.
|
|
126
187
|
*
|
|
@@ -172,7 +233,9 @@ export type CreateCallParams = {
|
|
|
172
233
|
* the events alone.
|
|
173
234
|
*/
|
|
174
235
|
webrtcFilter?: boolean;
|
|
175
|
-
session
|
|
236
|
+
/** A voice-agent session, or `{ type: "transcription", … }` for
|
|
237
|
+
* speech-to-text only. */
|
|
238
|
+
session?: AnyRealtimeSession;
|
|
176
239
|
/**
|
|
177
240
|
* A stable, non-identifying id for the end user (e.g. a hash of their id),
|
|
178
241
|
* sent as `OpenAI-Safety-Identifier` so abuse is attributed to a user and not
|
|
@@ -188,9 +251,13 @@ export type CreateCallResult = {
|
|
|
188
251
|
callId: string;
|
|
189
252
|
};
|
|
190
253
|
export type ClientSecretParams = {
|
|
191
|
-
session
|
|
254
|
+
/** A voice-agent session, or `{ type: "transcription", … }`. */
|
|
255
|
+
session?: AnyRealtimeSession;
|
|
192
256
|
/** 10–7200, default 600. */
|
|
193
257
|
ttlSeconds?: number;
|
|
258
|
+
/** Sent as `OpenAI-Safety-Identifier`. The vendor binds it to the secret,
|
|
259
|
+
* so the browser need not send it when it connects. */
|
|
260
|
+
safetyIdentifier?: string;
|
|
194
261
|
signal?: AbortSignal;
|
|
195
262
|
};
|
|
196
263
|
export type ClientSecret = {
|
|
@@ -199,6 +266,10 @@ export type ClientSecret = {
|
|
|
199
266
|
expiresAt: number;
|
|
200
267
|
/** The session the vendor resolved, verbatim. */
|
|
201
268
|
session: unknown;
|
|
269
|
+
/** Where a browser holding this secret posts its SDP offer
|
|
270
|
+
* (`Authorization: Bearer <value>`, `Content-Type: application/sdp`):
|
|
271
|
+
* `…/realtime/calls` on this provider's host. */
|
|
272
|
+
callsUrl: string;
|
|
202
273
|
};
|
|
203
274
|
export type RealtimeClientOptions = {
|
|
204
275
|
/** The model a call uses when its session names none. The deployment, on Azure. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../../ai/providers/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH;uEACuE;AACvE,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAIjD;kDACkD;AAClD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEN;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D;gDAC4C;IAC5C,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,wEAAwE;IACxE,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7E,cAAc,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACjC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../../ai/providers/realtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Usage } from "../types";
|
|
2
|
-
import type {
|
|
2
|
+
import type { AnyRealtimeSession } from "./realtime";
|
|
3
3
|
/**
|
|
4
4
|
* A realtime call's sideband: the server's own WebSocket to a call the browser
|
|
5
5
|
* joined over WebRTC (`wss://…/realtime?call_id=…`).
|
|
@@ -73,6 +73,11 @@ export type RealtimeServerEvent = {
|
|
|
73
73
|
transcriptionUsage?: Usage;
|
|
74
74
|
/** gemi's: a duration-billed transcription's seconds. */
|
|
75
75
|
transcriptionSeconds?: number;
|
|
76
|
+
} | {
|
|
77
|
+
type: "conversation.item.input_audio_transcription.failed";
|
|
78
|
+
item_id: string;
|
|
79
|
+
content_index?: number;
|
|
80
|
+
error: RealtimeErrorDetail;
|
|
76
81
|
} | {
|
|
77
82
|
type: "response.created";
|
|
78
83
|
response: Record<string, any>;
|
|
@@ -211,7 +216,7 @@ export declare class RealtimeSideband implements AsyncIterable<RealtimeEvent> {
|
|
|
211
216
|
constructor(init: SidebandInit);
|
|
212
217
|
/** Sends a client event; queued while the socket is (re)connecting. */
|
|
213
218
|
send(event: RealtimeClientEvent): void;
|
|
214
|
-
updateSession(session:
|
|
219
|
+
updateSession(session: AnyRealtimeSession): void;
|
|
215
220
|
/** Adds an item to the conversation without asking for a response. */
|
|
216
221
|
addItem(item: Record<string, unknown>): void;
|
|
217
222
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sideband.d.ts","sourceRoot":"","sources":["../../../ai/providers/sideband.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sideband.d.ts","sourceRoot":"","sources":["../../../ai/providers/sideband.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,uDAAuD;AACvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAChG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,mCAAmC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACvF;IAAE,IAAI,EAAE,mCAAmC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,8BAA8B,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC3F;IAAE,IAAI,EAAE,mDAAmD,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7F;IACE,IAAI,EAAE,uDAAuD,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;uCAEmC;IACnC,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC3B,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,oDAAoD,CAAC;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,mBAAmB,CAAC;CAC5B,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAC3D;IACE,IAAI,EAAE,wCAAwC,GAAG,4BAA4B,CAAC;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,uCAAuC,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzF;IACE,IAAI,EAAE,uCAAuC,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC5E,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;QAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,8EAA8E;IAC9E,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IAAE,IAAI,EAAE,6BAA6B,GAAG,6BAA6B,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEN,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAW3F;mEACmE;AACnE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAuB3E;AAID,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,uBAAuB,GAAG;IACpC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,gBAAgB,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;IACxC;wBACoB;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAIF,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,gBAAgB,CACd,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAC7B,IAAI,CAAC;CACT,CAAC;AAEF;uDACuD;AACvD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACtC,aAAa,CAAC;AAcnB,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,KAAK,YAAY,GAAG,uBAAuB,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B,CAAC;AAQF,qBAAa,gBAAiB,YAAW,aAAa,CAAC,aAAa,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC,CAAC;IAEpF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAC,CAA4D;IAC/E,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,SAAS,CAA6C;IAC9D,6EAA6E;IAC7E,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,aAAa,CAEX;gBAEE,IAAI,EAAE,YAAY;IAgB9B,uEAAuE;IACvE,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAOtC,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAIhD,sEAAsE;IACtE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5C;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B;8EAC0E;IAC1E,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAQrD,cAAc,CAAC,OAAO,GAAE,uBAA4B,GAAG,IAAI;IAoB3D,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAUzC,4EAA4E;IAC5E,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAKxD;;;;OAIG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC;IA6BtD;6CACyC;IACzC,KAAK,CAAC,IAAI,SAAO,EAAE,MAAM,SAAW,GAAG,IAAI;IAO3C;;;;;;;;OAQG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAYf,IAAI;IAkClB,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,IAAI;CAmBb"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The built-in end-of-speech detector for `useLiveTranscription` (#929): a
|
|
3
|
+
* small energy (RMS) detector with an adaptive noise floor and hysteresis.
|
|
4
|
+
*
|
|
5
|
+
* WHY ENERGY AND NOT A MODEL. `gpt-live-transcribe` has no server-side turn
|
|
6
|
+
* detection, so the browser decides when the user stopped and commits the
|
|
7
|
+
* turn. A neural VAD (Silero through `@ricky0123/vad-web`) is better in
|
|
8
|
+
* noise, but it ships an ONNX runtime and a model, megabytes against the few
|
|
9
|
+
* hundred bytes here, and needs its wasm/model files served from the app's
|
|
10
|
+
* origin. What this detector has to do is narrow: the user is close to the
|
|
11
|
+
* mic, the browser's own noise suppression and echo cancellation are on, and
|
|
12
|
+
* the question is only "did the speech stop for `silenceMs`". An adaptive
|
|
13
|
+
* floor handles a fan or a room; a false end in a long pause costs one early
|
|
14
|
+
* commit, after which the rest of the sentence is the next turn. Apps that
|
|
15
|
+
* need more plug a model in through `vad` (see `VoiceActivityDetector`).
|
|
16
|
+
*
|
|
17
|
+
* Pure: frames in (RMS and a timestamp), `"start"` / `"end"` out, so it is
|
|
18
|
+
* tested without audio.
|
|
19
|
+
*/
|
|
20
|
+
export type EnergyVadOptions = {
|
|
21
|
+
/** Silence after speech before the turn ends. Default 350 ms. */
|
|
22
|
+
silenceMs?: number;
|
|
23
|
+
/** Speech must last this long to count, so a click or a cough doesn't open a
|
|
24
|
+
* turn. Default 120 ms. */
|
|
25
|
+
minSpeechMs?: number;
|
|
26
|
+
/** The lowest RMS (0–1 float samples) that can count as speech, whatever
|
|
27
|
+
* the noise floor. Default 0.015. */
|
|
28
|
+
threshold?: number;
|
|
29
|
+
/** Speech is RMS above the noise floor times this. Default 3. */
|
|
30
|
+
floorRatio?: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const DEFAULT_SILENCE_MS = 350;
|
|
33
|
+
export type EnergyVad = {
|
|
34
|
+
/** One analysis frame: its RMS and when it was taken (ms). */
|
|
35
|
+
push(rms: number, at: number): "start" | "end" | null;
|
|
36
|
+
readonly speaking: boolean;
|
|
37
|
+
reset(): void;
|
|
38
|
+
};
|
|
39
|
+
export declare function createEnergyVad(options?: EnergyVadOptions): EnergyVad;
|
|
40
|
+
/** RMS of float time-domain samples. */
|
|
41
|
+
export declare function rmsOf(samples: Float32Array): number;
|
|
42
|
+
//# sourceMappingURL=energyVad.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"energyVad.d.ts","sourceRoot":"","sources":["../../../ai/voice/energyVad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;gCAC4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;0CACsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG;IACtB,8DAA8D;IAC9D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAwDzE;AAED,wCAAwC;AACxC,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAInD"}
|
package/dist/ai/voice/index.d.ts
CHANGED
|
@@ -20,4 +20,11 @@
|
|
|
20
20
|
export { useVoiceSession } from "./useVoiceSession";
|
|
21
21
|
export type { UseVoiceSessionParams, UseVoiceSessionResult } from "./useVoiceSession";
|
|
22
22
|
export type { VoiceCaption, VoiceStatus } from "./wire";
|
|
23
|
+
export { useLiveTranscription } from "./useLiveTranscription";
|
|
24
|
+
export type { LiveTranscriptionStatus, UseLiveTranscriptionOptions, UseLiveTranscriptionResult, } from "./useLiveTranscription";
|
|
25
|
+
export { createEnergyVad, DEFAULT_SILENCE_MS } from "./energyVad";
|
|
26
|
+
export type { EnergyVad, EnergyVadOptions } from "./energyVad";
|
|
27
|
+
export { OPENAI_REALTIME_CALLS_URL } from "./liveTranscription";
|
|
28
|
+
export type { LiveTranscriptionError, LiveTranscriptionToken, VoiceActivityDetector, } from "./liveTranscription";
|
|
29
|
+
export type { TranscriptTurn } from "./transcriptionState";
|
|
23
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ai/voice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ai/voice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|