react-native-sherpa-onnx 0.4.0 → 0.4.2
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 +3 -0
- package/android/src/main/assets/model_licenses/alignment-models-license-status.csv +5 -0
- package/android/src/main/cpp/CMakeLists.txt +3 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-alignment-wrapper.cpp +66 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-alignment-wrapper.h +17 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-alignment.cpp +108 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect.h +30 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-alignment.cpp +66 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-alignment.h +30 -0
- package/android/src/main/cpp/jni/module/sherpa-onnx-module-jni.cpp +21 -0
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxAlignmentHelper.kt +555 -0
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxModule.kt +76 -0
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxTextSegmenter.kt +330 -0
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxTtsHelper.kt +180 -23
- package/ios/Resources/model_licenses/alignment-models-license-status.csv +5 -0
- package/ios/SherpaOnnx+Alignment.mm +704 -0
- package/ios/SherpaOnnx+STT.mm +6 -0
- package/ios/SherpaOnnx+TTS.mm +624 -50
- package/ios/model_detect/sherpa-onnx-model-detect-alignment.mm +108 -0
- package/ios/model_detect/sherpa-onnx-model-detect.h +31 -0
- package/ios/model_detect/sherpa-onnx-validate-alignment.h +30 -0
- package/ios/model_detect/sherpa-onnx-validate-alignment.mm +66 -0
- package/ios/stt/sherpa-onnx-stt-wrapper.h +3 -1
- package/ios/stt/sherpa-onnx-stt-wrapper.mm +6 -0
- package/lib/module/NativeSherpaOnnx.js.map +1 -1
- package/lib/module/alignment/index.js +27 -0
- package/lib/module/alignment/index.js.map +1 -0
- package/lib/module/alignment/types.js +2 -0
- package/lib/module/alignment/types.js.map +1 -0
- package/lib/module/alignment/vocab.js +40 -0
- package/lib/module/alignment/vocab.js.map +1 -0
- package/lib/module/download/paths.js +9 -1
- package/lib/module/download/paths.js.map +1 -1
- package/lib/module/download/registry.js +17 -1
- package/lib/module/download/registry.js.map +1 -1
- package/lib/module/download/types.js +1 -0
- package/lib/module/download/types.js.map +1 -1
- package/lib/module/index.js +6 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/licenses.js +8 -2
- package/lib/module/licenses.js.map +1 -1
- package/lib/module/stt/types.js.map +1 -1
- package/lib/module/tts/index.js +68 -2
- package/lib/module/tts/index.js.map +1 -1
- package/lib/module/tts/subtitles.js +400 -0
- package/lib/module/tts/subtitles.js.map +1 -0
- package/lib/module/tts/tempAudio.js +17 -0
- package/lib/module/tts/tempAudio.js.map +1 -0
- package/lib/module/tts/types.js.map +1 -1
- package/lib/typescript/src/NativeSherpaOnnx.d.ts +34 -3
- package/lib/typescript/src/NativeSherpaOnnx.d.ts.map +1 -1
- package/lib/typescript/src/alignment/index.d.ts +8 -0
- package/lib/typescript/src/alignment/index.d.ts.map +1 -0
- package/lib/typescript/src/alignment/types.d.ts +23 -0
- package/lib/typescript/src/alignment/types.d.ts.map +1 -0
- package/lib/typescript/src/alignment/vocab.d.ts +5 -0
- package/lib/typescript/src/alignment/vocab.d.ts.map +1 -0
- package/lib/typescript/src/download/paths.d.ts +5 -2
- package/lib/typescript/src/download/paths.d.ts.map +1 -1
- package/lib/typescript/src/download/registry.d.ts.map +1 -1
- package/lib/typescript/src/download/types.d.ts +2 -1
- package/lib/typescript/src/download/types.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/licenses.d.ts.map +1 -1
- package/lib/typescript/src/stt/types.d.ts +5 -2
- package/lib/typescript/src/stt/types.d.ts.map +1 -1
- package/lib/typescript/src/tts/index.d.ts +2 -1
- package/lib/typescript/src/tts/index.d.ts.map +1 -1
- package/lib/typescript/src/tts/subtitles.d.ts +24 -0
- package/lib/typescript/src/tts/subtitles.d.ts.map +1 -0
- package/lib/typescript/src/tts/tempAudio.d.ts +3 -0
- package/lib/typescript/src/tts/tempAudio.d.ts.map +1 -0
- package/lib/typescript/src/tts/types.d.ts +68 -2
- package/lib/typescript/src/tts/types.d.ts.map +1 -1
- package/package.json +6 -1
- package/scripts/alignment-models/README.md +90 -0
- package/scripts/alignment-models/build_and_upload.js +724 -0
- package/scripts/alignment-models/sources.csv +5 -0
- package/scripts/alignment-models/sync_alignment_license_status.js +123 -0
- package/src/NativeSherpaOnnx.ts +35 -3
- package/src/alignment/index.ts +41 -0
- package/src/alignment/types.ts +22 -0
- package/src/alignment/vocab.ts +38 -0
- package/src/download/paths.ts +18 -5
- package/src/download/registry.ts +23 -3
- package/src/download/types.ts +1 -0
- package/src/index.tsx +6 -4
- package/src/licenses.ts +12 -1
- package/src/stt/types.ts +5 -2
- package/src/tts/index.ts +110 -3
- package/src/tts/subtitles.ts +611 -0
- package/src/tts/tempAudio.ts +31 -0
- package/src/tts/types.ts +79 -2
- package/third_party/sherpa-onnx-prebuilt/IOS_RELEASE_TAG +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["STT_HOTWORDS_MODEL_TYPES","sttSupportsHotwords","modelType","STT_MODEL_TYPES"],"sourceRoot":"../../../src","sources":["stt/types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAsBA;AACA,OAAO,MAAMA,wBAAiD,GAAG,CAC/D,YAAY,EACZ,iBAAiB,CACT;;AAEV;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,SAAgC,EAAW;EAC7E,OAAOA,SAAS,KAAK,YAAY,IAAIA,SAAS,KAAK,iBAAiB;AACtE;;AAEA;AACA,OAAO,MAAMC,eAAwC,GAAG,CACtD,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,MAAM,CACE;;AAEV;;AAQA;;AAEA;;
|
|
1
|
+
{"version":3,"names":["STT_HOTWORDS_MODEL_TYPES","sttSupportsHotwords","modelType","STT_MODEL_TYPES"],"sourceRoot":"../../../src","sources":["stt/types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAsBA;AACA,OAAO,MAAMA,wBAAiD,GAAG,CAC/D,YAAY,EACZ,iBAAiB,CACT;;AAEV;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,SAAgC,EAAW;EAC7E,OAAOA,SAAS,KAAK,YAAY,IAAIA,SAAS,KAAK,iBAAiB;AACtE;;AAEA;AACA,OAAO,MAAMC,eAAwC,GAAG,CACtD,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,MAAM,CACE;;AAEV;;AAQA;;AAEA;;AAiBA;;AAQA;;AAUA;;AAsBA;;AAcA;AACA;AACA;AACA;;AASA;AACA;AACA;;AAyGA;AACA;AACA;;AAkBA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA","ignoreList":[]}
|
package/lib/module/tts/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { unlink } from '@dr.pogodin/react-native-fs';
|
|
3
4
|
import SherpaOnnx from "../NativeSherpaOnnx.js";
|
|
4
5
|
import { resolveModelPath } from "../utils.js";
|
|
6
|
+
import { assertSubtitleGranularityForMode, generateSubtitlesFromAudio } from "./subtitles.js";
|
|
7
|
+
import { saveAlignmentAudioToTempWav } from "./tempAudio.js";
|
|
5
8
|
let ttsInstanceCounter = 0;
|
|
6
9
|
|
|
7
10
|
/**
|
|
@@ -90,6 +93,12 @@ function toNativeTtsOptions(options) {
|
|
|
90
93
|
if (options.referenceText !== undefined) out.referenceText = options.referenceText;
|
|
91
94
|
if (options.numSteps !== undefined) out.numSteps = options.numSteps;
|
|
92
95
|
if (options.extra != null && Object.keys(options.extra).length > 0) out.extra = options.extra;
|
|
96
|
+
if (options.subtitles?.mode !== undefined) {
|
|
97
|
+
out.subtitleMode = options.subtitles.mode;
|
|
98
|
+
}
|
|
99
|
+
if (options.subtitles?.granularity !== undefined) {
|
|
100
|
+
out.subtitleGranularity = options.subtitles.granularity;
|
|
101
|
+
}
|
|
93
102
|
return out;
|
|
94
103
|
}
|
|
95
104
|
|
|
@@ -168,11 +177,67 @@ export async function createTTS(options) {
|
|
|
168
177
|
},
|
|
169
178
|
async generateSpeech(text, opts) {
|
|
170
179
|
guard();
|
|
171
|
-
|
|
180
|
+
const optionsWithSubtitlesOff = {
|
|
181
|
+
...(opts ?? {}),
|
|
182
|
+
subtitles: {
|
|
183
|
+
...(opts?.subtitles ?? {}),
|
|
184
|
+
mode: 'off'
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
return SherpaOnnx.generateTts(instanceId, text, toNativeTtsOptions(optionsWithSubtitlesOff));
|
|
172
188
|
},
|
|
173
189
|
async generateSpeechWithTimestamps(text, opts) {
|
|
174
190
|
guard();
|
|
175
|
-
|
|
191
|
+
const subtitleMode = opts?.subtitles?.mode ?? 'fast';
|
|
192
|
+
const subtitleGranularity = opts?.subtitles?.granularity ?? 'sentence';
|
|
193
|
+
assertSubtitleGranularityForMode(subtitleMode, subtitleGranularity);
|
|
194
|
+
if (subtitleMode !== 'accurate') {
|
|
195
|
+
const optionsWithDefaultSubtitleMode = {
|
|
196
|
+
...(opts ?? {}),
|
|
197
|
+
subtitles: {
|
|
198
|
+
...(opts?.subtitles ?? {}),
|
|
199
|
+
mode: subtitleMode
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
const native = await SherpaOnnx.generateTtsWithTimestamps(instanceId, text, toNativeTtsOptions(optionsWithDefaultSubtitleMode));
|
|
203
|
+
const timingMode = native.timingMode === 'off' || native.timingMode === 'estimated' || native.timingMode === 'aligned' ? native.timingMode : 'off';
|
|
204
|
+
return {
|
|
205
|
+
...native,
|
|
206
|
+
timingMode
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
const alignmentModelPath = opts?.subtitles?.alignmentModelPath?.trim();
|
|
210
|
+
if (!alignmentModelPath) {
|
|
211
|
+
throw new Error('ALIGNMENT_MODEL_MISSING: Provide subtitles.alignmentModelPath for accurate mode.');
|
|
212
|
+
}
|
|
213
|
+
const optionsWithSubtitlesOff = {
|
|
214
|
+
...(opts ?? {}),
|
|
215
|
+
subtitles: {
|
|
216
|
+
...(opts?.subtitles ?? {}),
|
|
217
|
+
mode: 'off'
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
const generated = await SherpaOnnx.generateTts(instanceId, text, toNativeTtsOptions(optionsWithSubtitlesOff));
|
|
221
|
+
let tempAudioPath = null;
|
|
222
|
+
try {
|
|
223
|
+
tempAudioPath = await saveAlignmentAudioToTempWav(generated, instanceId);
|
|
224
|
+
const subtitleResult = await generateSubtitlesFromAudio(text, tempAudioPath, {
|
|
225
|
+
mode: 'accurate',
|
|
226
|
+
granularity: subtitleGranularity,
|
|
227
|
+
alignmentModelPath
|
|
228
|
+
});
|
|
229
|
+
return {
|
|
230
|
+
...generated,
|
|
231
|
+
subtitles: subtitleResult.subtitles,
|
|
232
|
+
timingMode: subtitleResult.timingMode
|
|
233
|
+
};
|
|
234
|
+
} finally {
|
|
235
|
+
if (tempAudioPath) {
|
|
236
|
+
unlink(tempAudioPath).catch(() => {
|
|
237
|
+
// ignore cleanup errors
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
176
241
|
},
|
|
177
242
|
async updateParams(opts) {
|
|
178
243
|
guard();
|
|
@@ -255,6 +320,7 @@ export function shareAudioFile(fileUri, mimeType = 'audio/wav') {
|
|
|
255
320
|
|
|
256
321
|
// Streaming TTS (separate engine; use createStreamingTTS for chunk callbacks and PCM playback)
|
|
257
322
|
export { createStreamingTTS } from "./streaming.js";
|
|
323
|
+
export { generateSubtitlesFromAudio } from "./subtitles.js";
|
|
258
324
|
|
|
259
325
|
// Export types and runtime type list
|
|
260
326
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SherpaOnnx","resolveModelPath","ttsInstanceCounter","flattenTtsModelOptionsForNative","modelType","modelOptions","noiseScale","undefined","noiseScaleW","lengthScale","block","vits","matcha","kokoro","kitten","pocket","supertonic","out","n","detectTtsModel","modelPath","options","resolvedPath","raw","err","error","trim","success","length","detectedModels","lexiconLanguageCandidates","toNativeTtsOptions","sid","speed","silenceScale","referenceAudio","sr","sampleRate","__DEV__","Number","isFinite","console","warn","samples","referenceSampleRate","referenceText","numSteps","extra","Object","keys","createTTS","instanceId","provider","numThreads","debug","ruleFsts","ruleFars","maxNumSentences","flat","result","initializeTts","nativeError","detected","JSON","stringify","Error","firstDetected","effectiveModelType","type","destroyed","guard","engine","generateSpeech","text","opts","generateTts","generateSpeechWithTimestamps","generateTtsWithTimestamps","updateParams","effectiveModelTypeForUpdate","flatOpts","noiseArg","NaN","noiseWArg","lengthArg","updateTtsParams","getModelInfo","numSpeakers","Promise","all","getTtsSampleRate","getTtsNumSpeakers","getSampleRate","getNumSpeakers","destroy","unloadTts","saveAudioToFile","audio","filePath","saveTtsAudioToFile","saveAudioToContentUri","directoryUri","filename","saveTtsAudioToContentUri","saveTextToContentUri","mimeType","saveTtsTextToContentUri","copyFileToContentUri","copyContentUriToCache","fileUri","copyTtsContentUriToCache","shareAudioFile","shareTtsAudio","createStreamingTTS","TTS_MODEL_TYPES"],"sourceRoot":"../../../src","sources":["tts/index.ts"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,wBAAqB;AAa5C,SAASC,gBAAgB,QAAQ,aAAU;AAE3C,IAAIC,kBAAkB,GAAG,CAAC;;AAE1B;AACA;AACA;AACA;AACA,SAASC,+BAA+BA,CACtCC,SAAmC,EACnCC,YAAyC,EAKzC;EACA,IACE,CAACA,YAAY,IACb,CAACD,SAAS,IACVA,SAAS,KAAK,MAAM,IACpBA,SAAS,KAAK,UAAU,CAAC;EAAA,EAEzB,OAAO;IACLE,UAAU,EAAEC,SAAS;IACrBC,WAAW,EAAED,SAAS;IACtBE,WAAW,EAAEF;EACf,CAAC;EACH,MAAMG,KAAK,GACTN,SAAS,KAAK,MAAM,GAChBC,YAAY,CAACM,IAAI,GACjBP,SAAS,KAAK,QAAQ,GACtBC,YAAY,CAACO,MAAM,GACnBR,SAAS,KAAK,QAAQ,GACtBC,YAAY,CAACQ,MAAM,GACnBT,SAAS,KAAK,QAAQ,GACtBC,YAAY,CAACS,MAAM,GACnBV,SAAS,KAAK,QAAQ,GACtBC,YAAY,CAACU,MAAM,GACnBX,SAAS,KAAK,YAAY,GAC1BC,YAAY,CAACW,UAAU,GACvBT,SAAS;EACf,IAAI,CAACG,KAAK,EACR,OAAO;IACLJ,UAAU,EAAEC,SAAS;IACrBC,WAAW,EAAED,SAAS;IACtBE,WAAW,EAAEF;EACf,CAAC;EACH,MAAMU,GAIL,GAAG;IACFX,UAAU,EAAEC,SAAS;IACrBC,WAAW,EAAED,SAAS;IACtBE,WAAW,EAAEF;EACf,CAAC;EACD,MAAMW,CAAC,GAAGR,KAIT;EACD,IAAIQ,CAAC,CAACZ,UAAU,KAAKC,SAAS,IAAI,OAAOW,CAAC,CAACZ,UAAU,KAAK,QAAQ,EAChEW,GAAG,CAACX,UAAU,GAAGY,CAAC,CAACZ,UAAU;EAC/B,IAAIY,CAAC,CAACV,WAAW,KAAKD,SAAS,IAAI,OAAOW,CAAC,CAACV,WAAW,KAAK,QAAQ,EAClES,GAAG,CAACT,WAAW,GAAGU,CAAC,CAACV,WAAW;EACjC,IAAIU,CAAC,CAACT,WAAW,KAAKF,SAAS,IAAI,OAAOW,CAAC,CAACT,WAAW,KAAK,QAAQ,EAClEQ,GAAG,CAACR,WAAW,GAAGS,CAAC,CAACT,WAAW;EACjC,OAAOQ,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,cAAcA,CAClCC,SAA0B,EAC1BC,OAAsC,EASrC;EACD,MAAMC,YAAY,GAAG,MAAMrB,gBAAgB,CAACmB,SAAS,CAAC;EACtD,MAAMG,GAAG,GAAG,MAAMvB,UAAU,CAACmB,cAAc,CAACG,YAAY,EAAED,OAAO,EAAEjB,SAAS,CAAC;EAC7E,MAAMoB,GAAG,GAAG,OAAOD,GAAG,CAACE,KAAK,KAAK,QAAQ,GAAGF,GAAG,CAACE,KAAK,CAACC,IAAI,CAAC,CAAC,GAAG,EAAE;EACjE,OAAO;IACLC,OAAO,EAAEJ,GAAG,CAACI,OAAO;IACpB,IAAIH,GAAG,CAACI,MAAM,GAAG,CAAC,GAAG;MAAEH,KAAK,EAAED;IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzCK,cAAc,EAAEN,GAAG,CAACM,cAAc,IAAI,EAAE;IACxC,IAAIN,GAAG,CAACnB,SAAS,IAAI,IAAI,IAAImB,GAAG,CAACnB,SAAS,KAAK,EAAE,GAC7C;MAAEA,SAAS,EAAEmB,GAAG,CAACnB;IAAU,CAAC,GAC5B,CAAC,CAAC,CAAC;IACP,IAAImB,GAAG,CAACO,yBAAyB,IAAI,IAAI,IACzCP,GAAG,CAACO,yBAAyB,CAACF,MAAM,GAAG,CAAC,GACpC;MAAEE,yBAAyB,EAAEP,GAAG,CAACO;IAA0B,CAAC,GAC5D,CAAC,CAAC;EACR,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CACzBV,OAA8B,EACL;EACzB,IAAIA,OAAO,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;EAC9B,MAAMJ,GAA4B,GAAG,CAAC,CAAC;EACvC,IAAII,OAAO,CAACW,GAAG,KAAKzB,SAAS,EAAEU,GAAG,CAACe,GAAG,GAAGX,OAAO,CAACW,GAAG;EACpD,IAAIX,OAAO,CAACY,KAAK,KAAK1B,SAAS,EAAEU,GAAG,CAACgB,KAAK,GAAGZ,OAAO,CAACY,KAAK;EAC1D,IAAIZ,OAAO,CAACa,YAAY,KAAK3B,SAAS,EACpCU,GAAG,CAACiB,YAAY,GAAGb,OAAO,CAACa,YAAY;EACzC,IAAIb,OAAO,CAACc,cAAc,IAAI,IAAI,EAAE;IAClC,MAAMC,EAAE,GAAGf,OAAO,CAACc,cAAc,CAACE,UAAU;IAC5C,IACE,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,KACN,CAACC,MAAM,CAACC,QAAQ,CAACJ,EAAE,CAAC,IAAIA,EAAE,IAAI,CAAC,CAAC,EACjC;MACAK,OAAO,CAACC,IAAI,CACV,2GACF,CAAC;IACH;IACAzB,GAAG,CAACkB,cAAc,GAAGd,OAAO,CAACc,cAAc,CAACQ,OAAO;IACnD1B,GAAG,CAAC2B,mBAAmB,GAAGvB,OAAO,CAACc,cAAc,CAACE,UAAU;EAC7D;EACA,IAAIhB,OAAO,CAACwB,aAAa,KAAKtC,SAAS,EACrCU,GAAG,CAAC4B,aAAa,GAAGxB,OAAO,CAACwB,aAAa;EAC3C,IAAIxB,OAAO,CAACyB,QAAQ,KAAKvC,SAAS,EAAEU,GAAG,CAAC6B,QAAQ,GAAGzB,OAAO,CAACyB,QAAQ;EACnE,IAAIzB,OAAO,CAAC0B,KAAK,IAAI,IAAI,IAAIC,MAAM,CAACC,IAAI,CAAC5B,OAAO,CAAC0B,KAAK,CAAC,CAACnB,MAAM,GAAG,CAAC,EAChEX,GAAG,CAAC8B,KAAK,GAAG1B,OAAO,CAAC0B,KAAK;EAC3B,OAAO9B,GAAG;AACZ;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeiC,SAASA,CAC7B7B,OAA+C,EAC3B;EACpB,MAAM8B,UAAU,GAAG,OAAO,EAAEjD,kBAAkB,EAAE;EAEhD,IAAIkB,SAA0B;EAC9B,IAAIhB,SAAmC;EACvC,IAAIgD,QAA4B;EAChC,IAAIC,UAA8B;EAClC,IAAIC,KAA0B;EAC9B,IAAIjD,YAAyC;EAC7C,IAAIkD,QAA4B;EAChC,IAAIC,QAA4B;EAChC,IAAIC,eAAmC;EACvC,IAAIvB,YAAgC;EAEpC,IAAI,WAAW,IAAIb,OAAO,EAAE;IAC1BD,SAAS,GAAGC,OAAO,CAACD,SAAS;IAC7BhB,SAAS,GAAGiB,OAAO,CAACjB,SAAS;IAC7BgD,QAAQ,GAAG/B,OAAO,CAAC+B,QAAQ;IAC3BC,UAAU,GAAGhC,OAAO,CAACgC,UAAU;IAC/BC,KAAK,GAAGjC,OAAO,CAACiC,KAAK;IACrBjD,YAAY,GAAGgB,OAAO,CAAChB,YAAY;IACnCkD,QAAQ,GAAGlC,OAAO,CAACkC,QAAQ;IAC3BC,QAAQ,GAAGnC,OAAO,CAACmC,QAAQ;IAC3BC,eAAe,GAAGpC,OAAO,CAACoC,eAAe;IACzCvB,YAAY,GAAGb,OAAO,CAACa,YAAY;EACrC,CAAC,MAAM;IACLd,SAAS,GAAGC,OAAO;IACnBjB,SAAS,GAAGG,SAAS;IACrB6C,QAAQ,GAAG7C,SAAS;IACpB8C,UAAU,GAAG9C,SAAS;IACtB+C,KAAK,GAAG/C,SAAS;IACjBF,YAAY,GAAGE,SAAS;IACxBgD,QAAQ,GAAGhD,SAAS;IACpBiD,QAAQ,GAAGjD,SAAS;IACpBkD,eAAe,GAAGlD,SAAS;IAC3B2B,YAAY,GAAG3B,SAAS;EAC1B;EAEA,MAAMmD,IAAI,GAAGvD,+BAA+B,CAACC,SAAS,EAAEC,YAAY,CAAC;EACrE,MAAMiB,YAAY,GAAG,MAAMrB,gBAAgB,CAACmB,SAAS,CAAC;EAEtD,MAAMuC,MAAM,GAAG,MAAM3D,UAAU,CAAC4D,aAAa,CAC3CT,UAAU,EACV7B,YAAY,EACZlB,SAAS,IAAI,MAAM,EACnBiD,UAAU,IAAI,CAAC,EACfC,KAAK,IAAI,KAAK,EACdI,IAAI,CAACpD,UAAU,EACfoD,IAAI,CAAClD,WAAW,EAChBkD,IAAI,CAACjD,WAAW,EAChB8C,QAAQ,EACRC,QAAQ,EACRC,eAAe,EACfvB,YAAY,EACZkB,QACF,CAAC;EAED,IAAI,CAACO,MAAM,CAAChC,OAAO,EAAE;IACnB,MAAMkC,WAAW,GACf,OAAOF,MAAM,CAAClC,KAAK,KAAK,QAAQ,GAAGkC,MAAM,CAAClC,KAAK,CAACC,IAAI,CAAC,CAAC,GAAG,EAAE;IAC7D,MAAMoC,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAACL,MAAM,CAAC9B,cAAc,IAAI,EAAE,CAAC;IAC5D,MAAM,IAAIoC,KAAK,CACbJ,WAAW,CAACjC,MAAM,GAAG,CAAC,GAClB,8BAA8BiC,WAAW,EAAE,GAC3C,8BAA8BC,QAAQ,EAC5C,CAAC;EACH;EAEA,MAAMI,aAAa,GAAGP,MAAM,CAAC9B,cAAc,GAAG,CAAC,CAAC;EAChD,MAAMsC,kBAA4C,GAChD/D,SAAS,IAAIA,SAAS,KAAK,MAAM,GAC7BA,SAAS,GACR8D,aAAa,EAAEE,IAAqB;EAE3C,IAAIC,SAAS,GAAG,KAAK;EAErB,MAAMC,KAAK,GAAGA,CAAA,KAAM;IAClB,IAAID,SAAS,EAAE;MACb,MAAM,IAAIJ,KAAK,CACb,gBAAgBd,UAAU,iDAC5B,CAAC;IACH;EACF,CAAC;EAED,MAAMoB,MAAiB,GAAG;IACxB,IAAIpB,UAAUA,CAAA,EAAG;MACf,OAAOA,UAAU;IACnB,CAAC;IAED,MAAMqB,cAAcA,CAClBC,IAAY,EACZC,IAA2B,EACF;MACzBJ,KAAK,CAAC,CAAC;MACP,OAAOtE,UAAU,CAAC2E,WAAW,CAACxB,UAAU,EAAEsB,IAAI,EAAE1C,kBAAkB,CAAC2C,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,MAAME,4BAA4BA,CAChCH,IAAY,EACZC,IAA2B,EACY;MACvCJ,KAAK,CAAC,CAAC;MACP,OAAOtE,UAAU,CAAC6E,yBAAyB,CACzC1B,UAAU,EACVsB,IAAI,EACJ1C,kBAAkB,CAAC2C,IAAI,CACzB,CAAC;IACH,CAAC;IAED,MAAMI,YAAYA,CAACJ,IAAsB,EAGtC;MACDJ,KAAK,CAAC,CAAC;MACP,MAAMS,2BAA2B,GAC/BL,IAAI,CAACtE,SAAS,IAAIsE,IAAI,CAACtE,SAAS,KAAK,MAAM,GACvCsE,IAAI,CAACtE,SAAS,GACd+D,kBAAkB;MACxB,MAAMa,QAAQ,GAAG7E,+BAA+B,CAC9C4E,2BAA2B,EAC3BL,IAAI,CAACrE,YACP,CAAC;MACD,MAAM4E,QAAQ,GACZD,QAAQ,CAAC1E,UAAU,KAAKC,SAAS,GAAGgC,MAAM,CAAC2C,GAAG,GAAGF,QAAQ,CAAC1E,UAAU;MACtE,MAAM6E,SAAS,GACbH,QAAQ,CAACxE,WAAW,KAAKD,SAAS,GAAGgC,MAAM,CAAC2C,GAAG,GAAGF,QAAQ,CAACxE,WAAW;MACxE,MAAM4E,SAAS,GACbJ,QAAQ,CAACvE,WAAW,KAAKF,SAAS,GAAGgC,MAAM,CAAC2C,GAAG,GAAGF,QAAQ,CAACvE,WAAW;MACxE,OAAOT,UAAU,CAACqF,eAAe,CAC/BlC,UAAU,EACV8B,QAAQ,EACRE,SAAS,EACTC,SACF,CAAC;IACH,CAAC;IAED,MAAME,YAAYA,CAAA,EAA0B;MAC1ChB,KAAK,CAAC,CAAC;MACP,MAAM,CAACjC,UAAU,EAAEkD,WAAW,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAClDzF,UAAU,CAAC0F,gBAAgB,CAACvC,UAAU,CAAC,EACvCnD,UAAU,CAAC2F,iBAAiB,CAACxC,UAAU,CAAC,CACzC,CAAC;MACF,OAAO;QAAEd,UAAU;QAAEkD;MAAY,CAAC;IACpC,CAAC;IAED,MAAMK,aAAaA,CAAA,EAAoB;MACrCtB,KAAK,CAAC,CAAC;MACP,OAAOtE,UAAU,CAAC0F,gBAAgB,CAACvC,UAAU,CAAC;IAChD,CAAC;IAED,MAAM0C,cAAcA,CAAA,EAAoB;MACtCvB,KAAK,CAAC,CAAC;MACP,OAAOtE,UAAU,CAAC2F,iBAAiB,CAACxC,UAAU,CAAC;IACjD,CAAC;IAED,MAAM2C,OAAOA,CAAA,EAAkB;MAC7B,IAAIzB,SAAS,EAAE;MACfA,SAAS,GAAG,IAAI;MAChB,MAAMrE,UAAU,CAAC+F,SAAS,CAAC5C,UAAU,CAAC;IACxC;EACF,CAAC;EAED,OAAOoB,MAAM;AACf;;AAEA;;AAEA;AACA;AACA;AACA,OAAO,SAASyB,eAAeA,CAC7BC,KAAqB,EACrBC,QAAgB,EACC;EACjB,OAAOlG,UAAU,CAACmG,kBAAkB,CAClCF,KAAK,CAACtD,OAAO,EACbsD,KAAK,CAAC5D,UAAU,EAChB6D,QACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASE,qBAAqBA,CACnCH,KAAqB,EACrBI,YAAoB,EACpBC,QAAgB,EACC;EACjB,OAAOtG,UAAU,CAACuG,wBAAwB,CACxCN,KAAK,CAACtD,OAAO,EACbsD,KAAK,CAAC5D,UAAU,EAChBgE,YAAY,EACZC,QACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASE,oBAAoBA,CAClC/B,IAAY,EACZ4B,YAAoB,EACpBC,QAAgB,EAChBG,QAAQ,GAAG,YAAY,EACN;EACjB,OAAOzG,UAAU,CAAC0G,uBAAuB,CACvCjC,IAAI,EACJ4B,YAAY,EACZC,QAAQ,EACRG,QACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,oBAAoBA,CAClCT,QAAgB,EAChBG,YAAoB,EACpBC,QAAgB,EAChBG,QAAgB,EACC;EACjB,OAAOzG,UAAU,CAAC2G,oBAAoB,CACpCT,QAAQ,EACRG,YAAY,EACZC,QAAQ,EACRG,QACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASG,qBAAqBA,CACnCC,OAAe,EACfP,QAAgB,EACC;EACjB,OAAOtG,UAAU,CAAC8G,wBAAwB,CAACD,OAAO,EAAEP,QAAQ,CAAC;AAC/D;;AAEA;AACA;AACA;AACA,OAAO,SAASS,cAAcA,CAC5BF,OAAe,EACfJ,QAAQ,GAAG,WAAW,EACP;EACf,OAAOzG,UAAU,CAACgH,aAAa,CAACH,OAAO,EAAEJ,QAAQ,CAAC;AACpD;;AAEA;AACA,SAASQ,kBAAkB,QAAQ,gBAAa;;AAGhD;;AAwBA,SAASC,eAAe,QAAQ,YAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["unlink","SherpaOnnx","resolveModelPath","assertSubtitleGranularityForMode","generateSubtitlesFromAudio","saveAlignmentAudioToTempWav","ttsInstanceCounter","flattenTtsModelOptionsForNative","modelType","modelOptions","noiseScale","undefined","noiseScaleW","lengthScale","block","vits","matcha","kokoro","kitten","pocket","supertonic","out","n","detectTtsModel","modelPath","options","resolvedPath","raw","err","error","trim","success","length","detectedModels","lexiconLanguageCandidates","toNativeTtsOptions","sid","speed","silenceScale","referenceAudio","sr","sampleRate","__DEV__","Number","isFinite","console","warn","samples","referenceSampleRate","referenceText","numSteps","extra","Object","keys","subtitles","mode","subtitleMode","granularity","subtitleGranularity","createTTS","instanceId","provider","numThreads","debug","ruleFsts","ruleFars","maxNumSentences","flat","result","initializeTts","nativeError","detected","JSON","stringify","Error","firstDetected","effectiveModelType","type","destroyed","guard","engine","generateSpeech","text","opts","optionsWithSubtitlesOff","generateTts","generateSpeechWithTimestamps","optionsWithDefaultSubtitleMode","native","generateTtsWithTimestamps","timingMode","alignmentModelPath","generated","tempAudioPath","subtitleResult","catch","updateParams","effectiveModelTypeForUpdate","flatOpts","noiseArg","NaN","noiseWArg","lengthArg","updateTtsParams","getModelInfo","numSpeakers","Promise","all","getTtsSampleRate","getTtsNumSpeakers","getSampleRate","getNumSpeakers","destroy","unloadTts","saveAudioToFile","audio","filePath","saveTtsAudioToFile","saveAudioToContentUri","directoryUri","filename","saveTtsAudioToContentUri","saveTextToContentUri","mimeType","saveTtsTextToContentUri","copyFileToContentUri","copyContentUriToCache","fileUri","copyTtsContentUriToCache","shareAudioFile","shareTtsAudio","createStreamingTTS","TTS_MODEL_TYPES"],"sourceRoot":"../../../src","sources":["tts/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { unlink } from '@dr.pogodin/react-native-fs';
|
|
4
|
+
import SherpaOnnx from "../NativeSherpaOnnx.js";
|
|
5
|
+
import { WAV2VEC2_VOCAB } from "../alignment/vocab.js";
|
|
6
|
+
import { decodeAudioFileToFloatSamples } from "../audio/index.js";
|
|
7
|
+
import { saveAlignmentAudioToTempWav } from "./tempAudio.js";
|
|
8
|
+
export function assertSubtitleGranularityForMode(mode, granularity) {
|
|
9
|
+
if (granularity === 'character' && mode !== 'accurate') {
|
|
10
|
+
throw new Error("Character granularity is only supported when subtitles.mode is 'accurate'.");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const SENTENCE_TERMINATORS = new Set(['.', '!', '?', ';', '。', '!', '?', ';']);
|
|
14
|
+
const TRAILING_CLOSERS = new Set(['"', "'", ')', ']', '}', '>', '”', '’', '」', '』', '】', ')']);
|
|
15
|
+
const COMMON_ABBREVIATIONS = new Set(['mr', 'mrs', 'ms', 'dr', 'prof', 'sr', 'jr', 'st', 'vs', 'etc', 'e.g', 'i.e']);
|
|
16
|
+
const WAV2VEC2_VOCAB_JSON = JSON.stringify(WAV2VEC2_VOCAB);
|
|
17
|
+
function isWhitespaceChar(char) {
|
|
18
|
+
return /\s/u.test(char);
|
|
19
|
+
}
|
|
20
|
+
function isSentenceTerminator(char) {
|
|
21
|
+
return SENTENCE_TERMINATORS.has(char);
|
|
22
|
+
}
|
|
23
|
+
function isTrailingCloser(char) {
|
|
24
|
+
return TRAILING_CLOSERS.has(char);
|
|
25
|
+
}
|
|
26
|
+
function extractTokenBeforePeriod(text, periodIndex) {
|
|
27
|
+
let i = periodIndex - 1;
|
|
28
|
+
while (i >= 0 && isWhitespaceChar(text[i] ?? '')) {
|
|
29
|
+
i -= 1;
|
|
30
|
+
}
|
|
31
|
+
const end = i;
|
|
32
|
+
while (i >= 0) {
|
|
33
|
+
const char = text[i] ?? '';
|
|
34
|
+
if (/\p{L}|\./u.test(char)) {
|
|
35
|
+
i -= 1;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
if (end < i + 1) {
|
|
41
|
+
return '';
|
|
42
|
+
}
|
|
43
|
+
return text.slice(i + 1, end + 1).replace(/\.+$/u, '');
|
|
44
|
+
}
|
|
45
|
+
function shouldSplitOnPeriod(text, periodIndex) {
|
|
46
|
+
const prev = text[periodIndex - 1] ?? '';
|
|
47
|
+
const next = text[periodIndex + 1] ?? '';
|
|
48
|
+
|
|
49
|
+
// Do not split decimal numbers like 3.14.
|
|
50
|
+
if (/\d/u.test(prev) && /\d/u.test(next)) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const tokenRaw = extractTokenBeforePeriod(text, periodIndex);
|
|
54
|
+
const token = tokenRaw.toLowerCase();
|
|
55
|
+
if (COMMON_ABBREVIATIONS.has(token)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Likely initial, e.g. "A. Smith" (check original case; token is lowercased for abbreviations).
|
|
60
|
+
if (tokenRaw.length === 1 && /\p{Lu}/u.test(tokenRaw)) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
function sentenceBoundaryEnd(text, index) {
|
|
66
|
+
let end = index + 1;
|
|
67
|
+
while (end < text.length && isSentenceTerminator(text[end] ?? '')) {
|
|
68
|
+
end += 1;
|
|
69
|
+
}
|
|
70
|
+
while (end < text.length && isTrailingCloser(text[end] ?? '')) {
|
|
71
|
+
end += 1;
|
|
72
|
+
}
|
|
73
|
+
return end;
|
|
74
|
+
}
|
|
75
|
+
function sanitizeSegments(segments) {
|
|
76
|
+
return segments.map(segment => segment.trim()).filter(segment => segment.length > 0);
|
|
77
|
+
}
|
|
78
|
+
function distributeSamplesByTextWeight(totalSamples, segments) {
|
|
79
|
+
if (segments.length === 0) {
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
const safeTotal = Math.max(0, Math.floor(totalSamples));
|
|
83
|
+
if (safeTotal === 0) {
|
|
84
|
+
return new Array(segments.length).fill(0);
|
|
85
|
+
}
|
|
86
|
+
const weights = segments.map(segment => Math.max(1, Array.from(segment).length));
|
|
87
|
+
const weightSum = weights.reduce((sum, value) => sum + value, 0);
|
|
88
|
+
if (weightSum <= 0) {
|
|
89
|
+
return new Array(segments.length).fill(0);
|
|
90
|
+
}
|
|
91
|
+
const base = weights.map(weight => Math.floor(safeTotal * weight / weightSum));
|
|
92
|
+
let assigned = base.reduce((sum, value) => sum + value, 0);
|
|
93
|
+
let remaining = safeTotal - assigned;
|
|
94
|
+
if (remaining > 0) {
|
|
95
|
+
const fractionalOrder = weights.map((weight, index) => {
|
|
96
|
+
const exact = safeTotal * weight / weightSum;
|
|
97
|
+
return {
|
|
98
|
+
index,
|
|
99
|
+
fraction: exact - Math.floor(exact)
|
|
100
|
+
};
|
|
101
|
+
}).sort((a, b) => b.fraction - a.fraction);
|
|
102
|
+
let ptr = 0;
|
|
103
|
+
while (remaining > 0 && fractionalOrder.length > 0) {
|
|
104
|
+
const target = fractionalOrder[ptr % fractionalOrder.length];
|
|
105
|
+
if (target == null) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
base[target.index] = (base[target.index] ?? 0) + 1;
|
|
109
|
+
assigned += 1;
|
|
110
|
+
remaining = safeTotal - assigned;
|
|
111
|
+
ptr += 1;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return base;
|
|
115
|
+
}
|
|
116
|
+
function alignChunkCountsToSegments(segments, chunkSampleCounts) {
|
|
117
|
+
if (segments.length === 0) {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
const counts = chunkSampleCounts.map(value => Number.isFinite(value) ? Math.max(0, Math.floor(value)) : 0);
|
|
121
|
+
if (counts.length === segments.length) {
|
|
122
|
+
return counts;
|
|
123
|
+
}
|
|
124
|
+
if (counts.length > segments.length) {
|
|
125
|
+
const merged = counts.slice(0, segments.length);
|
|
126
|
+
const extra = counts.slice(segments.length).reduce((sum, value) => sum + value, 0);
|
|
127
|
+
const lastIndex = merged.length - 1;
|
|
128
|
+
if (lastIndex >= 0) {
|
|
129
|
+
merged[lastIndex] = (merged[lastIndex] ?? 0) + extra;
|
|
130
|
+
}
|
|
131
|
+
return merged;
|
|
132
|
+
}
|
|
133
|
+
const total = counts.reduce((sum, value) => sum + value, 0);
|
|
134
|
+
return distributeSamplesByTextWeight(total, segments);
|
|
135
|
+
}
|
|
136
|
+
function distributeItemCounts(total, weights) {
|
|
137
|
+
if (weights.length === 0) {
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
const safeTotal = Math.max(0, Math.floor(total));
|
|
141
|
+
if (safeTotal === 0) {
|
|
142
|
+
return new Array(weights.length).fill(0);
|
|
143
|
+
}
|
|
144
|
+
const safeWeights = weights.map(weight => Math.max(1, Math.floor(weight)));
|
|
145
|
+
const weightSum = safeWeights.reduce((sum, value) => sum + value, 0);
|
|
146
|
+
if (weightSum <= 0) {
|
|
147
|
+
return new Array(weights.length).fill(0);
|
|
148
|
+
}
|
|
149
|
+
const base = safeWeights.map(weight => Math.floor(safeTotal * weight / weightSum));
|
|
150
|
+
let assigned = base.reduce((sum, value) => sum + value, 0);
|
|
151
|
+
let remaining = safeTotal - assigned;
|
|
152
|
+
let index = 0;
|
|
153
|
+
while (remaining > 0 && base.length > 0) {
|
|
154
|
+
const slot = index % base.length;
|
|
155
|
+
base[slot] = (base[slot] ?? 0) + 1;
|
|
156
|
+
assigned += 1;
|
|
157
|
+
remaining = safeTotal - assigned;
|
|
158
|
+
index += 1;
|
|
159
|
+
}
|
|
160
|
+
return base;
|
|
161
|
+
}
|
|
162
|
+
function normalizeAlignmentItems(items) {
|
|
163
|
+
return items.map(item => ({
|
|
164
|
+
text: item.text,
|
|
165
|
+
start: Number.isFinite(item.start) ? Math.max(0, item.start) : 0,
|
|
166
|
+
end: Number.isFinite(item.end) ? Math.max(0, item.end) : 0
|
|
167
|
+
})).map(item => ({
|
|
168
|
+
...item,
|
|
169
|
+
end: item.end < item.start ? item.start : item.end
|
|
170
|
+
})).filter(item => item.text.trim().length > 0);
|
|
171
|
+
}
|
|
172
|
+
function buildSentenceSubtitlesFromAlignedWords(text, alignedWords) {
|
|
173
|
+
const sentences = splitTextIntoSentences(text);
|
|
174
|
+
if (sentences.length === 0 || alignedWords.length === 0) {
|
|
175
|
+
return [];
|
|
176
|
+
}
|
|
177
|
+
const sentenceWeights = sentences.map(sentence => Math.max(1, splitTextIntoWords(sentence).length));
|
|
178
|
+
const sentenceWordCounts = distributeItemCounts(alignedWords.length, sentenceWeights);
|
|
179
|
+
const subtitles = [];
|
|
180
|
+
let wordCursor = 0;
|
|
181
|
+
let fallbackTime = alignedWords[0]?.start ?? 0;
|
|
182
|
+
for (let i = 0; i < sentences.length; i += 1) {
|
|
183
|
+
const sentence = sentences[i] ?? '';
|
|
184
|
+
const count = Math.max(0, sentenceWordCounts[i] ?? 0);
|
|
185
|
+
const chunk = alignedWords.slice(wordCursor, wordCursor + count);
|
|
186
|
+
wordCursor += count;
|
|
187
|
+
if (chunk.length === 0) {
|
|
188
|
+
subtitles.push({
|
|
189
|
+
text: sentence,
|
|
190
|
+
start: fallbackTime,
|
|
191
|
+
end: fallbackTime
|
|
192
|
+
});
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
const start = chunk[0]?.start ?? fallbackTime;
|
|
196
|
+
const end = chunk[chunk.length - 1]?.end ?? start;
|
|
197
|
+
fallbackTime = end;
|
|
198
|
+
subtitles.push({
|
|
199
|
+
text: sentence,
|
|
200
|
+
start,
|
|
201
|
+
end
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
const lastAlignedEnd = alignedWords[alignedWords.length - 1]?.end;
|
|
205
|
+
if (lastAlignedEnd !== undefined && subtitles.length > 0) {
|
|
206
|
+
const lastIndex = subtitles.length - 1;
|
|
207
|
+
const last = subtitles[lastIndex];
|
|
208
|
+
if (last != null) {
|
|
209
|
+
subtitles[lastIndex] = {
|
|
210
|
+
...last,
|
|
211
|
+
end: Math.max(last.end, lastAlignedEnd)
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return subtitles;
|
|
216
|
+
}
|
|
217
|
+
function isCjkChar(char) {
|
|
218
|
+
return /\p{Script=Han}|\p{Script=Hiragana}|\p{Script=Katakana}|\p{Script=Hangul}/u.test(char);
|
|
219
|
+
}
|
|
220
|
+
function isWordDelimiter(char) {
|
|
221
|
+
return /[\s.,!?;:()[\]{}"'`~<>/\\|@#$%^&*+=…,。!?;:、]/u.test(char);
|
|
222
|
+
}
|
|
223
|
+
export function splitTextIntoSentences(text) {
|
|
224
|
+
const normalized = text.trim();
|
|
225
|
+
if (normalized.length === 0) {
|
|
226
|
+
return [];
|
|
227
|
+
}
|
|
228
|
+
const sentences = [];
|
|
229
|
+
let start = 0;
|
|
230
|
+
let i = 0;
|
|
231
|
+
while (i < normalized.length) {
|
|
232
|
+
const current = normalized[i] ?? '';
|
|
233
|
+
if (!isSentenceTerminator(current)) {
|
|
234
|
+
i += 1;
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
if (current === '.' && !shouldSplitOnPeriod(normalized, i)) {
|
|
238
|
+
i += 1;
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
const end = sentenceBoundaryEnd(normalized, i);
|
|
242
|
+
const next = normalized[end];
|
|
243
|
+
if (next !== undefined && !isWhitespaceChar(next)) {
|
|
244
|
+
i += 1;
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
const sentence = normalized.slice(start, end).trim();
|
|
248
|
+
if (sentence.length > 0) {
|
|
249
|
+
sentences.push(sentence);
|
|
250
|
+
}
|
|
251
|
+
start = end;
|
|
252
|
+
while (start < normalized.length && isWhitespaceChar(normalized[start] ?? '')) {
|
|
253
|
+
start += 1;
|
|
254
|
+
}
|
|
255
|
+
i = start;
|
|
256
|
+
}
|
|
257
|
+
const tail = normalized.slice(start).trim();
|
|
258
|
+
if (tail.length > 0) {
|
|
259
|
+
sentences.push(tail);
|
|
260
|
+
}
|
|
261
|
+
return sentences.length > 0 ? sentences : [normalized];
|
|
262
|
+
}
|
|
263
|
+
export function splitTextIntoWords(text) {
|
|
264
|
+
const normalized = text.trim();
|
|
265
|
+
if (normalized.length === 0) {
|
|
266
|
+
return [];
|
|
267
|
+
}
|
|
268
|
+
const words = [];
|
|
269
|
+
let current = '';
|
|
270
|
+
const flushCurrent = () => {
|
|
271
|
+
const token = current.trim();
|
|
272
|
+
if (token.length > 0) {
|
|
273
|
+
words.push(token);
|
|
274
|
+
}
|
|
275
|
+
current = '';
|
|
276
|
+
};
|
|
277
|
+
for (const char of normalized) {
|
|
278
|
+
if (isWhitespaceChar(char)) {
|
|
279
|
+
flushCurrent();
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
if (isCjkChar(char)) {
|
|
283
|
+
flushCurrent();
|
|
284
|
+
words.push(char);
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
if (isWordDelimiter(char)) {
|
|
288
|
+
flushCurrent();
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
current += char;
|
|
292
|
+
}
|
|
293
|
+
flushCurrent();
|
|
294
|
+
return words.length > 0 ? words : [normalized];
|
|
295
|
+
}
|
|
296
|
+
export function buildSubtitlesFromChunks(segments, chunkSampleCounts, sampleRate) {
|
|
297
|
+
if (!Number.isFinite(sampleRate) || sampleRate <= 0) {
|
|
298
|
+
return [];
|
|
299
|
+
}
|
|
300
|
+
const cleanedSegments = sanitizeSegments(segments);
|
|
301
|
+
if (cleanedSegments.length === 0) {
|
|
302
|
+
return [];
|
|
303
|
+
}
|
|
304
|
+
const alignedCounts = alignChunkCountsToSegments(cleanedSegments, chunkSampleCounts);
|
|
305
|
+
const subtitles = [];
|
|
306
|
+
let offsetSamples = 0;
|
|
307
|
+
for (let i = 0; i < cleanedSegments.length; i += 1) {
|
|
308
|
+
const samples = Math.max(0, alignedCounts[i] ?? 0);
|
|
309
|
+
if (samples === 0 && offsetSamples === 0) {
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
const start = offsetSamples / sampleRate;
|
|
313
|
+
offsetSamples += samples;
|
|
314
|
+
const end = offsetSamples / sampleRate;
|
|
315
|
+
subtitles.push({
|
|
316
|
+
text: cleanedSegments[i] ?? '',
|
|
317
|
+
start,
|
|
318
|
+
end
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
return subtitles;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Generate subtitle timelines from an existing transcript plus audio.
|
|
326
|
+
*
|
|
327
|
+
* This helper supports two modes:
|
|
328
|
+
* - `mode: 'fast'`: single-stage estimation from transcript chunks + audio duration.
|
|
329
|
+
* - `mode: 'accurate'`: two-stage pipeline: external STT transcript + wav2vec2 CTC forced alignment.
|
|
330
|
+
*
|
|
331
|
+
* For accurate mode, an alignment model from `ModelCategory.Alignment` must be available.
|
|
332
|
+
* You can pre-validate a model path via `detectAlignmentModel` from `react-native-sherpa-onnx/alignment`
|
|
333
|
+
* before calling this function.
|
|
334
|
+
*
|
|
335
|
+
* Related exports:
|
|
336
|
+
* - Alignment detection: `detectAlignmentModel`
|
|
337
|
+
*/
|
|
338
|
+
export async function generateSubtitlesFromAudio(text, audioPathOrSamples, options) {
|
|
339
|
+
const mode = options.mode;
|
|
340
|
+
const granularity = options.granularity ?? 'sentence';
|
|
341
|
+
assertSubtitleGranularityForMode(mode, granularity);
|
|
342
|
+
if (mode === 'accurate') {
|
|
343
|
+
const resolvedModelPath = options.alignmentModelPath?.trim();
|
|
344
|
+
if (!resolvedModelPath) {
|
|
345
|
+
throw new Error('ALIGNMENT_MODEL_MISSING: Provide options.alignmentModelPath for accurate subtitles.');
|
|
346
|
+
}
|
|
347
|
+
let audioPath = '';
|
|
348
|
+
let shouldCleanup = false;
|
|
349
|
+
if (typeof audioPathOrSamples === 'string') {
|
|
350
|
+
audioPath = audioPathOrSamples;
|
|
351
|
+
} else {
|
|
352
|
+
audioPath = await saveAlignmentAudioToTempWav(audioPathOrSamples);
|
|
353
|
+
shouldCleanup = true;
|
|
354
|
+
}
|
|
355
|
+
try {
|
|
356
|
+
const aligned = await SherpaOnnx.runCTCForcedAlignment(resolvedModelPath, audioPath, text, WAV2VEC2_VOCAB_JSON);
|
|
357
|
+
const wordItems = normalizeAlignmentItems(aligned.words ?? []);
|
|
358
|
+
const charItems = normalizeAlignmentItems(aligned.chars ?? []);
|
|
359
|
+
return {
|
|
360
|
+
subtitles: granularity === 'character' ? charItems : granularity === 'word' ? wordItems : buildSentenceSubtitlesFromAlignedWords(text, wordItems),
|
|
361
|
+
timingMode: 'aligned'
|
|
362
|
+
};
|
|
363
|
+
} finally {
|
|
364
|
+
if (shouldCleanup) {
|
|
365
|
+
unlink(audioPath).catch(() => {
|
|
366
|
+
// ignore cleanup errors
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
const segments = granularity === 'word' ? splitTextIntoWords(text) : splitTextIntoSentences(text);
|
|
372
|
+
if (segments.length === 0) {
|
|
373
|
+
return {
|
|
374
|
+
subtitles: [],
|
|
375
|
+
timingMode: 'estimated'
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
let totalSamples = 0;
|
|
379
|
+
let sampleRate = 0;
|
|
380
|
+
if (typeof audioPathOrSamples === 'string') {
|
|
381
|
+
const decoded = await decodeAudioFileToFloatSamples(audioPathOrSamples);
|
|
382
|
+
totalSamples = decoded.samples.length;
|
|
383
|
+
sampleRate = decoded.sampleRate;
|
|
384
|
+
} else {
|
|
385
|
+
totalSamples = audioPathOrSamples.samples.length;
|
|
386
|
+
sampleRate = audioPathOrSamples.sampleRate;
|
|
387
|
+
}
|
|
388
|
+
if (!Number.isFinite(sampleRate) || sampleRate <= 0 || totalSamples <= 0) {
|
|
389
|
+
return {
|
|
390
|
+
subtitles: [],
|
|
391
|
+
timingMode: 'estimated'
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
const chunkSampleCounts = distributeSamplesByTextWeight(totalSamples, segments);
|
|
395
|
+
return {
|
|
396
|
+
subtitles: buildSubtitlesFromChunks(segments, chunkSampleCounts, sampleRate),
|
|
397
|
+
timingMode: 'estimated'
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
//# sourceMappingURL=subtitles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["unlink","SherpaOnnx","WAV2VEC2_VOCAB","decodeAudioFileToFloatSamples","saveAlignmentAudioToTempWav","assertSubtitleGranularityForMode","mode","granularity","Error","SENTENCE_TERMINATORS","Set","TRAILING_CLOSERS","COMMON_ABBREVIATIONS","WAV2VEC2_VOCAB_JSON","JSON","stringify","isWhitespaceChar","char","test","isSentenceTerminator","has","isTrailingCloser","extractTokenBeforePeriod","text","periodIndex","i","end","slice","replace","shouldSplitOnPeriod","prev","next","tokenRaw","token","toLowerCase","length","sentenceBoundaryEnd","index","sanitizeSegments","segments","map","segment","trim","filter","distributeSamplesByTextWeight","totalSamples","safeTotal","Math","max","floor","Array","fill","weights","from","weightSum","reduce","sum","value","base","weight","assigned","remaining","fractionalOrder","exact","fraction","sort","a","b","ptr","target","alignChunkCountsToSegments","chunkSampleCounts","counts","Number","isFinite","merged","extra","lastIndex","total","distributeItemCounts","safeWeights","slot","normalizeAlignmentItems","items","item","start","buildSentenceSubtitlesFromAlignedWords","alignedWords","sentences","splitTextIntoSentences","sentenceWeights","sentence","splitTextIntoWords","sentenceWordCounts","subtitles","wordCursor","fallbackTime","count","chunk","push","lastAlignedEnd","undefined","last","isCjkChar","isWordDelimiter","normalized","current","tail","words","flushCurrent","buildSubtitlesFromChunks","sampleRate","cleanedSegments","alignedCounts","offsetSamples","samples","generateSubtitlesFromAudio","audioPathOrSamples","options","resolvedModelPath","alignmentModelPath","audioPath","shouldCleanup","aligned","runCTCForcedAlignment","wordItems","charItems","chars","timingMode","catch","decoded"],"sourceRoot":"../../../src","sources":["tts/subtitles.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,6BAA6B;AACpD,OAAOC,UAAU,MAAM,wBAAqB;AAC5C,SAASC,cAAc,QAAQ,uBAAoB;AACnD,SAASC,6BAA6B,QAAQ,mBAAU;AACxD,SAASC,2BAA2B,QAAQ,gBAAa;AASzD,OAAO,SAASC,gCAAgCA,CAC9CC,IAAkB,EAClBC,WAAgC,EAC1B;EACN,IAAIA,WAAW,KAAK,WAAW,IAAID,IAAI,KAAK,UAAU,EAAE;IACtD,MAAM,IAAIE,KAAK,CACb,4EACF,CAAC;EACH;AACF;AAEA,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CACnC,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAC;AACF,MAAMC,gBAAgB,GAAG,IAAID,GAAG,CAAC,CAC/B,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAC;AAEF,MAAME,oBAAoB,GAAG,IAAIF,GAAG,CAAC,CACnC,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,CACN,CAAC;AAEF,MAAMG,mBAAmB,GAAGC,IAAI,CAACC,SAAS,CAACb,cAAc,CAAC;AAE1D,SAASc,gBAAgBA,CAACC,IAAY,EAAW;EAC/C,OAAO,KAAK,CAACC,IAAI,CAACD,IAAI,CAAC;AACzB;AAEA,SAASE,oBAAoBA,CAACF,IAAY,EAAW;EACnD,OAAOR,oBAAoB,CAACW,GAAG,CAACH,IAAI,CAAC;AACvC;AAEA,SAASI,gBAAgBA,CAACJ,IAAY,EAAW;EAC/C,OAAON,gBAAgB,CAACS,GAAG,CAACH,IAAI,CAAC;AACnC;AAEA,SAASK,wBAAwBA,CAACC,IAAY,EAAEC,WAAmB,EAAU;EAC3E,IAAIC,CAAC,GAAGD,WAAW,GAAG,CAAC;EACvB,OAAOC,CAAC,IAAI,CAAC,IAAIT,gBAAgB,CAACO,IAAI,CAACE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE;IAChDA,CAAC,IAAI,CAAC;EACR;EAEA,MAAMC,GAAG,GAAGD,CAAC;EACb,OAAOA,CAAC,IAAI,CAAC,EAAE;IACb,MAAMR,IAAI,GAAGM,IAAI,CAACE,CAAC,CAAC,IAAI,EAAE;IAC1B,IAAI,WAAW,CAACP,IAAI,CAACD,IAAI,CAAC,EAAE;MAC1BQ,CAAC,IAAI,CAAC;MACN;IACF;IACA;EACF;EAEA,IAAIC,GAAG,GAAGD,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,EAAE;EACX;EAEA,OAAOF,IAAI,CAACI,KAAK,CAACF,CAAC,GAAG,CAAC,EAAEC,GAAG,GAAG,CAAC,CAAC,CAACE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACxD;AAEA,SAASC,mBAAmBA,CAACN,IAAY,EAAEC,WAAmB,EAAW;EACvE,MAAMM,IAAI,GAAGP,IAAI,CAACC,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE;EACxC,MAAMO,IAAI,GAAGR,IAAI,CAACC,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE;;EAExC;EACA,IAAI,KAAK,CAACN,IAAI,CAACY,IAAI,CAAC,IAAI,KAAK,CAACZ,IAAI,CAACa,IAAI,CAAC,EAAE;IACxC,OAAO,KAAK;EACd;EAEA,MAAMC,QAAQ,GAAGV,wBAAwB,CAACC,IAAI,EAAEC,WAAW,CAAC;EAC5D,MAAMS,KAAK,GAAGD,QAAQ,CAACE,WAAW,CAAC,CAAC;EACpC,IAAItB,oBAAoB,CAACQ,GAAG,CAACa,KAAK,CAAC,EAAE;IACnC,OAAO,KAAK;EACd;;EAEA;EACA,IAAID,QAAQ,CAACG,MAAM,KAAK,CAAC,IAAI,SAAS,CAACjB,IAAI,CAACc,QAAQ,CAAC,EAAE;IACrD,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb;AAEA,SAASI,mBAAmBA,CAACb,IAAY,EAAEc,KAAa,EAAU;EAChE,IAAIX,GAAG,GAAGW,KAAK,GAAG,CAAC;EAEnB,OAAOX,GAAG,GAAGH,IAAI,CAACY,MAAM,IAAIhB,oBAAoB,CAACI,IAAI,CAACG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;IACjEA,GAAG,IAAI,CAAC;EACV;EAEA,OAAOA,GAAG,GAAGH,IAAI,CAACY,MAAM,IAAId,gBAAgB,CAACE,IAAI,CAACG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;IAC7DA,GAAG,IAAI,CAAC;EACV;EAEA,OAAOA,GAAG;AACZ;AAEA,SAASY,gBAAgBA,CAACC,QAAkB,EAAY;EACtD,OAAOA,QAAQ,CACZC,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC,CAChCC,MAAM,CAAEF,OAAO,IAAKA,OAAO,CAACN,MAAM,GAAG,CAAC,CAAC;AAC5C;AAEA,SAASS,6BAA6BA,CACpCC,YAAoB,EACpBN,QAAkB,EACR;EACV,IAAIA,QAAQ,CAACJ,MAAM,KAAK,CAAC,EAAE;IACzB,OAAO,EAAE;EACX;EAEA,MAAMW,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACJ,YAAY,CAAC,CAAC;EACvD,IAAIC,SAAS,KAAK,CAAC,EAAE;IACnB,OAAO,IAAII,KAAK,CAACX,QAAQ,CAACJ,MAAM,CAAC,CAACgB,IAAI,CAAC,CAAC,CAAC;EAC3C;EAEA,MAAMC,OAAO,GAAGb,QAAQ,CAACC,GAAG,CAAEC,OAAO,IACnCM,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEE,KAAK,CAACG,IAAI,CAACZ,OAAO,CAAC,CAACN,MAAM,CACxC,CAAC;EACD,MAAMmB,SAAS,GAAGF,OAAO,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;EAChE,IAAIH,SAAS,IAAI,CAAC,EAAE;IAClB,OAAO,IAAIJ,KAAK,CAACX,QAAQ,CAACJ,MAAM,CAAC,CAACgB,IAAI,CAAC,CAAC,CAAC;EAC3C;EAEA,MAAMO,IAAI,GAAGN,OAAO,CAACZ,GAAG,CAAEmB,MAAM,IAC9BZ,IAAI,CAACE,KAAK,CAAEH,SAAS,GAAGa,MAAM,GAAIL,SAAS,CAC7C,CAAC;EAED,IAAIM,QAAQ,GAAGF,IAAI,CAACH,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;EAC1D,IAAII,SAAS,GAAGf,SAAS,GAAGc,QAAQ;EAEpC,IAAIC,SAAS,GAAG,CAAC,EAAE;IACjB,MAAMC,eAAe,GAAGV,OAAO,CAC5BZ,GAAG,CAAC,CAACmB,MAAM,EAAEtB,KAAK,KAAK;MACtB,MAAM0B,KAAK,GAAIjB,SAAS,GAAGa,MAAM,GAAIL,SAAS;MAC9C,OAAO;QACLjB,KAAK;QACL2B,QAAQ,EAAED,KAAK,GAAGhB,IAAI,CAACE,KAAK,CAACc,KAAK;MACpC,CAAC;IACH,CAAC,CAAC,CACDE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACH,QAAQ,GAAGE,CAAC,CAACF,QAAQ,CAAC;IAE1C,IAAII,GAAG,GAAG,CAAC;IACX,OAAOP,SAAS,GAAG,CAAC,IAAIC,eAAe,CAAC3B,MAAM,GAAG,CAAC,EAAE;MAClD,MAAMkC,MAAM,GAAGP,eAAe,CAACM,GAAG,GAAGN,eAAe,CAAC3B,MAAM,CAAC;MAC5D,IAAIkC,MAAM,IAAI,IAAI,EAAE;QAClB;MACF;MACAX,IAAI,CAACW,MAAM,CAAChC,KAAK,CAAC,GAAG,CAACqB,IAAI,CAACW,MAAM,CAAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;MAClDuB,QAAQ,IAAI,CAAC;MACbC,SAAS,GAAGf,SAAS,GAAGc,QAAQ;MAChCQ,GAAG,IAAI,CAAC;IACV;EACF;EAEA,OAAOV,IAAI;AACb;AAEA,SAASY,0BAA0BA,CACjC/B,QAAkB,EAClBgC,iBAA2B,EACjB;EACV,IAAIhC,QAAQ,CAACJ,MAAM,KAAK,CAAC,EAAE;IACzB,OAAO,EAAE;EACX;EAEA,MAAMqC,MAAM,GAAGD,iBAAiB,CAAC/B,GAAG,CAAEiB,KAAK,IACzCgB,MAAM,CAACC,QAAQ,CAACjB,KAAK,CAAC,GAAGV,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACQ,KAAK,CAAC,CAAC,GAAG,CAC5D,CAAC;EAED,IAAIe,MAAM,CAACrC,MAAM,KAAKI,QAAQ,CAACJ,MAAM,EAAE;IACrC,OAAOqC,MAAM;EACf;EAEA,IAAIA,MAAM,CAACrC,MAAM,GAAGI,QAAQ,CAACJ,MAAM,EAAE;IACnC,MAAMwC,MAAM,GAAGH,MAAM,CAAC7C,KAAK,CAAC,CAAC,EAAEY,QAAQ,CAACJ,MAAM,CAAC;IAC/C,MAAMyC,KAAK,GAAGJ,MAAM,CACjB7C,KAAK,CAACY,QAAQ,CAACJ,MAAM,CAAC,CACtBoB,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;IACzC,MAAMoB,SAAS,GAAGF,MAAM,CAACxC,MAAM,GAAG,CAAC;IACnC,IAAI0C,SAAS,IAAI,CAAC,EAAE;MAClBF,MAAM,CAACE,SAAS,CAAC,GAAG,CAACF,MAAM,CAACE,SAAS,CAAC,IAAI,CAAC,IAAID,KAAK;IACtD;IACA,OAAOD,MAAM;EACf;EAEA,MAAMG,KAAK,GAAGN,MAAM,CAACjB,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;EAC3D,OAAOb,6BAA6B,CAACkC,KAAK,EAAEvC,QAAQ,CAAC;AACvD;AAQA,SAASwC,oBAAoBA,CAACD,KAAa,EAAE1B,OAAiB,EAAY;EACxE,IAAIA,OAAO,CAACjB,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,EAAE;EACX;EAEA,MAAMW,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAAC6B,KAAK,CAAC,CAAC;EAChD,IAAIhC,SAAS,KAAK,CAAC,EAAE;IACnB,OAAO,IAAII,KAAK,CAACE,OAAO,CAACjB,MAAM,CAAC,CAACgB,IAAI,CAAC,CAAC,CAAC;EAC1C;EAEA,MAAM6B,WAAW,GAAG5B,OAAO,CAACZ,GAAG,CAAEmB,MAAM,IAAKZ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACU,MAAM,CAAC,CAAC,CAAC;EAC5E,MAAML,SAAS,GAAG0B,WAAW,CAACzB,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;EACpE,IAAIH,SAAS,IAAI,CAAC,EAAE;IAClB,OAAO,IAAIJ,KAAK,CAACE,OAAO,CAACjB,MAAM,CAAC,CAACgB,IAAI,CAAC,CAAC,CAAC;EAC1C;EAEA,MAAMO,IAAI,GAAGsB,WAAW,CAACxC,GAAG,CAAEmB,MAAM,IAClCZ,IAAI,CAACE,KAAK,CAAEH,SAAS,GAAGa,MAAM,GAAIL,SAAS,CAC7C,CAAC;EAED,IAAIM,QAAQ,GAAGF,IAAI,CAACH,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;EAC1D,IAAII,SAAS,GAAGf,SAAS,GAAGc,QAAQ;EACpC,IAAIvB,KAAK,GAAG,CAAC;EACb,OAAOwB,SAAS,GAAG,CAAC,IAAIH,IAAI,CAACvB,MAAM,GAAG,CAAC,EAAE;IACvC,MAAM8C,IAAI,GAAG5C,KAAK,GAAGqB,IAAI,CAACvB,MAAM;IAChCuB,IAAI,CAACuB,IAAI,CAAC,GAAG,CAACvB,IAAI,CAACuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAClCrB,QAAQ,IAAI,CAAC;IACbC,SAAS,GAAGf,SAAS,GAAGc,QAAQ;IAChCvB,KAAK,IAAI,CAAC;EACZ;EAEA,OAAOqB,IAAI;AACb;AAEA,SAASwB,uBAAuBA,CAC9BC,KAA4B,EACT;EACnB,OAAOA,KAAK,CACT3C,GAAG,CAAE4C,IAAI,KAAM;IACd7D,IAAI,EAAE6D,IAAI,CAAC7D,IAAI;IACf8D,KAAK,EAAEZ,MAAM,CAACC,QAAQ,CAACU,IAAI,CAACC,KAAK,CAAC,GAAGtC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEoC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC;IAChE3D,GAAG,EAAE+C,MAAM,CAACC,QAAQ,CAACU,IAAI,CAAC1D,GAAG,CAAC,GAAGqB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEoC,IAAI,CAAC1D,GAAG,CAAC,GAAG;EAC3D,CAAC,CAAC,CAAC,CACFc,GAAG,CAAE4C,IAAI,KAAM;IACd,GAAGA,IAAI;IACP1D,GAAG,EAAE0D,IAAI,CAAC1D,GAAG,GAAG0D,IAAI,CAACC,KAAK,GAAGD,IAAI,CAACC,KAAK,GAAGD,IAAI,CAAC1D;EACjD,CAAC,CAAC,CAAC,CACFiB,MAAM,CAAEyC,IAAI,IAAKA,IAAI,CAAC7D,IAAI,CAACmB,IAAI,CAAC,CAAC,CAACP,MAAM,GAAG,CAAC,CAAC;AAClD;AAEA,SAASmD,sCAAsCA,CAC7C/D,IAAY,EACZgE,YAA+B,EACZ;EACnB,MAAMC,SAAS,GAAGC,sBAAsB,CAAClE,IAAI,CAAC;EAC9C,IAAIiE,SAAS,CAACrD,MAAM,KAAK,CAAC,IAAIoD,YAAY,CAACpD,MAAM,KAAK,CAAC,EAAE;IACvD,OAAO,EAAE;EACX;EAEA,MAAMuD,eAAe,GAAGF,SAAS,CAAChD,GAAG,CAAEmD,QAAQ,IAC7C5C,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE4C,kBAAkB,CAACD,QAAQ,CAAC,CAACxD,MAAM,CACjD,CAAC;EACD,MAAM0D,kBAAkB,GAAGd,oBAAoB,CAC7CQ,YAAY,CAACpD,MAAM,EACnBuD,eACF,CAAC;EAED,MAAMI,SAA4B,GAAG,EAAE;EACvC,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,YAAY,GAAGT,YAAY,CAAC,CAAC,CAAC,EAAEF,KAAK,IAAI,CAAC;EAE9C,KAAK,IAAI5D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+D,SAAS,CAACrD,MAAM,EAAEV,CAAC,IAAI,CAAC,EAAE;IAC5C,MAAMkE,QAAQ,GAAGH,SAAS,CAAC/D,CAAC,CAAC,IAAI,EAAE;IACnC,MAAMwE,KAAK,GAAGlD,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE6C,kBAAkB,CAACpE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,MAAMyE,KAAK,GAAGX,YAAY,CAAC5D,KAAK,CAACoE,UAAU,EAAEA,UAAU,GAAGE,KAAK,CAAC;IAChEF,UAAU,IAAIE,KAAK;IAEnB,IAAIC,KAAK,CAAC/D,MAAM,KAAK,CAAC,EAAE;MACtB2D,SAAS,CAACK,IAAI,CAAC;QACb5E,IAAI,EAAEoE,QAAQ;QACdN,KAAK,EAAEW,YAAY;QACnBtE,GAAG,EAAEsE;MACP,CAAC,CAAC;MACF;IACF;IAEA,MAAMX,KAAK,GAAGa,KAAK,CAAC,CAAC,CAAC,EAAEb,KAAK,IAAIW,YAAY;IAC7C,MAAMtE,GAAG,GAAGwE,KAAK,CAACA,KAAK,CAAC/D,MAAM,GAAG,CAAC,CAAC,EAAET,GAAG,IAAI2D,KAAK;IACjDW,YAAY,GAAGtE,GAAG;IAElBoE,SAAS,CAACK,IAAI,CAAC;MACb5E,IAAI,EAAEoE,QAAQ;MACdN,KAAK;MACL3D;IACF,CAAC,CAAC;EACJ;EAEA,MAAM0E,cAAc,GAAGb,YAAY,CAACA,YAAY,CAACpD,MAAM,GAAG,CAAC,CAAC,EAAET,GAAG;EACjE,IAAI0E,cAAc,KAAKC,SAAS,IAAIP,SAAS,CAAC3D,MAAM,GAAG,CAAC,EAAE;IACxD,MAAM0C,SAAS,GAAGiB,SAAS,CAAC3D,MAAM,GAAG,CAAC;IACtC,MAAMmE,IAAI,GAAGR,SAAS,CAACjB,SAAS,CAAC;IACjC,IAAIyB,IAAI,IAAI,IAAI,EAAE;MAChBR,SAAS,CAACjB,SAAS,CAAC,GAAG;QACrB,GAAGyB,IAAI;QACP5E,GAAG,EAAEqB,IAAI,CAACC,GAAG,CAACsD,IAAI,CAAC5E,GAAG,EAAE0E,cAAc;MACxC,CAAC;IACH;EACF;EAEA,OAAON,SAAS;AAClB;AAEA,SAASS,SAASA,CAACtF,IAAY,EAAW;EACxC,OAAO,2EAA2E,CAACC,IAAI,CACrFD,IACF,CAAC;AACH;AAEA,SAASuF,eAAeA,CAACvF,IAAY,EAAW;EAC9C,OAAO,+CAA+C,CAACC,IAAI,CAACD,IAAI,CAAC;AACnE;AAEA,OAAO,SAASwE,sBAAsBA,CAAClE,IAAY,EAAY;EAC7D,MAAMkF,UAAU,GAAGlF,IAAI,CAACmB,IAAI,CAAC,CAAC;EAC9B,IAAI+D,UAAU,CAACtE,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACX;EAEA,MAAMqD,SAAmB,GAAG,EAAE;EAC9B,IAAIH,KAAK,GAAG,CAAC;EACb,IAAI5D,CAAC,GAAG,CAAC;EAET,OAAOA,CAAC,GAAGgF,UAAU,CAACtE,MAAM,EAAE;IAC5B,MAAMuE,OAAO,GAAGD,UAAU,CAAChF,CAAC,CAAC,IAAI,EAAE;IACnC,IAAI,CAACN,oBAAoB,CAACuF,OAAO,CAAC,EAAE;MAClCjF,CAAC,IAAI,CAAC;MACN;IACF;IAEA,IAAIiF,OAAO,KAAK,GAAG,IAAI,CAAC7E,mBAAmB,CAAC4E,UAAU,EAAEhF,CAAC,CAAC,EAAE;MAC1DA,CAAC,IAAI,CAAC;MACN;IACF;IAEA,MAAMC,GAAG,GAAGU,mBAAmB,CAACqE,UAAU,EAAEhF,CAAC,CAAC;IAC9C,MAAMM,IAAI,GAAG0E,UAAU,CAAC/E,GAAG,CAAC;IAC5B,IAAIK,IAAI,KAAKsE,SAAS,IAAI,CAACrF,gBAAgB,CAACe,IAAI,CAAC,EAAE;MACjDN,CAAC,IAAI,CAAC;MACN;IACF;IAEA,MAAMkE,QAAQ,GAAGc,UAAU,CAAC9E,KAAK,CAAC0D,KAAK,EAAE3D,GAAG,CAAC,CAACgB,IAAI,CAAC,CAAC;IACpD,IAAIiD,QAAQ,CAACxD,MAAM,GAAG,CAAC,EAAE;MACvBqD,SAAS,CAACW,IAAI,CAACR,QAAQ,CAAC;IAC1B;IAEAN,KAAK,GAAG3D,GAAG;IACX,OACE2D,KAAK,GAAGoB,UAAU,CAACtE,MAAM,IACzBnB,gBAAgB,CAACyF,UAAU,CAACpB,KAAK,CAAC,IAAI,EAAE,CAAC,EACzC;MACAA,KAAK,IAAI,CAAC;IACZ;IACA5D,CAAC,GAAG4D,KAAK;EACX;EAEA,MAAMsB,IAAI,GAAGF,UAAU,CAAC9E,KAAK,CAAC0D,KAAK,CAAC,CAAC3C,IAAI,CAAC,CAAC;EAC3C,IAAIiE,IAAI,CAACxE,MAAM,GAAG,CAAC,EAAE;IACnBqD,SAAS,CAACW,IAAI,CAACQ,IAAI,CAAC;EACtB;EAEA,OAAOnB,SAAS,CAACrD,MAAM,GAAG,CAAC,GAAGqD,SAAS,GAAG,CAACiB,UAAU,CAAC;AACxD;AAEA,OAAO,SAASb,kBAAkBA,CAACrE,IAAY,EAAY;EACzD,MAAMkF,UAAU,GAAGlF,IAAI,CAACmB,IAAI,CAAC,CAAC;EAC9B,IAAI+D,UAAU,CAACtE,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACX;EAEA,MAAMyE,KAAe,GAAG,EAAE;EAC1B,IAAIF,OAAO,GAAG,EAAE;EAEhB,MAAMG,YAAY,GAAGA,CAAA,KAAM;IACzB,MAAM5E,KAAK,GAAGyE,OAAO,CAAChE,IAAI,CAAC,CAAC;IAC5B,IAAIT,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;MACpByE,KAAK,CAACT,IAAI,CAAClE,KAAK,CAAC;IACnB;IACAyE,OAAO,GAAG,EAAE;EACd,CAAC;EAED,KAAK,MAAMzF,IAAI,IAAIwF,UAAU,EAAE;IAC7B,IAAIzF,gBAAgB,CAACC,IAAI,CAAC,EAAE;MAC1B4F,YAAY,CAAC,CAAC;MACd;IACF;IAEA,IAAIN,SAAS,CAACtF,IAAI,CAAC,EAAE;MACnB4F,YAAY,CAAC,CAAC;MACdD,KAAK,CAACT,IAAI,CAAClF,IAAI,CAAC;MAChB;IACF;IAEA,IAAIuF,eAAe,CAACvF,IAAI,CAAC,EAAE;MACzB4F,YAAY,CAAC,CAAC;MACd;IACF;IAEAH,OAAO,IAAIzF,IAAI;EACjB;EAEA4F,YAAY,CAAC,CAAC;EAEd,OAAOD,KAAK,CAACzE,MAAM,GAAG,CAAC,GAAGyE,KAAK,GAAG,CAACH,UAAU,CAAC;AAChD;AAEA,OAAO,SAASK,wBAAwBA,CACtCvE,QAAkB,EAClBgC,iBAA2B,EAC3BwC,UAAkB,EACC;EACnB,IAAI,CAACtC,MAAM,CAACC,QAAQ,CAACqC,UAAU,CAAC,IAAIA,UAAU,IAAI,CAAC,EAAE;IACnD,OAAO,EAAE;EACX;EAEA,MAAMC,eAAe,GAAG1E,gBAAgB,CAACC,QAAQ,CAAC;EAClD,IAAIyE,eAAe,CAAC7E,MAAM,KAAK,CAAC,EAAE;IAChC,OAAO,EAAE;EACX;EAEA,MAAM8E,aAAa,GAAG3C,0BAA0B,CAC9C0C,eAAe,EACfzC,iBACF,CAAC;EAED,MAAMuB,SAA4B,GAAG,EAAE;EACvC,IAAIoB,aAAa,GAAG,CAAC;EAErB,KAAK,IAAIzF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuF,eAAe,CAAC7E,MAAM,EAAEV,CAAC,IAAI,CAAC,EAAE;IAClD,MAAM0F,OAAO,GAAGpE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEiE,aAAa,CAACxF,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI0F,OAAO,KAAK,CAAC,IAAID,aAAa,KAAK,CAAC,EAAE;MACxC;IACF;IAEA,MAAM7B,KAAK,GAAG6B,aAAa,GAAGH,UAAU;IACxCG,aAAa,IAAIC,OAAO;IACxB,MAAMzF,GAAG,GAAGwF,aAAa,GAAGH,UAAU;IAEtCjB,SAAS,CAACK,IAAI,CAAC;MACb5E,IAAI,EAAEyF,eAAe,CAACvF,CAAC,CAAC,IAAI,EAAE;MAC9B4D,KAAK;MACL3D;IACF,CAAC,CAAC;EACJ;EAEA,OAAOoE,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAesB,0BAA0BA,CAC9C7F,IAAY,EACZ8F,kBAAsE,EACtEC,OAAiC,EACR;EACzB,MAAMhH,IAAI,GAAGgH,OAAO,CAAChH,IAAI;EACzB,MAAMC,WAAW,GAAG+G,OAAO,CAAC/G,WAAW,IAAI,UAAU;EAErDF,gCAAgC,CAACC,IAAI,EAAEC,WAAW,CAAC;EAEnD,IAAID,IAAI,KAAK,UAAU,EAAE;IACvB,MAAMiH,iBAAiB,GAAGD,OAAO,CAACE,kBAAkB,EAAE9E,IAAI,CAAC,CAAC;IAE5D,IAAI,CAAC6E,iBAAiB,EAAE;MACtB,MAAM,IAAI/G,KAAK,CACb,qFACF,CAAC;IACH;IAEA,IAAIiH,SAAS,GAAG,EAAE;IAClB,IAAIC,aAAa,GAAG,KAAK;IAEzB,IAAI,OAAOL,kBAAkB,KAAK,QAAQ,EAAE;MAC1CI,SAAS,GAAGJ,kBAAkB;IAChC,CAAC,MAAM;MACLI,SAAS,GAAG,MAAMrH,2BAA2B,CAACiH,kBAAkB,CAAC;MACjEK,aAAa,GAAG,IAAI;IACtB;IAEA,IAAI;MACF,MAAMC,OAAO,GAAG,MAAM1H,UAAU,CAAC2H,qBAAqB,CACpDL,iBAAiB,EACjBE,SAAS,EACTlG,IAAI,EACJV,mBACF,CAAC;MAED,MAAMgH,SAAS,GAAG3C,uBAAuB,CAACyC,OAAO,CAACf,KAAK,IAAI,EAAE,CAAC;MAC9D,MAAMkB,SAAS,GAAG5C,uBAAuB,CAACyC,OAAO,CAACI,KAAK,IAAI,EAAE,CAAC;MAE9D,OAAO;QACLjC,SAAS,EACPvF,WAAW,KAAK,WAAW,GACvBuH,SAAS,GACTvH,WAAW,KAAK,MAAM,GACtBsH,SAAS,GACTvC,sCAAsC,CAAC/D,IAAI,EAAEsG,SAAS,CAAC;QAC7DG,UAAU,EAAE;MACd,CAAC;IACH,CAAC,SAAS;MACR,IAAIN,aAAa,EAAE;QACjB1H,MAAM,CAACyH,SAAS,CAAC,CAACQ,KAAK,CAAC,MAAM;UAC5B;QAAA,CACD,CAAC;MACJ;IACF;EACF;EAEA,MAAM1F,QAAQ,GACZhC,WAAW,KAAK,MAAM,GAClBqF,kBAAkB,CAACrE,IAAI,CAAC,GACxBkE,sBAAsB,CAAClE,IAAI,CAAC;EAElC,IAAIgB,QAAQ,CAACJ,MAAM,KAAK,CAAC,EAAE;IACzB,OAAO;MACL2D,SAAS,EAAE,EAAE;MACbkC,UAAU,EAAE;IACd,CAAC;EACH;EAEA,IAAInF,YAAY,GAAG,CAAC;EACpB,IAAIkE,UAAU,GAAG,CAAC;EAElB,IAAI,OAAOM,kBAAkB,KAAK,QAAQ,EAAE;IAC1C,MAAMa,OAAO,GAAG,MAAM/H,6BAA6B,CAACkH,kBAAkB,CAAC;IACvExE,YAAY,GAAGqF,OAAO,CAACf,OAAO,CAAChF,MAAM;IACrC4E,UAAU,GAAGmB,OAAO,CAACnB,UAAU;EACjC,CAAC,MAAM;IACLlE,YAAY,GAAGwE,kBAAkB,CAACF,OAAO,CAAChF,MAAM;IAChD4E,UAAU,GAAGM,kBAAkB,CAACN,UAAU;EAC5C;EAEA,IAAI,CAACtC,MAAM,CAACC,QAAQ,CAACqC,UAAU,CAAC,IAAIA,UAAU,IAAI,CAAC,IAAIlE,YAAY,IAAI,CAAC,EAAE;IACxE,OAAO;MACLiD,SAAS,EAAE,EAAE;MACbkC,UAAU,EAAE;IACd,CAAC;EACH;EAEA,MAAMzD,iBAAiB,GAAG3B,6BAA6B,CACrDC,YAAY,EACZN,QACF,CAAC;EACD,OAAO;IACLuD,SAAS,EAAEgB,wBAAwB,CACjCvE,QAAQ,EACRgC,iBAAiB,EACjBwC,UACF,CAAC;IACDiB,UAAU,EAAE;EACd,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { DocumentDirectoryPath, mkdir } from '@dr.pogodin/react-native-fs';
|
|
4
|
+
import SherpaOnnx from "../NativeSherpaOnnx.js";
|
|
5
|
+
function createTempAlignmentWavPath(instanceId) {
|
|
6
|
+
const nonce = `${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
7
|
+
const prefix = instanceId?.trim() ? `${instanceId}-` : '';
|
|
8
|
+
return `${DocumentDirectoryPath}/sherpa-onnx/cache/${prefix}alignment-${nonce}.wav`.replace(/\/+/g, '/');
|
|
9
|
+
}
|
|
10
|
+
export async function saveAlignmentAudioToTempWav(audio, instanceId) {
|
|
11
|
+
const cacheDir = `${DocumentDirectoryPath}/sherpa-onnx/cache`.replace(/\/+/g, '/');
|
|
12
|
+
await mkdir(cacheDir);
|
|
13
|
+
const tempPath = createTempAlignmentWavPath(instanceId);
|
|
14
|
+
await SherpaOnnx.saveTtsAudioToFile(audio.samples, audio.sampleRate, tempPath);
|
|
15
|
+
return tempPath;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tempAudio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DocumentDirectoryPath","mkdir","SherpaOnnx","createTempAlignmentWavPath","instanceId","nonce","Date","now","Math","random","toString","slice","prefix","trim","replace","saveAlignmentAudioToTempWav","audio","cacheDir","tempPath","saveTtsAudioToFile","samples","sampleRate"],"sourceRoot":"../../../src","sources":["tts/tempAudio.ts"],"mappings":";;AAAA,SAASA,qBAAqB,EAAEC,KAAK,QAAQ,6BAA6B;AAC1E,OAAOC,UAAU,MAAM,wBAAqB;AAG5C,SAASC,0BAA0BA,CAACC,UAAmB,EAAU;EAC/D,MAAMC,KAAK,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;EACxE,MAAMC,MAAM,GAAGR,UAAU,EAAES,IAAI,CAAC,CAAC,GAAG,GAAGT,UAAU,GAAG,GAAG,EAAE;EACzD,OAAO,GAAGJ,qBAAqB,sBAAsBY,MAAM,aAAaP,KAAK,MAAM,CAACS,OAAO,CACzF,MAAM,EACN,GACF,CAAC;AACH;AAEA,OAAO,eAAeC,2BAA2BA,CAC/CC,KAAqB,EACrBZ,UAAmB,EACF;EACjB,MAAMa,QAAQ,GAAG,GAAGjB,qBAAqB,oBAAoB,CAACc,OAAO,CACnE,MAAM,EACN,GACF,CAAC;EACD,MAAMb,KAAK,CAACgB,QAAQ,CAAC;EAErB,MAAMC,QAAQ,GAAGf,0BAA0B,CAACC,UAAU,CAAC;EACvD,MAAMF,UAAU,CAACiB,kBAAkB,CACjCH,KAAK,CAACI,OAAO,EACbJ,KAAK,CAACK,UAAU,EAChBH,QACF,CAAC;EACD,OAAOA,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TTS_MODEL_TYPES"],"sourceRoot":"../../../src","sources":["tts/types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA,OAAO,MAAMA,eAAwC,GAAG,CACtD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,MAAM,CACE;;AAEV;;AAEA;;AAUA;;AAQA;;AAMA;;AAMA;;AAKA;;AAKA;AACA;AACA;AACA;;AAUA;AACA;AACA;;AAuEA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["TTS_MODEL_TYPES"],"sourceRoot":"../../../src","sources":["tts/types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA,OAAO,MAAMA,eAAwC,GAAG,CACtD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,MAAM,CACE;;AAEV;;AAEA;;AAUA;;AAQA;;AAMA;;AAMA;;AAKA;;AAKA;AACA;AACA;AACA;;AAUA;AACA;AACA;;AAuEA;AACA;AACA;AACA;;AAgDA;AACA;AACA;AACA;;AA4DA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA;AACA;AACA;;AAkBA;AACA;AACA;;AAmDA;AACA;AACA;;AAYA;AACA;AACA;;AASA;AACA;AACA;;AASA;AACA;AACA;AACA;;AAQA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;;AAqBA;AACA;AACA","ignoreList":[]}
|