@speech-sdk/core 0.22.0 → 0.24.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.
Files changed (91) hide show
  1. package/README.md +75 -9
  2. package/dist/audio-tags.d.ts +1 -0
  3. package/dist/audio-tags.d.ts.map +1 -1
  4. package/dist/audio-tags.js +4 -4
  5. package/dist/audio-tags.js.map +1 -1
  6. package/dist/conversation/stitch.d.ts +3 -0
  7. package/dist/conversation/stitch.d.ts.map +1 -1
  8. package/dist/conversation/stitch.js +16 -34
  9. package/dist/conversation/stitch.js.map +1 -1
  10. package/dist/conversation/types.d.ts +7 -0
  11. package/dist/conversation/types.d.ts.map +1 -1
  12. package/dist/errors.d.ts +16 -0
  13. package/dist/errors.d.ts.map +1 -1
  14. package/dist/errors.js +26 -0
  15. package/dist/errors.js.map +1 -1
  16. package/dist/generate-conversation.d.ts +5 -2
  17. package/dist/generate-conversation.d.ts.map +1 -1
  18. package/dist/generate-conversation.js +187 -25
  19. package/dist/generate-conversation.js.map +1 -1
  20. package/dist/generate-speech.d.ts +4 -1
  21. package/dist/generate-speech.d.ts.map +1 -1
  22. package/dist/generate-speech.js +42 -93
  23. package/dist/generate-speech.js.map +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/instructions.d.ts +5 -0
  29. package/dist/instructions.d.ts.map +1 -0
  30. package/dist/instructions.js +24 -0
  31. package/dist/instructions.js.map +1 -0
  32. package/dist/pronunciations/inverse-align.d.ts.map +1 -1
  33. package/dist/pronunciations/inverse-align.js +6 -1
  34. package/dist/pronunciations/inverse-align.js.map +1 -1
  35. package/dist/providers/elevenlabs/alignment.d.ts.map +1 -1
  36. package/dist/providers/elevenlabs/alignment.js +57 -23
  37. package/dist/providers/elevenlabs/alignment.js.map +1 -1
  38. package/dist/providers/elevenlabs/forced-alignment.d.ts +23 -0
  39. package/dist/providers/elevenlabs/forced-alignment.d.ts.map +1 -0
  40. package/dist/providers/elevenlabs/forced-alignment.js +64 -0
  41. package/dist/providers/elevenlabs/forced-alignment.js.map +1 -0
  42. package/dist/providers/elevenlabs/index.d.ts +4 -1
  43. package/dist/providers/elevenlabs/index.d.ts.map +1 -1
  44. package/dist/providers/elevenlabs/index.js +10 -7
  45. package/dist/providers/elevenlabs/index.js.map +1 -1
  46. package/dist/providers/gateway/index.d.ts +4 -0
  47. package/dist/providers/gateway/index.d.ts.map +1 -1
  48. package/dist/providers/gateway/index.js +10 -0
  49. package/dist/providers/gateway/index.js.map +1 -1
  50. package/dist/providers/google/index.d.ts +4 -0
  51. package/dist/providers/google/index.d.ts.map +1 -1
  52. package/dist/providers/google/index.js +32 -6
  53. package/dist/providers/google/index.js.map +1 -1
  54. package/dist/providers/openai/index.d.ts +2 -0
  55. package/dist/providers/openai/index.d.ts.map +1 -1
  56. package/dist/providers/openai/index.js +15 -12
  57. package/dist/providers/openai/index.js.map +1 -1
  58. package/dist/speech-provider.d.ts +5 -0
  59. package/dist/speech-provider.d.ts.map +1 -1
  60. package/dist/speech-provider.js +1 -0
  61. package/dist/speech-provider.js.map +1 -1
  62. package/dist/speech-result.d.ts +6 -0
  63. package/dist/speech-result.d.ts.map +1 -1
  64. package/dist/speech-result.js.map +1 -1
  65. package/dist/stream-speech.d.ts +1 -0
  66. package/dist/stream-speech.d.ts.map +1 -1
  67. package/dist/stream-speech.js +4 -0
  68. package/dist/stream-speech.js.map +1 -1
  69. package/dist/text-preprocessing.d.ts +12 -0
  70. package/dist/text-preprocessing.d.ts.map +1 -0
  71. package/dist/text-preprocessing.js +36 -0
  72. package/dist/text-preprocessing.js.map +1 -0
  73. package/dist/timestamp-alignment.d.ts +34 -0
  74. package/dist/timestamp-alignment.d.ts.map +1 -0
  75. package/dist/timestamp-alignment.js +125 -0
  76. package/dist/timestamp-alignment.js.map +1 -0
  77. package/dist/timestamp-finalization.d.ts +15 -0
  78. package/dist/timestamp-finalization.d.ts.map +1 -0
  79. package/dist/timestamp-finalization.js +111 -0
  80. package/dist/timestamp-finalization.js.map +1 -0
  81. package/dist/timestamp-provider.d.ts +10 -0
  82. package/dist/timestamp-provider.d.ts.map +1 -0
  83. package/dist/timestamp-provider.js +2 -0
  84. package/dist/timestamp-provider.js.map +1 -0
  85. package/dist/types.d.ts +7 -1
  86. package/dist/types.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/dist/default-stt-fallback.d.ts +0 -3
  89. package/dist/default-stt-fallback.d.ts.map +0 -1
  90. package/dist/default-stt-fallback.js +0 -11
  91. package/dist/default-stt-fallback.js.map +0 -1
