lookatstudy-termux-voice 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/addon-static-import.js +70 -0
- package/addon.js +98 -0
- package/audio-tagg.js +45 -0
- package/keyword-spotter.js +68 -0
- package/libonnxruntime.so +0 -0
- package/libsherpa-onnx-c-api.so +0 -0
- package/non-streaming-asr.js +158 -0
- package/non-streaming-speaker-diarization.js +38 -0
- package/non-streaming-speech-denoiser.js +32 -0
- package/non-streaming-tts.js +116 -0
- package/online-speech-denoiser.js +46 -0
- package/package.json +68 -0
- package/punctuation.js +43 -0
- package/resampler.js +80 -0
- package/sherpa-onnx.js +49 -0
- package/sherpa-onnx.node +0 -0
- package/speaker-identification.js +152 -0
- package/spoken-language-identification.js +38 -0
- package/streaming-asr.js +130 -0
- package/types.js +787 -0
- package/vad.js +134 -0
package/types.js
ADDED
|
@@ -0,0 +1,787 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized JSDoc typedefs for the Node addon API.
|
|
3
|
+
* These typedefs mirror the shapes produced/consumed by the C++ bindings
|
|
4
|
+
* in `scripts/node-addon-api/src/*` and by the underlying SherpaOnnx C API.
|
|
5
|
+
*
|
|
6
|
+
* Keep these typedefs specialized (no `any`/`unknown`) and concise.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Opaque handle types returned by native constructors. These are opaque
|
|
11
|
+
* JavaScript objects backed by native pointers. Do not introspect or
|
|
12
|
+
* mutate their internals; pass them to the API functions as-is.
|
|
13
|
+
*
|
|
14
|
+
* @typedef {Object} OfflineStreamHandle
|
|
15
|
+
* @see src/non-streaming-asr.cc
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @typedef {Object} OnlineStreamHandle
|
|
20
|
+
* @see src/streaming-asr.cc
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @typedef {Object} OfflineRecognizerHandle
|
|
25
|
+
* @see src/non-streaming-asr.cc
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @typedef {Object} OnlineRecognizerHandle
|
|
30
|
+
* @see src/streaming-asr.cc
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @typedef {Object} DisplayHandle
|
|
35
|
+
* @see src/streaming-asr.cc
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @typedef {Object} CircularBufferHandle
|
|
40
|
+
* @see src/vad.cc
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @typedef {Object} VoiceActivityDetectorHandle
|
|
45
|
+
* @see src/vad.cc
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @typedef {Object} AudioTaggingHandle
|
|
50
|
+
* @see src/audio-tagging.cc
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @typedef {Object} OfflinePunctuationHandle
|
|
55
|
+
* @see src/offline-punctuation.cc
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @typedef {Object} LinearResamplerHandle
|
|
60
|
+
* @see src/resampler.cc
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @typedef {Object} OfflineTtsHandle
|
|
65
|
+
* @see src/non-streaming-tts.cc
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @typedef {Object} OnlinePunctuationHandle
|
|
70
|
+
* @see src/punctuation.cc
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @typedef {Object} KeywordSpotterHandle
|
|
75
|
+
* @see src/keyword-spotter.cc
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @typedef {Object} SpeakerEmbeddingExtractorHandle
|
|
80
|
+
* @see src/speaker-identification.cc
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @typedef {Object} SpeakerEmbeddingManagerHandle
|
|
85
|
+
* @see src/speaker-identification.cc
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @typedef {Object} SpokenLanguageIdentificationHandle
|
|
90
|
+
* @see src/spoken-language-identification.cc
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @typedef {Object} OfflineSpeakerDiarizationHandle
|
|
95
|
+
* @see src/non-streaming-speaker-diarization.cc
|
|
96
|
+
*/
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @typedef {Object} OfflineSpeechDenoiserHandle
|
|
100
|
+
* @see src/non-streaming-speech-denoiser.cc
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @typedef {Object} OnlineSpeechDenoiserHandle
|
|
105
|
+
* @see src/online-speech-denoiser.cc
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* A single audio event returned by AudioTagging.compute().
|
|
110
|
+
* @typedef {Object} AudioEvent
|
|
111
|
+
* @property {string} name - The event name.
|
|
112
|
+
* @property {number} prob - Probability in [0,1].
|
|
113
|
+
* @property {number} index - Index (integer) of the event.
|
|
114
|
+
*/
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* AudioTagging specific model config for Zipformer variant
|
|
118
|
+
* @typedef {Object} AudioTaggingZipformerModelConfig
|
|
119
|
+
* @property {string} [model]
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* AudioTagging model config.
|
|
124
|
+
* @typedef {Object} AudioTaggingModelConfig
|
|
125
|
+
* @property {AudioTaggingZipformerModelConfig} [zipformer]
|
|
126
|
+
* @property {string} [ced]
|
|
127
|
+
* @property {number} [numThreads]
|
|
128
|
+
* @property {boolean|number} [debug]
|
|
129
|
+
* @property {string} [provider]
|
|
130
|
+
*/
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* AudioTagging configuration passed to constructor.
|
|
134
|
+
* @typedef {Object} AudioTaggingConfig
|
|
135
|
+
* @property {AudioTaggingModelConfig} [model]
|
|
136
|
+
* @property {string} [labels]
|
|
137
|
+
* @property {number} [topK]
|
|
138
|
+
*/
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Waveform input object used by acceptWaveform methods.
|
|
142
|
+
* @typedef {Object} Waveform
|
|
143
|
+
* @property {Float32Array} samples - Float32Array of samples in [-1, 1].
|
|
144
|
+
* @property {number} sampleRate - Sample rate as an integer (e.g., 16000).
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Feature config used by recognizers and models.
|
|
149
|
+
* @typedef {Object} FeatureConfig
|
|
150
|
+
* @property {number} [sampleRate]
|
|
151
|
+
* @property {number} [featureDim]
|
|
152
|
+
*/
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Silero VAD model config
|
|
156
|
+
* @typedef {Object} SileroVadModelConfig
|
|
157
|
+
* @property {string} [model]
|
|
158
|
+
* @property {number} [threshold]
|
|
159
|
+
* @property {number} [minSilenceDuration]
|
|
160
|
+
* @property {number} [minSpeechDuration]
|
|
161
|
+
* @property {number} [windowSize]
|
|
162
|
+
* @property {number} [maxSpeechDuration]
|
|
163
|
+
*/
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Ten-VAD model config
|
|
167
|
+
* @typedef {Object} TenVadModelConfig
|
|
168
|
+
* @property {string} [model]
|
|
169
|
+
* @property {number} [threshold]
|
|
170
|
+
* @property {number} [minSilenceDuration]
|
|
171
|
+
* @property {number} [minSpeechDuration]
|
|
172
|
+
* @property {number} [windowSize]
|
|
173
|
+
* @property {number} [maxSpeechDuration]
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Voice activity detector configuration.
|
|
178
|
+
* @typedef {Object} VadConfig
|
|
179
|
+
* @property {SileroVadModelConfig} [sileroVad]
|
|
180
|
+
* @property {TenVadModelConfig} [tenVad]
|
|
181
|
+
* @property {number} [sampleRate]
|
|
182
|
+
* @property {number} [numThreads]
|
|
183
|
+
* @property {string} [provider]
|
|
184
|
+
* @property {boolean|number} [debug]
|
|
185
|
+
*/
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Offline Transducer model config
|
|
189
|
+
* @typedef {Object} OfflineTransducerModelConfig
|
|
190
|
+
* @property {string} [encoder]
|
|
191
|
+
* @property {string} [decoder]
|
|
192
|
+
* @property {string} [joiner]
|
|
193
|
+
*/
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Offline Paraformer model config
|
|
197
|
+
* @typedef {Object} OfflineParaformerModelConfig
|
|
198
|
+
* @property {string} [model]
|
|
199
|
+
*/
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Offline Zipformer CTC model config
|
|
203
|
+
* @typedef {Object} OfflineZipformerCtcModelConfig
|
|
204
|
+
* @property {string} [model]
|
|
205
|
+
*/
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Offline Wenet CTC model config
|
|
209
|
+
* @typedef {Object} OfflineWenetCtcModelConfig
|
|
210
|
+
* @property {string} [model]
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Offline Omnilingual ASR CTC model config
|
|
215
|
+
* @typedef {Object} OfflineOmnilingualAsrCtcModelConfig
|
|
216
|
+
* @property {string} [model]
|
|
217
|
+
*/
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Offline Med ASR CTC model config
|
|
221
|
+
* @typedef {Object} OfflineMedAsrCtcModelConfig
|
|
222
|
+
* @property {string} [model]
|
|
223
|
+
*/
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Offline Dolphin model config
|
|
227
|
+
* @typedef {Object} OfflineDolphinModelConfig
|
|
228
|
+
* @property {string} [model]
|
|
229
|
+
*/
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Offline NeMo CTC model config
|
|
233
|
+
* @typedef {Object} OfflineNeMoCtcModelConfig
|
|
234
|
+
* @property {string} [model]
|
|
235
|
+
*/
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Offline Canary model config
|
|
239
|
+
* @typedef {Object} OfflineCanaryModelConfig
|
|
240
|
+
* @property {string} [encoder]
|
|
241
|
+
* @property {string} [decoder]
|
|
242
|
+
* @property {string} [srcLang]
|
|
243
|
+
* @property {string} [tgtLang]
|
|
244
|
+
* @property {number} [usePnc]
|
|
245
|
+
*/
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Offline Whisper model config
|
|
249
|
+
* @typedef {Object} OfflineWhisperModelConfig
|
|
250
|
+
* @property {string} [encoder]
|
|
251
|
+
* @property {string} [decoder]
|
|
252
|
+
* @property {string} [language]
|
|
253
|
+
* @property {string} [task]
|
|
254
|
+
* @property {number} [tailPaddings]
|
|
255
|
+
*/
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Offline FireRed ASR model config
|
|
259
|
+
* @typedef {Object} OfflineFireRedAsrModelConfig
|
|
260
|
+
* @property {string} [encoder]
|
|
261
|
+
* @property {string} [decoder]
|
|
262
|
+
*/
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Offline Moonshine model config
|
|
266
|
+
* @typedef {Object} OfflineMoonshineModelConfig
|
|
267
|
+
* @property {string} [preprocessor]
|
|
268
|
+
* @property {string} [encoder]
|
|
269
|
+
* @property {string} [uncachedDecoder]
|
|
270
|
+
* @property {string} [cachedDecoder]
|
|
271
|
+
*/
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Offline TDNN model config
|
|
275
|
+
* @typedef {Object} OfflineTdnnModelConfig
|
|
276
|
+
* @property {string} [model]
|
|
277
|
+
*/
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Offline SenseVoice model config
|
|
281
|
+
* @typedef {Object} OfflineSenseVoiceModelConfig
|
|
282
|
+
* @property {string} [model]
|
|
283
|
+
* @property {string} [language]
|
|
284
|
+
* @property {number} [useInverseTextNormalization]
|
|
285
|
+
*/
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Offline Cohere Transcribe model config
|
|
289
|
+
* @typedef {Object} OfflineCohereTranscribeModelConfig
|
|
290
|
+
* @property {string} [encoder]
|
|
291
|
+
* @property {string} [decoder]
|
|
292
|
+
* @property {string} [language]
|
|
293
|
+
* @property {number} [usePunct]
|
|
294
|
+
* @property {number} [useItn]
|
|
295
|
+
*/
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Offline model config.
|
|
299
|
+
* @typedef {Object} OfflineModelConfig
|
|
300
|
+
* @property {OfflineTransducerModelConfig} [transducer]
|
|
301
|
+
* @property {OfflineParaformerModelConfig} [paraformer]
|
|
302
|
+
* @property {OfflineZipformerCtcModelConfig} [zipformerCtc]
|
|
303
|
+
* @property {OfflineWenetCtcModelConfig} [wenetCtc]
|
|
304
|
+
* @property {OfflineOmnilingualAsrCtcModelConfig} [omnilingual]
|
|
305
|
+
* @property {OfflineMedAsrCtcModelConfig} [medasr]
|
|
306
|
+
* @property {OfflineDolphinModelConfig} [dolphin]
|
|
307
|
+
* @property {OfflineNeMoCtcModelConfig} [nemoCtc]
|
|
308
|
+
* @property {OfflineCanaryModelConfig} [canary]
|
|
309
|
+
* @property {OfflineWhisperModelConfig} [whisper]
|
|
310
|
+
* @property {OfflineFireRedAsrModelConfig} [fireRedAsr]
|
|
311
|
+
* @property {OfflineMoonshineModelConfig} [moonshine]
|
|
312
|
+
* @property {OfflineTdnnModelConfig} [tdnn]
|
|
313
|
+
* @property {OfflineSenseVoiceModelConfig} [senseVoice]
|
|
314
|
+
* @property {OfflineCohereTranscribeModelConfig} [cohereTranscribe]
|
|
315
|
+
* @property {string} [tokens]
|
|
316
|
+
* @property {number} [numThreads]
|
|
317
|
+
* @property {boolean|number} [debug]
|
|
318
|
+
* @property {string} [provider]
|
|
319
|
+
*/
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Transducer model config
|
|
323
|
+
* @typedef {Object} TransducerModelConfig
|
|
324
|
+
* @property {string} [encoder]
|
|
325
|
+
* @property {string} [decoder]
|
|
326
|
+
* @property {string} [joiner]
|
|
327
|
+
*/
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Paraformer model config
|
|
331
|
+
* @typedef {Object} ParaformerModelConfig
|
|
332
|
+
* @property {string} [encoder]
|
|
333
|
+
* @property {string} [decoder]
|
|
334
|
+
*/
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Zipformer2 CTC model config
|
|
338
|
+
* @typedef {Object} Zipformer2CtcModelConfig
|
|
339
|
+
* @property {string} [model]
|
|
340
|
+
*/
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* NeMo CTC model config
|
|
344
|
+
* @typedef {Object} NemoCtcModelConfig
|
|
345
|
+
* @property {string} [model]
|
|
346
|
+
*/
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Tone CTC model config
|
|
350
|
+
* @typedef {Object} ToneCtcModelConfig
|
|
351
|
+
* @property {string} [model]
|
|
352
|
+
*/
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Online model config (subset of C++ `OnlineModelConfig`).
|
|
356
|
+
* @typedef {Object} OnlineModelConfig
|
|
357
|
+
* @property {TransducerModelConfig} [transducer]
|
|
358
|
+
* @property {ParaformerModelConfig} [paraformer]
|
|
359
|
+
* @property {Zipformer2CtcModelConfig} [zipformer2Ctc]
|
|
360
|
+
* @property {NemoCtcModelConfig} [nemoCtc]
|
|
361
|
+
* @property {ToneCtcModelConfig} [toneCtc]
|
|
362
|
+
* @property {string} [tokens]
|
|
363
|
+
* @property {number} [numThreads]
|
|
364
|
+
* @property {boolean|number} [debug]
|
|
365
|
+
* @property {string} [provider]
|
|
366
|
+
* @property {string} [modelType]
|
|
367
|
+
* @property {string} [modelingUnit]
|
|
368
|
+
* @property {string} [bpeVocab]
|
|
369
|
+
* @property {string} [tokensBuf]
|
|
370
|
+
* @property {number} [tokensBufSize]
|
|
371
|
+
*/
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Homophone replacer configuration used both in online and offline recognizers.
|
|
375
|
+
* @typedef {Object} HomophoneReplacerConfig
|
|
376
|
+
* @property {string} [lexicon]
|
|
377
|
+
* @property {string} [ruleFsts]
|
|
378
|
+
*/
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Online recognizer configuration passed to createOnlineRecognizer.
|
|
382
|
+
* @typedef {Object} OnlineRecognizerConfig
|
|
383
|
+
* @property {FeatureConfig} [featConfig]
|
|
384
|
+
* @property {OnlineModelConfig} [modelConfig]
|
|
385
|
+
* @property {HomophoneReplacerConfig} [hr]
|
|
386
|
+
* @property {string} [decodingMethod]
|
|
387
|
+
* @property {number} [maxActivePaths]
|
|
388
|
+
* @property {boolean|number} [enableEndpoint]
|
|
389
|
+
* @property {number} [rule1MinTrailingSilence]
|
|
390
|
+
* @property {number} [rule2MinTrailingSilence]
|
|
391
|
+
* @property {number} [rule3MinUtteranceLength]
|
|
392
|
+
* @property {string} [hotwordsFile]
|
|
393
|
+
* @property {number} [hotwordsScore]
|
|
394
|
+
* @property {string} [ruleFsts]
|
|
395
|
+
* @property {string} [ruleFars]
|
|
396
|
+
* @property {number} [blankPenalty]
|
|
397
|
+
*/
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Offline recognizer config passed to createOfflineRecognizer.
|
|
401
|
+
* @typedef {Object} OfflineRecognizerConfig
|
|
402
|
+
* @property {FeatureConfig} [featConfig]
|
|
403
|
+
* @property {OfflineModelConfig} [modelConfig]
|
|
404
|
+
*/
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Wave object returned by readWave and used by writeWave.
|
|
408
|
+
* @typedef {Object} WaveObject
|
|
409
|
+
* @property {Float32Array} samples - 1-D float32 samples in [-1, 1].
|
|
410
|
+
* @property {number} sampleRate - Sample rate as an integer (e.g., 16000).
|
|
411
|
+
* @see src/wave-reader.cc
|
|
412
|
+
*/
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Speech segment returned by Vad.front().
|
|
416
|
+
* @typedef {Object} SpeechSegment
|
|
417
|
+
* @property {number} start - Start index (int32) of this segment.
|
|
418
|
+
* @property {Float32Array} samples - Float32Array of samples.
|
|
419
|
+
* @see src/vad.cc
|
|
420
|
+
*/
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Audio returned by TTS and speech denoiser.
|
|
424
|
+
* @typedef {Object} GeneratedAudio
|
|
425
|
+
* @property {Float32Array} samples - The generated/denoised audio samples.
|
|
426
|
+
* @property {number} sampleRate - Sample rate in Hz.
|
|
427
|
+
* @see src/non-streaming-tts.cc
|
|
428
|
+
* @see src/non-streaming-speech-denoiser.cc
|
|
429
|
+
*/
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* @typedef {Object} GenerationConfig
|
|
433
|
+
* @property {number=} silenceScale
|
|
434
|
+
* @property {number=} speed
|
|
435
|
+
* @property {number=} sid
|
|
436
|
+
* @property {number=} numSteps
|
|
437
|
+
*
|
|
438
|
+
* @property {Float32Array=} referenceAudio
|
|
439
|
+
* @property {number=} referenceSampleRate
|
|
440
|
+
* @property {string=} referenceText
|
|
441
|
+
*
|
|
442
|
+
* @property {{[key: string]: number | string}} [extra]
|
|
443
|
+
*/
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* TTS request object passed to generate/generateAsync.
|
|
448
|
+
* @typedef {Object} TtsRequest
|
|
449
|
+
* @property {string} text - Input text to synthesize.
|
|
450
|
+
* @property {number} sid - Speaker id (integer).
|
|
451
|
+
* @property {number} speed - Playback speed (float).
|
|
452
|
+
* @property {boolean} [enableExternalBuffer=true] - Whether to use an external
|
|
453
|
+
* buffer.
|
|
454
|
+
* @property {GenerationConfig=} generationConfig - Optional
|
|
455
|
+
*/
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Spoken Language ID whisper config
|
|
459
|
+
* @typedef {Object} SpokenLanguageIdentificationWhisperConfig
|
|
460
|
+
* @property {string} [encoder]
|
|
461
|
+
* @property {string} [decoder]
|
|
462
|
+
* @property {number} [tailPaddings]
|
|
463
|
+
*/
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* SpokenLanguageIdentification config
|
|
467
|
+
* @typedef {Object} SpokenLanguageIdentificationConfig
|
|
468
|
+
* @property {SpokenLanguageIdentificationWhisperConfig} [whisper]
|
|
469
|
+
* @property {number} [numThreads]
|
|
470
|
+
* @property {boolean|number} [debug]
|
|
471
|
+
* @property {string} [provider]
|
|
472
|
+
*/
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* Speaker embedding extractor config
|
|
476
|
+
* @typedef {Object} SpeakerEmbeddingExtractorConfig
|
|
477
|
+
* @property {string} [model]
|
|
478
|
+
* @property {number} [numThreads]
|
|
479
|
+
* @property {boolean|number} [debug]
|
|
480
|
+
* @property {string} [provider]
|
|
481
|
+
*/
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* Offline punctuation model config
|
|
485
|
+
* @typedef {Object} OfflinePunctuationModelConfig
|
|
486
|
+
* @property {string} [ctTransformer]
|
|
487
|
+
* @property {number} [numThreads]
|
|
488
|
+
* @property {boolean|number} [debug]
|
|
489
|
+
* @property {string} [provider]
|
|
490
|
+
*/
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* Offline punctuation config
|
|
494
|
+
* @typedef {Object} OfflinePunctuationConfig
|
|
495
|
+
* @property {OfflinePunctuationModelConfig} [model]
|
|
496
|
+
*/
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* Online punctuation model config
|
|
500
|
+
* @typedef {Object} OnlinePunctuationModelConfig
|
|
501
|
+
* @property {string} [cnnBilstm]
|
|
502
|
+
* @property {string} [bpeVocab]
|
|
503
|
+
* @property {number} [numThreads]
|
|
504
|
+
* @property {boolean|number} [debug]
|
|
505
|
+
* @property {string} [provider]
|
|
506
|
+
*/
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* Online punctuation config
|
|
510
|
+
* @typedef {Object} OnlinePunctuationConfig
|
|
511
|
+
* @property {OnlinePunctuationModelConfig} [model]
|
|
512
|
+
*/
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* Generic audio processing request used by denoisers/tts generators.
|
|
516
|
+
* @typedef {Object} AudioProcessRequest
|
|
517
|
+
* @property {Float32Array} samples
|
|
518
|
+
* @property {number} sampleRate
|
|
519
|
+
* @property {boolean} [enableExternalBuffer]
|
|
520
|
+
*/
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* Offline TTS model configs
|
|
524
|
+
* @typedef {Object} OfflineTtsVitsModelConfig
|
|
525
|
+
* @property {string} [model]
|
|
526
|
+
* @property {string} [lexicon]
|
|
527
|
+
* @property {string} [tokens]
|
|
528
|
+
* @property {string} [dataDir]
|
|
529
|
+
* @property {number} [noiseScale]
|
|
530
|
+
* @property {number} [noiseScaleW]
|
|
531
|
+
* @property {number} [lengthScale]
|
|
532
|
+
*/
|
|
533
|
+
|
|
534
|
+
/**
|
|
535
|
+
* @typedef {Object} OfflineTtsMatchaModelConfig
|
|
536
|
+
* @property {string} [acousticModel]
|
|
537
|
+
* @property {string} [vocoder]
|
|
538
|
+
* @property {string} [lexicon]
|
|
539
|
+
* @property {string} [tokens]
|
|
540
|
+
* @property {string} [dataDir]
|
|
541
|
+
* @property {number} [noiseScale]
|
|
542
|
+
* @property {number} [lengthScale]
|
|
543
|
+
*/
|
|
544
|
+
|
|
545
|
+
/**
|
|
546
|
+
* @typedef {Object} OfflineTtsKokoroModelConfig
|
|
547
|
+
* @property {string} [model]
|
|
548
|
+
* @property {string} [voices]
|
|
549
|
+
* @property {string} [tokens]
|
|
550
|
+
* @property {string} [dataDir]
|
|
551
|
+
* @property {number} [lengthScale]
|
|
552
|
+
* @property {string} [lexicon]
|
|
553
|
+
* @property {string} [lang]
|
|
554
|
+
*/
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* @typedef {Object} OfflineTtsKittenModelConfig
|
|
558
|
+
* @property {string} [model]
|
|
559
|
+
* @property {string} [voices]
|
|
560
|
+
* @property {string} [tokens]
|
|
561
|
+
* @property {string} [dataDir]
|
|
562
|
+
* @property {number} [lengthScale]
|
|
563
|
+
*/
|
|
564
|
+
|
|
565
|
+
/**
|
|
566
|
+
* @typedef {Object} OfflineTtsZipvoiceModelConfig
|
|
567
|
+
* @property {string} [tokens]
|
|
568
|
+
* @property {string} [encoder]
|
|
569
|
+
* @property {string} [decoder]
|
|
570
|
+
* @property {string} [vocoder]
|
|
571
|
+
* @property {string} [dataDir]
|
|
572
|
+
* @property {string} [lexicon]
|
|
573
|
+
* @property {number} [featScale]
|
|
574
|
+
* @property {number} [tShift]
|
|
575
|
+
* @property {number} [targetRms]
|
|
576
|
+
* @property {number} [guidanceScale]
|
|
577
|
+
*/
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* @typedef {Object} OfflineTtsPocketModelConfig
|
|
581
|
+
* @property {string} [lmFlow]
|
|
582
|
+
* @property {string} [lmMain]
|
|
583
|
+
* @property {string} [encoder]
|
|
584
|
+
* @property {string} [decoder]
|
|
585
|
+
* @property {string} [textConditioner]
|
|
586
|
+
* @property {string} [vocabJson]
|
|
587
|
+
* @property {string} [tokenScoresJson]
|
|
588
|
+
* @property {number} [voiceEmbeddingCacheCapacity]
|
|
589
|
+
*/
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Offline TTS model config
|
|
593
|
+
* @typedef {Object} OfflineTtsModelConfig
|
|
594
|
+
* @property {OfflineTtsVitsModelConfig} [vits]
|
|
595
|
+
* @property {OfflineTtsMatchaModelConfig} [matcha]
|
|
596
|
+
* @property {OfflineTtsKokoroModelConfig} [kokoro]
|
|
597
|
+
* @property {OfflineTtsKittenModelConfig} [kitten]
|
|
598
|
+
* @property {OfflineTtsZipvoiceModelConfig} [zipvoice]
|
|
599
|
+
* @property {OfflineTtsPocketModelConfig} [pocket]
|
|
600
|
+
*/
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* Offline TTS configuration (partial, commonly used props).
|
|
604
|
+
* @typedef {Object} OfflineTtsConfig
|
|
605
|
+
* @property {OfflineTtsModelConfig} [model]
|
|
606
|
+
* @property {number} [maxNumSentences]
|
|
607
|
+
* @property {number} [silenceScale]
|
|
608
|
+
* @property {number} [numThreads]
|
|
609
|
+
* @property {string} [provider]
|
|
610
|
+
*/
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* Offline Speech Denoiser model config
|
|
614
|
+
* @typedef {Object} OfflineSpeechDenoiserGtcrnModelConfig
|
|
615
|
+
* @property {string} [model]
|
|
616
|
+
*/
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* Offline Speech Denoiser model config
|
|
620
|
+
* @typedef {Object} OfflineSpeechDenoiserDpdfNetModelConfig
|
|
621
|
+
* @property {string} [model]
|
|
622
|
+
* @property {number} [attenuationLimitDb] Offline attenuation limit in dB.
|
|
623
|
+
*/
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Offline Speech Denoiser model config
|
|
627
|
+
* @typedef {Object} OfflineSpeechDenoiserModelConfig
|
|
628
|
+
* @property {OfflineSpeechDenoiserGtcrnModelConfig} [gtcrn]
|
|
629
|
+
* @property {OfflineSpeechDenoiserDpdfNetModelConfig} [dpdfnet]
|
|
630
|
+
* @property {number} [numThreads]
|
|
631
|
+
* @property {boolean|number} [debug]
|
|
632
|
+
* @property {string} [provider]
|
|
633
|
+
*/
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* Offline Speech Denoiser configuration (partial).
|
|
637
|
+
* @typedef {Object} OfflineSpeechDenoiserConfig
|
|
638
|
+
* @property {OfflineSpeechDenoiserModelConfig} [model]
|
|
639
|
+
*/
|
|
640
|
+
|
|
641
|
+
/**
|
|
642
|
+
* Online Speech Denoiser configuration (partial).
|
|
643
|
+
* @typedef {Object} OnlineSpeechDenoiserConfig
|
|
644
|
+
* @property {OfflineSpeechDenoiserModelConfig} [model]
|
|
645
|
+
*/
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* Offline speaker segmentation (pyannote) model config
|
|
649
|
+
* @typedef {Object} OfflineSpeakerSegmentationPyannoteModelConfig
|
|
650
|
+
* @property {string} [model]
|
|
651
|
+
* @property {number} [windowShiftRatio=0.1]
|
|
652
|
+
*/
|
|
653
|
+
|
|
654
|
+
/**
|
|
655
|
+
* Offline speaker segmentation model config
|
|
656
|
+
* @typedef {Object} OfflineSpeakerSegmentationModelConfig
|
|
657
|
+
* @property {OfflineSpeakerSegmentationPyannoteModelConfig} [pyannote]
|
|
658
|
+
* @property {number} [numThreads]
|
|
659
|
+
* @property {boolean|number} [debug]
|
|
660
|
+
* @property {string} [provider]
|
|
661
|
+
*/
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Offline Speaker Diarization configuration (partial).
|
|
665
|
+
* @typedef {Object} OfflineSpeakerDiarizationConfig
|
|
666
|
+
* @property {OfflineSpeakerSegmentationModelConfig} [segmentation]
|
|
667
|
+
* @property {SpeakerEmbeddingExtractorConfig} [embedding]
|
|
668
|
+
* @property {FastClusteringConfig} [clustering]
|
|
669
|
+
* @property {number} [minDurationOn]
|
|
670
|
+
* @property {number} [minDurationOff]
|
|
671
|
+
*/
|
|
672
|
+
|
|
673
|
+
/**
|
|
674
|
+
* Fast clustering configuration used by diarization.
|
|
675
|
+
* @typedef {Object} FastClusteringConfig
|
|
676
|
+
* @property {number} [numClusters]
|
|
677
|
+
* @property {number} [threshold]
|
|
678
|
+
*/
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* SpeakerEmbeddingManager add-multi flattened object
|
|
682
|
+
* @typedef {Object} SpeakerEmbeddingManagerAddListFlattenedObj
|
|
683
|
+
* @property {string} name
|
|
684
|
+
* @property {Float32Array} vv
|
|
685
|
+
* @property {number} n
|
|
686
|
+
*/
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* SpeakerEmbeddingManager search object
|
|
690
|
+
* @typedef {Object} SpeakerEmbeddingManagerSearchObj
|
|
691
|
+
* @property {Float32Array} v
|
|
692
|
+
* @property {number} threshold
|
|
693
|
+
*/
|
|
694
|
+
|
|
695
|
+
/**
|
|
696
|
+
* SpeakerEmbeddingManager verify object
|
|
697
|
+
* @typedef {Object} SpeakerEmbeddingManagerVerifyObj
|
|
698
|
+
* @property {string} name
|
|
699
|
+
* @property {Float32Array} v
|
|
700
|
+
* @property {number} threshold
|
|
701
|
+
*/
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
* KeywordSpotter config (partial)
|
|
705
|
+
* @typedef {Object} KeywordSpotterConfig
|
|
706
|
+
* @property {FeatureConfig} [featConfig]
|
|
707
|
+
* @property {OfflineModelConfig} [modelConfig]
|
|
708
|
+
* @property {number} [maxActivePaths]
|
|
709
|
+
* @property {number} [numTrailingBlanks]
|
|
710
|
+
* @property {number} [keywordsScore]
|
|
711
|
+
* @property {number} [keywordsThreshold]
|
|
712
|
+
* @property {string} [keywordsFile]
|
|
713
|
+
*/
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* Offline recognition result returned by `getOfflineStreamResultAsJson`.
|
|
717
|
+
* See `OfflineRecognitionResult::AsJsonString()` in C++ for precise fields.
|
|
718
|
+
* @typedef {Object} OfflineRecognizerResult
|
|
719
|
+
* @property {string} lang
|
|
720
|
+
* @property {string} emotion
|
|
721
|
+
* @property {string} event
|
|
722
|
+
* @property {string} text
|
|
723
|
+
* @property {number[]} timestamps
|
|
724
|
+
* @property {number[]} durations
|
|
725
|
+
* @property {string[]} tokens
|
|
726
|
+
* @property {number[]} ys_log_probs
|
|
727
|
+
* @property {number[]} words
|
|
728
|
+
*/
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Online recognition result returned by `getOnlineStreamResultAsJson`.
|
|
732
|
+
* See `OnlineRecognizerResult::AsJsonString()` in C++.
|
|
733
|
+
* @typedef {Object} OnlineRecognizerResult
|
|
734
|
+
* @property {string} text
|
|
735
|
+
* @property {string[]} tokens
|
|
736
|
+
* @property {number[]} timestamps
|
|
737
|
+
* @property {number[]} ys_probs
|
|
738
|
+
* @property {number[]} lm_probs
|
|
739
|
+
* @property {number[]} context_scores
|
|
740
|
+
* @property {number} segment
|
|
741
|
+
* @property {number[]} words
|
|
742
|
+
* @property {number} start_time
|
|
743
|
+
* @property {boolean} is_final
|
|
744
|
+
* @property {boolean} is_eof
|
|
745
|
+
*/
|
|
746
|
+
|
|
747
|
+
/**
|
|
748
|
+
* Keyword spotter result returned by `getKeywordResultAsJson`.
|
|
749
|
+
* @typedef {Object} KeywordResult
|
|
750
|
+
* @property {number} start_time
|
|
751
|
+
* @property {string} keyword
|
|
752
|
+
* @property {number[]} timestamps
|
|
753
|
+
* @property {string[]} tokens
|
|
754
|
+
*/
|
|
755
|
+
|
|
756
|
+
/**
|
|
757
|
+
* Speaker diarization segment returned by `offlineSpeakerDiarizationProcess`.
|
|
758
|
+
* @typedef {Object} SpeakerDiarizationSegment
|
|
759
|
+
* @property {number} start - start time in seconds
|
|
760
|
+
* @property {number} end - end time in seconds
|
|
761
|
+
* @property {number} speaker - speaker id (integer)
|
|
762
|
+
*/
|
|
763
|
+
|
|
764
|
+
/**
|
|
765
|
+
* Speaker embedding entry used by SpeakerEmbeddingManager.add
|
|
766
|
+
* @typedef {Object} SpeakerEmbeddingEntry
|
|
767
|
+
* @property {string} name - speaker name
|
|
768
|
+
* @property {Float32Array} v - embedding vector
|
|
769
|
+
*/
|
|
770
|
+
|
|
771
|
+
/**
|
|
772
|
+
* @typedef {Object} OfflineStreamObject
|
|
773
|
+
* @property {OfflineStreamHandle} handle
|
|
774
|
+
*/
|
|
775
|
+
|
|
776
|
+
/**
|
|
777
|
+
* @typedef {Object} OnlineStreamObject
|
|
778
|
+
* @property {OnlineStreamHandle} handle
|
|
779
|
+
*/
|
|
780
|
+
|
|
781
|
+
/**
|
|
782
|
+
* @typedef {Object} DisplayObject
|
|
783
|
+
* @property {DisplayHandle} handle
|
|
784
|
+
*/
|
|
785
|
+
|
|
786
|
+
// Export typedefs so they can be referenced by require('./types.js')
|
|
787
|
+
module.exports = {};
|