@speech-sdk/core 0.25.3 → 0.26.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/README.md +4 -2
- package/dist/generate-speech.d.ts.map +1 -1
- package/dist/generate-speech.js +47 -27
- package/dist/generate-speech.js.map +1 -1
- package/dist/metadata.d.ts +2 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/timestamp-alignment.d.ts +23 -11
- package/dist/timestamp-alignment.d.ts.map +1 -1
- package/dist/timestamp-alignment.js +180 -78
- package/dist/timestamp-alignment.js.map +1 -1
- package/dist/timestamp-estimation.d.ts +6 -0
- package/dist/timestamp-estimation.d.ts.map +1 -0
- package/dist/timestamp-estimation.js +19 -0
- package/dist/timestamp-estimation.js.map +1 -0
- package/dist/timestamps.d.ts +6 -0
- package/dist/timestamps.d.ts.map +1 -1
- package/dist/timestamps.js +15 -1
- package/dist/timestamps.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -201,7 +201,9 @@ Returned timestamps are projected onto the exact text synthesized by the SDK: ca
|
|
|
201
201
|
| `true` | Returns validated word timestamps. Native models use their own timestamps. Direct models without native timestamps require `timestampProvider` (or a legacy factory-level `fallbackSTT`). |
|
|
202
202
|
| `false` *(default)* | Never requests, derives, or returns timestamps. |
|
|
203
203
|
|
|
204
|
-
`timestampProvider` is used for direct models without native timestamps and as a fallback when direct native timestamps fail validation. It remains a no-op for gateway-routed string models, where the gateway owns timestamp generation.
|
|
204
|
+
`timestampProvider` is used for direct models without native timestamps and as a fallback when direct native timestamps fail validation. It remains a no-op for gateway-routed string models, where the gateway owns timestamp generation. Missing internal caller-word boundaries inside an otherwise valid pronunciation edit span are interpolated, and those results include a warning.
|
|
205
|
+
|
|
206
|
+
On direct paths, timestamps never fail synthesis. When the SDK chunks a long input, forced alignment runs per synthesis chunk and the timings are concatenated with the stitch offsets; alignment is skipped entirely for inputs below a few words, where it cannot succeed and is not needed. If timings are still empty or fail transcript validation, the SDK distributes the words evenly across the measured audio duration (a single span for one word) instead of throwing. `metadata.timestampsSource` reports how the returned timings were produced: `'native'`, `'aligned'`, or `'estimated'`. Gateway-routed calls are unchanged — the gateway server owns its timestamp contract, so its failures surface as `TimestampValidationError`.
|
|
205
207
|
|
|
206
208
|
There is no implicit OpenAI fallback. Existing factory-level `fallbackSTT` configuration remains supported for compatibility, but new integrations should use the narrower `timestampProvider` interface.
|
|
207
209
|
|
|
@@ -251,7 +253,7 @@ result.timestamps;
|
|
|
251
253
|
|
|
252
254
|
```
|
|
253
255
|
|
|
254
|
-
Any object implementing the exported `TimestampProvider` interface can be passed the same way. It receives generated audio, its media type, the exact synthesized text, and the request's abort signal. Provider, network, and
|
|
256
|
+
Any object implementing the exported `TimestampProvider` interface can be passed the same way. It receives generated audio, its media type, the exact synthesized text, and the request's abort signal. Provider, network, and validation failures during alignment don't discard the synthesized audio — the SDK falls back to evenly estimated timings and reports it via `metadata.timestampsSource`.
|
|
255
257
|
|
|
256
258
|
`generateConversation` retains its boolean `timestamps` option and returns `ConversationWordTimestamp[]` — every word carries a `turnIndex: number` pointing back into the input `turns[]`.
|
|
257
259
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-speech.d.ts","sourceRoot":"","sources":["../src/generate-speech.ts"],"names":[],"mappings":"AA6BA,OAAO,EAGL,KAAK,aAAa,EAGlB,KAAK,KAAK,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-speech.d.ts","sourceRoot":"","sources":["../src/generate-speech.ts"],"names":[],"mappings":"AA6BA,OAAO,EAGL,KAAK,aAAa,EAGlB,KAAK,KAAK,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAY5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAmBxD,wBAAgB,cAAc,CAC5B,CAAC,SAAS,KAAK,GAAG,KAAK,EACvB,CAAC,SAAS,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAE/D,OAAO,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,UAAU,EAAE,IAAI,CAAA;CAAE,GAC1D,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACvC,wBAAgB,cAAc,CAC5B,CAAC,SAAS,KAAK,GAAG,KAAK,EACvB,CAAC,SAAS,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAC/D,OAAO,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC"}
|
package/dist/generate-speech.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import pRetry from "p-retry";
|
|
2
|
-
import { applySpeedToAudio, isSpeedActive,
|
|
2
|
+
import { applySpeedToAudio, isSpeedActive, validateSpeed, } from "./apply-speed.js";
|
|
3
3
|
import { computeAudioDuration } from "./audio-duration.js";
|
|
4
4
|
import { applyOptionalOutputConversion, validateOutput, } from "./audio-output.js";
|
|
5
|
+
import { textWithoutAudioTags } from "./audio-tags.js";
|
|
5
6
|
import { mapWithConcurrency, resolveMaxConcurrency } from "./concurrency.js";
|
|
6
7
|
import { NoSpeechGeneratedError, OutputConversionUnsupportedError, TextChunkingUnsupportedError, VolumeAdjustmentUnsupportedError, } from "./errors.js";
|
|
7
8
|
import { validateInstructionSupport } from "./instructions.js";
|
|
@@ -14,7 +15,8 @@ import { isSpeechGatewayModel, modelMaxInputChars, } from "./speech-provider.js"
|
|
|
14
15
|
import { DefaultGeneratedAudioFile } from "./speech-result.js";
|
|
15
16
|
import { resolveMaxInputChars, splitTextByMaxChars } from "./text-chunker.js";
|
|
16
17
|
import { preprocessSpeechText } from "./text-preprocessing.js";
|
|
17
|
-
import { prepareTimestampAlignment } from "./timestamp-alignment.js";
|
|
18
|
+
import { prepareTimestampAlignment, } from "./timestamp-alignment.js";
|
|
19
|
+
import { concatTimestampsWithOffsets, } from "./timestamps.js";
|
|
18
20
|
function chunkStitchTargetRate(segments) {
|
|
19
21
|
const rate = segments.reduce((m, s) => (s.sampleRate > m ? s.sampleRate : m), 0);
|
|
20
22
|
if (rate <= 0) {
|
|
@@ -79,8 +81,12 @@ export async function generateSpeech(options) {
|
|
|
79
81
|
});
|
|
80
82
|
const shouldRequestNative = timestampAlignment.includeNative;
|
|
81
83
|
const startTime = performance.now();
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
let result;
|
|
85
|
+
// Resolved only when chunking — maxConcurrency governs chunked synthesis and per-chunk alignment, and stays unvalidated (documented as ignored) on paths that never fan out.
|
|
86
|
+
let maxConcurrency;
|
|
87
|
+
if (shouldChunk) {
|
|
88
|
+
maxConcurrency = resolveMaxConcurrency(options.maxConcurrency);
|
|
89
|
+
result = await generateChunkedSpeech({
|
|
84
90
|
resolved,
|
|
85
91
|
modelIdentifier,
|
|
86
92
|
textChunks,
|
|
@@ -90,12 +96,15 @@ export async function generateSpeech(options) {
|
|
|
90
96
|
stitchOptions,
|
|
91
97
|
maxInputChars: maxInputChars ?? textToSend.length,
|
|
92
98
|
maxRetries,
|
|
93
|
-
maxConcurrency
|
|
99
|
+
maxConcurrency,
|
|
94
100
|
abortSignal,
|
|
95
101
|
headers,
|
|
96
102
|
includeTimestamps: shouldRequestNative,
|
|
97
|
-
|
|
98
|
-
|
|
103
|
+
buildAlignmentChunks: timestamps,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
result = await generateProviderSpeech({
|
|
99
108
|
resolved,
|
|
100
109
|
text: textToSend,
|
|
101
110
|
instructions,
|
|
@@ -110,6 +119,7 @@ export async function generateSpeech(options) {
|
|
|
110
119
|
pronunciations: options.pronunciations,
|
|
111
120
|
speed,
|
|
112
121
|
});
|
|
122
|
+
}
|
|
113
123
|
const latencyMs = Math.round(performance.now() - startTime);
|
|
114
124
|
const audioData = result.audio;
|
|
115
125
|
if (audioData.length === 0) {
|
|
@@ -135,11 +145,14 @@ export async function generateSpeech(options) {
|
|
|
135
145
|
const publicAlignment = await timestampAlignment.resolve({
|
|
136
146
|
audio: audio.uint8Array,
|
|
137
147
|
audioDurationMs,
|
|
148
|
+
alignmentChunks: result.alignmentChunks,
|
|
149
|
+
maxConcurrency,
|
|
138
150
|
mediaType: stretched.mediaType,
|
|
139
151
|
originalText: canonicalText,
|
|
140
152
|
pronunciationEdits,
|
|
141
|
-
|
|
142
|
-
|
|
153
|
+
providerTimestamps: result.timestamps,
|
|
154
|
+
// localSpeed is undefined on the gateway path, whose timestamps arrive already scaled.
|
|
155
|
+
speed: localSpeed,
|
|
143
156
|
synthesizedText: synthesizedCanonicalText,
|
|
144
157
|
abortSignal,
|
|
145
158
|
});
|
|
@@ -147,6 +160,9 @@ export async function generateSpeech(options) {
|
|
|
147
160
|
latencyMs,
|
|
148
161
|
inputChars: options.text.length,
|
|
149
162
|
...(audioDurationMs != null && { audioDurationMs }),
|
|
163
|
+
...(publicAlignment.source != null && {
|
|
164
|
+
timestampsSource: publicAlignment.source,
|
|
165
|
+
}),
|
|
150
166
|
};
|
|
151
167
|
return {
|
|
152
168
|
audio,
|
|
@@ -234,6 +250,7 @@ async function generateChunkedSpeech(args) {
|
|
|
234
250
|
const stitchOptions = args.stitchOptions;
|
|
235
251
|
const { decodeAudioToPcm16 } = await import("./audio-decode.js");
|
|
236
252
|
const { concatPcmToWav } = await import("./conversation/pcm-concat.js");
|
|
253
|
+
const { wrapPcm16Mono } = await import("./audio-utils.js");
|
|
237
254
|
const perChunk = await mapWithConcurrency(args.textChunks, args.maxConcurrency, async (text, _i, signal) => {
|
|
238
255
|
const result = await generateProviderSpeech({
|
|
239
256
|
resolved: args.resolved,
|
|
@@ -259,7 +276,12 @@ async function generateChunkedSpeech(args) {
|
|
|
259
276
|
? result.mediaType
|
|
260
277
|
: stitchOptions.mediaType;
|
|
261
278
|
const segment = await decodeAudioToPcm16(audio, decodeMediaType);
|
|
262
|
-
return {
|
|
279
|
+
return {
|
|
280
|
+
result,
|
|
281
|
+
segment,
|
|
282
|
+
text,
|
|
283
|
+
durationSeconds: segment.pcm.length / segment.sampleRate,
|
|
284
|
+
};
|
|
263
285
|
}, { signal: args.abortSignal });
|
|
264
286
|
const segments = perChunk.map((c) => c.segment);
|
|
265
287
|
const targetSampleRate = chunkStitchTargetRate(segments);
|
|
@@ -267,15 +289,25 @@ async function generateChunkedSpeech(args) {
|
|
|
267
289
|
gapMs: 0,
|
|
268
290
|
targetSampleRate,
|
|
269
291
|
});
|
|
270
|
-
const durationSeconds =
|
|
292
|
+
const durationSeconds = perChunk.reduce((sum, c) => sum + c.durationSeconds, 0);
|
|
271
293
|
const warnings = perChunk.flatMap((c) => c.result.warnings ?? []);
|
|
272
294
|
const providerMetadataChunks = perChunk.map((c) => c.result.providerMetadata);
|
|
273
295
|
const providerMetadata = providerMetadataChunks.some((m) => m != null)
|
|
274
296
|
? { chunks: providerMetadataChunks }
|
|
275
297
|
: undefined;
|
|
298
|
+
// Per-chunk audio for forced alignment, encoded lazily — alignment over the unbounded stitched result exceeds aligner input limits. Skipped when timestamps are off so the PCM segments aren't retained.
|
|
299
|
+
const alignmentChunks = args.buildAlignmentChunks
|
|
300
|
+
? perChunk.map(({ segment, text, durationSeconds: chunkSeconds }) => ({
|
|
301
|
+
audio: () => wrapPcm16Mono(new Uint8Array(segment.pcm.buffer, segment.pcm.byteOffset, segment.pcm.byteLength), segment.sampleRate),
|
|
302
|
+
durationSeconds: chunkSeconds,
|
|
303
|
+
mediaType: "audio/wav",
|
|
304
|
+
text: textWithoutAudioTags(text),
|
|
305
|
+
}))
|
|
306
|
+
: undefined;
|
|
276
307
|
return {
|
|
277
308
|
audio,
|
|
278
309
|
audioDurationMs: Math.round(durationSeconds * 1000),
|
|
310
|
+
...(alignmentChunks && { alignmentChunks }),
|
|
279
311
|
mediaType: "audio/wav",
|
|
280
312
|
providerMetadata,
|
|
281
313
|
timestamps: mergeChunkTimestamps(perChunk),
|
|
@@ -286,19 +318,10 @@ function mergeChunkTimestamps(perChunk) {
|
|
|
286
318
|
if (perChunk.some((c) => !c.result.timestamps?.length)) {
|
|
287
319
|
return;
|
|
288
320
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
timestamps.push({
|
|
294
|
-
text: word.text,
|
|
295
|
-
start: word.start + offset,
|
|
296
|
-
end: word.end + offset,
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
offset += chunk.segment.pcm.length / chunk.segment.sampleRate;
|
|
300
|
-
}
|
|
301
|
-
return timestamps;
|
|
321
|
+
return concatTimestampsWithOffsets(perChunk.map((c) => ({
|
|
322
|
+
durationSeconds: c.durationSeconds,
|
|
323
|
+
words: c.result.timestamps ?? [],
|
|
324
|
+
})));
|
|
302
325
|
}
|
|
303
326
|
function resolveProviderOptionsForLocalDecoding(args) {
|
|
304
327
|
if (args.isGateway) {
|
|
@@ -376,9 +399,6 @@ async function applyLocalAudioPostProcessing(args) {
|
|
|
376
399
|
}
|
|
377
400
|
return { bytes, mediaType };
|
|
378
401
|
}
|
|
379
|
-
function maybeScale(timestamps, speed) {
|
|
380
|
-
return isSpeedActive(speed) ? scaleTimestamps(timestamps, speed) : timestamps;
|
|
381
|
-
}
|
|
382
402
|
function maybeScaleDurationMs(durationMs, speed) {
|
|
383
403
|
if (durationMs == null || !isSpeedActive(speed)) {
|
|
384
404
|
return durationMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-speech.js","sourceRoot":"","sources":["../src/generate-speech.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-speech.js","sourceRoot":"","sources":["../src/generate-speech.ts"],"names":[],"mappings":"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"}
|
package/dist/metadata.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { TimestampsSource } from "./timestamps.js";
|
|
1
2
|
export interface SpeechMetadata {
|
|
2
3
|
readonly audioDurationMs?: number;
|
|
3
4
|
readonly inputChars: number;
|
|
4
5
|
readonly latencyMs: number;
|
|
6
|
+
readonly timestampsSource?: TimestampsSource;
|
|
5
7
|
readonly ttfbMs?: number;
|
|
6
8
|
}
|
|
7
9
|
//# sourceMappingURL=metadata.d.ts.map
|
package/dist/metadata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE7C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
import type { Edit } from "./pronunciations/types.js";
|
|
2
2
|
import { type ResolvedModel } from "./speech-provider.js";
|
|
3
3
|
import type { TimestampProvider } from "./timestamp-provider.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type TimestampsSource, type WordTimestamp } from "./timestamps.js";
|
|
5
|
+
export interface AlignmentAudioChunk {
|
|
6
|
+
audio(): Promise<Uint8Array>;
|
|
7
|
+
readonly durationSeconds: number;
|
|
8
|
+
readonly mediaType: string;
|
|
9
|
+
readonly text: string;
|
|
10
|
+
}
|
|
5
11
|
export interface TimestampAlignmentResult {
|
|
12
|
+
readonly source?: TimestampsSource;
|
|
6
13
|
readonly timestamps?: readonly WordTimestamp[];
|
|
7
14
|
readonly warnings?: readonly string[];
|
|
8
15
|
}
|
|
16
|
+
interface TimestampResolutionArgs {
|
|
17
|
+
readonly abortSignal?: AbortSignal;
|
|
18
|
+
readonly alignmentChunks?: readonly AlignmentAudioChunk[];
|
|
19
|
+
readonly audio: Uint8Array;
|
|
20
|
+
readonly audioDurationMs?: number;
|
|
21
|
+
readonly maxConcurrency?: number;
|
|
22
|
+
readonly mediaType: string;
|
|
23
|
+
readonly originalText: string;
|
|
24
|
+
readonly pronunciationEdits: readonly Edit[];
|
|
25
|
+
readonly providerTimestamps?: readonly WordTimestamp[];
|
|
26
|
+
readonly speed?: number;
|
|
27
|
+
readonly synthesizedText: string;
|
|
28
|
+
}
|
|
9
29
|
export interface TimestampAlignmentPlan {
|
|
10
30
|
readonly includeNative: boolean;
|
|
11
|
-
resolve(args:
|
|
12
|
-
readonly abortSignal?: AbortSignal;
|
|
13
|
-
readonly audio: Uint8Array;
|
|
14
|
-
readonly audioDurationMs?: number;
|
|
15
|
-
readonly mediaType: string;
|
|
16
|
-
readonly originalText: string;
|
|
17
|
-
readonly pronunciationEdits: readonly Edit[];
|
|
18
|
-
readonly providerTimestamps?: readonly WordTimestamp[];
|
|
19
|
-
readonly synthesizedText: string;
|
|
20
|
-
}): Promise<TimestampAlignmentResult>;
|
|
31
|
+
resolve(args: TimestampResolutionArgs): Promise<TimestampAlignmentResult>;
|
|
21
32
|
}
|
|
22
33
|
export declare function deriveTimestampsViaProvider(args: {
|
|
23
34
|
readonly abortSignal?: AbortSignal;
|
|
@@ -32,4 +43,5 @@ export declare function prepareTimestampAlignment(args: {
|
|
|
32
43
|
readonly resolved: ResolvedModel;
|
|
33
44
|
readonly timestampProvider?: TimestampProvider;
|
|
34
45
|
}): TimestampAlignmentPlan;
|
|
46
|
+
export {};
|
|
35
47
|
//# sourceMappingURL=timestamp-alignment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp-alignment.d.ts","sourceRoot":"","sources":["../src/timestamp-alignment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timestamp-alignment.d.ts","sourceRoot":"","sources":["../src/timestamp-alignment.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,mBAAmB;IAClC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,IAAI,EAAE,CAAC;IAE7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC3E;AAiCD,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAWpC;AAgRD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD,GAAG,sBAAsB,CA0CzB"}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
|
+
import { isSpeedActive, scaleTimestamps } from "./apply-speed.js";
|
|
2
|
+
import { mapWithConcurrency } from "./concurrency.js";
|
|
1
3
|
import { deriveTimestampsViaSTT } from "./derive-timestamps.js";
|
|
2
4
|
import { TimestampProviderRequiredError, TimestampValidationError, withProviderErrorStage, } from "./errors.js";
|
|
3
5
|
import { debug } from "./logger.js";
|
|
4
6
|
import { inverseAlignWithQuality, PRONUNCIATION_TIMESTAMP_ESTIMATE_WARNING, } from "./pronunciations/inverse-align.js";
|
|
5
7
|
import { isSpeechGatewayModel, modelDeclaresNativeTimestamps, } from "./speech-provider.js";
|
|
6
|
-
import {
|
|
8
|
+
import { estimateTimestamps } from "./timestamp-estimation.js";
|
|
9
|
+
import { finalizeTimestamps, tokenizeTimestampSource, } from "./timestamp-finalization.js";
|
|
10
|
+
import { concatTimestampsWithOffsets, } from "./timestamps.js";
|
|
11
|
+
// Forced alignment is unreliable on very short utterances (a single word often returns nothing), and an even distribution over so few words is just as good.
|
|
12
|
+
const MIN_ALIGNMENT_WORD_COUNT = 3;
|
|
13
|
+
function scalePreStretch(timestamps, speed) {
|
|
14
|
+
return isSpeedActive(speed)
|
|
15
|
+
? (scaleTimestamps(timestamps, speed) ?? [])
|
|
16
|
+
: timestamps;
|
|
17
|
+
}
|
|
7
18
|
function finalizeCandidate(args) {
|
|
8
19
|
const finalized = finalizeTimestamps({
|
|
9
20
|
timestamps: args.timestamps,
|
|
@@ -49,15 +60,171 @@ function projectPublicText(args) {
|
|
|
49
60
|
}),
|
|
50
61
|
};
|
|
51
62
|
}
|
|
63
|
+
function resolveAligner(args) {
|
|
64
|
+
const { timestampProvider } = args;
|
|
65
|
+
if (timestampProvider) {
|
|
66
|
+
return {
|
|
67
|
+
source: "timestampProvider",
|
|
68
|
+
align: (input) => deriveTimestampsViaProvider({ ...input, provider: timestampProvider }),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const fallback = args.resolved.fallbackSTT;
|
|
72
|
+
if (!fallback) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
source: `${fallback.provider.id}/${fallback.modelId}`,
|
|
77
|
+
align: (input) => deriveTimestampsViaSTT({
|
|
78
|
+
ttsModel: args.modelIdentifier,
|
|
79
|
+
audio: input.audio,
|
|
80
|
+
mediaType: input.mediaType,
|
|
81
|
+
text: input.text,
|
|
82
|
+
timestampFallback: fallback,
|
|
83
|
+
abortSignal: input.abortSignal,
|
|
84
|
+
}),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// Aligns each synthesis chunk against its own audio (forced alignment has input limits a stitched result exceeds), concatenating with the stitch offsets.
|
|
88
|
+
async function alignPerChunk(args) {
|
|
89
|
+
const perChunkWords = await mapWithConcurrency(args.chunks, args.maxConcurrency, async (chunk, _i, signal) => await args.aligner.align({
|
|
90
|
+
abortSignal: signal,
|
|
91
|
+
audio: await chunk.audio(),
|
|
92
|
+
mediaType: chunk.mediaType,
|
|
93
|
+
text: chunk.text,
|
|
94
|
+
}), { signal: args.abortSignal });
|
|
95
|
+
return concatTimestampsWithOffsets(args.chunks.map((chunk, index) => ({
|
|
96
|
+
durationSeconds: chunk.durationSeconds,
|
|
97
|
+
words: perChunkWords[index] ?? [],
|
|
98
|
+
})));
|
|
99
|
+
}
|
|
100
|
+
async function deriveAlignedTimestamps(args) {
|
|
101
|
+
const { aligner, resolutionArgs } = args;
|
|
102
|
+
if (resolutionArgs.alignmentChunks?.length) {
|
|
103
|
+
const chunked = await alignPerChunk({
|
|
104
|
+
abortSignal: resolutionArgs.abortSignal,
|
|
105
|
+
aligner,
|
|
106
|
+
chunks: resolutionArgs.alignmentChunks,
|
|
107
|
+
maxConcurrency: resolutionArgs.maxConcurrency ?? 1,
|
|
108
|
+
});
|
|
109
|
+
// Chunk audio is pre-stretch, unlike the whole-audio path below, which aligns the final audio.
|
|
110
|
+
return scalePreStretch(chunked, resolutionArgs.speed);
|
|
111
|
+
}
|
|
112
|
+
return await aligner.align({
|
|
113
|
+
abortSignal: resolutionArgs.abortSignal,
|
|
114
|
+
audio: resolutionArgs.audio,
|
|
115
|
+
mediaType: resolutionArgs.mediaType,
|
|
116
|
+
text: resolutionArgs.synthesizedText,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function finalizeAndProject(args) {
|
|
120
|
+
const finalized = finalizeCandidate({
|
|
121
|
+
timestamps: args.timestamps,
|
|
122
|
+
text: args.resolutionArgs.synthesizedText,
|
|
123
|
+
audioDurationMs: args.resolutionArgs.audioDurationMs,
|
|
124
|
+
source: args.validationSource,
|
|
125
|
+
});
|
|
126
|
+
return {
|
|
127
|
+
...projectPublicText({
|
|
128
|
+
timestamps: finalized,
|
|
129
|
+
audioDurationMs: args.resolutionArgs.audioDurationMs,
|
|
130
|
+
originalText: args.resolutionArgs.originalText,
|
|
131
|
+
pronunciationEdits: args.resolutionArgs.pronunciationEdits,
|
|
132
|
+
substitutedText: args.resolutionArgs.synthesizedText,
|
|
133
|
+
}),
|
|
134
|
+
...(args.source && { source: args.source }),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function tryResolveNative(modelIdentifier, resolutionArgs) {
|
|
138
|
+
try {
|
|
139
|
+
return {
|
|
140
|
+
result: finalizeAndProject({
|
|
141
|
+
resolutionArgs,
|
|
142
|
+
source: "native",
|
|
143
|
+
timestamps: scalePreStretch(resolutionArgs.providerTimestamps ?? [], resolutionArgs.speed),
|
|
144
|
+
validationSource: modelIdentifier,
|
|
145
|
+
}),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
if (!(error instanceof TimestampValidationError)) {
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
debug(`${modelIdentifier}: native timestamps failed validation (${error.reason}).`);
|
|
153
|
+
return { error };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async function tryResolveAligned(modelIdentifier, aligner, resolutionArgs) {
|
|
157
|
+
try {
|
|
158
|
+
return {
|
|
159
|
+
result: finalizeAndProject({
|
|
160
|
+
resolutionArgs,
|
|
161
|
+
source: "aligned",
|
|
162
|
+
timestamps: await deriveAlignedTimestamps({ aligner, resolutionArgs }),
|
|
163
|
+
validationSource: aligner.source,
|
|
164
|
+
}),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
if (resolutionArgs.abortSignal?.aborted) {
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
const message = error instanceof Error ? error.message : `${error}`;
|
|
172
|
+
debug(`${modelIdentifier}: alignment via ${aligner.source} failed (${message}).`);
|
|
173
|
+
return { error };
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function shouldAttemptAlignment(modelIdentifier, resolutionArgs) {
|
|
177
|
+
// Without a measured duration the estimated floor cannot stand in, so alignment is always worth attempting.
|
|
178
|
+
const durationKnown = resolutionArgs.audioDurationMs != null &&
|
|
179
|
+
resolutionArgs.audioDurationMs > 0;
|
|
180
|
+
if (!durationKnown) {
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
const wordCount = tokenizeTimestampSource(resolutionArgs.synthesizedText).length;
|
|
184
|
+
if (wordCount >= MIN_ALIGNMENT_WORD_COUNT) {
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
debug(`${modelIdentifier}: skipping alignment for ${wordCount} word(s); using estimated timestamps.`);
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
async function resolveDirectTimestamps(context, resolutionArgs) {
|
|
191
|
+
let lastError;
|
|
192
|
+
if (context.includeNative) {
|
|
193
|
+
const native = tryResolveNative(context.modelIdentifier, resolutionArgs);
|
|
194
|
+
if (native.result) {
|
|
195
|
+
return native.result;
|
|
196
|
+
}
|
|
197
|
+
lastError = native.error;
|
|
198
|
+
}
|
|
199
|
+
if (context.aligner &&
|
|
200
|
+
shouldAttemptAlignment(context.modelIdentifier, resolutionArgs)) {
|
|
201
|
+
const aligned = await tryResolveAligned(context.modelIdentifier, context.aligner, resolutionArgs);
|
|
202
|
+
if (aligned.result) {
|
|
203
|
+
return aligned.result;
|
|
204
|
+
}
|
|
205
|
+
lastError = aligned.error;
|
|
206
|
+
}
|
|
207
|
+
// Estimated floor: synthesized audio is never discarded for want of timings.
|
|
208
|
+
const estimated = estimateTimestamps({
|
|
209
|
+
audioDurationMs: resolutionArgs.audioDurationMs,
|
|
210
|
+
text: resolutionArgs.originalText,
|
|
211
|
+
});
|
|
212
|
+
if (estimated == null) {
|
|
213
|
+
throw (lastError ??
|
|
214
|
+
new TimestampValidationError({
|
|
215
|
+
reason: "empty",
|
|
216
|
+
source: context.modelIdentifier,
|
|
217
|
+
}));
|
|
218
|
+
}
|
|
219
|
+
debug(`${context.modelIdentifier}: distributing ${estimated.length} words evenly across the audio duration.`);
|
|
220
|
+
return { timestamps: estimated, source: "estimated" };
|
|
221
|
+
}
|
|
52
222
|
export function prepareTimestampAlignment(args) {
|
|
53
223
|
const isGateway = isSpeechGatewayModel(args.resolved);
|
|
54
224
|
const hasNative = modelDeclaresNativeTimestamps(args.resolved);
|
|
55
225
|
const includeNative = args.request && (isGateway || hasNative);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
hasNative ||
|
|
59
|
-
args.timestampProvider ||
|
|
60
|
-
args.resolved.fallbackSTT)) {
|
|
226
|
+
const aligner = resolveAligner(args);
|
|
227
|
+
if (args.request && !(isGateway || hasNative || aligner)) {
|
|
61
228
|
throw new TimestampProviderRequiredError(args.modelIdentifier);
|
|
62
229
|
}
|
|
63
230
|
if (!args.request) {
|
|
@@ -78,80 +245,15 @@ export function prepareTimestampAlignment(args) {
|
|
|
78
245
|
if (!args.request) {
|
|
79
246
|
return {};
|
|
80
247
|
}
|
|
81
|
-
|
|
82
|
-
if (
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
audioDurationMs: resolutionArgs.audioDurationMs,
|
|
88
|
-
source: args.modelIdentifier,
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
if (isGateway ||
|
|
93
|
-
!args.timestampProvider ||
|
|
94
|
-
!(error instanceof TimestampValidationError)) {
|
|
95
|
-
throw error;
|
|
96
|
-
}
|
|
97
|
-
debug(`${args.modelIdentifier}: native timestamps failed validation (${error.reason}); using the supplied timestamp provider.`);
|
|
98
|
-
const timestamps = await deriveTimestampsViaProvider({
|
|
99
|
-
abortSignal: resolutionArgs.abortSignal,
|
|
100
|
-
audio: resolutionArgs.audio,
|
|
101
|
-
mediaType: resolutionArgs.mediaType,
|
|
102
|
-
provider: args.timestampProvider,
|
|
103
|
-
text: resolutionArgs.synthesizedText,
|
|
104
|
-
});
|
|
105
|
-
finalized = finalizeCandidate({
|
|
106
|
-
timestamps,
|
|
107
|
-
text: resolutionArgs.synthesizedText,
|
|
108
|
-
audioDurationMs: resolutionArgs.audioDurationMs,
|
|
109
|
-
source: "timestampProvider",
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else if (args.timestampProvider) {
|
|
114
|
-
const timestamps = await deriveTimestampsViaProvider({
|
|
115
|
-
abortSignal: resolutionArgs.abortSignal,
|
|
116
|
-
audio: resolutionArgs.audio,
|
|
117
|
-
mediaType: resolutionArgs.mediaType,
|
|
118
|
-
provider: args.timestampProvider,
|
|
119
|
-
text: resolutionArgs.synthesizedText,
|
|
120
|
-
});
|
|
121
|
-
finalized = finalizeCandidate({
|
|
122
|
-
timestamps,
|
|
123
|
-
text: resolutionArgs.synthesizedText,
|
|
124
|
-
audioDurationMs: resolutionArgs.audioDurationMs,
|
|
125
|
-
source: "timestampProvider",
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
const fallback = args.resolved.fallbackSTT;
|
|
130
|
-
if (!fallback) {
|
|
131
|
-
throw new TimestampProviderRequiredError(args.modelIdentifier);
|
|
132
|
-
}
|
|
133
|
-
const timestamps = await deriveTimestampsViaSTT({
|
|
134
|
-
ttsModel: args.modelIdentifier,
|
|
135
|
-
audio: resolutionArgs.audio,
|
|
136
|
-
mediaType: resolutionArgs.mediaType,
|
|
137
|
-
text: resolutionArgs.synthesizedText,
|
|
138
|
-
timestampFallback: fallback,
|
|
139
|
-
abortSignal: resolutionArgs.abortSignal,
|
|
140
|
-
});
|
|
141
|
-
finalized = finalizeCandidate({
|
|
142
|
-
timestamps,
|
|
143
|
-
text: resolutionArgs.synthesizedText,
|
|
144
|
-
audioDurationMs: resolutionArgs.audioDurationMs,
|
|
145
|
-
source: `${fallback.provider.id}/${fallback.modelId}`,
|
|
248
|
+
// Gateway invariant: the SDK is a transport; the gateway server owns the timestamp contract, so its failures surface unchanged.
|
|
249
|
+
if (isGateway) {
|
|
250
|
+
return finalizeAndProject({
|
|
251
|
+
resolutionArgs,
|
|
252
|
+
timestamps: resolutionArgs.providerTimestamps ?? [],
|
|
253
|
+
validationSource: args.modelIdentifier,
|
|
146
254
|
});
|
|
147
255
|
}
|
|
148
|
-
return
|
|
149
|
-
timestamps: finalized,
|
|
150
|
-
audioDurationMs: resolutionArgs.audioDurationMs,
|
|
151
|
-
originalText: resolutionArgs.originalText,
|
|
152
|
-
pronunciationEdits: resolutionArgs.pronunciationEdits,
|
|
153
|
-
substitutedText: resolutionArgs.synthesizedText,
|
|
154
|
-
});
|
|
256
|
+
return await resolveDirectTimestamps({ aligner, includeNative, modelIdentifier: args.modelIdentifier }, resolutionArgs);
|
|
155
257
|
},
|
|
156
258
|
};
|
|
157
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp-alignment.js","sourceRoot":"","sources":["../src/timestamp-alignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,wCAAwC,GACzC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,oBAAoB,EACpB,6BAA6B,GAE9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"timestamp-alignment.js","sourceRoot":"","sources":["../src/timestamp-alignment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timestamp-estimation.d.ts","sourceRoot":"","sources":["../src/timestamp-estimation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,aAAa,EAAE,GAAG,SAAS,CAmB9B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { tokenizeTimestampSource } from "./timestamp-finalization.js";
|
|
2
|
+
export function estimateTimestamps(args) {
|
|
3
|
+
const tokens = tokenizeTimestampSource(args.text);
|
|
4
|
+
if (tokens.length === 0) {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
if (args.audioDurationMs == null ||
|
|
8
|
+
!Number.isFinite(args.audioDurationMs) ||
|
|
9
|
+
args.audioDurationMs <= 0) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const wordSeconds = args.audioDurationMs / 1000 / tokens.length;
|
|
13
|
+
return tokens.map((token, index) => ({
|
|
14
|
+
text: token.text,
|
|
15
|
+
start: index * wordSeconds,
|
|
16
|
+
end: (index + 1) * wordSeconds,
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=timestamp-estimation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timestamp-estimation.js","sourceRoot":"","sources":["../src/timestamp-estimation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,MAAM,UAAU,kBAAkB,CAAC,IAGlC;IACC,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IACE,IAAI,CAAC,eAAe,IAAI,IAAI;QAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,IAAI,CAAC,EACzB,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAChE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,GAAG,WAAW;QAC1B,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW;KAC/B,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/dist/timestamps.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type TimestampsSource = "native" | "aligned" | "estimated";
|
|
1
2
|
export interface WordTimestamp {
|
|
2
3
|
readonly end: number;
|
|
3
4
|
readonly start: number;
|
|
@@ -6,4 +7,9 @@ export interface WordTimestamp {
|
|
|
6
7
|
export interface ConversationWordTimestamp extends WordTimestamp {
|
|
7
8
|
readonly turnIndex: number;
|
|
8
9
|
}
|
|
10
|
+
export interface TimedWordChunk {
|
|
11
|
+
readonly durationSeconds: number;
|
|
12
|
+
readonly words: readonly WordTimestamp[];
|
|
13
|
+
}
|
|
14
|
+
export declare function concatTimestampsWithOffsets(chunks: readonly TimedWordChunk[]): WordTimestamp[];
|
|
9
15
|
//# sourceMappingURL=timestamps.d.ts.map
|
package/dist/timestamps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamps.d.ts","sourceRoot":"","sources":["../src/timestamps.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
|
|
1
|
+
{"version":3,"file":"timestamps.d.ts","sourceRoot":"","sources":["../src/timestamps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,aAAa,EAAE,CAcjB"}
|
package/dist/timestamps.js
CHANGED
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export function concatTimestampsWithOffsets(chunks) {
|
|
2
|
+
const timestamps = [];
|
|
3
|
+
let offsetSeconds = 0;
|
|
4
|
+
for (const { durationSeconds, words } of chunks) {
|
|
5
|
+
for (const word of words) {
|
|
6
|
+
timestamps.push({
|
|
7
|
+
text: word.text,
|
|
8
|
+
start: word.start + offsetSeconds,
|
|
9
|
+
end: word.end + offsetSeconds,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
offsetSeconds += durationSeconds;
|
|
13
|
+
}
|
|
14
|
+
return timestamps;
|
|
15
|
+
}
|
|
2
16
|
//# sourceMappingURL=timestamps.js.map
|
package/dist/timestamps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamps.js","sourceRoot":"","sources":["../src/timestamps.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"timestamps.js","sourceRoot":"","sources":["../src/timestamps.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,2BAA2B,CACzC,MAAiC;IAEjC,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,aAAa;gBACjC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,aAAa;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,aAAa,IAAI,eAAe,CAAC;IACnC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export type { ConversationResult, ConversationResultWithTimestamps, GeneratedAud
|
|
|
29
29
|
export type { ResolvedSTTModel, SpeechToTextProvider, STTModelInfo, } from "./speech-to-text-provider.js";
|
|
30
30
|
export type { StreamSpeechResult } from "./stream-speech-result.js";
|
|
31
31
|
export type { TimestampProvider } from "./timestamp-provider.js";
|
|
32
|
-
export type { ConversationWordTimestamp, WordTimestamp, } from "./timestamps.js";
|
|
32
|
+
export type { ConversationWordTimestamp, TimestampsSource, WordTimestamp, } from "./timestamps.js";
|
|
33
33
|
export type { TurnTimestamp } from "./turns.js";
|
|
34
34
|
export interface GenerateSpeechOptions<V extends Voice = Voice, M extends string | ResolvedModel<V> = string | ResolvedModel<V>> {
|
|
35
35
|
abortSignal?: AbortSignal;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|