@ssml-builder-js/azure-tts-client 2.18.0 → 2.19.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/CHANGELOG.md +10 -0
- package/dist/index.d.mts +156 -105
- package/dist/index.d.ts +156 -105
- package/dist/index.js +453 -63
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +450 -63
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +43 -3
- package/src/deadline.ts +52 -0
- package/src/errors.ts +86 -4
- package/src/index.ts +11 -1
- package/src/safe.ts +52 -31
- package/src/synthesis.ts +307 -22
- package/src/types.ts +8 -3
- package/test/v219-pipeline.test.ts +131 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SsmlTextRange, SsmlSourceTextSegment, SsmlSourceMarker, SsmlDiagnostic, AzureValidationOptions } from '@ssml-builder-js/ssml-core';
|
|
2
2
|
import * as SpeechSDK from 'microsoft-cognitiveservices-speech-sdk';
|
|
3
3
|
|
|
4
4
|
declare const DEFAULT_OUTPUT_FORMAT = "audio-16khz-128kbitrate-mono-mp3";
|
|
@@ -46,7 +46,19 @@ declare const OUTPUT_FORMATS: {
|
|
|
46
46
|
type AzureTtsOutputFormat = keyof typeof OUTPUT_FORMATS;
|
|
47
47
|
declare function resolveMimeType(outputFormat: string): string;
|
|
48
48
|
|
|
49
|
-
type SynthesisErrorKind = "validation-error" | "azure-api-error" | "merge-error" | "audio-format-mismatch" | "unsupported-format-error" | "cancelled" | "timeout";
|
|
49
|
+
type SynthesisErrorKind = "validation-error" | "azure-api-error" | "merge-error" | "audio-format-mismatch" | "unsupported-format-error" | "cancelled" | "timeout" | "incomplete-chunk-set";
|
|
50
|
+
type SerializedChunkErrorCode = "VALIDATION_ERROR" | "AZURE_API_ERROR" | "TIMEOUT" | "CANCELLED" | "MERGE_ERROR" | "FORMAT_MISMATCH";
|
|
51
|
+
interface SerializedChunkError {
|
|
52
|
+
code: SerializedChunkErrorCode;
|
|
53
|
+
phase: "url-validation" | "synthesis" | "merge";
|
|
54
|
+
message: string;
|
|
55
|
+
isOriginalFailure: boolean;
|
|
56
|
+
isRetryable: boolean;
|
|
57
|
+
httpStatus?: number;
|
|
58
|
+
details?: Record<string, unknown>;
|
|
59
|
+
}
|
|
60
|
+
/** Backward-compatible name used by persisted execution-state consumers. */
|
|
61
|
+
type SerializedExecutionError = SerializedChunkError;
|
|
50
62
|
declare class AzureTtsError extends Error {
|
|
51
63
|
readonly kind: "azure-api-error";
|
|
52
64
|
readonly status: number;
|
|
@@ -70,6 +82,12 @@ declare class SynthesisTimeoutError extends Error {
|
|
|
70
82
|
readonly kind: "timeout";
|
|
71
83
|
constructor(message: string);
|
|
72
84
|
}
|
|
85
|
+
declare class IncompleteChunkSetError extends Error {
|
|
86
|
+
readonly kind: "incomplete-chunk-set";
|
|
87
|
+
readonly totalChunks: number;
|
|
88
|
+
readonly missingChunkIndices: readonly number[];
|
|
89
|
+
constructor(totalChunks: number, missingChunkIndices: readonly number[]);
|
|
90
|
+
}
|
|
73
91
|
declare class MergeError extends Error {
|
|
74
92
|
readonly kind: "merge-error";
|
|
75
93
|
readonly cause: unknown;
|
|
@@ -87,106 +105,8 @@ declare class UnsupportedMergeFormatError extends Error {
|
|
|
87
105
|
readonly format: string;
|
|
88
106
|
constructor(format: string);
|
|
89
107
|
}
|
|
90
|
-
type AzureTtsSynthesisError = AzureTtsError | MergeError | AudioFormatMismatchError | UnsupportedMergeFormatError | SynthesisCancelledError | SynthesisTimeoutError;
|
|
91
|
-
|
|
92
|
-
declare class AzureTtsClient {
|
|
93
|
-
#private;
|
|
94
|
-
constructor(options: AzureTtsClientOptions);
|
|
95
|
-
synthesize(ssml: string): Promise<ArrayBuffer>;
|
|
96
|
-
synthesizeSsml(ssml: string, options?: Partial<TtsConfig>): Promise<SsmlSynthesisResult>;
|
|
97
|
-
synthesizeChunks(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeChunksOptions): Promise<SsmlSynthesisResult>;
|
|
98
|
-
synthesizeSsmlSafe(ssml: string, options?: SynthesizeSsmlSafeOptions): Promise<SsmlSynthesisSafeResult>;
|
|
99
|
-
synthesizeChunksSafe(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeSsmlChunksSafeOptions): Promise<SsmlSynthesisChunksSafeResult>;
|
|
100
|
-
synthesizeSsmlChunksSafe(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeSsmlChunksSafeOptions): Promise<SsmlSynthesisChunksSafeResult>;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
interface SsmlValidationError {
|
|
104
|
-
readonly kind: "validation-error";
|
|
105
|
-
readonly message: string;
|
|
106
|
-
readonly diagnostics: readonly SsmlDiagnostic[];
|
|
107
|
-
}
|
|
108
|
-
type SsmlSynthesisError = SsmlValidationError | AzureTtsSynthesisError;
|
|
109
|
-
declare class ChunkValidationError extends Error {
|
|
110
|
-
readonly kind: "validation-error";
|
|
111
|
-
readonly chunkIndex: number;
|
|
112
|
-
readonly diagnostics: readonly SsmlDiagnostic[];
|
|
113
|
-
constructor(chunkIndex: number, diagnostics: readonly SsmlDiagnostic[]);
|
|
114
|
-
}
|
|
115
|
-
interface ChunkDiagnostics {
|
|
116
|
-
readonly chunkIndex: number;
|
|
117
|
-
readonly diagnostics: readonly SsmlDiagnostic[];
|
|
118
|
-
}
|
|
119
|
-
declare class BatchChunkValidationError extends ChunkValidationError {
|
|
120
|
-
readonly chunkDiagnostics: readonly ChunkDiagnostics[];
|
|
121
|
-
readonly totalErrorCount: number;
|
|
122
|
-
readonly errorCount: number;
|
|
123
|
-
readonly totalErrors: number;
|
|
124
|
-
constructor(chunkDiagnostics: readonly ChunkDiagnostics[]);
|
|
125
|
-
}
|
|
126
|
-
type Result<T, E> = {
|
|
127
|
-
readonly ok: true;
|
|
128
|
-
readonly success: true;
|
|
129
|
-
readonly status: "success";
|
|
130
|
-
readonly value: T;
|
|
131
|
-
} | (E extends {
|
|
132
|
-
readonly kind: infer Kind extends SynthesisErrorKind;
|
|
133
|
-
} ? {
|
|
134
|
-
readonly ok: false;
|
|
135
|
-
readonly success: false;
|
|
136
|
-
readonly status: Kind;
|
|
137
|
-
readonly error: E;
|
|
138
|
-
readonly partialResult?: PartialChunkSynthesisResult;
|
|
139
|
-
} : {
|
|
140
|
-
readonly ok: false;
|
|
141
|
-
readonly success: false;
|
|
142
|
-
readonly status: SynthesisErrorKind;
|
|
143
|
-
readonly error: E;
|
|
144
|
-
readonly partialResult?: PartialChunkSynthesisResult;
|
|
145
|
-
});
|
|
146
|
-
type SynthesisResult<T, E> = Result<T, E>;
|
|
147
|
-
type Success<T> = Extract<Result<T, never>, {
|
|
148
|
-
readonly ok: true;
|
|
149
|
-
}>;
|
|
150
|
-
type ValidationErrorResult = Extract<Result<never, SsmlValidationError>, {
|
|
151
|
-
readonly status: "validation-error";
|
|
152
|
-
}>;
|
|
153
|
-
type AzureApiErrorResult = Extract<Result<never, AzureTtsError>, {
|
|
154
|
-
readonly status: "azure-api-error";
|
|
155
|
-
}>;
|
|
156
|
-
type SsmlSynthesisSafeResult = Result<SsmlSynthesisResult, never> | Result<never, SsmlValidationError> | Result<never, SsmlSynthesisError>;
|
|
157
|
-
interface SynthesizeSsmlSafeOptions extends AzureValidationOptions {
|
|
158
|
-
/** Optional nested form for callers that want to keep validation settings grouped. */
|
|
159
|
-
validation?: AzureValidationOptions;
|
|
160
|
-
signal?: AbortSignal;
|
|
161
|
-
timeouts?: SynthesisTimeouts;
|
|
162
|
-
}
|
|
163
|
-
interface SynthesizeSsmlChunksSafeOptions extends AzureValidationOptions {
|
|
164
|
-
validation?: AzureValidationOptions;
|
|
165
|
-
outputFormat?: string;
|
|
166
|
-
signal?: AbortSignal;
|
|
167
|
-
timeoutMs?: number;
|
|
168
|
-
timeouts?: SynthesisTimeouts;
|
|
169
|
-
sourceNodePath?: string[];
|
|
170
|
-
onProgress?: (event: SynthesisProgressEvent) => void;
|
|
171
|
-
concurrency?: number;
|
|
172
|
-
retryOptions?: RetryOptions;
|
|
173
|
-
cancelOnFailure?: boolean;
|
|
174
|
-
resumeChunks?: readonly SynthesizedChunk[];
|
|
175
|
-
resumeChunkIndices?: readonly number[];
|
|
176
|
-
customMerger?: CustomAudioMerger;
|
|
177
|
-
outputMimeType?: string;
|
|
178
|
-
postMergeValidator?: PostMergeValidator;
|
|
179
|
-
resumeValidation?: ResumeValidationMode;
|
|
180
|
-
}
|
|
181
|
-
type SsmlSynthesisChunksSafeResult = Result<SsmlSynthesisResult, never> | Result<never, ChunkValidationError> | Result<never, BatchChunkValidationError> | Result<never, SsmlSynthesisError | ChunkValidationError>;
|
|
182
|
-
interface SynthesisClient {
|
|
183
|
-
synthesizeSsml(ssml: string, options?: Partial<SynthesizeChunksOptions>): Promise<SsmlSynthesisResult>;
|
|
184
|
-
synthesizeChunks?(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeChunksOptions): Promise<SsmlSynthesisResult>;
|
|
185
|
-
}
|
|
186
|
-
/** Validates SSML before invoking Azure and converts validation/API failures to one result shape. */
|
|
187
|
-
declare function synthesizeSsmlSafe(client: Pick<AzureTtsClient, "synthesizeSsml"> | SynthesisClient, ssml: string, options?: SynthesizeSsmlSafeOptions): Promise<SsmlSynthesisSafeResult>;
|
|
188
|
-
/** Validates every chunk before synthesis and returns a chunk-addressable result. */
|
|
189
|
-
declare function synthesizeSsmlChunksSafe(client: Pick<AzureTtsClient, "synthesizeSsml" | "synthesizeChunks"> | SynthesisClient, chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeSsmlChunksSafeOptions): Promise<SsmlSynthesisChunksSafeResult>;
|
|
108
|
+
type AzureTtsSynthesisError = AzureTtsError | MergeError | AudioFormatMismatchError | UnsupportedMergeFormatError | SynthesisCancelledError | SynthesisTimeoutError | IncompleteChunkSetError;
|
|
109
|
+
declare function serializeChunkError(error: unknown, phase: SerializedChunkError["phase"], isOriginalFailure: boolean): SerializedChunkError;
|
|
190
110
|
|
|
191
111
|
interface TtsConfig {
|
|
192
112
|
signal?: AbortSignal;
|
|
@@ -196,6 +116,8 @@ interface TtsConfig {
|
|
|
196
116
|
subscriptionKey: string;
|
|
197
117
|
region: string;
|
|
198
118
|
outputFormat?: string;
|
|
119
|
+
customHeaders?: Readonly<Record<string, string>>;
|
|
120
|
+
fingerprintSchemaVersion?: string;
|
|
199
121
|
/** Original plain-text range represented by this synthesis request. */
|
|
200
122
|
sourceTextRange?: {
|
|
201
123
|
start: number;
|
|
@@ -331,6 +253,8 @@ interface SsmlSynthesisChunk {
|
|
|
331
253
|
interface SynthesizeChunksOptions {
|
|
332
254
|
onProgress?: (event: SynthesisProgressEvent) => void;
|
|
333
255
|
outputFormat?: AzureTtsOutputFormat | string;
|
|
256
|
+
customHeaders?: Readonly<Record<string, string>>;
|
|
257
|
+
fingerprintSchemaVersion?: string;
|
|
334
258
|
signal?: AbortSignal;
|
|
335
259
|
timeoutMs?: number;
|
|
336
260
|
timeouts?: SynthesisTimeouts;
|
|
@@ -362,7 +286,7 @@ type ChunkExecutionStatus = "succeeded" | "failed" | "cancelled" | "pending";
|
|
|
362
286
|
interface ChunkExecutionState {
|
|
363
287
|
chunkIndex: number;
|
|
364
288
|
status: ChunkExecutionStatus;
|
|
365
|
-
error?:
|
|
289
|
+
error?: SerializedChunkError;
|
|
366
290
|
isOriginalFailure?: boolean;
|
|
367
291
|
canResume: boolean;
|
|
368
292
|
result?: SsmlSynthesisResult;
|
|
@@ -406,6 +330,8 @@ interface AzureTtsClientOptions {
|
|
|
406
330
|
region: string;
|
|
407
331
|
endpoint?: string;
|
|
408
332
|
outputFormat?: string;
|
|
333
|
+
customHeaders?: Readonly<Record<string, string>>;
|
|
334
|
+
fingerprintSchemaVersion?: string;
|
|
409
335
|
logger?: AzureTtsLogger;
|
|
410
336
|
onProgress?: (event: SynthesisProgressEvent) => void;
|
|
411
337
|
concurrency?: number;
|
|
@@ -417,6 +343,120 @@ interface AzureTtsClientOptions {
|
|
|
417
343
|
resumeValidation?: ResumeValidationMode;
|
|
418
344
|
}
|
|
419
345
|
|
|
346
|
+
/** Coordinates one absolute deadline across validation, synthesis, retries, and merging. */
|
|
347
|
+
declare class DeadlineController {
|
|
348
|
+
#private;
|
|
349
|
+
readonly deadlineAtMs: number | undefined;
|
|
350
|
+
readonly signal: AbortSignal;
|
|
351
|
+
constructor(totalJobMs: number | undefined, parent?: AbortSignal);
|
|
352
|
+
get timedOut(): boolean;
|
|
353
|
+
get remainingMs(): number;
|
|
354
|
+
throwIfExpired(): void;
|
|
355
|
+
abort(): void;
|
|
356
|
+
dispose(): void;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
interface SsmlValidationError {
|
|
360
|
+
readonly kind: "validation-error";
|
|
361
|
+
readonly message: string;
|
|
362
|
+
readonly diagnostics: readonly SsmlDiagnostic[];
|
|
363
|
+
}
|
|
364
|
+
type SsmlSynthesisError = SsmlValidationError | AzureTtsSynthesisError;
|
|
365
|
+
declare class ChunkValidationError extends Error {
|
|
366
|
+
readonly kind: "validation-error";
|
|
367
|
+
readonly chunkIndex: number;
|
|
368
|
+
readonly diagnostics: readonly SsmlDiagnostic[];
|
|
369
|
+
constructor(chunkIndex: number, diagnostics: readonly SsmlDiagnostic[]);
|
|
370
|
+
}
|
|
371
|
+
interface ChunkDiagnostics {
|
|
372
|
+
readonly chunkIndex: number;
|
|
373
|
+
readonly diagnostics: readonly SsmlDiagnostic[];
|
|
374
|
+
}
|
|
375
|
+
declare class BatchChunkValidationError extends ChunkValidationError {
|
|
376
|
+
readonly chunkDiagnostics: readonly ChunkDiagnostics[];
|
|
377
|
+
readonly totalErrorCount: number;
|
|
378
|
+
readonly errorCount: number;
|
|
379
|
+
readonly totalErrors: number;
|
|
380
|
+
constructor(chunkDiagnostics: readonly ChunkDiagnostics[]);
|
|
381
|
+
}
|
|
382
|
+
type Result<T, E> = {
|
|
383
|
+
readonly ok: true;
|
|
384
|
+
readonly success: true;
|
|
385
|
+
readonly status: "success";
|
|
386
|
+
readonly value: T;
|
|
387
|
+
} | (E extends {
|
|
388
|
+
readonly kind: infer Kind extends SynthesisErrorKind;
|
|
389
|
+
} ? {
|
|
390
|
+
readonly ok: false;
|
|
391
|
+
readonly success: false;
|
|
392
|
+
readonly status: Kind;
|
|
393
|
+
readonly error: E;
|
|
394
|
+
readonly partialResult?: PartialChunkSynthesisResult;
|
|
395
|
+
} : {
|
|
396
|
+
readonly ok: false;
|
|
397
|
+
readonly success: false;
|
|
398
|
+
readonly status: SynthesisErrorKind;
|
|
399
|
+
readonly error: E;
|
|
400
|
+
readonly partialResult?: PartialChunkSynthesisResult;
|
|
401
|
+
});
|
|
402
|
+
type SynthesisResult<T, E> = Result<T, E>;
|
|
403
|
+
type Success<T> = Extract<Result<T, never>, {
|
|
404
|
+
readonly ok: true;
|
|
405
|
+
}>;
|
|
406
|
+
type ValidationErrorResult = Extract<Result<never, SsmlValidationError>, {
|
|
407
|
+
readonly status: "validation-error";
|
|
408
|
+
}>;
|
|
409
|
+
type AzureApiErrorResult = Extract<Result<never, AzureTtsError>, {
|
|
410
|
+
readonly status: "azure-api-error";
|
|
411
|
+
}>;
|
|
412
|
+
type SsmlSynthesisSafeResult = Result<SsmlSynthesisResult, never> | Result<never, SsmlValidationError> | Result<never, SsmlSynthesisError>;
|
|
413
|
+
interface SynthesizeSsmlSafeOptions extends AzureValidationOptions {
|
|
414
|
+
/** Optional nested form for callers that want to keep validation settings grouped. */
|
|
415
|
+
validation?: AzureValidationOptions;
|
|
416
|
+
signal?: AbortSignal;
|
|
417
|
+
timeouts?: SynthesisTimeouts;
|
|
418
|
+
}
|
|
419
|
+
interface SynthesizeSsmlChunksSafeOptions extends AzureValidationOptions {
|
|
420
|
+
validation?: AzureValidationOptions;
|
|
421
|
+
outputFormat?: string;
|
|
422
|
+
customHeaders?: Readonly<Record<string, string>>;
|
|
423
|
+
fingerprintSchemaVersion?: string;
|
|
424
|
+
signal?: AbortSignal;
|
|
425
|
+
timeoutMs?: number;
|
|
426
|
+
timeouts?: SynthesisTimeouts;
|
|
427
|
+
sourceNodePath?: string[];
|
|
428
|
+
onProgress?: (event: SynthesisProgressEvent) => void;
|
|
429
|
+
concurrency?: number;
|
|
430
|
+
retryOptions?: RetryOptions;
|
|
431
|
+
cancelOnFailure?: boolean;
|
|
432
|
+
resumeChunks?: readonly SynthesizedChunk[];
|
|
433
|
+
resumeChunkIndices?: readonly number[];
|
|
434
|
+
customMerger?: CustomAudioMerger;
|
|
435
|
+
outputMimeType?: string;
|
|
436
|
+
postMergeValidator?: PostMergeValidator;
|
|
437
|
+
resumeValidation?: ResumeValidationMode;
|
|
438
|
+
}
|
|
439
|
+
type SsmlSynthesisChunksSafeResult = Result<SsmlSynthesisResult, never> | Result<never, ChunkValidationError> | Result<never, BatchChunkValidationError> | Result<never, SsmlSynthesisError | ChunkValidationError>;
|
|
440
|
+
interface SynthesisClient {
|
|
441
|
+
synthesizeSsml(ssml: string, options?: Partial<SynthesizeChunksOptions>): Promise<SsmlSynthesisResult>;
|
|
442
|
+
synthesizeChunks?(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeChunksOptions): Promise<SsmlSynthesisResult>;
|
|
443
|
+
}
|
|
444
|
+
/** Validates SSML before invoking Azure and converts validation/API failures to one result shape. */
|
|
445
|
+
declare function synthesizeSsmlSafe(client: Pick<AzureTtsClient, "synthesizeSsml"> | SynthesisClient, ssml: string, options?: SynthesizeSsmlSafeOptions): Promise<SsmlSynthesisSafeResult>;
|
|
446
|
+
/** Validates every chunk before synthesis and returns a chunk-addressable result. */
|
|
447
|
+
declare function synthesizeSsmlChunksSafe(client: Pick<AzureTtsClient, "synthesizeSsml" | "synthesizeChunks"> | SynthesisClient, chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeSsmlChunksSafeOptions): Promise<SsmlSynthesisChunksSafeResult>;
|
|
448
|
+
|
|
449
|
+
declare class AzureTtsClient {
|
|
450
|
+
#private;
|
|
451
|
+
constructor(options: AzureTtsClientOptions);
|
|
452
|
+
synthesize(ssml: string): Promise<ArrayBuffer>;
|
|
453
|
+
synthesizeSsml(ssml: string, options?: Partial<TtsConfig>): Promise<SsmlSynthesisResult>;
|
|
454
|
+
synthesizeChunks(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeChunksOptions): Promise<SsmlSynthesisResult>;
|
|
455
|
+
synthesizeSsmlSafe(ssml: string, options?: SynthesizeSsmlSafeOptions): Promise<SsmlSynthesisSafeResult>;
|
|
456
|
+
synthesizeChunksSafe(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeSsmlChunksSafeOptions): Promise<SsmlSynthesisChunksSafeResult>;
|
|
457
|
+
synthesizeSsmlChunksSafe(chunks: readonly (SsmlSynthesisChunk | string)[], options?: SynthesizeSsmlChunksSafeOptions): Promise<SsmlSynthesisChunksSafeResult>;
|
|
458
|
+
}
|
|
459
|
+
|
|
420
460
|
type MergeAudioFormat = "wav" | "mp3" | "raw";
|
|
421
461
|
interface MergeAudioOptions {
|
|
422
462
|
format: AzureTtsOutputFormat;
|
|
@@ -429,10 +469,21 @@ type InputAudioSpecs = AudioSpecification[];
|
|
|
429
469
|
* The complete SSML is included so changes to voice, language, prosody, or text
|
|
430
470
|
* invalidate a cached result even when those settings are nested in the markup.
|
|
431
471
|
*/
|
|
432
|
-
|
|
472
|
+
interface ChunkFingerprintOptions {
|
|
473
|
+
outputFormat?: string;
|
|
474
|
+
region?: string;
|
|
475
|
+
endpoint?: string;
|
|
476
|
+
voice?: string;
|
|
477
|
+
lang?: string;
|
|
478
|
+
schemaVersion?: string;
|
|
479
|
+
fingerprintSchemaVersion?: string;
|
|
480
|
+
customHeaders?: Readonly<Record<string, string>>;
|
|
481
|
+
}
|
|
482
|
+
declare function computeChunkFingerprint(ssml: string, outputFormat?: string, options?: Omit<ChunkFingerprintOptions, "outputFormat">): string;
|
|
433
483
|
interface MergeSynthesisOptions extends MergeAudioOptions {
|
|
434
484
|
customMerger?: CustomAudioMerger;
|
|
435
485
|
postMergeValidator?: PostMergeValidator;
|
|
486
|
+
deadline?: DeadlineController;
|
|
436
487
|
}
|
|
437
488
|
type AsyncMergeSynthesisOptions = MergeSynthesisOptions & {
|
|
438
489
|
customMerger: NonNullable<MergeSynthesisOptions["customMerger"]>;
|
|
@@ -484,4 +535,4 @@ interface AzureVoiceCatalog {
|
|
|
484
535
|
/** Fetches and deduplicates the current Azure Speech voice catalog for one or more regions. */
|
|
485
536
|
declare function fetchAzureVoiceCatalog(options: FetchAzureVoiceCatalogOptions): Promise<AzureVoiceCatalog>;
|
|
486
537
|
|
|
487
|
-
export { AudioFormatMismatchError, type AudioSpecification, type AzureApiErrorResult, type SsmlValidationError as AzureSsmlValidationError, AzureTtsClient, type AzureTtsClientOptions, AzureTtsError, type AzureTtsLogger, type AzureTtsOutputFormat, AzureTtsSdkError, type AzureTtsSynthesisError, type AzureVoiceCatalog, type AzureVoiceCatalogVoice, BatchChunkValidationError, type ChunkDiagnostics, type ChunkExecutionState, type ChunkExecutionStatus, ChunkValidationError, type CustomAudioMerger, type CustomMergerContext, DEFAULT_OUTPUT_FORMAT, type FetchAzureVoiceCatalogOptions, type FetchedAzureVoiceCatalogMetadata, type InputAudioSpecs, type MappingStatus, type MergeAudioFormat, type MergeAudioOptions, MergeError, type MergeSynthesisOptions, type MergedSynthesisResult, type PartialChunkSynthesisResult, type PartialSynthesisResult, type PostMergeValidator, type Result, type ResumeValidationMode, type RetryOptions, type SsmlSynthesisBookmark, type SsmlSynthesisBoundary, type SsmlSynthesisChunk, type SsmlSynthesisChunksSafeResult, type SsmlSynthesisError, type SsmlSynthesisResult, type SsmlSynthesisSafeResult, type SsmlSynthesisViseme, type Success, SynthesisCancelledError, type SynthesisChunkStatus, type SynthesisErrorKind, type SynthesisProgressEvent, type SynthesisResult, SynthesisTimeoutError, type SynthesisTimeouts, type SynthesizeChunksOptions, type SynthesizeSsmlChunksSafeOptions, type SynthesizeSsmlSafeOptions, type SynthesizedChunk, type TtsConfig, UnsupportedMergeFormatError, type ValidationErrorResult, canMergeAudioFormat, computeChunkFingerprint, fetchAzureVoiceCatalog, getRetryAfterDelayMs, inspectAudioSpecification, mergeAudioBuffers, mergeSynthesisResults, resolveMergeAudioFormat, resolveMimeType, synthesizeSpeech, synthesizeSsml, synthesizeSsmlChunks, synthesizeSsmlChunksSafe, synthesizeSsmlSafe };
|
|
538
|
+
export { AudioFormatMismatchError, type AudioSpecification, type AzureApiErrorResult, type SsmlValidationError as AzureSsmlValidationError, AzureTtsClient, type AzureTtsClientOptions, AzureTtsError, type AzureTtsLogger, type AzureTtsOutputFormat, AzureTtsSdkError, type AzureTtsSynthesisError, type AzureVoiceCatalog, type AzureVoiceCatalogVoice, BatchChunkValidationError, type ChunkDiagnostics, type ChunkExecutionState, type ChunkExecutionStatus, type ChunkFingerprintOptions, ChunkValidationError, type CustomAudioMerger, type CustomMergerContext, DEFAULT_OUTPUT_FORMAT, DeadlineController, type FetchAzureVoiceCatalogOptions, type FetchedAzureVoiceCatalogMetadata, IncompleteChunkSetError, type InputAudioSpecs, type MappingStatus, type MergeAudioFormat, type MergeAudioOptions, MergeError, type MergeSynthesisOptions, type MergedSynthesisResult, type PartialChunkSynthesisResult, type PartialSynthesisResult, type PostMergeValidator, type Result, type ResumeValidationMode, type RetryOptions, type SerializedChunkError, type SerializedChunkErrorCode, type SerializedExecutionError, type SsmlSynthesisBookmark, type SsmlSynthesisBoundary, type SsmlSynthesisChunk, type SsmlSynthesisChunksSafeResult, type SsmlSynthesisError, type SsmlSynthesisResult, type SsmlSynthesisSafeResult, type SsmlSynthesisViseme, type Success, SynthesisCancelledError, type SynthesisChunkStatus, type SynthesisErrorKind, type SynthesisProgressEvent, type SynthesisResult, SynthesisTimeoutError, type SynthesisTimeouts, type SynthesizeChunksOptions, type SynthesizeSsmlChunksSafeOptions, type SynthesizeSsmlSafeOptions, type SynthesizedChunk, type TtsConfig, UnsupportedMergeFormatError, type ValidationErrorResult, canMergeAudioFormat, computeChunkFingerprint, fetchAzureVoiceCatalog, getRetryAfterDelayMs, inspectAudioSpecification, mergeAudioBuffers, mergeSynthesisResults, resolveMergeAudioFormat, resolveMimeType, serializeChunkError, synthesizeSpeech, synthesizeSsml, synthesizeSsmlChunks, synthesizeSsmlChunksSafe, synthesizeSsmlSafe };
|