@@ -2,21 +2,20 @@ import pRetry from "p-retry";
2
2
  import { applySpeedToAudio, isSpeedActive, scaleTimestamps, validateSpeed, } from "./apply-speed.js";
3
3
  import { computeAudioDuration } from "./audio-duration.js";
4
4
  import { applyOptionalOutputConversion, validateOutput, } from "./audio-output.js";
5
- import { detectAudioTags, stripAudioTags } from "./audio-tags.js";
6
5
  import { mapWithConcurrency, resolveMaxConcurrency } from "./concurrency.js";
7
- import { getDefaultSTTFallback } from "./default-stt-fallback.js";
8
- import { deriveTimestampsViaSTT } from "./derive-timestamps.js";
9
6
  import { NoSpeechGeneratedError, OutputConversionUnsupportedError, TextChunkingUnsupportedError, VolumeAdjustmentUnsupportedError, } from "./errors.js";
7
+ import { validateInstructionSupport } from "./instructions.js";
10
8
  import { debug } from "./logger.js";
11
- import { inverseAlign } from "./pronunciations/inverse-align.js";
12
9
  import { mergeRules } from "./pronunciations/merge.js";
13
10
  import { substitute } from "./pronunciations/substitute.js";
14
11
  import { validatePronunciationsInput } from "./pronunciations/validate.js";
15
12
  import { resolveModel } from "./resolve-provider.js";
16
13
  import { buildRetryOptions } from "./retry-options.js";
17
- import { isSpeechGatewayModel, modelDeclaresNativeTimestamps, modelMaxInputChars, } from "./speech-provider.js";
14
+ import { isSpeechGatewayModel, modelMaxInputChars, } from "./speech-provider.js";
18
15
  import { DefaultGeneratedAudioFile } from "./speech-result.js";
19
16
  import { resolveMaxInputChars, splitTextByMaxChars } from "./text-chunker.js";
