@cartesia/cartesia-js 1.1.0 → 1.2.1

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 (52) hide show
  1. package/dist/{chunk-VCZESWYA.js → chunk-5SBAQNWQ.js} +1 -1
  2. package/dist/{chunk-MNOPO7G6.js → chunk-CSOXALSC.js} +7 -7
  3. package/dist/chunk-EYRYHK3X.js +43 -0
  4. package/dist/{chunk-6PWLZAMS.js → chunk-FLWYXP5Z.js} +1 -1
  5. package/dist/{chunk-L3OMQKWL.js → chunk-HQOC2S6C.js} +25 -25
  6. package/dist/{chunk-VVDJR3OA.js → chunk-I5YVYTNK.js} +16 -16
  7. package/dist/{chunk-3FL2SNIR.js → chunk-LKKWJLUG.js} +1 -1
  8. package/dist/{chunk-WIFMLPT5.js → chunk-NJDRWDQ3.js} +8 -22
  9. package/dist/{chunk-CWIJUBG6.js → chunk-RJICGVPL.js} +2 -2
  10. package/dist/chunk-WLEVU3HN.js +42 -0
  11. package/dist/{chunk-4GEDAGVY.js → chunk-YUGIYUMT.js} +8 -4
  12. package/dist/index.cjs +91 -57
  13. package/dist/index.d.cts +2 -1
  14. package/dist/index.d.ts +2 -1
  15. package/dist/index.js +14 -13
  16. package/dist/lib/client.js +2 -2
  17. package/dist/lib/constants.js +1 -1
  18. package/dist/lib/index.cjs +86 -52
  19. package/dist/lib/index.d.cts +2 -0
  20. package/dist/lib/index.d.ts +2 -0
  21. package/dist/lib/index.js +9 -8
  22. package/dist/react/index.cjs +91 -57
  23. package/dist/react/index.js +13 -12
  24. package/dist/react/utils.js +2 -2
  25. package/dist/tts/index.cjs +53 -52
  26. package/dist/tts/index.d.cts +8 -1
  27. package/dist/tts/index.d.ts +8 -1
  28. package/dist/tts/index.js +6 -6
  29. package/dist/tts/player.cjs +13 -27
  30. package/dist/tts/player.js +4 -4
  31. package/dist/tts/source.cjs +23 -37
  32. package/dist/tts/source.js +2 -2
  33. package/dist/tts/utils.js +3 -3
  34. package/dist/tts/websocket.cjs +38 -52
  35. package/dist/tts/websocket.d.cts +6 -6
  36. package/dist/tts/websocket.d.ts +6 -6
  37. package/dist/tts/websocket.js +5 -5
  38. package/dist/types/index.d.cts +25 -1
  39. package/dist/types/index.d.ts +25 -1
  40. package/dist/voice-changer/index.cjs +143 -0
  41. package/dist/voice-changer/index.d.cts +9 -0
  42. package/dist/voice-changer/index.d.ts +9 -0
  43. package/dist/voice-changer/index.js +9 -0
  44. package/dist/voices/index.js +3 -3
  45. package/package.json +10 -17
  46. package/src/lib/index.ts +3 -0
  47. package/src/tts/index.ts +16 -1
  48. package/src/types/index.ts +31 -0
  49. package/src/voice-changer/index.ts +37 -0
  50. package/.turbo/turbo-build.log +0 -75
  51. package/dist/chunk-MUPVAEL7.js +0 -25
  52. package/tsconfig.json +0 -3
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __typeError = (msg) => {
9
+ throw TypeError(msg);
10
+ };
8
11
  var __export = (target, all) => {
9
12
  for (var name in all)
10
13
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -26,28 +29,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
29
  mod
27
30
  ));
