@supertone/supertone 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +119 -69
- package/custom_test/realtime_tts_player.ts +177 -12
- package/custom_test/test_pronunciation_dictionary.ts +227 -0
- package/custom_test/test_real_api.ts +1677 -162
- package/custom_test/test_text_utils_chunk_text_punctuation.ts +55 -0
- package/dist/commonjs/lib/config.d.ts +2 -2
- package/dist/commonjs/lib/config.d.ts.map +1 -1
- package/dist/commonjs/lib/config.js +2 -2
- package/dist/commonjs/lib/config.js.map +1 -1
- package/dist/commonjs/lib/custom_utils/index.d.ts +1 -0
- package/dist/commonjs/lib/custom_utils/index.d.ts.map +1 -1
- package/dist/commonjs/lib/custom_utils/index.js +5 -1
- package/dist/commonjs/lib/custom_utils/index.js.map +1 -1
- package/dist/commonjs/lib/custom_utils/pronunciation_utils.d.ts +24 -0
- package/dist/commonjs/lib/custom_utils/pronunciation_utils.d.ts.map +1 -0
- package/dist/commonjs/lib/custom_utils/pronunciation_utils.js +145 -0
- package/dist/commonjs/lib/custom_utils/pronunciation_utils.js.map +1 -0
- package/dist/commonjs/lib/custom_utils/text_utils.d.ts +8 -1
- package/dist/commonjs/lib/custom_utils/text_utils.d.ts.map +1 -1
- package/dist/commonjs/lib/custom_utils/text_utils.js +125 -7
- package/dist/commonjs/lib/custom_utils/text_utils.js.map +1 -1
- package/dist/commonjs/models/apiconverttexttospeechusingcharacterrequest.d.ts +92 -1
- package/dist/commonjs/models/apiconverttexttospeechusingcharacterrequest.d.ts.map +1 -1
- package/dist/commonjs/models/apiconverttexttospeechusingcharacterrequest.js +48 -3
- package/dist/commonjs/models/apiconverttexttospeechusingcharacterrequest.js.map +1 -1
- package/dist/commonjs/models/predictttsdurationusingcharacterrequest.d.ts +92 -1
- package/dist/commonjs/models/predictttsdurationusingcharacterrequest.d.ts.map +1 -1
- package/dist/commonjs/models/predictttsdurationusingcharacterrequest.js +46 -3
- package/dist/commonjs/models/predictttsdurationusingcharacterrequest.js.map +1 -1
- package/dist/commonjs/sdk/texttospeech.d.ts +17 -6
- package/dist/commonjs/sdk/texttospeech.d.ts.map +1 -1
- package/dist/commonjs/sdk/texttospeech.js +48 -25
- package/dist/commonjs/sdk/texttospeech.js.map +1 -1
- package/dist/esm/lib/config.d.ts +2 -2
- package/dist/esm/lib/config.d.ts.map +1 -1
- package/dist/esm/lib/config.js +2 -2
- package/dist/esm/lib/config.js.map +1 -1
- package/dist/esm/lib/custom_utils/index.d.ts +1 -0
- package/dist/esm/lib/custom_utils/index.d.ts.map +1 -1
- package/dist/esm/lib/custom_utils/index.js +2 -0
- package/dist/esm/lib/custom_utils/index.js.map +1 -1
- package/dist/esm/lib/custom_utils/pronunciation_utils.d.ts +24 -0
- package/dist/esm/lib/custom_utils/pronunciation_utils.d.ts.map +1 -0
- package/dist/esm/lib/custom_utils/pronunciation_utils.js +140 -0
- package/dist/esm/lib/custom_utils/pronunciation_utils.js.map +1 -0
- package/dist/esm/lib/custom_utils/text_utils.d.ts +8 -1
- package/dist/esm/lib/custom_utils/text_utils.d.ts.map +1 -1
- package/dist/esm/lib/custom_utils/text_utils.js +125 -7
- package/dist/esm/lib/custom_utils/text_utils.js.map +1 -1
- package/dist/esm/models/apiconverttexttospeechusingcharacterrequest.d.ts +92 -1
- package/dist/esm/models/apiconverttexttospeechusingcharacterrequest.d.ts.map +1 -1
- package/dist/esm/models/apiconverttexttospeechusingcharacterrequest.js +47 -2
- package/dist/esm/models/apiconverttexttospeechusingcharacterrequest.js.map +1 -1
- package/dist/esm/models/predictttsdurationusingcharacterrequest.d.ts +92 -1
- package/dist/esm/models/predictttsdurationusingcharacterrequest.d.ts.map +1 -1
- package/dist/esm/models/predictttsdurationusingcharacterrequest.js +45 -2
- package/dist/esm/models/predictttsdurationusingcharacterrequest.js.map +1 -1
- package/dist/esm/sdk/texttospeech.d.ts +17 -6
- package/dist/esm/sdk/texttospeech.d.ts.map +1 -1
- package/dist/esm/sdk/texttospeech.js +49 -26
- package/dist/esm/sdk/texttospeech.js.map +1 -1
- package/examples/custom_voices/create_cloned_voice.ts +4 -3
- package/examples/custom_voices/delete_custom_voice.ts +2 -7
- package/examples/custom_voices/edit_custom_voice.ts +2 -6
- package/examples/custom_voices/get_custom_voice.ts +2 -7
- package/examples/custom_voices/list_custom_voices.ts +2 -7
- package/examples/custom_voices/search_custom_voices.ts +2 -6
- package/examples/text_to_speech/create_speech.ts +3 -8
- package/examples/text_to_speech/create_speech_long_text.ts +3 -7
- package/examples/text_to_speech/create_speech_with_phonemes.ts +3 -7
- package/examples/text_to_speech/create_speech_with_voice_settings.ts +3 -8
- package/examples/text_to_speech/predict_duration.ts +3 -7
- package/examples/text_to_speech/stream_speech.ts +3 -7
- package/examples/text_to_speech/stream_speech_long_text.ts +3 -7
- package/examples/text_to_speech/stream_speech_with_phonemes.ts +3 -7
- package/examples/text_to_speech/stream_speech_with_voice_settings.ts +3 -7
- package/examples/usage/get_credit_balance.ts +2 -6
- package/examples/usage/get_usage.ts +2 -6
- package/examples/usage/get_voice_usage.ts +2 -7
- package/examples/voices/get_voice.ts +2 -6
- package/examples/voices/list_voices.ts +2 -6
- package/examples/voices/search_voices.ts +2 -7
- package/jsr.json +1 -1
- package/openapi.json +101 -9
- package/package.json +1 -1
- package/src/lib/config.ts +41 -41
- package/src/lib/custom_utils/index.ts +7 -0
- package/src/lib/custom_utils/pronunciation_utils.ts +193 -0
- package/src/lib/custom_utils/text_utils.ts +138 -7
- package/src/models/apiconverttexttospeechusingcharacterrequest.ts +62 -3
- package/src/models/predictttsdurationusingcharacterrequest.ts +64 -3
- package/src/sdk/texttospeech.ts +99 -68
|
@@ -32,6 +32,14 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
32
32
|
shouldChunkText(text, maxLength) {
|
|
33
33
|
return text.length > maxLength;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Apply pronunciation dictionary before chunking (opt-in).
|
|
37
|
+
*/
|
|
38
|
+
applyPronunciationDictionary(text, pronunciationDictionary) {
|
|
39
|
+
if (!pronunciationDictionary)
|
|
40
|
+
return text;
|
|
41
|
+
return (0, index_js_1.applyPronunciationDictionary)(text, pronunciationDictionary);
|
|
42
|
+
}
|
|
35
43
|
/**
|
|
36
44
|
* Extract audio data from response
|
|
37
45
|
*/
|
|
@@ -46,9 +54,9 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
46
54
|
if (result instanceof ArrayBuffer) {
|
|
47
55
|
return new Uint8Array(result);
|
|
48
56
|
}
|
|
49
|
-
if (typeof result === "object"
|
|
50
|
-
|
|
51
|
-
|
|
57
|
+
if (typeof result === "object" &&
|
|
58
|
+
result !== null &&
|
|
59
|
+
"getReader" in result) {
|
|
52
60
|
// ReadableStream
|
|
53
61
|
const reader = result.getReader();
|
|
54
62
|
const chunks = [];
|
|
@@ -104,9 +112,9 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
104
112
|
const resultKeys = result && typeof result === "object"
|
|
105
113
|
? Object.keys(result).join(", ")
|
|
106
114
|
: "N/A";
|
|
107
|
-
throw new Error(`Unsupported result type: ${resultType}, `
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
throw new Error(`Unsupported result type: ${resultType}, ` +
|
|
116
|
+
`constructor: ${resultConstructor}, ` +
|
|
117
|
+
`keys: [${resultKeys}]`);
|
|
110
118
|
}
|
|
111
119
|
/**
|
|
112
120
|
* Merge multiple audio responses into one
|
|
@@ -253,21 +261,28 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
253
261
|
* Create speech with auto-chunking support (internal implementation)
|
|
254
262
|
*/
|
|
255
263
|
async createSpeechWithChunking(request, options) {
|
|
264
|
+
const { pronunciationDictionary, ...restOptions } = options ?? {};
|
|
256
265
|
const maxLength = options?.maxTextLength ?? index_js_1.DEFAULT_MAX_TEXT_LENGTH;
|
|
257
|
-
const text = request.apiConvertTextToSpeechUsingCharacterRequest?.text
|
|
258
|
-
|
|
266
|
+
const text = request.apiConvertTextToSpeechUsingCharacterRequest?.text ?? "";
|
|
267
|
+
const normalizedText = this.applyPronunciationDictionary(text, pronunciationDictionary);
|
|
268
|
+
const baseRequest = {
|
|
269
|
+
...request,
|
|
270
|
+
apiConvertTextToSpeechUsingCharacterRequest: {
|
|
271
|
+
...request.apiConvertTextToSpeechUsingCharacterRequest,
|
|
272
|
+
text: normalizedText,
|
|
273
|
+
},
|
|
274
|
+
};
|
|
259
275
|
// Short text: call original method directly
|
|
260
|
-
if (!this.shouldChunkText(
|
|
276
|
+
if (!this.shouldChunkText(normalizedText, maxLength)) {
|
|
261
277
|
if (!this._createSpeechOriginal) {
|
|
262
278
|
throw new Error("Original createSpeech method not found");
|
|
263
279
|
}
|
|
264
|
-
return this._createSpeechOriginal(
|
|
280
|
+
return this._createSpeechOriginal(baseRequest, restOptions);
|
|
265
281
|
}
|
|
266
282
|
// Long text: chunk, process sequentially (to avoid schema parsing issues), and merge
|
|
267
|
-
const textChunks = (0, index_js_1.chunkText)(
|
|
283
|
+
const textChunks = (0, index_js_1.chunkText)(normalizedText, maxLength);
|
|
268
284
|
// Determine Accept header based on output format
|
|
269
|
-
const outputFormat =
|
|
270
|
-
?.outputFormat;
|
|
285
|
+
const outputFormat = baseRequest.apiConvertTextToSpeechUsingCharacterRequest?.outputFormat;
|
|
271
286
|
const acceptHeader = outputFormat === "mp3"
|
|
272
287
|
? textToSpeechCreateSpeech_js_1.CreateSpeechAcceptEnum.audioMpeg
|
|
273
288
|
: textToSpeechCreateSpeech_js_1.CreateSpeechAcceptEnum.audioWav;
|
|
@@ -275,9 +290,9 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
275
290
|
const responses = [];
|
|
276
291
|
for (const chunk of textChunks) {
|
|
277
292
|
const chunkRequest = {
|
|
278
|
-
...
|
|
293
|
+
...baseRequest,
|
|
279
294
|
apiConvertTextToSpeechUsingCharacterRequest: {
|
|
280
|
-
...
|
|
295
|
+
...baseRequest.apiConvertTextToSpeechUsingCharacterRequest,
|
|
281
296
|
text: chunk,
|
|
282
297
|
},
|
|
283
298
|
};
|
|
@@ -285,7 +300,7 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
285
300
|
throw new Error("Original createSpeech method not found");
|
|
286
301
|
}
|
|
287
302
|
const response = await this._createSpeechOriginal(chunkRequest, {
|
|
288
|
-
...
|
|
303
|
+
...restOptions,
|
|
289
304
|
acceptHeaderOverride: acceptHeader,
|
|
290
305
|
});
|
|
291
306
|
responses.push(response);
|
|
@@ -296,18 +311,26 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
296
311
|
* Stream speech with auto-chunking support (internal implementation)
|
|
297
312
|
*/
|
|
298
313
|
async streamSpeechWithChunking(request, options) {
|
|
314
|
+
const { pronunciationDictionary, ...restOptions } = options ?? {};
|
|
299
315
|
const maxLength = options?.maxTextLength ?? index_js_1.DEFAULT_MAX_TEXT_LENGTH;
|
|
300
|
-
const text = request.apiConvertTextToSpeechUsingCharacterRequest?.text
|
|
301
|
-
|
|
316
|
+
const text = request.apiConvertTextToSpeechUsingCharacterRequest?.text ?? "";
|
|
317
|
+
const normalizedText = this.applyPronunciationDictionary(text, pronunciationDictionary);
|
|
318
|
+
const baseRequest = {
|
|
319
|
+
...request,
|
|
320
|
+
apiConvertTextToSpeechUsingCharacterRequest: {
|
|
321
|
+
...request.apiConvertTextToSpeechUsingCharacterRequest,
|
|
322
|
+
text: normalizedText,
|
|
323
|
+
},
|
|
324
|
+
};
|
|
302
325
|
// Short text: call original method directly
|
|
303
|
-
if (!this.shouldChunkText(
|
|
326
|
+
if (!this.shouldChunkText(normalizedText, maxLength)) {
|
|
304
327
|
if (!this._streamSpeechOriginal) {
|
|
305
328
|
throw new Error("Original streamSpeech method not found");
|
|
306
329
|
}
|
|
307
|
-
return this._streamSpeechOriginal(
|
|
330
|
+
return this._streamSpeechOriginal(baseRequest, restOptions);
|
|
308
331
|
}
|
|
309
332
|
// Long text: chunk and stream sequentially
|
|
310
|
-
const textChunks = (0, index_js_1.chunkText)(
|
|
333
|
+
const textChunks = (0, index_js_1.chunkText)(normalizedText, maxLength);
|
|
311
334
|
if (textChunks.length === 0) {
|
|
312
335
|
throw new Error("No text chunks to process");
|
|
313
336
|
}
|
|
@@ -317,23 +340,23 @@ class TextToSpeech extends sdks_js_1.ClientSDK {
|
|
|
317
340
|
}
|
|
318
341
|
// Get first response to start streaming
|
|
319
342
|
const firstChunkRequest = {
|
|
320
|
-
...
|
|
343
|
+
...baseRequest,
|
|
321
344
|
apiConvertTextToSpeechUsingCharacterRequest: {
|
|
322
|
-
...
|
|
345
|
+
...baseRequest.apiConvertTextToSpeechUsingCharacterRequest,
|
|
323
346
|
text: firstChunk,
|
|
324
347
|
},
|
|
325
348
|
};
|
|
326
349
|
if (!this._streamSpeechOriginal) {
|
|
327
350
|
throw new Error("Original streamSpeech method not found");
|
|
328
351
|
}
|
|
329
|
-
const firstResponse = await this._streamSpeechOriginal(firstChunkRequest,
|
|
352
|
+
const firstResponse = await this._streamSpeechOriginal(firstChunkRequest, restOptions);
|
|
330
353
|
// Single chunk: return as-is
|
|
331
354
|
if (textChunks.length === 1) {
|
|
332
355
|
return firstResponse;
|
|
333
356
|
}
|
|
334
357
|
// Multiple chunks: create extended streaming response
|
|
335
358
|
const remainingChunks = textChunks.slice(1);
|
|
336
|
-
return this.createExtendedStreamingResponse(firstResponse, remainingChunks,
|
|
359
|
+
return this.createExtendedStreamingResponse(firstResponse, remainingChunks, baseRequest, restOptions);
|
|
337
360
|
}
|
|
338
361
|
// #endregion sdk-class-body
|
|
339
362
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texttospeech.js","sourceRoot":"","sources":["../../../src/sdk/texttospeech.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"texttospeech.js","sourceRoot":"","sources":["../../../src/sdk/texttospeech.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/lib/config.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
|
|
|
31
31
|
export declare const SDK_METADATA: {
|
|
32
32
|
readonly language: "typescript";
|
|
33
33
|
readonly openapiDocVersion: "0.8.69";
|
|
34
|
-
readonly sdkVersion: "0.1.
|
|
34
|
+
readonly sdkVersion: "0.1.3";
|
|
35
35
|
readonly genVersion: "2.686.7";
|
|
36
|
-
readonly userAgent: "speakeasy-sdk/typescript 0.1.
|
|
36
|
+
readonly userAgent: "speakeasy-sdk/typescript 0.1.2 2.686.7 0.8.69 @supertone/supertone";
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,eAAO,MAAM,UAAU,uCAKb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,eAAO,MAAM,UAAU,uCAKb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAEtD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CAepE;AAED,eAAO,MAAM,YAAY;;;;;;CAOf,CAAC"}
|
package/dist/esm/lib/config.js
CHANGED
|
@@ -27,8 +27,8 @@ export function serverURLFromOptions(options) {
|
|
|
27
27
|
export const SDK_METADATA = {
|
|
28
28
|
language: "typescript",
|
|
29
29
|
openapiDocVersion: "0.8.69",
|
|
30
|
-
sdkVersion: "0.1.
|
|
30
|
+
sdkVersion: "0.1.3",
|
|
31
31
|
genVersion: "2.686.7",
|
|
32
|
-
userAgent: "speakeasy-sdk/typescript 0.1.
|
|
32
|
+
userAgent: "speakeasy-sdk/typescript 0.1.2 2.686.7 0.8.69 @supertone/supertone",
|
|
33
33
|
};
|
|
34
34
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB;;OAEG;IACH,0BAA0B;CACjB,CAAC;AA0BX,MAAM,UAAU,oBAAoB,CAAC,OAAmB;IACvD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,QAAQ;IAC3B,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,SAAS;IACrB,SAAS,EACR,oEAAoE;CAC5D,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export * from "./constants.js";
|
|
8
8
|
export { chunkText, extractAudioFromNdjson } from "./text_utils.js";
|
|
9
|
+
export { applyPronunciationDictionary, PronunciationDictionaryValidationError, type PronunciationDictionaryEntry, } from "./pronunciation_utils.js";
|
|
9
10
|
export { mergeWavBinary, mergeMp3Binary, removeWavHeader, removeMp3Header, detectAudioFormat, extractAudioFromResponse, extractAudioFromResponses, } from "./audio_utils.js";
|
|
10
11
|
export { mergePhonemeData, adjustPhonemeTiming, createEmptyPhonemeDict, type PhonemeData, } from "./phoneme_utils.js";
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom_utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EACN,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,WAAW,GAChB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom_utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EACN,4BAA4B,EAC5B,sCAAsC,EACtC,KAAK,4BAA4B,GACjC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACN,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,WAAW,GAChB,MAAM,oBAAoB,CAAC"}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
export * from "./constants.js";
|
|
9
9
|
// Export text utilities
|
|
10
10
|
export { chunkText, extractAudioFromNdjson } from "./text_utils.js";
|
|
11
|
+
// Export pronunciation utilities
|
|
12
|
+
export { applyPronunciationDictionary, PronunciationDictionaryValidationError, } from "./pronunciation_utils.js";
|
|
11
13
|
// Export audio utilities
|
|
12
14
|
export { mergeWavBinary, mergeMp3Binary, removeWavHeader, removeMp3Header, detectAudioFormat, extractAudioFromResponse, extractAudioFromResponses, } from "./audio_utils.js";
|
|
13
15
|
// Export phoneme utilities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/custom_utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uBAAuB;AACvB,cAAc,gBAAgB,CAAC;AAE/B,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,yBAAyB;AACzB,OAAO,EACN,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,2BAA2B;AAC3B,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAEtB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/custom_utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uBAAuB;AACvB,cAAc,gBAAgB,CAAC;AAE/B,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,iCAAiC;AACjC,OAAO,EACN,4BAA4B,EAC5B,sCAAsC,GAEtC,MAAM,0BAA0B,CAAC;AAElC,yBAAyB;AACzB,OAAO,EACN,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,2BAA2B;AAC3B,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAEtB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pronunciation dictionary substitution utilities.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the Python implementation policy:
|
|
5
|
+
* - Apply rules in input order
|
|
6
|
+
* - partial_match=false: word-boundary exact matches only
|
|
7
|
+
* - partial_match=true: substring matches (no boundaries)
|
|
8
|
+
* - No re-substitution: replaced segments are shielded via opaque tokens
|
|
9
|
+
*
|
|
10
|
+
* Validation:
|
|
11
|
+
* - pronunciation_dictionary omitted/undefined/null -> return original text
|
|
12
|
+
* - pronunciation_dictionary must be an array of objects
|
|
13
|
+
* - each object must have: text (string, non-empty), pronunciation (string, non-empty), partial_match (boolean)
|
|
14
|
+
*/
|
|
15
|
+
export declare class PronunciationDictionaryValidationError extends Error {
|
|
16
|
+
constructor(message: string);
|
|
17
|
+
}
|
|
18
|
+
export type PronunciationDictionaryEntry = {
|
|
19
|
+
text: string;
|
|
20
|
+
pronunciation: string;
|
|
21
|
+
partial_match: boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare function applyPronunciationDictionary(text: string, pronunciation_dictionary?: unknown): string;
|
|
24
|
+
//# sourceMappingURL=pronunciation_utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pronunciation_utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom_utils/pronunciation_utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,qBAAa,sCAAuC,SAAQ,KAAK;gBACnD,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,wBAAwB,CAAC,EAAE,OAAO,GACjC,MAAM,CAuER"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pronunciation dictionary substitution utilities.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the Python implementation policy:
|
|
5
|
+
* - Apply rules in input order
|
|
6
|
+
* - partial_match=false: word-boundary exact matches only
|
|
7
|
+
* - partial_match=true: substring matches (no boundaries)
|
|
8
|
+
* - No re-substitution: replaced segments are shielded via opaque tokens
|
|
9
|
+
*
|
|
10
|
+
* Validation:
|
|
11
|
+
* - pronunciation_dictionary omitted/undefined/null -> return original text
|
|
12
|
+
* - pronunciation_dictionary must be an array of objects
|
|
13
|
+
* - each object must have: text (string, non-empty), pronunciation (string, non-empty), partial_match (boolean)
|
|
14
|
+
*/
|
|
15
|
+
export class PronunciationDictionaryValidationError extends Error {
|
|
16
|
+
constructor(message) {
|
|
17
|
+
super(message);
|
|
18
|
+
this.name = "PronunciationDictionaryValidationError";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function applyPronunciationDictionary(text, pronunciation_dictionary) {
|
|
22
|
+
// Match Python behavior: return early for null, undefined, or empty array
|
|
23
|
+
if (pronunciation_dictionary == null ||
|
|
24
|
+
(Array.isArray(pronunciation_dictionary) &&
|
|
25
|
+
pronunciation_dictionary.length === 0)) {
|
|
26
|
+
return text;
|
|
27
|
+
}
|
|
28
|
+
if (typeof text !== "string") {
|
|
29
|
+
throw new PronunciationDictionaryValidationError(`\`text\` must be string, got ${typeof text}`);
|
|
30
|
+
}
|
|
31
|
+
if (!Array.isArray(pronunciation_dictionary)) {
|
|
32
|
+
throw new PronunciationDictionaryValidationError("`pronunciation_dictionary` must be an array of objects");
|
|
33
|
+
}
|
|
34
|
+
// Prevent re-substitution:
|
|
35
|
+
// replace matches with unique opaque tokens first,
|
|
36
|
+
// then expand tokens to pronunciations at the end.
|
|
37
|
+
const tokenToPronunciation = new Map();
|
|
38
|
+
let working = text;
|
|
39
|
+
for (let idx = 0; idx < pronunciation_dictionary.length; idx++) {
|
|
40
|
+
const entry = validateEntry(pronunciation_dictionary[idx], idx);
|
|
41
|
+
const src = entry.text;
|
|
42
|
+
const dst = entry.pronunciation;
|
|
43
|
+
const partial = entry.partial_match;
|
|
44
|
+
const token = makeUniqueToken(idx, working, tokenToPronunciation);
|
|
45
|
+
if (partial) {
|
|
46
|
+
const re = new RegExp(escapeRegExp(src), "g");
|
|
47
|
+
const newWorking = working.replace(re, token);
|
|
48
|
+
if (newWorking === working)
|
|
49
|
+
continue; // No match found
|
|
50
|
+
tokenToPronunciation.set(token, dst);
|
|
51
|
+
working = newWorking;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
// Exact match with word-boundary semantics (Unicode-aware-ish).
|
|
55
|
+
// Python uses Unicode \w; in JS, \w is ASCII-only. To mirror behavior better across scripts,
|
|
56
|
+
// we define "word char" as: letter or number or underscore.
|
|
57
|
+
//
|
|
58
|
+
// We avoid lookbehind for broader runtime compatibility by capturing the left boundary.
|
|
59
|
+
//
|
|
60
|
+
// Pattern: (^|[^WORD_CHARS]) (SRC) (?=[^WORD_CHARS]|$)
|
|
61
|
+
// (IMPORTANT) WORD_CHARS must not include surrounding [] because we embed it into other [].
|
|
62
|
+
const WORD_CHARS = "\\p{L}\\p{N}_";
|
|
63
|
+
const srcEsc = escapeRegExp(src);
|
|
64
|
+
const pattern = `(^|[^${WORD_CHARS}])(${srcEsc})(?=[^${WORD_CHARS}]|$)`;
|
|
65
|
+
const re = new RegExp(pattern, "gu");
|
|
66
|
+
// Replace keeping the left boundary (group 1)
|
|
67
|
+
const newWorking = working.replace(re, `$1${token}`);
|
|
68
|
+
if (newWorking === working)
|
|
69
|
+
continue; // No match found
|
|
70
|
+
tokenToPronunciation.set(token, dst);
|
|
71
|
+
working = newWorking;
|
|
72
|
+
}
|
|
73
|
+
// Expand tokens into pronunciations.
|
|
74
|
+
for (const [token, pron] of tokenToPronunciation.entries()) {
|
|
75
|
+
working = working.split(token).join(pron);
|
|
76
|
+
}
|
|
77
|
+
return working;
|
|
78
|
+
}
|
|
79
|
+
function validateEntry(raw, idx) {
|
|
80
|
+
if (raw == null || typeof raw !== "object" || Array.isArray(raw)) {
|
|
81
|
+
throw new PronunciationDictionaryValidationError(`pronunciation_dictionary[${idx}] must be an object, got ${raw === null ? "null" : Array.isArray(raw) ? "array" : typeof raw}`);
|
|
82
|
+
}
|
|
83
|
+
const obj = raw;
|
|
84
|
+
const missing = [];
|
|
85
|
+
if (!("text" in obj))
|
|
86
|
+
missing.push("text");
|
|
87
|
+
if (!("pronunciation" in obj))
|
|
88
|
+
missing.push("pronunciation");
|
|
89
|
+
if (!("partial_match" in obj))
|
|
90
|
+
missing.push("partial_match");
|
|
91
|
+
if (missing.length) {
|
|
92
|
+
throw new PronunciationDictionaryValidationError(`pronunciation_dictionary[${idx}] missing required field(s): ${missing.join(", ")}`);
|
|
93
|
+
}
|
|
94
|
+
const src = obj["text"];
|
|
95
|
+
const dst = obj["pronunciation"];
|
|
96
|
+
const partial = obj["partial_match"];
|
|
97
|
+
if (typeof src !== "string") {
|
|
98
|
+
throw new PronunciationDictionaryValidationError(`pronunciation_dictionary[${idx}].text must be string, got ${typeof src}`);
|
|
99
|
+
}
|
|
100
|
+
if (typeof dst !== "string") {
|
|
101
|
+
throw new PronunciationDictionaryValidationError(`pronunciation_dictionary[${idx}].pronunciation must be string, got ${typeof dst}`);
|
|
102
|
+
}
|
|
103
|
+
if (typeof partial !== "boolean") {
|
|
104
|
+
throw new PronunciationDictionaryValidationError(`pronunciation_dictionary[${idx}].partial_match must be boolean, got ${typeof partial}`);
|
|
105
|
+
}
|
|
106
|
+
if (src === "") {
|
|
107
|
+
throw new PronunciationDictionaryValidationError(`pronunciation_dictionary[${idx}].text must not be empty`);
|
|
108
|
+
}
|
|
109
|
+
if (dst === "") {
|
|
110
|
+
throw new PronunciationDictionaryValidationError(`pronunciation_dictionary[${idx}].pronunciation must not be empty`);
|
|
111
|
+
}
|
|
112
|
+
return { text: src, pronunciation: dst, partial_match: partial };
|
|
113
|
+
}
|
|
114
|
+
function escapeRegExp(s) {
|
|
115
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
116
|
+
}
|
|
117
|
+
function makeUniqueToken(idx, working, existing) {
|
|
118
|
+
// Private Use Area markers to minimize collision with typical text.
|
|
119
|
+
const base = `\uE000PD${idx}\uE001`;
|
|
120
|
+
if (!working.includes(base) && !existing.has(base))
|
|
121
|
+
return base;
|
|
122
|
+
while (true) {
|
|
123
|
+
const suffix = safeRandomHex();
|
|
124
|
+
const token = `\uE000PD${idx}_${suffix}\uE001`;
|
|
125
|
+
if (!working.includes(token) && !existing.has(token))
|
|
126
|
+
return token;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function safeRandomHex() {
|
|
130
|
+
// Prefer crypto.randomUUID when available (browser / modern runtimes)
|
|
131
|
+
const c = globalThis.crypto;
|
|
132
|
+
if (c && typeof c.randomUUID === "function") {
|
|
133
|
+
return String(c.randomUUID()).replace(/-/g, "");
|
|
134
|
+
}
|
|
135
|
+
// Fallback: not cryptographically strong, but fine for uniqueness tokenization.
|
|
136
|
+
return (Math.random().toString(16).slice(2) +
|
|
137
|
+
Math.random().toString(16).slice(2) +
|
|
138
|
+
Date.now().toString(16));
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=pronunciation_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pronunciation_utils.js","sourceRoot":"","sources":["../../../../src/lib/custom_utils/pronunciation_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,16 @@
|
|
|
12
12
|
* It handles various punctuation patterns and provides graceful fallback to
|
|
13
13
|
* word/character boundaries when necessary.
|
|
14
14
|
*
|
|
15
|
+
* Chunking Strategy:
|
|
16
|
+
* 1. First, split by sentence boundaries (multilingual punctuation)
|
|
17
|
+
* 2. Merge sentences into chunks up to maxLength
|
|
18
|
+
* 3. If a sentence exceeds maxLength:
|
|
19
|
+
* - For text with spaces: split by words
|
|
20
|
+
* - For text without spaces (Japanese, etc.): split by characters
|
|
21
|
+
*
|
|
15
22
|
* @param text - Input text to be segmented
|
|
16
23
|
* @param maxLength - Maximum length of each chunk
|
|
17
|
-
* @returns Array of text chunks
|
|
24
|
+
* @returns Array of text chunks, each guaranteed to be <= maxLength
|
|
18
25
|
*/
|
|
19
26
|
export declare function chunkText(text: string, maxLength?: number): string[];
|
|
20
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text_utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom_utils/text_utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"text_utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom_utils/text_utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkHH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CACxB,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAgC,GACzC,MAAM,EAAE,CAyCV;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CA8BpE"}
|
|
@@ -5,6 +5,103 @@
|
|
|
5
5
|
* These functions are designed to be pure functions without side effects.
|
|
6
6
|
*/
|
|
7
7
|
import { DEFAULT_MAX_TEXT_LENGTH } from "./constants.js";
|
|
8
|
+
/**
|
|
9
|
+
* Sentence-ending punctuation pattern for multilingual support.
|
|
10
|
+
*
|
|
11
|
+
* Supported languages: English, Korean, Japanese, Bulgarian, Czech, Danish,
|
|
12
|
+
* Greek, Spanish, Estonian, Finnish, Hungarian, Italian, Dutch, Polish,
|
|
13
|
+
* Portuguese, Romanian, Arabic, German, French, Hindi, Indonesian, Russian,
|
|
14
|
+
* Vietnamese, Chinese, Thai, and more.
|
|
15
|
+
*
|
|
16
|
+
* Punctuation groups:
|
|
17
|
+
* - ASCII basics: . ! ? ; :
|
|
18
|
+
* - Ellipsis: … (U+2026), ‥ (U+2025)
|
|
19
|
+
* - CJK fullwidth: 。!?;:。、
|
|
20
|
+
* - Arabic/Urdu: ؟ ؛ ۔ ،
|
|
21
|
+
* - Devanagari (Hindi/Sanskrit): । ॥
|
|
22
|
+
* - Greek question mark: ; (U+037E)
|
|
23
|
+
*/
|
|
24
|
+
const SENTENCE_PUNCTUATION = ".!?;:…‥。!?;:。、؟؛۔،।॥\u037E";
|
|
25
|
+
const SENTENCE_SPLIT_PATTERN = new RegExp(`([${SENTENCE_PUNCTUATION}]+\\s*)`, "u");
|
|
26
|
+
/**
|
|
27
|
+
* Check if text contains spaces (to determine if word-based splitting is possible)
|
|
28
|
+
*
|
|
29
|
+
* @param text - Text to check
|
|
30
|
+
* @returns true if text contains spaces
|
|
31
|
+
*/
|
|
32
|
+
function hasSpaces(text) {
|
|
33
|
+
return /\s/.test(text);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Split text by words, ensuring each chunk is under maxLength.
|
|
37
|
+
* Used for languages with spaces (English, Korean, etc.)
|
|
38
|
+
*
|
|
39
|
+
* @param text - Text to split
|
|
40
|
+
* @param maxLength - Maximum length of each chunk
|
|
41
|
+
* @returns Array of text chunks
|
|
42
|
+
*/
|
|
43
|
+
function splitByWords(text, maxLength) {
|
|
44
|
+
const words = text.split(/(\s+)/);
|
|
45
|
+
const chunks = [];
|
|
46
|
+
let currentChunk = "";
|
|
47
|
+
for (const word of words) {
|
|
48
|
+
if (currentChunk.length + word.length <= maxLength) {
|
|
49
|
+
currentChunk += word;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if (currentChunk.trim()) {
|
|
53
|
+
chunks.push(currentChunk.trim());
|
|
54
|
+
}
|
|
55
|
+
// If a single word exceeds maxLength, split by characters
|
|
56
|
+
if (word.trim().length > maxLength) {
|
|
57
|
+
const charChunks = splitByCharacters(word.trim(), maxLength);
|
|
58
|
+
chunks.push(...charChunks);
|
|
59
|
+
currentChunk = "";
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
currentChunk = word;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (currentChunk.trim()) {
|
|
67
|
+
chunks.push(currentChunk.trim());
|
|
68
|
+
}
|
|
69
|
+
return chunks;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Split text by characters, ensuring each chunk is under maxLength.
|
|
73
|
+
* Used for languages without spaces (Japanese, Chinese, etc.)
|
|
74
|
+
*
|
|
75
|
+
* @param text - Text to split
|
|
76
|
+
* @param maxLength - Maximum length of each chunk
|
|
77
|
+
* @returns Array of text chunks
|
|
78
|
+
*/
|
|
79
|
+
function splitByCharacters(text, maxLength) {
|
|
80
|
+
const chunks = [];
|
|
81
|
+
for (let i = 0; i < text.length; i += maxLength) {
|
|
82
|
+
chunks.push(text.slice(i, i + maxLength));
|
|
83
|
+
}
|
|
84
|
+
return chunks;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Split a single chunk that exceeds maxLength into smaller chunks.
|
|
88
|
+
* Uses word-based splitting for texts with spaces, character-based for texts without.
|
|
89
|
+
*
|
|
90
|
+
* @param chunk - Text chunk to split
|
|
91
|
+
* @param maxLength - Maximum length of each chunk
|
|
92
|
+
* @returns Array of text chunks, all under maxLength
|
|
93
|
+
*/
|
|
94
|
+
function splitOversizedChunk(chunk, maxLength) {
|
|
95
|
+
if (chunk.length <= maxLength) {
|
|
96
|
+
return [chunk];
|
|
97
|
+
}
|
|
98
|
+
// Check if text has spaces (word-based splitting possible)
|
|
99
|
+
if (hasSpaces(chunk)) {
|
|
100
|
+
return splitByWords(chunk, maxLength);
|
|
101
|
+
}
|
|
102
|
+
// No spaces: use character-based splitting (Japanese, Chinese, etc.)
|
|
103
|
+
return splitByCharacters(chunk, maxLength);
|
|
104
|
+
}
|
|
8
105
|
/**
|
|
9
106
|
* Split input text into sentence chunks suitable for TTS processing.
|
|
10
107
|
*
|
|
@@ -13,33 +110,54 @@ import { DEFAULT_MAX_TEXT_LENGTH } from "./constants.js";
|
|
|
13
110
|
* It handles various punctuation patterns and provides graceful fallback to
|
|
14
111
|
* word/character boundaries when necessary.
|
|
15
112
|
*
|
|
113
|
+
* Chunking Strategy:
|
|
114
|
+
* 1. First, split by sentence boundaries (multilingual punctuation)
|
|
115
|
+
* 2. Merge sentences into chunks up to maxLength
|
|
116
|
+
* 3. If a sentence exceeds maxLength:
|
|
117
|
+
* - For text with spaces: split by words
|
|
118
|
+
* - For text without spaces (Japanese, etc.): split by characters
|
|
119
|
+
*
|
|
16
120
|
* @param text - Input text to be segmented
|
|
17
121
|
* @param maxLength - Maximum length of each chunk
|
|
18
|
-
* @returns Array of text chunks
|
|
122
|
+
* @returns Array of text chunks, each guaranteed to be <= maxLength
|
|
19
123
|
*/
|
|
20
124
|
export function chunkText(text, maxLength = DEFAULT_MAX_TEXT_LENGTH) {
|
|
21
125
|
if (text.length <= maxLength) {
|
|
22
126
|
return [text];
|
|
23
127
|
}
|
|
24
|
-
// Split by sentence boundaries
|
|
25
|
-
const sentences = text.split(
|
|
26
|
-
const
|
|
128
|
+
// Step 1: Split by sentence boundaries (multilingual punctuation)
|
|
129
|
+
const sentences = text.split(SENTENCE_SPLIT_PATTERN);
|
|
130
|
+
const preliminaryChunks = [];
|
|
27
131
|
let currentChunk = "";
|
|
132
|
+
// Step 2: Merge sentences into chunks up to maxLength
|
|
28
133
|
for (const sentence of sentences) {
|
|
29
134
|
if (currentChunk.length + sentence.length <= maxLength) {
|
|
30
135
|
currentChunk += sentence;
|
|
31
136
|
}
|
|
32
137
|
else {
|
|
33
138
|
if (currentChunk) {
|
|
34
|
-
|
|
139
|
+
preliminaryChunks.push(currentChunk);
|
|
35
140
|
}
|
|
36
141
|
currentChunk = sentence;
|
|
37
142
|
}
|
|
38
143
|
}
|
|
39
144
|
if (currentChunk) {
|
|
40
|
-
|
|
145
|
+
preliminaryChunks.push(currentChunk);
|
|
41
146
|
}
|
|
42
|
-
|
|
147
|
+
// Step 3: Handle oversized chunks (split by words or characters)
|
|
148
|
+
const finalChunks = [];
|
|
149
|
+
for (const chunk of preliminaryChunks) {
|
|
150
|
+
if (chunk.length <= maxLength) {
|
|
151
|
+
finalChunks.push(chunk);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// Chunk exceeds maxLength, need to split further
|
|
155
|
+
const subChunks = splitOversizedChunk(chunk, maxLength);
|
|
156
|
+
finalChunks.push(...subChunks);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Filter out empty chunks
|
|
160
|
+
return finalChunks.filter((chunk) => chunk.length > 0);
|
|
43
161
|
}
|
|
44
162
|
/**
|
|
45
163
|
* Extract audio data from NDJSON response.
|