@speech-sdk/core 0.10.0 → 0.11.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 (94) hide show
  1. package/dist/audio-decode.js +4 -1
  2. package/dist/audio-decode.js.map +1 -1
  3. package/dist/audio-output.d.ts +6 -0
  4. package/dist/audio-output.d.ts.map +1 -1
  5. package/dist/audio-output.js +20 -5
  6. package/dist/audio-output.js.map +1 -1
  7. package/dist/conversation/dispatch.d.ts +4 -0
  8. package/dist/conversation/dispatch.d.ts.map +1 -1
  9. package/dist/conversation/dispatch.js +20 -5
  10. package/dist/conversation/dispatch.js.map +1 -1
  11. package/dist/conversation/pcm-concat.d.ts.map +1 -1
  12. package/dist/conversation/pcm-concat.js +17 -1
  13. package/dist/conversation/pcm-concat.js.map +1 -1
  14. package/dist/conversation/stitch.d.ts.map +1 -1
  15. package/dist/conversation/stitch.js +12 -6
  16. package/dist/conversation/stitch.js.map +1 -1
  17. package/dist/encoders/mp3.d.ts.map +1 -1
  18. package/dist/encoders/mp3.js +3 -1
  19. package/dist/encoders/mp3.js.map +1 -1
  20. package/dist/errors.d.ts +5 -0
  21. package/dist/errors.d.ts.map +1 -1
  22. package/dist/errors.js +13 -0
  23. package/dist/errors.js.map +1 -1
  24. package/dist/generate-conversation.d.ts.map +1 -1
  25. package/dist/generate-conversation.js +12 -9
  26. package/dist/generate-conversation.js.map +1 -1
  27. package/dist/generate-speech.d.ts.map +1 -1
  28. package/dist/generate-speech.js +14 -4
  29. package/dist/generate-speech.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/providers/cartesia/index.d.ts +4 -1
  35. package/dist/providers/cartesia/index.d.ts.map +1 -1
  36. package/dist/providers/cartesia/index.js +59 -23
  37. package/dist/providers/cartesia/index.js.map +1 -1
  38. package/dist/providers/deepgram/index.d.ts +5 -2
  39. package/dist/providers/deepgram/index.d.ts.map +1 -1
  40. package/dist/providers/deepgram/index.js +48 -25
  41. package/dist/providers/deepgram/index.js.map +1 -1
  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 +42 -16
  45. package/dist/providers/elevenlabs/index.js.map +1 -1
  46. package/dist/providers/fal/index.d.ts +4 -2
  47. package/dist/providers/fal/index.d.ts.map +1 -1
  48. package/dist/providers/fal/index.js +10 -4
  49. package/dist/providers/fal/index.js.map +1 -1
  50. package/dist/providers/fish-audio/index.d.ts +6 -1
  51. package/dist/providers/fish-audio/index.d.ts.map +1 -1
  52. package/dist/providers/fish-audio/index.js +31 -14
  53. package/dist/providers/fish-audio/index.js.map +1 -1
  54. package/dist/providers/google/index.d.ts +4 -1
  55. package/dist/providers/google/index.d.ts.map +1 -1
  56. package/dist/providers/google/index.js +17 -9
  57. package/dist/providers/google/index.js.map +1 -1
  58. package/dist/providers/hume/index.d.ts +5 -2
  59. package/dist/providers/hume/index.d.ts.map +1 -1
  60. package/dist/providers/hume/index.js +30 -11
  61. package/dist/providers/hume/index.js.map +1 -1
  62. package/dist/providers/inworld/index.d.ts +5 -2
  63. package/dist/providers/inworld/index.d.ts.map +1 -1
  64. package/dist/providers/inworld/index.js +26 -14
  65. package/dist/providers/inworld/index.js.map +1 -1
  66. package/dist/providers/mistral/index.d.ts +5 -2
  67. package/dist/providers/mistral/index.d.ts.map +1 -1
  68. package/dist/providers/mistral/index.js +18 -8
  69. package/dist/providers/mistral/index.js.map +1 -1
  70. package/dist/providers/murf/index.d.ts +9 -3
  71. package/dist/providers/murf/index.d.ts.map +1 -1
  72. package/dist/providers/murf/index.js +32 -15
  73. package/dist/providers/murf/index.js.map +1 -1
  74. package/dist/providers/openai/index.d.ts +4 -1
  75. package/dist/providers/openai/index.d.ts.map +1 -1
  76. package/dist/providers/openai/index.js +37 -10
  77. package/dist/providers/openai/index.js.map +1 -1
  78. package/dist/providers/resemble/index.d.ts +8 -2
  79. package/dist/providers/resemble/index.d.ts.map +1 -1
  80. package/dist/providers/resemble/index.js +33 -11
  81. package/dist/providers/resemble/index.js.map +1 -1
  82. package/dist/providers/smallest-ai/index.d.ts +5 -2
  83. package/dist/providers/smallest-ai/index.d.ts.map +1 -1
  84. package/dist/providers/smallest-ai/index.js +17 -7
  85. package/dist/providers/smallest-ai/index.js.map +1 -1
  86. package/dist/providers/xai/index.d.ts +9 -6
  87. package/dist/providers/xai/index.d.ts.map +1 -1
  88. package/dist/providers/xai/index.js +37 -22
  89. package/dist/providers/xai/index.js.map +1 -1
  90. package/dist/speech-provider.d.ts +17 -1
  91. package/dist/speech-provider.d.ts.map +1 -1
  92. package/dist/speech-provider.js +18 -0
  93. package/dist/speech-provider.js.map +1 -1
  94. package/package.json +1 -1
