@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
@@ -0,0 +1,10 @@
1
+ import type { WordTimestamp } from "./timestamps.js";
2
+ export interface TimestampProvider {
3
+ align(input: {
4
+ readonly abortSignal?: AbortSignal;
5
+ readonly audio: Uint8Array;
6
+ readonly mediaType: string;
7
+ readonly text: string;
8
+ }): Promise<readonly WordTimestamp[]>;
9
+ }
10
+ //# sourceMappingURL=timestamp-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp-provider.d.ts","sourceRoot":"","sources":["../src/timestamp-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,KAAK,EAAE;QACX,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=timestamp-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp-provider.js","sourceRoot":"","sources":["../src/timestamp-provider.ts"],"names":[],"mappings":""}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { AudioOutput } from "./audio-output.js";
2
2
  import type { PronunciationsInput } from "./pronunciations/types.js";
3
3
  import type { ResolvedModel, Voice } from "./speech-provider.js";
4
+ import type { TimestampProvider } from "./timestamp-provider.js";
4
5
  export type { AudioOutput, AudioOutputFormat } from "./audio-output.js";
5
6
  export type { CaptionFormat, CaptionsOptions } from "./captions.js";
6
7
  export type { ClonedVoice, CloneVoiceOptions, SpeechProviderFactory, VoiceSample, } from "./clone-voice.js";
@@ -24,15 +25,18 @@ export type { OpenAISpeechProviderConfig } from "./providers/openai/index.js";
24
25
  export type { ResembleSpeechProviderConfig } from "./providers/resemble/index.js";
25
26
  export type { XaiSpeechProviderConfig } from "./providers/xai/index.js";
26
27
  export type { Feature, ModelInfo, ResolvedModel, SpeechProvider, Voice, } from "./speech-provider.js";
27
- export type { ConversationResult, GeneratedAudioFile, SpeechResult, } from "./speech-result.js";
28
+ export type { ConversationResult, ConversationResultWithTimestamps, GeneratedAudioFile, SpeechResult, SpeechResultWithTimestamps, } from "./speech-result.js";
28
29
  export type { ResolvedSTTModel, SpeechToTextProvider, STTModelInfo, } from "./speech-to-text-provider.js";
29
30
  export type { StreamSpeechResult } from "./stream-speech-result.js";
31
+ export type { TimestampProvider } from "./timestamp-provider.js";
30
32
  export type { ConversationWordTimestamp, WordTimestamp, } from "./timestamps.js";
31
33
  export type { TurnTimestamp } from "./turns.js";
32
34
  export interface GenerateSpeechOptions<V extends Voice = Voice, M extends string | ResolvedModel<V> = string | ResolvedModel<V>> {
33
35
  abortSignal?: AbortSignal;
34
36
  apiKey?: string;
35
37
  headers?: Record<string, string>;
38
+ /** Non-spoken delivery direction. The selected model must declare instruction support. */
39
+ instructions?: string;
36
40
  maxConcurrency?: number;
37
41
  maxInputChars?: number;
38
42
  maxRetries?: number;
@@ -41,7 +45,9 @@ export interface GenerateSpeechOptions<V extends Voice = Voice, M extends string
41
45
  pronunciations?: PronunciationsInput;
42
46
  providerOptions?: Record<string, unknown>;
43
47
  speed?: number;
48
+ /** The exact spoken transcript expected in the generated audio. */
44
49
  text: string;
50
+ timestampProvider?: TimestampProvider;
45
51
  timestamps?: boolean;
46
52
  voice: V;
47
53
  volumeDbfs?: number;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speech-sdk/core",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "Universal, cross-platform text-to-speech SDK with multi-provider support.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.11.1",
@@ -1,3 +0,0 @@
1
- import type { ResolvedSTTModel } from "./speech-to-text-provider.js";
2
- export declare function getDefaultSTTFallback(): Promise<ResolvedSTTModel>;
3
- //# sourceMappingURL=default-stt-fallback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-stt-fallback.d.ts","sourceRoot":"","sources":["../src/default-stt-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAOvE"}
@@ -1,11 +0,0 @@
1
- let cached;
2
- // Dynamic import keeps the OpenAI provider out of bundles for callers who never trigger the STT fallback.
3
- export async function getDefaultSTTFallback() {
4
- if (cached) {
5
- return cached;
6
- }
7
- const { createOpenAI } = await import("./providers/openai/index.js");
8
- cached = createOpenAI().stt("whisper-1");
9
- return cached;
10
- }
11
- //# sourceMappingURL=default-stt-fallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-stt-fallback.js","sourceRoot":"","sources":["../src/default-stt-fallback.ts"],"names":[],"mappings":"AAEA,IAAI,MAAoC,CAAC;AAEzC,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACrE,MAAM,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC"}