17
+ import { preprocessSpeechText } from "./text-preprocessing.js";
18
+ import { prepareTimestampAlignment } from "./timestamp-alignment.js";
20
19
  function chunkStitchTargetRate(segments) {
21
20
  const rate = segments.reduce((m, s) => (s.sampleRate > m ? s.sampleRate : m), 0);
22
21
  if (rate <= 0) {
@@ -33,19 +32,32 @@ export async function generateSpeech(options) {
33
32
  const modelIdentifier = `${resolved.provider.id}/${resolved.modelId}`;
34
33
  const isGateway = isSpeechGatewayModel(resolved);
35
34
  validatePronunciationsInput(options.pronunciations);
36
- const { text: strippedText, warnings } = preprocessText(resolved, options.text, modelIdentifier);
37
- if (strippedText.trim().length === 0) {
35
+ const { canonicalText, providerText, warnings } = preprocessSpeechText({
36
+ resolved,
37
+ rawText: options.text,
38
+ modelIdentifier,
39
+ });
40
+ if (providerText.trim().length === 0) {
38
41
  throw new NoSpeechGeneratedError(warnings.length > 0
39
42
  ? `Text is empty after removing unsupported audio tags for ${modelIdentifier}.`
40
43
  : "Text must not be empty.");
41
44
  }
42
- let textToSend = strippedText;
45
+ const instructions = validateInstructionSupport(resolved, options.instructions);
46
+ const timestampAlignment = prepareTimestampAlignment({
47
+ modelIdentifier,
48
+ request: timestamps,
49
+ resolved,
50
+ timestampProvider: options.timestampProvider,
51
+ });
52
+ let textToSend = providerText;
53
+ let synthesizedCanonicalText = canonicalText;
43
54
  let pronunciationEdits = [];
44
55
  if (!isGateway && options.pronunciations?.rules?.length) {
45
56
  const ruleMap = mergeRules(options.pronunciations.rules);
46
- const subbed = substitute(strippedText, ruleMap);
47
- textToSend = subbed.text;
48
- pronunciationEdits = subbed.edits;
57
+ textToSend = substitute(providerText, ruleMap).text;
58
+ const canonicalSubstitution = substitute(canonicalText, ruleMap);
59
+ synthesizedCanonicalText = canonicalSubstitution.text;
60
+ pronunciationEdits = canonicalSubstitution.edits;
49
61
  }
50
62
  const { maxInputChars, shouldChunk, textChunks } = resolveTextChunks({
51
63
  resolved,
@@ -66,24 +78,14 @@ export async function generateSpeech(options) {
66
78
  // Time-stretching needs decodable PCM/WAV input — request the stitch wire format from the provider.
67
79
  needsDecodableInput: !isGateway && isSpeedActive(speed),
68
80
  });
69
- const hasNativeTimestamps = modelDeclaresNativeTimestamps(resolved);
70
- const shouldRequestNative = timestamps && (hasNativeTimestamps || isGateway);
71
- const effectiveFallback = !timestamps || shouldRequestNative
72
- ? undefined
73
- : (resolved.fallbackSTT ?? (await getDefaultSTTFallback()));
74
- logTimestampDecision({
75
- modelIdentifier,
76
- enabled: timestamps,
77
- hasNative: hasNativeTimestamps,
78
- willRequestNative: shouldRequestNative,
79
- effectiveFallback,
80
- });
81
+ const shouldRequestNative = timestampAlignment.includeNative;
81
82
  const startTime = performance.now();
82
83
  const result = shouldChunk
83
84
  ? await generateChunkedSpeech({
84
85
  resolved,
85
86
  modelIdentifier,
86
87
  textChunks,
88
+ instructions,
87
89
  voice,
88
90
  providerOptions,
89
91
  stitchOptions,
@@ -97,6 +99,7 @@ export async function generateSpeech(options) {
97
99
  : await generateProviderSpeech({
98
100
  resolved,
99
101
  text: textToSend,
102
+ instructions,
100
103
  voice,
101
104
  providerOptions,
102
105
  maxRetries,
@@ -127,25 +130,20 @@ export async function generateSpeech(options) {
127
130
  data: stretched.audio,
128
131
  mediaType: stretched.mediaType,
129
132
  });
130
- const [computedDuration, resolvedTimestamps] = await Promise.all([
131
- computeAudioDuration(audio.uint8Array, stretched.mediaType),
132
- resolveTimestamps({
133
- timestamps,
134
- modelIdentifier,
135
- resolved,
136
- // Native timestamps reference pre-stretch timing on direct paths; gateway already returns scaled timestamps.
137
- resultTimestamps: maybeScale(result.timestamps, localSpeed),
138
- audio: audio.uint8Array,
139
- mediaType: stretched.mediaType,
140
- text: textToSend,
141
- abortSignal,
142
- }),
143
- ]);
133
+ const computedDuration = await computeAudioDuration(audio.uint8Array, stretched.mediaType);
144
134
  const audioDurationMs = computedDuration ??
145
135
  maybeScaleDurationMs(result.audioDurationMs, localSpeed);
146
- const finalTimestamps = resolvedTimestamps && pronunciationEdits.length > 0
147
- ? inverseAlign(resolvedTimestamps, textToSend, pronunciationEdits)
148
- : resolvedTimestamps;
136
+ const publicAlignment = await timestampAlignment.resolve({
137
+ audio: audio.uint8Array,
138
+ audioDurationMs,
139
+ mediaType: stretched.mediaType,
140
+ originalText: canonicalText,
141
+ pronunciationEdits,
142
+ // Native timestamps reference pre-stretch timing on direct paths; gateway already returns scaled timestamps.
143
+ providerTimestamps: maybeScale(result.timestamps, localSpeed),
144
+ synthesizedText: synthesizedCanonicalText,
145
+ abortSignal,
146
+ });
149
147
  const metadata = {
150
148
  latencyMs,
151
149
  inputChars: options.text.length,
@@ -156,7 +154,7 @@ export async function generateSpeech(options) {
156
154
  metadata,
157
155
  providerMetadata: result.providerMetadata,
158
156
  warnings: mergeWarnings(warnings, result.warnings),
159
- timestamps: finalTimestamps,
157
+ timestamps: publicAlignment.timestamps,
160
158
  };
161
159
  }
162
160
  function mergeWarnings(preprocessingWarnings, providerWarnings) {
@@ -199,6 +197,7 @@ async function generateProviderSpeech(args) {
199
197
  ? args.resolved.provider.generate({
200
198
  modelId: args.resolved.modelId,
201
199
  text: args.text,
200
+ ...(args.instructions && { instructions: args.instructions }),
202
201
  voice: args.voice,
203
202
  providerOptions: args.providerOptions,
204
203
  abortSignal: args.abortSignal,
@@ -212,6 +211,7 @@ async function generateProviderSpeech(args) {
212
211
  : args.resolved.provider.generate({
213
212
  modelId: args.resolved.modelId,
214
213
  text: args.text,
214
+ ...(args.instructions && { instructions: args.instructions }),
215
215
  voice: args.voice,
216
216
  providerOptions: args.providerOptions,
217
217
  abortSignal: args.abortSignal,
@@ -233,6 +233,7 @@ async function generateChunkedSpeech(args) {
233
233
  const result = await generateProviderSpeech({
234
234
  resolved: args.resolved,
235
235
  text,
236
+ instructions: args.instructions,
236
237
  voice: args.voice,
237
238
  providerOptions: args.providerOptions,
238
239
  maxRetries: args.maxRetries,
@@ -294,29 +295,6 @@ function mergeChunkTimestamps(perChunk) {
294
295
  }
295
296
  return timestamps;
296
297
  }
297
- async function resolveTimestamps(args) {
298
- if (!args.timestamps) {
299
- return;
300
- }
301
- if (args.resultTimestamps?.length) {
302
- debug(`${args.modelIdentifier}: returned ${args.resultTimestamps.length} native word timestamps.`);
303
- return args.resultTimestamps;
304
- }
305
- if (isSpeechGatewayModel(args.resolved)) {
306
- return;
307
- }
308
- const fallback = args.resolved.fallbackSTT ?? (await getDefaultSTTFallback());
309
- const timestamps = await deriveTimestampsViaSTT({
310
- ttsModel: args.modelIdentifier,
311
- audio: args.audio,
312
- mediaType: args.mediaType,
313
- text: args.text,
314
- timestampFallback: fallback,
315
- abortSignal: args.abortSignal,
316
- });
317
- debug(`${args.modelIdentifier}: derived ${timestamps.length} word timestamps via STT fallback.`);
318
- return timestamps;
319
- }
320
298
  function resolveProviderOptionsForLocalDecoding(args) {
321
299
  if (args.isGateway) {
322
300
  return { providerOptions: args.callerOptions, stitchOptions: undefined };
@@ -393,20 +371,6 @@ async function applyLocalAudioPostProcessing(args) {
393
371
  }
394
372
  return { bytes, mediaType };
395
373
  }
396
- function preprocessText(resolved, rawText, modelIdentifier) {
397
- // Gateway server handles audio-tag normalization itself — pass raw text through.
398
- if (isSpeechGatewayModel(resolved)) {
399
- return { text: rawText, warnings: [] };
400
- }
401
- if (resolved.provider.processAudioTags) {
402
- return resolved.provider.processAudioTags(rawText, resolved.modelId);
403
- }
404
- const tags = detectAudioTags(rawText);
405
- if (tags.length > 0) {
406
- return stripAudioTags(rawText, modelIdentifier);
407
- }
408
- return { text: rawText, warnings: [] };
409
- }
410
374
  function maybeScale(timestamps, speed) {
411
375
  return isSpeedActive(speed) ? scaleTimestamps(timestamps, speed) : timestamps;
412
376
  }
@@ -443,19 +407,4 @@ async function finalizeSpeechAudio(args) {
443
407
  output: args.output,
444
408
  });
445
409
  }
446
- function logTimestampDecision(args) {
447
- const { modelIdentifier, enabled, willRequestNative } = args;
448
- if (!enabled) {
449
- debug(`${modelIdentifier}: timestamps: false — skipping alignment.`);
450
- return;
451
- }
452
- if (willRequestNative) {
453
- debug(`${modelIdentifier}: timestamps: true — requesting native alignment from the provider.`);
454
- return;
455
- }
456
- const target = args.effectiveFallback
457
- ? `${args.effectiveFallback.provider.id}/${args.effectiveFallback.modelId}`
458
- : "unconfigured STT fallback";
459
- debug(`${modelIdentifier}: timestamps: true but no native alignment available — will pipe synthesized audio through ${target} for word timestamps (adds a round-trip).`);
460
- }
461
410
  //# sourceMappingURL=generate-speech.js.map
@@ -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/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { ConversationInputError, DialogueConstraintError, MixedDispatchError, St
6
6
  export type { DesignedVoice, DesignVoiceOptions, VoiceDesignPreview, } from "./design-voice.js";
7
7
  export { designVoice } from "./design-voice.js";
8
8
  export type { ProviderErrorStage, SpeechSdkProviderErrorOptions, } from "./errors.js";
9
- export { ApiError, AudioOutputInputError, CloneSampleFetchError, GatewayInputError, InvalidCloneFieldError, InvalidDesignFieldError, MissingApiKeyError, NoSpeechGeneratedError, OutputConversionUnsupportedError, SpeechSDKError, SpeechSdkProviderError, StreamingNotSupportedError, TextChunkingUnsupportedError, TimestampKeyMissingError, TooManyCloneSamplesError, UnsupportedSampleRateError, VoiceCloningUnsupportedError, VoiceDesignUnsupportedError, VolumeAdjustmentUnsupportedError, } from "./errors.js";
9
+ export { ApiError, AudioOutputInputError, CloneSampleFetchError, GatewayInputError, InstructionsUnsupportedError, InvalidCloneFieldError, InvalidDesignFieldError, MissingApiKeyError, NoSpeechGeneratedError, OutputConversionUnsupportedError, SpeechSDKError, SpeechSdkProviderError, StreamingNotSupportedError, TextChunkingUnsupportedError, TimestampKeyMissingError, TimestampProviderRequiredError, TimestampValidationError, TooManyCloneSamplesError, UnsupportedSampleRateError, VoiceCloningUnsupportedError, VoiceDesignUnsupportedError, VolumeAdjustmentUnsupportedError, } from "./errors.js";
10
10
  export { generateConversation } from "./generate-conversation.js";
11
11
  export { generateSpeech } from "./generate-speech.js";
12
12
  export type { Pronunciation, PronunciationsInput, } from "./pronunciations/types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,EAChC,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,EAChC,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export { timestampsToCaptions } from "./captions.js";
3
3
  export { cloneVoice } from "./clone-voice.js";
4
4
  export { ConversationInputError, DialogueConstraintError, MixedDispatchError, StitchUnsupportedError, } from "./conversation/errors.js";
5
5
  export { designVoice } from "./design-voice.js";
6
- export { ApiError, AudioOutputInputError, CloneSampleFetchError, GatewayInputError, InvalidCloneFieldError, InvalidDesignFieldError, MissingApiKeyError, NoSpeechGeneratedError, OutputConversionUnsupportedError, SpeechSDKError, SpeechSdkProviderError, StreamingNotSupportedError, TextChunkingUnsupportedError, TimestampKeyMissingError, TooManyCloneSamplesError, UnsupportedSampleRateError, VoiceCloningUnsupportedError, VoiceDesignUnsupportedError, VolumeAdjustmentUnsupportedError, } from "./errors.js";
6
+ export { ApiError, AudioOutputInputError, CloneSampleFetchError, GatewayInputError, InstructionsUnsupportedError, InvalidCloneFieldError, InvalidDesignFieldError, MissingApiKeyError, NoSpeechGeneratedError, OutputConversionUnsupportedError, SpeechSDKError, SpeechSdkProviderError, StreamingNotSupportedError, TextChunkingUnsupportedError, TimestampKeyMissingError, TimestampProviderRequiredError, TimestampValidationError, TooManyCloneSamplesError, UnsupportedSampleRateError, VoiceCloningUnsupportedError, VoiceDesignUnsupportedError, VolumeAdjustmentUnsupportedError, } from "./errors.js";
7
7
  export { generateConversation } from "./generate-conversation.js";
8
8
  export { generateSpeech } from "./generate-speech.js";
9
9
  export { streamSpeech } from "./stream-speech.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAOrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,EAChC,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAOrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,EAChC,cAAc,EACd,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type ResolvedModel } from "./speech-provider.js";
2
+ export declare function nonEmptyInstructions(instructions: string | undefined): string | undefined;
3
+ export declare function combineInstructions(first: string | undefined, second: string | undefined): string | undefined;
4
+ export declare function validateInstructionSupport(resolved: ResolvedModel, instructions: string | undefined): string | undefined;
5
+ //# sourceMappingURL=instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,GAAG,SAAS,CAepB"}
@@ -0,0 +1,24 @@
1
+ import { InstructionsUnsupportedError } from "./errors.js";
2
+ import { FEATURES, hasFeature, isSpeechGatewayModel, } from "./speech-provider.js";
3
+ export function nonEmptyInstructions(instructions) {
4
+ return instructions?.trim() ? instructions : undefined;
5
+ }
6
+ export function combineInstructions(first, second) {
7
+ const parts = [
8
+ nonEmptyInstructions(first),
9
+ nonEmptyInstructions(second),
10
+ ].filter((part) => part !== undefined);
11
+ return parts.length > 0 ? parts.join("\n\n") : undefined;
12
+ }
13
+ export function validateInstructionSupport(resolved, instructions) {
14
+ const normalized = nonEmptyInstructions(instructions);
15
+ if (!normalized || isSpeechGatewayModel(resolved)) {
16
+ return normalized;
17
+ }
18
+ const model = resolved.provider.models.find((candidate) => candidate.id === resolved.modelId);
19
+ if (!(model && hasFeature(model, FEATURES.INSTRUCTIONS))) {
20
+ throw new InstructionsUnsupportedError(`${resolved.provider.id}/${resolved.modelId}`);
21
+ }
22
+ return normalized;
23
+ }
24
+ //# sourceMappingURL=instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,oBAAoB,CAClC,YAAgC;IAEhC,OAAO,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAyB,EACzB,MAA0B;IAE1B,MAAM,KAAK,GAAG;QACZ,oBAAoB,CAAC,KAAK,CAAC;QAC3B,oBAAoB,CAAC,MAAM,CAAC;KAC7B,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAuB,EACvB,YAAgC;IAEhC,MAAM,UAAU,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CACzC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CACjD,CAAC;IACF,IAAI,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,4BAA4B,CACpC,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inverse-align.d.ts","sourceRoot":"","sources":["../../src/pronunciations/inverse-align.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAmBvC,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAClD,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,SAAS,IAAI,EAAE,GACrB,CAAC,EAAE,CAiDL"}
1
+ {"version":3,"file":"inverse-align.d.ts","sourceRoot":"","sources":["../../src/pronunciations/inverse-align.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA0BvC,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAClD,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,SAAS,IAAI,EAAE,GACrB,CAAC,EAAE,CAiDL"}
@@ -1,9 +1,14 @@
1
+ const LEXICAL_CHARACTER = /[\p{L}\p{N}]/u;
1
2
  function findEditAt(position, edits) {
2
3
  return edits.find((e) => position >= e.replacementRange[0] && position < e.replacementRange[1]);
3
4
  }
4
5
  function findTokenStart(haystack, searchFrom, token) {
5
6
  return haystack.indexOf(token.toLowerCase(), searchFrom);
6
7
  }
8
+ function findTokenLexicalStart(position, token) {
9
+ const offset = token.search(LEXICAL_CHARACTER);
10
+ return offset === -1 ? position : position + offset;
11
+ }
7
12
  export function inverseAlign(timestamps, substitutedText, edits) {
8
13
  if (edits.length === 0) {
9
14
  return [...timestamps];
@@ -33,7 +38,7 @@ export function inverseAlign(timestamps, substitutedText, edits) {
33
38
  continue;
34
39
  }
35
40
  cursor = pos + ts.text.length;
36
- const edit = findEditAt(pos, edits);
41
+ const edit = findEditAt(findTokenLexicalStart(pos, ts.text), edits);
37
42
  if (edit) {
38
43
  if (pendingGroup && pendingGroup.edit === edit) {
39
44
  pendingGroup.last = ts;
@@ -1 +1 @@
1
- {"version":3,"file":"inverse-align.js","sourceRoot":"","sources":["../../src/pronunciations/inverse-align.ts"],"names":[],"mappings":"AAGA,SAAS,UAAU,CACjB,QAAgB,EAChB,KAAsB;IAEtB,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB,EAChB,UAAkB,EAClB,KAAa;IAEb,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAwB,EACxB,eAAuB,EACvB,KAAsB;IAEtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAA6C,IAAI,CAAC;IAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAE/C,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG;YACb,GAAG,YAAY,CAAC,KAAK;YACrB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY;YACpC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;YAC/B,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;SACtB,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEpC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC/C,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,YAAY,EAAE,CAAC;gBACf,YAAY,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,YAAY,EAAE,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"inverse-align.js","sourceRoot":"","sources":["../../src/pronunciations/inverse-align.ts"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,SAAS,UAAU,CACjB,QAAgB,EAChB,KAAsB;IAEtB,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB,EAChB,UAAkB,EAClB,KAAa;IAEb,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,KAAa;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAwB,EACxB,eAAuB,EACvB,KAAsB;IAEtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAA6C,IAAI,CAAC;IAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAE/C,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG;YACb,GAAG,YAAY,CAAC,KAAK;YACrB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY;YACpC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;YAC/B,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;SACtB,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAEpE,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC/C,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,YAAY,EAAE,CAAC;gBACf,YAAY,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,YAAY,EAAE,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"alignment.d.ts","sourceRoot":"","sources":["../../../src/providers/elevenlabs/alignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAK5E,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,mBAAmB,GAC7B,aAAa,EAAE,CA2CjB"}
1
+ {"version":3,"file":"alignment.d.ts","sourceRoot":"","sources":["../../../src/providers/elevenlabs/alignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAoE5E,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,mBAAmB,GAC7B,aAAa,EAAE,CAwBjB"}
@@ -5,43 +5,77 @@ export const elevenLabsAlignmentSchema = z.object({
5
5
  character_start_times_seconds: z.array(z.number()),
6
6
  characters: z.array(z.string()),
7
7
  });
8
+ const LEXICAL_CHAR = /[\p{L}\p{N}]/u;
8
9
  const WHITESPACE_CHAR = /^\s$/;
9
- // Prefer normalized_alignment for inputs with numbers/abbreviations — ElevenLabs expands those during synthesis.
10
- export function alignmentToWordTimestamps(alignment) {
10
+ function collectAlignmentRuns(alignment) {
11
11
  const chars = alignment.characters;
12
12
  const starts = alignment.character_start_times_seconds;
13
13
  const ends = alignment.character_end_times_seconds;
14
- if (chars.length === 0) {
15
- return [];
16
- }
17
- const words = [];
18
- let buf = "";
19
- let wordStart = 0;
20
- let wordEnd = 0;
21
- let inWord = false;
14
+ const runs = [];
15
+ let text = "";
16
+ let pendingSeparator = "";
17
+ let separatorBefore = "";
18
+ let runStart = 0;
19
+ let runEnd = 0;
20
+ let inRun = false;
21
+ const flushRun = () => {
22
+ if (!inRun) {
23
+ return;
24
+ }
25
+ runs.push({ text, start: runStart, end: runEnd, separatorBefore });
26
+ text = "";
27
+ inRun = false;
28
+ };
22
29
  for (let i = 0; i < chars.length; i++) {
23
30
  const c = chars[i] ?? "";
24
31
  const isWs = WHITESPACE_CHAR.test(c);
25
32
  if (isWs) {
26
- if (inWord) {
27
- words.push({ text: buf, start: wordStart, end: wordEnd });
28
- buf = "";
29
- inWord = false;
30
- }
33
+ flushRun();
34
+ pendingSeparator += c;
31
35
  continue;
32
36
  }
33
37
  const s = starts[i] ?? 0;
34
38
  const e = ends[i] ?? s;
35
- if (!inWord) {
36
- wordStart = s;
37
- inWord = true;
39
+ if (!inRun) {
40
+ runStart = s;
41
+ separatorBefore = pendingSeparator;
42
+ pendingSeparator = "";
43
+ inRun = true;
38
44
  }
39
- buf += c;
40
- wordEnd = e;
45
+ text += c;
46
+ runEnd = e;
41
47
  }
42
- if (inWord && buf.length > 0) {
43
- words.push({ text: buf, start: wordStart, end: wordEnd });
48
+ flushRun();
49
+ return runs;
50
+ }
51
+ function mergeRuns(left, right) {
52
+ return {
53
+ text: `${left.text}${right.separatorBefore}${right.text}`,
54
+ start: left.start,
55
+ end: right.end,
56
+ separatorBefore: left.separatorBefore,
57
+ };
58
+ }
59
+ // Prefer normalized_alignment for inputs with numbers/abbreviations — ElevenLabs expands those during synthesis.
60
+ export function alignmentToWordTimestamps(alignment) {
61
+ const words = [];
62
+ let leadingPunctuation;
63
+ for (const run of collectAlignmentRuns(alignment)) {
64
+ if (LEXICAL_CHAR.test(run.text)) {
65
+ words.push(leadingPunctuation ? mergeRuns(leadingPunctuation, run) : run);
66
+ leadingPunctuation = undefined;
67
+ continue;
68
+ }
69
+ const previousIndex = words.length - 1;
70
+ const previous = words[previousIndex];
71
+ if (previous) {
72
+ words[previousIndex] = mergeRuns(previous, run);
73
+ continue;
74
+ }
75
+ leadingPunctuation = leadingPunctuation
76
+ ? mergeRuns(leadingPunctuation, run)
77
+ : run;
44
78
  }
45
- return words;
79
+ return words.map(({ text, start, end }) => ({ text, start, end }));
46
80
  }
47
81
  //# sourceMappingURL=alignment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/providers/elevenlabs/alignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,sEAAsE;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,6BAA6B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAC;AAGH,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,iHAAiH;AACjH,MAAM,UAAU,yBAAyB,CACvC,SAA8B;IAE9B,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;IACnC,MAAM,MAAM,GAAG,SAAS,CAAC,6BAA6B,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,2BAA2B,CAAC;IAEnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1D,GAAG,GAAG,EAAE,CAAC;gBACT,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,GAAG,CAAC,CAAC;YACd,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,GAAG,IAAI,CAAC,CAAC;QACT,OAAO,GAAG,CAAC,CAAC;IACd,CAAC;IAED,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/providers/elevenlabs/alignment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { TimestampProvider } from "../../timestamp-provider.js";
2
+ export declare class ElevenLabsForcedAlignmentProvider implements TimestampProvider {
3
+ private readonly apiKey;
4
+ private readonly baseURL;
5
+ private readonly fetchFn;
6
+ constructor(config: {
7
+ apiKey?: string;
8
+ baseURL?: string;
9
+ fetch?: typeof globalThis.fetch;
10
+ });
11
+ align(options: {
12
+ audio: Uint8Array;
13
+ mediaType: string;
14
+ text: string;
15
+ abortSignal?: AbortSignal;
16
+ headers?: Record<string, string>;
17
+ }): Promise<{
18
+ text: string;
19
+ start: number;
20
+ end: number;
21
+ }[]>;
22
+ }
23
+ //# sourceMappingURL=forced-alignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forced-alignment.d.ts","sourceRoot":"","sources":["../../../src/providers/elevenlabs/forced-alignment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AA8BrE,qBAAa,iCAAkC,YAAW,iBAAiB;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,MAAM,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;KACjC;IAMK,KAAK,CAAC,OAAO,EAAE;QACnB,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC;;;;;CAqCF"}