28
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var __accessCheck = (obj, member, msg) => {
30
- if (!member.has(obj))
31
- throw TypeError("Cannot " + msg);
32
- };
33
- var __privateGet = (obj, member, getter) => {
34
- __accessCheck(obj, member, "read from private field");
35
- return getter ? getter.call(obj) : member.get(obj);
36
- };
37
- var __privateAdd = (obj, member, value) => {
38
- if (member.has(obj))
39
- throw TypeError("Cannot add the same private member more than once");
40
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
41
- };
42
- var __privateSet = (obj, member, value, setter) => {
43
- __accessCheck(obj, member, "write to private field");
44
- setter ? setter.call(obj, value) : member.set(obj, value);
45
- return value;
46
- };
47
- var __privateMethod = (obj, member, method) => {
48
- __accessCheck(obj, member, "access private method");
49
- return method;
50
- };
32
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
33
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
34
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
35
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
36
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
51
37
  var __async = (__this, __arguments, generator) => {
52
38
  return new Promise((resolve, reject) => {
53
39
  var fulfilled = (value) => {
@@ -83,7 +69,7 @@ var ENCODING_MAP = {
83
69
  pcm_alaw: { arrayType: Uint8Array, bytesPerElement: 1 },
84
70
  pcm_mulaw: { arrayType: Uint8Array, bytesPerElement: 1 }
85
71
  };
86
- var _emitter, _buffer, _readIndex, _writeIndex, _closed, _sampleRate, _encoding, _container, _createBuffer, createBuffer_fn;
72
+ var _emitter, _buffer, _readIndex, _writeIndex, _closed, _sampleRate, _encoding, _container, _Source_instances, createBuffer_fn;
87
73
  var Source = class {
88
74
  /**
89
75
  * Create a new Source.
@@ -96,21 +82,15 @@ var Source = class {
96
82
  encoding,
97
83
  container
98
84
  }) {
99
- /**
100
- * Create a new buffer for the source.
101
- *
102
- * @param size - The size of the buffer to create.
103
- * @returns The new buffer as a TypedArray based on the encoding.
104
- */
105
- __privateAdd(this, _createBuffer);
85
+ __privateAdd(this, _Source_instances);
106
86
  __privateAdd(this, _emitter, new import_emittery.default());
107
- __privateAdd(this, _buffer, void 0);
87
+ __privateAdd(this, _buffer);
108
88
  __privateAdd(this, _readIndex, 0);
109
89
  __privateAdd(this, _writeIndex, 0);
110
90
  __privateAdd(this, _closed, false);
111
- __privateAdd(this, _sampleRate, void 0);
112
- __privateAdd(this, _encoding, void 0);
113
- __privateAdd(this, _container, void 0);
91
+ __privateAdd(this, _sampleRate);
92
+ __privateAdd(this, _encoding);
93
+ __privateAdd(this, _container);
114
94
  this.on = __privateGet(this, _emitter).on.bind(__privateGet(this, _emitter));
115
95
  this.once = __privateGet(this, _emitter).once.bind(__privateGet(this, _emitter));
116
96
  this.events = __privateGet(this, _emitter).events.bind(__privateGet(this, _emitter));
@@ -118,7 +98,7 @@ var Source = class {
118
98
  __privateSet(this, _sampleRate, sampleRate);
119
99
  __privateSet(this, _encoding, encoding);
120
100
  __privateSet(this, _container, container);
121
- __privateSet(this, _buffer, __privateMethod(this, _createBuffer, createBuffer_fn).call(this, 1024));
101
+ __privateSet(this, _buffer, __privateMethod(this, _Source_instances, createBuffer_fn).call(this, 1024));
122
102
  }
123
103
  get sampleRate() {
124
104
  return __privateGet(this, _sampleRate);
@@ -142,7 +122,7 @@ var Source = class {
142
122
  while (newCapacity < requiredCapacity) {
143
123
  newCapacity *= 2;
144
124
  }
145
- const newBuffer = __privateMethod(this, _createBuffer, createBuffer_fn).call(this, newCapacity);
125
+ const newBuffer = __privateMethod(this, _Source_instances, createBuffer_fn).call(this, newCapacity);
146
126
  newBuffer.set(__privateGet(this, _buffer));
147
127
  __privateSet(this, _buffer, newBuffer);
148
128
  }
@@ -247,7 +227,13 @@ _closed = new WeakMap();
247
227
  _sampleRate = new WeakMap();
248
228
  _encoding = new WeakMap();
249
229
  _container = new WeakMap();
250
- _createBuffer = new WeakSet();
230
+ _Source_instances = new WeakSet();
231
+ /**
232
+ * Create a new buffer for the source.
233
+ *
234
+ * @param size - The size of the buffer to create.
235
+ * @returns The new buffer as a TypedArray based on the encoding.
236
+ */
251
237
  createBuffer_fn = function(size) {
252
238
  const { arrayType: ArrayType } = ENCODING_MAP[__privateGet(this, _encoding)];
253
239
  return new ArrayType(size);
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ENCODING_MAP,
3
3
  Source
4
- } from "../chunk-VVDJR3OA.js";
5
- import "../chunk-WIFMLPT5.js";
4
+ } from "../chunk-I5YVYTNK.js";
5
+ import "../chunk-NJDRWDQ3.js";
6
6
  export {
7
7
  ENCODING_MAP,
8
8
  Source as default
package/dist/tts/utils.js CHANGED
@@ -7,9 +7,9 @@ import {
7
7
  isComplete,
8
8
  isSentinel,
9
9
  playAudioBuffer
10
- } from "../chunk-VCZESWYA.js";
11
- import "../chunk-VVDJR3OA.js";
12
- import "../chunk-WIFMLPT5.js";
10
+ } from "../chunk-5SBAQNWQ.js";
11
+ import "../chunk-I5YVYTNK.js";
12
+ import "../chunk-NJDRWDQ3.js";
13
13
  export {
14
14
  base64ToArray,
15
15
  createMessageHandlerForContextId,
@@ -9,6 +9,9 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
9
  var __getProtoOf = Object.getPrototypeOf;
10
10
  var __hasOwnProp = Object.prototype.hasOwnProperty;
11
11
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __typeError = (msg) => {
13
+ throw TypeError(msg);
14
+ };
12
15
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
16
  var __spreadValues = (a, b) => {
14
17
  for (var prop in b || (b = {}))
@@ -43,28 +46,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
43
46
  mod
44
47
  ));
45
48
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
46
- var __accessCheck = (obj, member, msg) => {
47
- if (!member.has(obj))
48
- throw TypeError("Cannot " + msg);
49
- };
50
- var __privateGet = (obj, member, getter) => {
51
- __accessCheck(obj, member, "read from private field");
52
- return getter ? getter.call(obj) : member.get(obj);
53
- };
54
- var __privateAdd = (obj, member, value) => {
55
- if (member.has(obj))
56
- throw TypeError("Cannot add the same private member more than once");
57
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
58
- };
59
- var __privateSet = (obj, member, value, setter) => {
60
- __accessCheck(obj, member, "write to private field");
61
- setter ? setter.call(obj, value) : member.set(obj, value);
62
- return value;
63
- };
64
- var __privateMethod = (obj, member, method) => {
65
- __accessCheck(obj, member, "access private method");
66
- return method;
67
- };
49
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
50
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
51
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
52
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
53
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
68
54
  var __async = (__this, __arguments, generator) => {
69
55
  return new Promise((resolve, reject) => {
70
56
  var fulfilled = (value) => {
@@ -143,7 +129,7 @@ var ENCODING_MAP = {
143
129
  pcm_alaw: { arrayType: Uint8Array, bytesPerElement: 1 },
144
130
  pcm_mulaw: { arrayType: Uint8Array, bytesPerElement: 1 }
145
131
  };
146
- var _emitter, _buffer, _readIndex, _writeIndex, _closed, _sampleRate, _encoding, _container, _createBuffer, createBuffer_fn;
132
+ var _emitter, _buffer, _readIndex, _writeIndex, _closed, _sampleRate, _encoding, _container, _Source_instances, createBuffer_fn;
147
133
  var Source = class {
148
134
  /**
149
135
  * Create a new Source.
@@ -156,21 +142,15 @@ var Source = class {
156
142
  encoding,
157
143
  container
158
144
  }) {
159
- /**
160
- * Create a new buffer for the source.
161
- *
162
- * @param size - The size of the buffer to create.
163
- * @returns The new buffer as a TypedArray based on the encoding.
164
- */
165
- __privateAdd(this, _createBuffer);
145
+ __privateAdd(this, _Source_instances);
166
146
  __privateAdd(this, _emitter, new import_emittery.default());
167
- __privateAdd(this, _buffer, void 0);
147
+ __privateAdd(this, _buffer);
168
148
  __privateAdd(this, _readIndex, 0);
169
149
  __privateAdd(this, _writeIndex, 0);
170
150
  __privateAdd(this, _closed, false);
171
- __privateAdd(this, _sampleRate, void 0);
172
- __privateAdd(this, _encoding, void 0);
173
- __privateAdd(this, _container, void 0);
151
+ __privateAdd(this, _sampleRate);
152
+ __privateAdd(this, _encoding);
153
+ __privateAdd(this, _container);
174
154
  this.on = __privateGet(this, _emitter).on.bind(__privateGet(this, _emitter));
175
155
  this.once = __privateGet(this, _emitter).once.bind(__privateGet(this, _emitter));
176
156
  this.events = __privateGet(this, _emitter).events.bind(__privateGet(this, _emitter));
@@ -178,7 +158,7 @@ var Source = class {
178
158
  __privateSet(this, _sampleRate, sampleRate);
179
159
  __privateSet(this, _encoding, encoding);
180
160
  __privateSet(this, _container, container);
181
- __privateSet(this, _buffer, __privateMethod(this, _createBuffer, createBuffer_fn).call(this, 1024));
161
+ __privateSet(this, _buffer, __privateMethod(this, _Source_instances, createBuffer_fn).call(this, 1024));
182
162
  }
183
163
  get sampleRate() {
184
164
  return __privateGet(this, _sampleRate);
@@ -202,7 +182,7 @@ var Source = class {
202
182
  while (newCapacity < requiredCapacity) {
203
183
  newCapacity *= 2;
204
184
  }
205
- const newBuffer = __privateMethod(this, _createBuffer, createBuffer_fn).call(this, newCapacity);
185
+ const newBuffer = __privateMethod(this, _Source_instances, createBuffer_fn).call(this, newCapacity);
206
186
  newBuffer.set(__privateGet(this, _buffer));
207
187
  __privateSet(this, _buffer, newBuffer);
208
188
  }
@@ -307,7 +287,13 @@ _closed = new WeakMap();
307
287
  _sampleRate = new WeakMap();
308
288
  _encoding = new WeakMap();
309
289
  _container = new WeakMap();
310
- _createBuffer = new WeakSet();
290
+ _Source_instances = new WeakSet();
291
+ /**
292
+ * Create a new buffer for the source.
293
+ *
294
+ * @param size - The size of the buffer to create.
295
+ * @returns The new buffer as a TypedArray based on the encoding.
296
+ */
311
297
  createBuffer_fn = function(size) {
312
298
  const { arrayType: ArrayType } = ENCODING_MAP[__privateGet(this, _encoding)];
313
299
  return new ArrayType(size);
@@ -370,7 +356,7 @@ function getEmitteryCallbacks(emitter) {
370
356
  }
371
357
 
372
358
  // src/tts/websocket.ts
373
- var _isConnected, _sampleRate2, _container2, _encoding2, _generateId, generateId_fn;
359
+ var _isConnected, _sampleRate2, _container2, _encoding2, _WebSocket_instances, generateId_fn;
374
360
  var WebSocket = class extends Client {
375
361
  /**
376
362
  * Create a new WebSocket client.
@@ -379,19 +365,11 @@ var WebSocket = class extends Client {
379
365
  */
380
366
  constructor({ sampleRate, container, encoding }, ...args) {
381
367
  super(...args);
382
- /**
383
- * Generate a unique ID suitable for a streaming context.
384
- *
385
- * Not suitable for security purposes or as a primary key, since
386
- * it lacks the amount of entropy required for those use cases.
387
- *
388
- * @returns A unique ID.
389
- */
390
- __privateAdd(this, _generateId);
368
+ __privateAdd(this, _WebSocket_instances);
391
369
  __privateAdd(this, _isConnected, false);
392
- __privateAdd(this, _sampleRate2, void 0);
393
- __privateAdd(this, _container2, void 0);
394
- __privateAdd(this, _encoding2, void 0);
370
+ __privateAdd(this, _sampleRate2);
371
+ __privateAdd(this, _container2);
372
+ __privateAdd(this, _encoding2);
395
373
  __privateSet(this, _sampleRate2, sampleRate);
396
374
  __privateSet(this, _container2, container != null ? container : "raw");
397
375
  __privateSet(this, _encoding2, encoding != null ? encoding : "pcm_f32le");
@@ -413,7 +391,7 @@ var WebSocket = class extends Client {
413
391
  throw new Error("Not connected to WebSocket. Call .connect() first.");
414
392
  }
415
393
  if (!inputs.context_id) {
416
- inputs.context_id = __privateMethod(this, _generateId, generateId_fn).call(this);
394
+ inputs.context_id = __privateMethod(this, _WebSocket_instances, generateId_fn).call(this);
417
395
  }
418
396
  if (!inputs.output_format) {
419
397
  inputs.output_format = {
@@ -593,7 +571,15 @@ _isConnected = new WeakMap();
593
571
  _sampleRate2 = new WeakMap();
594
572
  _container2 = new WeakMap();
595
573
  _encoding2 = new WeakMap();
596
- _generateId = new WeakSet();
574
+ _WebSocket_instances = new WeakSet();
575
+ /**
576
+ * Generate a unique ID suitable for a streaming context.
577
+ *
578
+ * Not suitable for security purposes or as a primary key, since
579
+ * it lacks the amount of entropy required for those use cases.
580
+ *
581
+ * @returns A unique ID.
582
+ */
597
583
  generateId_fn = function() {
598
584
  return (0, import_human_id.humanId)({
599
585
  separator: "-",
@@ -33,18 +33,18 @@ declare class WebSocket extends Client {
33
33
  message: string;
34
34
  timestamps: WordTimestamps;
35
35
  } & emittery.OmnipresentEventData)[Name]) => void | Promise<void>) => emittery.UnsubscribeFunction;
36
- off: <Name_1 extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name_1 | readonly Name_1[], listener: (eventData: ({
36
+ off: <Name extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name | readonly Name[], listener: (eventData: ({
37
37
  message: string;
38
38
  timestamps: WordTimestamps;
39
- } & emittery.OmnipresentEventData)[Name_1]) => void | Promise<void>) => void;
40
- once: <Name_2 extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name_2 | readonly Name_2[]) => emittery.EmitteryOncePromise<({
39
+ } & emittery.OmnipresentEventData)[Name]) => void | Promise<void>) => void;
40
+ once: <Name extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name | readonly Name[]) => emittery.EmitteryOncePromise<({
41
41
  message: string;
42
42
  timestamps: WordTimestamps;
43
- } & emittery.OmnipresentEventData)[Name_2]>;
44
- events: <Name_3 extends "timestamps" | "message">(eventName: Name_3 | readonly Name_3[]) => AsyncIterableIterator<{
43
+ } & emittery.OmnipresentEventData)[Name]>;
44
+ events: <Name extends "timestamps" | "message">(eventName: Name | readonly Name[]) => AsyncIterableIterator<{
45
45
  message: string;
46
46
  timestamps: WordTimestamps;
47
- }[Name_3]>;
47
+ }[Name]>;
48
48
  source: Source;
49
49
  };
50
50
  /**
@@ -33,18 +33,18 @@ declare class WebSocket extends Client {
33
33
  message: string;
34
34
  timestamps: WordTimestamps;
35
35
  } & emittery.OmnipresentEventData)[Name]) => void | Promise<void>) => emittery.UnsubscribeFunction;
36
- off: <Name_1 extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name_1 | readonly Name_1[], listener: (eventData: ({
36
+ off: <Name extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name | readonly Name[], listener: (eventData: ({
37
37
  message: string;
38
38
  timestamps: WordTimestamps;
39
- } & emittery.OmnipresentEventData)[Name_1]) => void | Promise<void>) => void;
40
- once: <Name_2 extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name_2 | readonly Name_2[]) => emittery.EmitteryOncePromise<({
39
+ } & emittery.OmnipresentEventData)[Name]) => void | Promise<void>) => void;
40
+ once: <Name extends "timestamps" | keyof emittery.OmnipresentEventData | "message">(eventName: Name | readonly Name[]) => emittery.EmitteryOncePromise<({
41
41
  message: string;
42
42
  timestamps: WordTimestamps;
43
- } & emittery.OmnipresentEventData)[Name_2]>;
44
- events: <Name_3 extends "timestamps" | "message">(eventName: Name_3 | readonly Name_3[]) => AsyncIterableIterator<{
43
+ } & emittery.OmnipresentEventData)[Name]>;
44
+ events: <Name extends "timestamps" | "message">(eventName: Name | readonly Name[]) => AsyncIterableIterator<{
45
45
  message: string;
46
46
  timestamps: WordTimestamps;
47
- }[Name_3]>;
47
+ }[Name]>;
48
48
  source: Source;
49
49
  };
50
50
  /**
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  WebSocket
3
- } from "../chunk-L3OMQKWL.js";
4
- import "../chunk-6PWLZAMS.js";
3
+ } from "../chunk-HQOC2S6C.js";
4
+ import "../chunk-5SBAQNWQ.js";
5
+ import "../chunk-I5YVYTNK.js";
6
+ import "../chunk-FLWYXP5Z.js";
5
7
  import "../chunk-2BFEKY3F.js";
6
- import "../chunk-VCZESWYA.js";
7
- import "../chunk-VVDJR3OA.js";
8
- import "../chunk-WIFMLPT5.js";
8
+ import "../chunk-NJDRWDQ3.js";
9
9
  export {
10
10
  WebSocket as default
11
11
  };
@@ -41,6 +41,7 @@ type StreamRequest = {
41
41
  language?: Language;
42
42
  add_timestamps?: boolean;
43
43
  };
44
+ type BytesRequest = Omit<StreamRequest, "continue" | "add_timestamps" | "context_id">;
44
45
  type ContinueRequest = StreamRequest & {
45
46
  context_id: string;
46
47
  };
@@ -87,6 +88,26 @@ type CloneOptions = {
87
88
  clip: Blob;
88
89
  enhance?: boolean;
89
90
  };
91
+ type VoiceChangerOptions = {
92
+ clip: File;
93
+ voice: {
94
+ id: string;
95
+ };
96
+ output_format: {
97
+ container: "mp3";
98
+ bit_rate: number;
99
+ sample_rate: number;
100
+ } | {
101
+ container: "wav";
102
+ encoding: Encoding;
103
+ sample_rate: number;
104
+ bit_rate: number;
105
+ } | {
106
+ container: "raw";
107
+ encoding: Encoding;
108
+ sample_rate: number;
109
+ };
110
+ };
90
111
  type LocalizeOptions = {
91
112
  mode: "embedding";
92
113
  embedding: number[];
@@ -118,6 +139,9 @@ type UpdateVoice = Partial<Pick<Voice, "name" | "description" | "embedding">>;
118
139
  type CloneResponse = {
119
140
  embedding: number[];
120
141
  };
142
+ type VoiceChangerBytesResponse = {
143
+ buffer: ArrayBuffer;
144
+ };
121
145
  type LocalizeResponse = {
122
146
  embedding: number[];
123
147
  };
@@ -138,4 +162,4 @@ type SourceEventData = {
138
162
  type TypedArray = Float32Array | Int16Array | Uint8Array;
139
163
  type Encoding = "pcm_f32le" | "pcm_s16le" | "pcm_alaw" | "pcm_mulaw";
140
164
 
141
- export type { Chunk, ClientOptions, CloneOptions, CloneResponse, ConnectionEventData, ContinueRequest, CreateVoice, EmitteryCallbacks, Emotion, EmotionControl, Encoding, Intensity, Language, LocalizeOptions, LocalizeResponse, MixVoicesOptions, MixVoicesResponse, Sentinel, SourceEventData, StreamOptions, StreamRequest, TypedArray, UpdateVoice, Voice, VoiceOptions, VoiceSpecifier, VoiceToMix, WebSocketBaseResponse, WebSocketChunkResponse, WebSocketErrorResponse, WebSocketOptions, WebSocketResponse, WebSocketTimestampsResponse, WordTimestamps };
165
+ export type { BytesRequest, Chunk, ClientOptions, CloneOptions, CloneResponse, ConnectionEventData, ContinueRequest, CreateVoice, EmitteryCallbacks, Emotion, EmotionControl, Encoding, Intensity, Language, LocalizeOptions, LocalizeResponse, MixVoicesOptions, MixVoicesResponse, Sentinel, SourceEventData, StreamOptions, StreamRequest, TypedArray, UpdateVoice, Voice, VoiceChangerBytesResponse, VoiceChangerOptions, VoiceOptions, VoiceSpecifier, VoiceToMix, WebSocketBaseResponse, WebSocketChunkResponse, WebSocketErrorResponse, WebSocketOptions, WebSocketResponse, WebSocketTimestampsResponse, WordTimestamps };
@@ -41,6 +41,7 @@ type StreamRequest = {
41
41
  language?: Language;
42
42
  add_timestamps?: boolean;
43
43
  };
44
+ type BytesRequest = Omit<StreamRequest, "continue" | "add_timestamps" | "context_id">;
44
45
  type ContinueRequest = StreamRequest & {
45
46
  context_id: string;
46
47
  };
@@ -87,6 +88,26 @@ type CloneOptions = {
87
88
  clip: Blob;
88
89
  enhance?: boolean;
89
90
  };
91
+ type VoiceChangerOptions = {
92
+ clip: File;
93
+ voice: {
94
+ id: string;
95
+ };
96
+ output_format: {
97
+ container: "mp3";
98
+ bit_rate: number;
99
+ sample_rate: number;
100
+ } | {
101
+ container: "wav";
102
+ encoding: Encoding;
103
+ sample_rate: number;
104
+ bit_rate: number;
105
+ } | {
106
+ container: "raw";
107
+ encoding: Encoding;
108
+ sample_rate: number;
109
+ };
110
+ };
90
111
  type LocalizeOptions = {
91
112
  mode: "embedding";
92
113
  embedding: number[];
@@ -118,6 +139,9 @@ type UpdateVoice = Partial<Pick<Voice, "name" | "description" | "embedding">>;
118
139
  type CloneResponse = {
119
140
  embedding: number[];
120
141
  };
142
+ type VoiceChangerBytesResponse = {
143
+ buffer: ArrayBuffer;
144
+ };
121
145
  type LocalizeResponse = {
122
146
  embedding: number[];
123
147
  };
@@ -138,4 +162,4 @@ type SourceEventData = {
138
162
  type TypedArray = Float32Array | Int16Array | Uint8Array;
139
163
  type Encoding = "pcm_f32le" | "pcm_s16le" | "pcm_alaw" | "pcm_mulaw";
140
164
 
141
- export type { Chunk, ClientOptions, CloneOptions, CloneResponse, ConnectionEventData, ContinueRequest, CreateVoice, EmitteryCallbacks, Emotion, EmotionControl, Encoding, Intensity, Language, LocalizeOptions, LocalizeResponse, MixVoicesOptions, MixVoicesResponse, Sentinel, SourceEventData, StreamOptions, StreamRequest, TypedArray, UpdateVoice, Voice, VoiceOptions, VoiceSpecifier, VoiceToMix, WebSocketBaseResponse, WebSocketChunkResponse, WebSocketErrorResponse, WebSocketOptions, WebSocketResponse, WebSocketTimestampsResponse, WordTimestamps };
165
+ export type { BytesRequest, Chunk, ClientOptions, CloneOptions, CloneResponse, ConnectionEventData, ContinueRequest, CreateVoice, EmitteryCallbacks, Emotion, EmotionControl, Encoding, Intensity, Language, LocalizeOptions, LocalizeResponse, MixVoicesOptions, MixVoicesResponse, Sentinel, SourceEventData, StreamOptions, StreamRequest, TypedArray, UpdateVoice, Voice, VoiceChangerBytesResponse, VoiceChangerOptions, VoiceOptions, VoiceSpecifier, VoiceToMix, WebSocketBaseResponse, WebSocketChunkResponse, WebSocketErrorResponse, WebSocketOptions, WebSocketResponse, WebSocketTimestampsResponse, WordTimestamps };
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __copyProps = (to, from, except, desc) => {
30
+ if (from && typeof from === "object" || typeof from === "function") {
31
+ for (let key of __getOwnPropNames(from))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
+ }
35
+ return to;
36
+ };
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
38
+ // If the importer is in node compatibility mode or this is not an ESM
39
+ // file that has been converted to a CommonJS file using a Babel-
40
+ // compatible transform (i.e. "__esModule" has not been set), then set
41
+ // "default" to the CommonJS "module.exports" for node compatibility.
42
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
43
+ mod
44
+ ));
45
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
46
+ var __async = (__this, __arguments, generator) => {
47
+ return new Promise((resolve, reject) => {
48
+ var fulfilled = (value) => {
49
+ try {
50
+ step(generator.next(value));
51
+ } catch (e) {
52
+ reject(e);
53
+ }
54
+ };
55
+ var rejected = (value) => {
56
+ try {
57
+ step(generator.throw(value));
58
+ } catch (e) {
59
+ reject(e);
60
+ }
61
+ };
62
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
63
+ step((generator = generator.apply(__this, __arguments)).next());
64
+ });
65
+ };
66
+
67
+ // src/voice-changer/index.ts
68
+ var voice_changer_exports = {};
69
+ __export(voice_changer_exports, {
70
+ default: () => VoiceChanger
71
+ });
72
+ module.exports = __toCommonJS(voice_changer_exports);
73
+
74
+ // src/lib/client.ts
75
+ var import_cross_fetch = __toESM(require("cross-fetch"), 1);
76
+
77
+ // src/lib/constants.ts
78
+ var BASE_URL = "https://api.cartesia.ai";
79
+ var CARTESIA_VERSION = "2024-06-10";
80
+ var constructApiUrl = (baseUrl, path, { websocket = false } = {}) => {
81
+ const url = new URL(path, baseUrl);
82
+ if (websocket) {
83
+ url.protocol = baseUrl.replace(/^http/, "ws");
84
+ }
85
+ return url;
86
+ };
87
+
88
+ // src/lib/client.ts
89
+ var Client = class {
90
+ constructor(options = {}) {
91
+ const apiKey = options.apiKey || process.env.CARTESIA_API_KEY;
92
+ if (!apiKey) {
93
+ throw new Error("Missing Cartesia API key.");
94
+ }
95
+ this.apiKey = typeof apiKey === "function" ? apiKey : () => __async(this, null, function* () {
96
+ return apiKey;
97
+ });
98
+ this.baseUrl = options.baseUrl || BASE_URL;
99
+ }
100
+ _fetch(_0) {
101
+ return __async(this, arguments, function* (path, options = {}) {
102
+ const url = constructApiUrl(this.baseUrl, path);
103
+ const headers = new Headers(options.headers);
104
+ headers.set("X-API-Key", yield this.apiKey());
105
+ headers.set("Cartesia-Version", CARTESIA_VERSION);
106
+ return (0, import_cross_fetch.default)(url.toString(), __spreadProps(__spreadValues({}, options), {
107
+ headers
108
+ }));
109
+ });
110
+ }
111
+ };
112
+
113
+ // src/voice-changer/index.ts
114
+ var VoiceChanger = class extends Client {
115
+ bytes(options) {
116
+ return __async(this, null, function* () {
117
+ const formData = new FormData();
118
+ formData.append("clip", options.clip);
119
+ formData.append("voice[id]", options.voice.id);
120
+ const fmt = options.output_format;
121
+ formData.append("output_format[container]", fmt.container);
122
+ if ("encoding" in fmt) {
123
+ formData.append("output_format[encoding]", fmt.encoding);
124
+ }
125
+ if ("bit_rate" in fmt) {
126
+ formData.append("output_format[bit_rate]", fmt.bit_rate.toString());
127
+ }
128
+ if ("sample_rate" in fmt) {
129
+ formData.append("output_format[sample_rate]", fmt.sample_rate.toString());
130
+ }
131
+ const response = yield this._fetch("/voice-changer/bytes", {
132
+ method: "POST",
133
+ body: formData
134
+ });
135
+ if (!response.ok) {
136
+ throw new Error(
137
+ `Voice changer error! status: ${response.status}, message: ${yield response.text()}`
138
+ );
139
+ }
140
+ return { buffer: yield response.arrayBuffer() };
141
+ });
142
+ }
143
+ };
@@ -0,0 +1,9 @@
1
+ import { Client } from '../lib/client.cjs';
2
+ import { VoiceChangerOptions, VoiceChangerBytesResponse } from '../types/index.cjs';
3
+ import 'emittery';
4
+
5
+ declare class VoiceChanger extends Client {
6
+ bytes(options: VoiceChangerOptions): Promise<VoiceChangerBytesResponse>;
7
+ }
8
+
9
+ export { VoiceChanger as default };
@@ -0,0 +1,9 @@
1
+ import { Client } from '../lib/client.js';
2
+ import { VoiceChangerOptions, VoiceChangerBytesResponse } from '../types/index.js';
3
+ import 'emittery';
4
+
5
+ declare class VoiceChanger extends Client {
6
+ bytes(options: VoiceChangerOptions): Promise<VoiceChangerBytesResponse>;
7
+ }
8
+
9
+ export { VoiceChanger as default };
@@ -0,0 +1,9 @@
1
+ import {
2
+ VoiceChanger
3
+ } from "../chunk-WLEVU3HN.js";
4
+ import "../chunk-FLWYXP5Z.js";
5
+ import "../chunk-2BFEKY3F.js";
6
+ import "../chunk-NJDRWDQ3.js";
7
+ export {
8
+ VoiceChanger as default
9
+ };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Voices
3
- } from "../chunk-CWIJUBG6.js";
4
- import "../chunk-6PWLZAMS.js";
3
+ } from "../chunk-RJICGVPL.js";
4
+ import "../chunk-FLWYXP5Z.js";
5
5
  import "../chunk-2BFEKY3F.js";
6
- import "../chunk-WIFMLPT5.js";
6
+ import "../chunk-NJDRWDQ3.js";
7
7
  export {
8
8
  Voices as default
9
9
  };