@@ -1,5 +1,9 @@
1
1
  import { handleErrorResponse, resolveApiKey, SDK_USER_AGENT, } from "../../provider-utils.js";
2
+ import { resolveSampleRate, } from "../../speech-provider.js";
2
3
  export const XAI_PROVIDER_ID = "xai";
4
+ const XAI_SAMPLE_RATES = [
5
+ 8000, 16_000, 22_050, 24_000, 44_100, 48_000,
6
+ ];
3
7
  // ISO 639-1 codes; xAI also accepts BCP-47 (e.g. pt-BR) and "auto" via providerOptions.language.
4
8
  const XAI_LANGUAGES = [
5
9
  "en",
@@ -56,12 +60,15 @@ export class XaiSpeechProvider {
56
60
  }
57
61
  return body;
58
62
  }
59
- mediaTypeForCodec(codec) {
63
+ mediaTypeForBody(body) {
64
+ const output = body.output_format;
65
+ const codec = output?.codec;
60
66
  if (codec === "wav") {
61
67
  return "audio/wav";
62
68
  }
63
69
  if (codec === "pcm") {
64
- return "audio/pcm";
70
+ const rate = typeof output?.sample_rate === "number" ? output.sample_rate : null;
71
+ return rate == null ? "audio/pcm" : `audio/pcm;rate=${rate}`;
65
72
  }
66
73
  if (codec === "mulaw") {
67
74
  return "audio/basic";
@@ -71,10 +78,6 @@ export class XaiSpeechProvider {
71
78
  }
72
79
  return "audio/mpeg";
73
80
  }
74
- codecFromBody(body) {
75
- const output = body.output_format;
76
- return output?.codec;
77
- }
78
81
  async generate(options) {
79
82
  const body = this.buildBody(options);
80
83
  const response = await this.fetchFn(`${this.baseURL}/tts`, {
@@ -90,8 +93,8 @@ export class XaiSpeechProvider {
90
93
  });
91
94
  await handleErrorResponse(response);
92
95
  const arrayBuffer = await response.arrayBuffer();
93
- const mediaType = response.headers.get("content-type") ??
94
- this.mediaTypeForCodec(this.codecFromBody(body));
96
+ // xAI returns bare "audio/pcm" without rate for pcm codec; derive from the requested body so the rate is always present.
97
+ const mediaType = this.mediaTypeForBody(body);
95
98
  return {
96
99
  audio: new Uint8Array(arrayBuffer),
97
100
  mediaType,
@@ -116,41 +119,53 @@ export class XaiSpeechProvider {
116
119
  }
117
120
  return {
118
121
  stream: response.body,
119
- mediaType: response.headers.get("content-type") ??
120
- this.mediaTypeForCodec(this.codecFromBody(body)),
122
+ mediaType: this.mediaTypeForBody(body),
121
123
  };
122
124
  }
123
- getStitchOptions(modelId) {
124
- if (this.models.some((m) => m.id === modelId)) {
125
- return {
126
- providerOptions: { output_format: { codec: "wav" } },
127
- mediaType: "audio/wav",
128
- };
125
+ supportedSampleRates(modelId) {
126
+ if (!this.models.some((m) => m.id === modelId)) {
127
+ return [];
129
128
  }
130
- return;
129
+ return XAI_SAMPLE_RATES;
130
+ }
131
+ getStitchOptions(modelId, opts) {
132
+ if (!this.models.some((m) => m.id === modelId)) {
133
+ return;
134
+ }
135
+ const rate = resolveSampleRate(`xai/${modelId}`, this.supportedSampleRates(modelId), opts?.sampleRate);
136
+ return {
137
+ providerOptions: { output_format: { codec: "wav", sample_rate: rate } },
138
+ mediaType: "audio/wav",
139
+ };
131
140
  }
132
141
  resolveOutputFormat(modelId, output) {
133
142
  if (!this.models.some((m) => m.id === modelId)) {
134
143
  return;
135
144
  }
136
145
  switch (output.format) {
137
- case "wav":
146
+ case "wav": {
147
+ const rate = resolveSampleRate(`xai/${modelId}`, this.supportedSampleRates(modelId), output.sampleRate);
138
148
  return {
139
- providerOptions: { output_format: { codec: "wav" } },
149
+ providerOptions: {
150
+ output_format: { codec: "wav", sample_rate: rate },
151
+ },
140
152
  expectedMediaType: "audio/wav",
141
153
  };
154
+ }
142
155
  case "mp3":
143
156
  return {
144
157
  providerOptions: { output_format: { codec: "mp3" } },
145
158
  expectedMediaType: "audio/mpeg",
146
159
  };
147
- case "pcm":
160
+ case "pcm": {
161
+ const rate = resolveSampleRate(`xai/${modelId}`, this.supportedSampleRates(modelId), output.sampleRate);
148
162
  return {
149
163
  providerOptions: {
150
- output_format: { codec: "pcm", sample_rate: 24_000 },
164
+ output_format: { codec: "pcm", sample_rate: rate },
151
165
  },
152
- expectedMediaType: "audio/pcm;rate=24000",
166
+ expectedMediaType: `audio/pcm;rate=${rate}`,
153
167
  };
168
+ }
154
169
  default:
155
170
  return;
156
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/xai/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/xai/index.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,9 @@ export interface SpeechProvider<TModel extends string = string, TVoice extends V
74
74
  providerMetadata?: Record<string, unknown>;
75
75
  timestamps?: WordTimestamp[];
76
76
  }>;
77
- getStitchOptions?(modelId: string): StitchTurnOptions | undefined;
77
+ getStitchOptions?(modelId: string, opts?: {
78
+ sampleRate?: number;
79
+ }): StitchTurnOptions | undefined;
78
80
  id: string;
79
81
  models: readonly ModelInfo[];
80
82
  processAudioTags?(text: string, modelId: string): {
@@ -103,6 +105,14 @@ export interface SpeechProvider<TModel extends string = string, TVoice extends V
103
105
  mediaType: string;
104
106
  providerMetadata?: Record<string, unknown>;
105
107
  }>;
108
+ /**
109
+ * Sample rates (Hz) the provider's API can natively produce for this model.
110
+ * `getStitchOptions` and `resolveOutputFormat` validate any caller-supplied
111
+ * `sampleRate` against this set. The SDK defaults to `max(...)` when the
112
+ * caller doesn't supply one. Providers that don't expose rate selection may
113
+ * omit this; a runtime error is thrown if the caller supplies one.
114
+ */
115
+ supportedSampleRates?(modelId: string): readonly number[];
106
116
  }
107
117
  export interface ResolvedModel<TVoice extends Voice = Voice> {
108
118
  fallbackSTT?: ResolvedSTTModel;
@@ -114,4 +124,10 @@ export declare function isSpeechGatewayModel<V extends Voice>(model: ResolvedMod
114
124
  };
115
125
  export declare function modelDeclaresNativeTimestamps(resolved: ResolvedModel): boolean;
116
126
  export declare function modelMaxInputChars(resolved: ResolvedModel): number | undefined;
127
+ /**
128
+ * Resolves a caller-requested sampleRate against a provider's supported set.
129
+ * Returns the requested rate if supported, the max supported rate if unspecified,
130
+ * or throws UnsupportedSampleRateError if the request is not in the set.
131
+ */
132
+ export declare function resolveSampleRate(modelIdentifier: string, supported: readonly number[], requested: number | undefined): number;
117
133
  //# sourceMappingURL=speech-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"speech-provider.d.ts","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speech-provider.d.ts","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { UnsupportedSampleRateError } from "./errors.js";
1
2
  import { SPEECH_GATEWAY_PROVIDER_ID, } from "./providers/gateway/index.js";
2
3
  export const FEATURES = {
3
4
  STREAMING: "streaming",
@@ -20,4 +21,21 @@ export function modelMaxInputChars(resolved) {
20
21
  return resolved.provider.models?.find((m) => m.id === resolved.modelId)
21
22
  ?.maxInputChars;
22
23
  }
24
+ /**
25
+ * Resolves a caller-requested sampleRate against a provider's supported set.
26
+ * Returns the requested rate if supported, the max supported rate if unspecified,
27
+ * or throws UnsupportedSampleRateError if the request is not in the set.
28
+ */
29
+ export function resolveSampleRate(modelIdentifier, supported, requested) {
30
+ if (supported.length === 0) {
31
+ throw new Error(`${modelIdentifier}: supportedSampleRates returned empty set`);
32
+ }
33
+ if (requested == null) {
34
+ return Math.max(...supported);
35
+ }
36
+ if (!supported.includes(requested)) {
37
+ throw new UnsupportedSampleRateError(modelIdentifier, requested, supported);
38
+ }
39
+ return requested;
40
+ }
23
41
  //# sourceMappingURL=speech-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"speech-provider.js","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AA4BtC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CAChB,CAAC;AAEX,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,EAAU;IACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAC/C,CAAC;AACJ,CAAC;AA2FD,MAAM,UAAU,oBAAoB,CAClC,KAAuB;IAEvB,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,0BAA0B,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAuB;IAEvB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CACjC,CAAC;IACF,OAAO,SAAS,IAAI,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAuB;IAEvB,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC;QACrE,EAAE,aAAa,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"speech-provider.js","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AA4BtC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CAChB,CAAC;AAEX,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,EAAU;IACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAC/C,CAAC;AACJ,CAAC;AAuGD,MAAM,UAAU,oBAAoB,CAClC,KAAuB;IAEvB,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,0BAA0B,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAuB;IAEvB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CACjC,CAAC;IACF,OAAO,SAAS,IAAI,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAuB;IAEvB,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC;QACrE,EAAE,aAAa,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,eAAuB,EACvB,SAA4B,EAC5B,SAA6B;IAE7B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,GAAG,eAAe,2CAA2C,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,0BAA0B,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speech-sdk/core",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Universal, cross-platform text-to-speech SDK with multi-provider support.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",