react-native-sherpa-onnx 0.3.2 → 0.3.4
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 +84 -77
- package/SherpaOnnx.podspec +79 -45
- package/android/build.gradle +8 -2
- package/android/prebuilt-download.gradle +70 -16
- package/android/prebuilt-versions.gradle +14 -6
- package/android/src/main/cpp/CMakeLists.txt +2 -0
- package/android/src/main/cpp/jni/audio/sherpa-onnx-audio-convert-jni.cpp +202 -328
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-detect-jni-common.cpp +22 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-detect-jni-common.h +2 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-helper.cpp +96 -142
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-helper.h +40 -4
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-stt.cpp +774 -316
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-tts.cpp +208 -122
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect.h +92 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-stt-wrapper.cpp +3 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-tts-wrapper.cpp +14 -2
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-stt.cpp +229 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-stt.h +38 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-tts.cpp +144 -0
- package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-tts.h +38 -0
- package/android/src/main/cpp/jni/module/sherpa-onnx-module-jni.cpp +1 -1
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxModule.kt +157 -11
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxPcmCapture.kt +150 -0
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxSttHelper.kt +75 -24
- package/android/src/main/java/com/sherpaonnx/SherpaOnnxTtsHelper.kt +52 -1
- package/ios/SherpaOnnx+PcmLiveStream.mm +288 -0
- package/ios/SherpaOnnx+STT.mm +2 -0
- package/ios/SherpaOnnx+TTS.mm +17 -0
- package/ios/SherpaOnnx.mm +27 -3
- package/ios/SherpaOnnxAudioConvert.h +28 -0
- package/ios/SherpaOnnxAudioConvert.mm +698 -0
- package/ios/archive/sherpa-onnx-archive-helper.mm +12 -0
- package/ios/model_detect/sherpa-onnx-model-detect-helper.h +37 -3
- package/ios/model_detect/sherpa-onnx-model-detect-helper.mm +80 -45
- package/ios/model_detect/sherpa-onnx-model-detect-stt.mm +629 -267
- package/ios/model_detect/sherpa-onnx-model-detect-tts.mm +148 -56
- package/ios/model_detect/sherpa-onnx-model-detect.h +72 -0
- package/ios/model_detect/sherpa-onnx-validate-stt.h +38 -0
- package/ios/model_detect/sherpa-onnx-validate-stt.mm +229 -0
- package/ios/model_detect/sherpa-onnx-validate-tts.h +38 -0
- package/ios/model_detect/sherpa-onnx-validate-tts.mm +144 -0
- package/ios/stt/sherpa-onnx-stt-wrapper.mm +4 -0
- package/lib/module/NativeSherpaOnnx.js.map +1 -1
- package/lib/module/audio/index.js +55 -1
- package/lib/module/audio/index.js.map +1 -1
- package/lib/module/download/ModelDownloadManager.js +14 -0
- package/lib/module/download/ModelDownloadManager.js.map +1 -1
- package/lib/module/index.js +10 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/stt/streaming.js +6 -3
- package/lib/module/stt/streaming.js.map +1 -1
- package/lib/module/tts/index.js +13 -1
- package/lib/module/tts/index.js.map +1 -1
- package/lib/typescript/src/NativeSherpaOnnx.d.ts +32 -3
- package/lib/typescript/src/NativeSherpaOnnx.d.ts.map +1 -1
- package/lib/typescript/src/audio/index.d.ts +20 -1
- package/lib/typescript/src/audio/index.d.ts.map +1 -1
- package/lib/typescript/src/download/ModelDownloadManager.d.ts +2 -1
- package/lib/typescript/src/download/ModelDownloadManager.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +10 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/stt/streaming.d.ts.map +1 -1
- package/lib/typescript/src/stt/streamingTypes.d.ts +1 -1
- package/lib/typescript/src/stt/streamingTypes.d.ts.map +1 -1
- package/lib/typescript/src/tts/index.d.ts +12 -1
- package/lib/typescript/src/tts/index.d.ts.map +1 -1
- package/package.json +6 -1
- package/scripts/check-model-csvs.sh +72 -0
- package/scripts/setup-ios-framework.sh +272 -191
- package/src/NativeSherpaOnnx.ts +37 -3
- package/src/audio/index.ts +84 -1
- package/src/download/ModelDownloadManager.ts +19 -0
- package/src/index.tsx +15 -0
- package/src/stt/streaming.ts +10 -5
- package/src/stt/streamingTypes.ts +1 -1
- package/src/tts/index.ts +25 -1
- package/third_party/ffmpeg_prebuilt/ANDROID_RELEASE_TAG +1 -1
- package/third_party/libarchive_prebuilt/ANDROID_RELEASE_TAG +1 -1
- package/third_party/libarchive_prebuilt/IOS_RELEASE_TAG +1 -1
- package/third_party/sherpa-onnx-prebuilt/ANDROID_RELEASE_TAG +1 -1
- package/third_party/sherpa-onnx-prebuilt/IOS_RELEASE_TAG +1 -1
- package/ios/scripts/patch-libarchive-includes.sh +0 -61
- package/ios/scripts/setup-ios-libarchive.sh +0 -98
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* sherpa-onnx-validate-tts.h
|
|
3
|
+
*
|
|
4
|
+
* Declares ValidateTtsPaths(): after model detection resolves a kind and populates
|
|
5
|
+
* TtsModelPaths, this function checks that every *required* path field for that kind
|
|
6
|
+
* is non-empty. Returns a validation result with ok/error and the list of missing
|
|
7
|
+
* fields so the caller can surface a specific error instead of crashing at init time.
|
|
8
|
+
*/
|
|
9
|
+
#ifndef SHERPA_ONNX_VALIDATE_TTS_H
|
|
10
|
+
#define SHERPA_ONNX_VALIDATE_TTS_H
|
|
11
|
+
|
|
12
|
+
#include "sherpa-onnx-model-detect.h"
|
|
13
|
+
#include <string>
|
|
14
|
+
#include <vector>
|
|
15
|
+
|
|
16
|
+
namespace sherpaonnx {
|
|
17
|
+
|
|
18
|
+
struct TtsFieldRequirement {
|
|
19
|
+
const char* fieldName;
|
|
20
|
+
std::string TtsModelPaths::* field;
|
|
21
|
+
bool required;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
struct TtsValidationResult {
|
|
25
|
+
bool ok = true;
|
|
26
|
+
std::vector<std::string> missingRequired;
|
|
27
|
+
std::string error;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
TtsValidationResult ValidateTtsPaths(
|
|
31
|
+
TtsModelKind kind,
|
|
32
|
+
const TtsModelPaths& paths,
|
|
33
|
+
const std::string& modelDir
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
} // namespace sherpaonnx
|
|
37
|
+
|
|
38
|
+
#endif // SHERPA_ONNX_VALIDATE_TTS_H
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* sherpa-onnx-validate-tts.mm
|
|
3
|
+
*
|
|
4
|
+
* Validates that all required file paths are set for a given TtsModelKind.
|
|
5
|
+
* Requirements are declared in static tables at the top of this file —
|
|
6
|
+
* edit them when adding a new model type or changing what is required.
|
|
7
|
+
*/
|
|
8
|
+
#include "sherpa-onnx-validate-tts.h"
|
|
9
|
+
#include <cstddef>
|
|
10
|
+
#include <cstring>
|
|
11
|
+
|
|
12
|
+
namespace sherpaonnx {
|
|
13
|
+
namespace {
|
|
14
|
+
|
|
15
|
+
// ============================================================
|
|
16
|
+
// REQUIREMENT TABLES — one entry per TtsModelKind.
|
|
17
|
+
// Edit here when adding a new model type or changing requirements.
|
|
18
|
+
// ============================================================
|
|
19
|
+
|
|
20
|
+
static const TtsFieldRequirement kVitsReqs[] = {
|
|
21
|
+
{"ttsModel", &TtsModelPaths::ttsModel, true},
|
|
22
|
+
{"tokens", &TtsModelPaths::tokens, true},
|
|
23
|
+
{"dataDir", &TtsModelPaths::dataDir, false},
|
|
24
|
+
{"lexicon", &TtsModelPaths::lexicon, false},
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
static const TtsFieldRequirement kMatchaReqs[] = {
|
|
28
|
+
{"acousticModel", &TtsModelPaths::acousticModel, true},
|
|
29
|
+
{"vocoder", &TtsModelPaths::vocoder, true},
|
|
30
|
+
{"tokens", &TtsModelPaths::tokens, true},
|
|
31
|
+
{"dataDir", &TtsModelPaths::dataDir, false},
|
|
32
|
+
{"lexicon", &TtsModelPaths::lexicon, false},
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
static const TtsFieldRequirement kKokoroReqs[] = {
|
|
36
|
+
{"ttsModel", &TtsModelPaths::ttsModel, true},
|
|
37
|
+
{"tokens", &TtsModelPaths::tokens, true},
|
|
38
|
+
{"voices", &TtsModelPaths::voices, true},
|
|
39
|
+
{"dataDir", &TtsModelPaths::dataDir, true},
|
|
40
|
+
{"lexicon", &TtsModelPaths::lexicon, false},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
static const TtsFieldRequirement kPocketReqs[] = {
|
|
44
|
+
{"lmFlow", &TtsModelPaths::lmFlow, true},
|
|
45
|
+
{"lmMain", &TtsModelPaths::lmMain, true},
|
|
46
|
+
{"encoder", &TtsModelPaths::encoder, true},
|
|
47
|
+
{"decoder", &TtsModelPaths::decoder, true},
|
|
48
|
+
{"textConditioner", &TtsModelPaths::textConditioner, true},
|
|
49
|
+
{"vocabJson", &TtsModelPaths::vocabJson, true},
|
|
50
|
+
{"tokenScoresJson", &TtsModelPaths::tokenScoresJson, true},
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
static const TtsFieldRequirement kZipvoiceReqs[] = {
|
|
54
|
+
{"encoder", &TtsModelPaths::encoder, true},
|
|
55
|
+
{"decoder", &TtsModelPaths::decoder, true},
|
|
56
|
+
{"vocoder", &TtsModelPaths::vocoder, true},
|
|
57
|
+
{"tokens", &TtsModelPaths::tokens, true},
|
|
58
|
+
{"dataDir", &TtsModelPaths::dataDir, false},
|
|
59
|
+
{"lexicon", &TtsModelPaths::lexicon, false},
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// ============================================================
|
|
63
|
+
|
|
64
|
+
static const TtsFieldRequirement* GetRequirements(TtsModelKind kind, size_t& count) {
|
|
65
|
+
switch (kind) {
|
|
66
|
+
case TtsModelKind::kVits:
|
|
67
|
+
count = std::size(kVitsReqs);
|
|
68
|
+
return kVitsReqs;
|
|
69
|
+
case TtsModelKind::kMatcha:
|
|
70
|
+
count = std::size(kMatchaReqs);
|
|
71
|
+
return kMatchaReqs;
|
|
72
|
+
case TtsModelKind::kKokoro:
|
|
73
|
+
case TtsModelKind::kKitten:
|
|
74
|
+
count = std::size(kKokoroReqs);
|
|
75
|
+
return kKokoroReqs;
|
|
76
|
+
case TtsModelKind::kPocket:
|
|
77
|
+
count = std::size(kPocketReqs);
|
|
78
|
+
return kPocketReqs;
|
|
79
|
+
case TtsModelKind::kZipvoice:
|
|
80
|
+
count = std::size(kZipvoiceReqs);
|
|
81
|
+
return kZipvoiceReqs;
|
|
82
|
+
default:
|
|
83
|
+
count = 0;
|
|
84
|
+
return nullptr;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
static const char* TtsKindToName(TtsModelKind k) {
|
|
89
|
+
switch (k) {
|
|
90
|
+
case TtsModelKind::kVits: return "VITS";
|
|
91
|
+
case TtsModelKind::kMatcha: return "Matcha";
|
|
92
|
+
case TtsModelKind::kKokoro: return "Kokoro";
|
|
93
|
+
case TtsModelKind::kKitten: return "Kitten";
|
|
94
|
+
case TtsModelKind::kPocket: return "Pocket";
|
|
95
|
+
case TtsModelKind::kZipvoice: return "Zipvoice";
|
|
96
|
+
default: return "Unknown";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
static const char* GetFieldHint(const char* fieldName) {
|
|
101
|
+
if (std::strcmp(fieldName, "dataDir") == 0)
|
|
102
|
+
return "Copy espeak-ng-data into the model directory.";
|
|
103
|
+
if (std::strcmp(fieldName, "tokens") == 0)
|
|
104
|
+
return "Ensure tokens.txt is present in the model directory.";
|
|
105
|
+
return nullptr;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
} // namespace
|
|
109
|
+
|
|
110
|
+
TtsValidationResult ValidateTtsPaths(
|
|
111
|
+
TtsModelKind kind,
|
|
112
|
+
const TtsModelPaths& paths,
|
|
113
|
+
const std::string& modelDir
|
|
114
|
+
) {
|
|
115
|
+
TtsValidationResult result;
|
|
116
|
+
size_t count = 0;
|
|
117
|
+
const auto* reqs = GetRequirements(kind, count);
|
|
118
|
+
if (!reqs) return result;
|
|
119
|
+
|
|
120
|
+
for (size_t i = 0; i < count; ++i) {
|
|
121
|
+
if (reqs[i].required && (paths.*(reqs[i].field)).empty()) {
|
|
122
|
+
result.missingRequired.push_back(reqs[i].fieldName);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!result.missingRequired.empty()) {
|
|
127
|
+
result.ok = false;
|
|
128
|
+
result.error = std::string("TTS ") + TtsKindToName(kind)
|
|
129
|
+
+ ": missing required files in " + modelDir + ": ";
|
|
130
|
+
for (size_t i = 0; i < result.missingRequired.size(); ++i) {
|
|
131
|
+
if (i > 0) result.error += ", ";
|
|
132
|
+
result.error += result.missingRequired[i];
|
|
133
|
+
const char* hint = GetFieldHint(result.missingRequired[i].c_str());
|
|
134
|
+
if (hint) {
|
|
135
|
+
result.error += " (";
|
|
136
|
+
result.error += hint;
|
|
137
|
+
result.error += ")";
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
} // namespace sherpaonnx
|
|
@@ -207,6 +207,10 @@ SttInitializeResult SttWrapper::initialize(
|
|
|
207
207
|
config.model_config.moonshine.uncached_decoder = detect.paths.moonshineUncachedDecoder;
|
|
208
208
|
config.model_config.moonshine.cached_decoder = detect.paths.moonshineCachedDecoder;
|
|
209
209
|
break;
|
|
210
|
+
case SttModelKind::kMoonshineV2:
|
|
211
|
+
config.model_config.moonshine.encoder = detect.paths.moonshineEncoder;
|
|
212
|
+
config.model_config.moonshine.merged_decoder = detect.paths.moonshineMergedDecoder;
|
|
213
|
+
break;
|
|
210
214
|
case SttModelKind::kDolphin:
|
|
211
215
|
config.model_config.dolphin.model = detect.paths.dolphinModel;
|
|
212
216
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeSherpaOnnx.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;;AAEpE;;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeSherpaOnnx.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;;AAEpE;;AAwlBA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
import { DeviceEventEmitter } from 'react-native';
|
|
3
5
|
import SherpaOnnx from "../NativeSherpaOnnx.js";
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
8
|
+
* Decode base64-encoded Int16 PCM to float array in [-1, 1].
|
|
9
|
+
* Uses a preallocated Float32Array to avoid GC pressure on the live-mic hot path.
|
|
10
|
+
*/
|
|
11
|
+
function base64PcmToFloatArray(base64) {
|
|
12
|
+
const bytes = Buffer.from(base64, 'base64');
|
|
13
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
14
|
+
const len = bytes.byteLength / 2;
|
|
15
|
+
const out = new Float32Array(len);
|
|
16
|
+
for (let i = 0; i < len; i++) {
|
|
17
|
+
out[i] = view.getInt16(i * 2, true) / 32768;
|
|
18
|
+
}
|
|
19
|
+
return out;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create a PCM live stream from the device microphone. Native capture and resampling ensure
|
|
23
|
+
* PCM is always delivered at the requested sampleRate (e.g. 16000 for STT). The app must have
|
|
24
|
+
* RECORD_AUDIO (Android) and NSMicrophoneUsageDescription (iOS) and grant permission before start().
|
|
25
|
+
*/
|
|
26
|
+
export function createPcmLiveStream(options) {
|
|
27
|
+
const sampleRate = options?.sampleRate ?? 16000;
|
|
28
|
+
const channelCount = options?.channelCount ?? 1;
|
|
29
|
+
const bufferSizeFrames = options?.bufferSizeFrames ?? 0;
|
|
30
|
+
return {
|
|
31
|
+
start: () => SherpaOnnx.startPcmLiveStream({
|
|
32
|
+
sampleRate,
|
|
33
|
+
channelCount,
|
|
34
|
+
bufferSizeFrames
|
|
35
|
+
}),
|
|
36
|
+
stop: () => SherpaOnnx.stopPcmLiveStream(),
|
|
37
|
+
onData: callback => {
|
|
38
|
+
const sub = DeviceEventEmitter.addListener('pcmLiveStreamData', event => {
|
|
39
|
+
const base64 = event?.base64Pcm ?? '';
|
|
40
|
+
const sr = event?.sampleRate ?? sampleRate;
|
|
41
|
+
if (base64) {
|
|
42
|
+
const samples = base64PcmToFloatArray(base64);
|
|
43
|
+
callback(samples, sr);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return () => sub.remove();
|
|
47
|
+
},
|
|
48
|
+
onError: callback => {
|
|
49
|
+
const sub = DeviceEventEmitter.addListener('pcmLiveStreamError', event => {
|
|
50
|
+
callback(event?.message ?? 'Unknown error');
|
|
51
|
+
});
|
|
52
|
+
return () => sub.remove();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Convert any supported audio file to a requested format (e.g. "mp3", "flac", "wav", "m4a", "opus", "webm").
|
|
7
59
|
* On Android this requires FFmpeg prebuilts. WAV output is always 16 kHz mono (sherpa-onnx).
|
|
8
60
|
* For MP3, optional outputSampleRateHz: 32000, 44100, or 48000; 0/undefined = 44100.
|
|
61
|
+
* For Opus, optional outputSampleRateHz: 8000, 12000, 16000, 24000, or 48000.
|
|
62
|
+
* For M4A/AAC, standard bitrates apply.
|
|
9
63
|
* Resolves on success, rejects with an error message on failure.
|
|
10
64
|
*/
|
|
11
65
|
export function convertAudioToFormat(inputPath, outputPath, format, outputSampleRateHz) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SherpaOnnx","convertAudioToFormat","inputPath","outputPath","format","outputSampleRateHz","convertAudioToWav16k"],"sourceRoot":"../../../src","sources":["audio/index.ts"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"names":["Buffer","DeviceEventEmitter","SherpaOnnx","base64PcmToFloatArray","base64","bytes","from","view","DataView","buffer","byteOffset","byteLength","len","out","Float32Array","i","getInt16","createPcmLiveStream","options","sampleRate","channelCount","bufferSizeFrames","start","startPcmLiveStream","stop","stopPcmLiveStream","onData","callback","sub","addListener","event","base64Pcm","sr","samples","remove","onError","message","convertAudioToFormat","inputPath","outputPath","format","outputSampleRateHz","convertAudioToWav16k"],"sourceRoot":"../../../src","sources":["audio/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ,cAAc;AACjD,OAAOC,UAAU,MAAM,wBAAqB;;AAE5C;AACA;AACA;AACA;AACA,SAASC,qBAAqBA,CAACC,MAAc,EAAgB;EAC3D,MAAMC,KAAK,GAAGL,MAAM,CAACM,IAAI,CAACF,MAAM,EAAE,QAAQ,CAAC;EAC3C,MAAMG,IAAI,GAAG,IAAIC,QAAQ,CAACH,KAAK,CAACI,MAAM,EAAEJ,KAAK,CAACK,UAAU,EAAEL,KAAK,CAACM,UAAU,CAAC;EAC3E,MAAMC,GAAG,GAAGP,KAAK,CAACM,UAAU,GAAG,CAAC;EAChC,MAAME,GAAG,GAAG,IAAIC,YAAY,CAACF,GAAG,CAAC;EACjC,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,GAAG,EAAEG,CAAC,EAAE,EAAE;IAC5BF,GAAG,CAACE,CAAC,CAAC,GAAGR,IAAI,CAACS,QAAQ,CAACD,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK;EAC7C;EACA,OAAOF,GAAG;AACZ;AAiBA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,mBAAmBA,CACjCC,OAA8B,EACT;EACrB,MAAMC,UAAU,GAAGD,OAAO,EAAEC,UAAU,IAAI,KAAK;EAC/C,MAAMC,YAAY,GAAGF,OAAO,EAAEE,YAAY,IAAI,CAAC;EAC/C,MAAMC,gBAAgB,GAAGH,OAAO,EAAEG,gBAAgB,IAAI,CAAC;EAEvD,OAAO;IACLC,KAAK,EAAEA,CAAA,KACLpB,UAAU,CAACqB,kBAAkB,CAAC;MAC5BJ,UAAU;MACVC,YAAY;MACZC;IACF,CAAC,CAAC;IAEJG,IAAI,EAAEA,CAAA,KAAMtB,UAAU,CAACuB,iBAAiB,CAAC,CAAC;IAE1CC,MAAM,EAAGC,QAA6D,IAAK;MACzE,MAAMC,GAAG,GAAG3B,kBAAkB,CAAC4B,WAAW,CACxC,mBAAmB,EAClBC,KAAkD,IAAK;QACtD,MAAM1B,MAAM,GAAG0B,KAAK,EAAEC,SAAS,IAAI,EAAE;QACrC,MAAMC,EAAE,GAAGF,KAAK,EAAEX,UAAU,IAAIA,UAAU;QAC1C,IAAIf,MAAM,EAAE;UACV,MAAM6B,OAAO,GAAG9B,qBAAqB,CAACC,MAAM,CAAC;UAC7CuB,QAAQ,CAACM,OAAO,EAAED,EAAE,CAAC;QACvB;MACF,CACF,CAAC;MACD,OAAO,MAAMJ,GAAG,CAACM,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEDC,OAAO,EAAGR,QAAmC,IAAK;MAChD,MAAMC,GAAG,GAAG3B,kBAAkB,CAAC4B,WAAW,CACxC,oBAAoB,EACnBC,KAA2B,IAAK;QAC/BH,QAAQ,CAACG,KAAK,EAAEM,OAAO,IAAI,eAAe,CAAC;MAC7C,CACF,CAAC;MACD,OAAO,MAAMR,GAAG,CAACM,MAAM,CAAC,CAAC;IAC3B;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAClCC,SAAiB,EACjBC,UAAkB,EAClBC,MAAc,EACdC,kBAA2B,EACZ;EACf,OAAOvC,UAAU,CAACmC,oBAAoB,CACpCC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,kBAAkB,IAAI,CACxB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAClCJ,SAAiB,EACjBC,UAAkB,EACH;EACf,OAAOrC,UAAU,CAACwC,oBAAoB,CAACJ,SAAS,EAAEC,UAAU,CAAC;AAC/D","ignoreList":[]}
|
|
@@ -15,6 +15,7 @@ export let ModelCategory = /*#__PURE__*/function (ModelCategory) {
|
|
|
15
15
|
ModelCategory["Diarization"] = "diarization";
|
|
16
16
|
ModelCategory["Enhancement"] = "enhancement";
|
|
17
17
|
ModelCategory["Separation"] = "separation";
|
|
18
|
+
ModelCategory["Qnn"] = "qnn";
|
|
18
19
|
return ModelCategory;
|
|
19
20
|
}({});
|
|
20
21
|
|
|
@@ -97,6 +98,11 @@ const CATEGORY_CONFIG = {
|
|
|
97
98
|
tag: 'source-separation-models',
|
|
98
99
|
cacheFile: 'separation-models.json',
|
|
99
100
|
baseDir: `${DocumentDirectoryPath}/sherpa-onnx/models/separation`
|
|
101
|
+
},
|
|
102
|
+
[ModelCategory.Qnn]: {
|
|
103
|
+
tag: 'asr-models-qnn-binary',
|
|
104
|
+
cacheFile: 'qnn-models.json',
|
|
105
|
+
baseDir: `${DocumentDirectoryPath}/sherpa-onnx/models/qnn`
|
|
100
106
|
}
|
|
101
107
|
};
|
|
102
108
|
function getCacheDir() {
|
|
@@ -182,6 +188,11 @@ async function retryWithBackoff(fn, options = {}) {
|
|
|
182
188
|
throw lastError ?? new Error('Retry failed with no error');
|
|
183
189
|
}
|
|
184
190
|
async function fetchChecksumsFromRelease(category) {
|
|
191
|
+
// asr-models-qnn-binary has no checksum.txt; use GitHub API digest only (set in toGenericModelMeta).
|
|
192
|
+
if (category === ModelCategory.Qnn) {
|
|
193
|
+
return new Map();
|
|
194
|
+
}
|
|
195
|
+
|
|
185
196
|
// Return cached if available
|
|
186
197
|
if (checksumCacheByCategory[category]) {
|
|
187
198
|
return checksumCacheByCategory[category];
|
|
@@ -282,6 +293,9 @@ function isAssetSupportedForCategory(category, name, ext) {
|
|
|
282
293
|
return ext === 'onnx';
|
|
283
294
|
case ModelCategory.Separation:
|
|
284
295
|
return ext === 'tar.bz2' || ext === 'onnx';
|
|
296
|
+
case ModelCategory.Qnn:
|
|
297
|
+
// asr-models-qnn-binary: e.g. sherpa-onnx-qnn-SM8850-binary-5-seconds-zipformer-ctc-zh-*.tar.bz2
|
|
298
|
+
return ext === 'tar.bz2' && lower.includes('sherpa-onnx-qnn') && lower.includes('binary') && lower.includes('seconds');
|
|
285
299
|
default:
|
|
286
300
|
return false;
|
|
287
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Alert","Platform","DocumentDirectoryPath","exists","readFile","mkdir","writeFile","readDir","stat","unlink","downloadFile","stopDownload","extractTarBz2","parseChecksumFile","validateChecksum","validateExtractedFiles","checkDiskSpace","RELEASE_API_BASE","CACHE_TTL_MINUTES","MODEL_ARCHIVE_EXT","MODEL_ONNX_EXT","ModelCategory","promptChecksumFallback","issue","Promise","resolve","reasonText","reason","body","message","alert","text","style","onPress","memoryCacheByCategory","checksumCacheByCategory","downloadProgressListeners","Set","modelsListUpdatedListeners","subscribeDownloadProgress","listener","add","delete","emitDownloadProgress","category","modelId","progress","error","console","warn","subscribeModelsListUpdated","emitModelsListUpdated","models","CATEGORY_CONFIG","Tts","tag","cacheFile","baseDir","Stt","Vad","Diarization","Enhancement","Separation","getCacheDir","getCachePath","getModelsBaseDir","getModelDir","getArchiveFilename","archiveExt","getArchivePath","filename","getTarArchivePath","getOnnxPath","getReadyMarkerPath","getManifestPath","getReleaseUrl","retryWithBackoff","fn","options","maxRetries","initialDelayMs","maxDelayMs","backoffFactor","lastError","attempt","signal","aborted","abortError","Error","name","String","delayMs","Math","min","pow","setTimeout","fetchChecksumsFromRelease","checksums","response","fetch","ok","status","content","Map","toTitleCase","value","split","filter","Boolean","map","token","toUpperCase","slice","join","deriveDisplayName","id","cleaned","replace","deriveType","lower","toLowerCase","includes","deriveQuantization","deriveSizeTier","deriveLanguages","tokens","languages","test","Array","from","getAssetExtension","endsWith","stripAssetExtension","ext","suffix","length","isAssetSupportedForCategory","parseDigestSha256","undefined","match","toTtsModelMeta","asset","type","displayName","quantization","sizeTier","downloadUrl","browser_download_url","bytes","size","sha256","digest","toGenericModelMeta","toModelMeta","loadCacheFromDisk","memoryCache","cachePath","existsResult","raw","parsed","JSON","parse","saveCache","payload","cacheDir","stringify","isCacheFresh","ttlMinutes","updated","Date","lastUpdated","getTime","ageMs","now","listModelsByCategory","cache","refreshModelsByCategory","ttl","cacheTtlMinutes","cached","forceRefresh","json","assets","isArray","model","archiveFilename","get","toISOString","getModelsCacheStatusByCategory","source","getModelByIdByCategory","find","listDownloadedModelsByCategory","entries","entry","isDirectory","manifestPath","manifestExists","manifest","push","isModelDownloadedByCategory","readyPath","getLocalModelPathByCategory","ready","updateModelLastUsed","downloadModelByCategory","opts","isAborted","downloadPath","isArchive","modelDir","sleep","ms","cleanupPartial","cleanupPartialWithRetry","diskSpaceCheck","success","overwrite","readyMarkerExists","archiveExists","partialDownload","statResult","currentSize","log","downloadStartTime","download","fromUrl","toFile","progressDivider","resumable","data","total","contentLength","percent","bytesWritten","elapsedSeconds","speed","eta","remainingBytes","bytesDownloaded","totalBytes","phase","onProgress","downloadFinished","onAbort","jobId","addEventListener","result","promise","removeEventListener","statusCode","isNonResumableError","extractResult","extractedTotalBytes","extractStartTime","evt","expectedSha","nativeSha","archivePath","expected","checksumResult","keepFile","onChecksumIssue","filesValidation","sizeOnDisk","downloadedAt","lastUsed","list","localPath","err","listDownloadedModelsWithMetadata","modelsWithMetadata","cleanupLeastRecentlyUsed","keepCount","sorted","sort","a","b","aTime","bTime","deletedIds","bytesFreed","targetBytes","maxToDelete","maxModelsToDelete","i","item","deleteModelByCategory","tarPath","onnxPath","clearModelCacheByCategory","getDownloadStorageBase","OS"],"sourceRoot":"../../../src","sources":["download/ModelDownloadManager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Alert","Platform","DocumentDirectoryPath","exists","readFile","mkdir","writeFile","readDir","stat","unlink","downloadFile","stopDownload","extractTarBz2","parseChecksumFile","validateChecksum","validateExtractedFiles","checkDiskSpace","RELEASE_API_BASE","CACHE_TTL_MINUTES","MODEL_ARCHIVE_EXT","MODEL_ONNX_EXT","ModelCategory","promptChecksumFallback","issue","Promise","resolve","reasonText","reason","body","message","alert","text","style","onPress","memoryCacheByCategory","checksumCacheByCategory","downloadProgressListeners","Set","modelsListUpdatedListeners","subscribeDownloadProgress","listener","add","delete","emitDownloadProgress","category","modelId","progress","error","console","warn","subscribeModelsListUpdated","emitModelsListUpdated","models","CATEGORY_CONFIG","Tts","tag","cacheFile","baseDir","Stt","Vad","Diarization","Enhancement","Separation","Qnn","getCacheDir","getCachePath","getModelsBaseDir","getModelDir","getArchiveFilename","archiveExt","getArchivePath","filename","getTarArchivePath","getOnnxPath","getReadyMarkerPath","getManifestPath","getReleaseUrl","retryWithBackoff","fn","options","maxRetries","initialDelayMs","maxDelayMs","backoffFactor","lastError","attempt","signal","aborted","abortError","Error","name","String","delayMs","Math","min","pow","setTimeout","fetchChecksumsFromRelease","Map","checksums","response","fetch","ok","status","content","toTitleCase","value","split","filter","Boolean","map","token","toUpperCase","slice","join","deriveDisplayName","id","cleaned","replace","deriveType","lower","toLowerCase","includes","deriveQuantization","deriveSizeTier","deriveLanguages","tokens","languages","test","Array","from","getAssetExtension","endsWith","stripAssetExtension","ext","suffix","length","isAssetSupportedForCategory","parseDigestSha256","undefined","match","toTtsModelMeta","asset","type","displayName","quantization","sizeTier","downloadUrl","browser_download_url","bytes","size","sha256","digest","toGenericModelMeta","toModelMeta","loadCacheFromDisk","memoryCache","cachePath","existsResult","raw","parsed","JSON","parse","saveCache","payload","cacheDir","stringify","isCacheFresh","ttlMinutes","updated","Date","lastUpdated","getTime","ageMs","now","listModelsByCategory","cache","refreshModelsByCategory","ttl","cacheTtlMinutes","cached","forceRefresh","json","assets","isArray","model","archiveFilename","get","toISOString","getModelsCacheStatusByCategory","source","getModelByIdByCategory","find","listDownloadedModelsByCategory","entries","entry","isDirectory","manifestPath","manifestExists","manifest","push","isModelDownloadedByCategory","readyPath","getLocalModelPathByCategory","ready","updateModelLastUsed","downloadModelByCategory","opts","isAborted","downloadPath","isArchive","modelDir","sleep","ms","cleanupPartial","cleanupPartialWithRetry","diskSpaceCheck","success","overwrite","readyMarkerExists","archiveExists","partialDownload","statResult","currentSize","log","downloadStartTime","download","fromUrl","toFile","progressDivider","resumable","data","total","contentLength","percent","bytesWritten","elapsedSeconds","speed","eta","remainingBytes","bytesDownloaded","totalBytes","phase","onProgress","downloadFinished","onAbort","jobId","addEventListener","result","promise","removeEventListener","statusCode","isNonResumableError","extractResult","extractedTotalBytes","extractStartTime","evt","expectedSha","nativeSha","archivePath","expected","checksumResult","keepFile","onChecksumIssue","filesValidation","sizeOnDisk","downloadedAt","lastUsed","list","localPath","err","listDownloadedModelsWithMetadata","modelsWithMetadata","cleanupLeastRecentlyUsed","keepCount","sorted","sort","a","b","aTime","bTime","deletedIds","bytesFreed","targetBytes","maxToDelete","maxModelsToDelete","i","item","deleteModelByCategory","tarPath","onnxPath","clearModelCacheByCategory","getDownloadStorageBase","OS"],"sourceRoot":"../../../src","sources":["download/ModelDownloadManager.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import SherpaOnnx from "./NativeSherpaOnnx.js";
|
|
|
5
5
|
// Export common types and utilities
|
|
6
6
|
|
|
7
7
|
export { assetModelPath, autoModelPath, fileModelPath, getAssetPackPath, getDefaultModelPath, getPlayAssetDeliveryModelsPath, listAssetModels, listModelsAtPath, resolveModelPath } from "./utils.js";
|
|
8
|
+
export { copyFileToContentUri } from "./tts/index.js";
|
|
8
9
|
|
|
9
10
|
// Note: Feature-specific exports are available via subpath imports:
|
|
10
11
|
// - import { createSTT, createStreamingSTT, ... } from 'react-native-sherpa-onnx/stt'
|
|
@@ -29,6 +30,15 @@ export function getQnnSupport(modelBase64) {
|
|
|
29
30
|
return SherpaOnnx.getQnnSupport(modelBase64);
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Device SoC result: soc is always the device SoC string when available (Android 12+); on iOS or when unavailable, soc is null.
|
|
35
|
+
* isSupported is true when the SoC is SM8xxx (supported for QNN models). Use soc for the label; use isSupported to decide whether to auto-select in the download manager.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
export function getDeviceQnnSoc() {
|
|
39
|
+
return SherpaOnnx.getDeviceQnnSoc();
|
|
40
|
+
}
|
|
41
|
+
|
|
32
42
|
/**
|
|
33
43
|
* Return the list of available ONNX Runtime execution providers
|
|
34
44
|
* (e.g. "CPU", "NNAPI", "QNN", "XNNPACK").
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SherpaOnnx","assetModelPath","autoModelPath","fileModelPath","getAssetPackPath","getDefaultModelPath","getPlayAssetDeliveryModelsPath","listAssetModels","listModelsAtPath","resolveModelPath","testSherpaInit","getQnnSupport","modelBase64","getAvailableProviders","getNnapiSupport","getXnnpackSupport","getCoreMlSupport"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,uBAAoB;;AAG3C;;AAGA,SACEC,cAAc,EACdC,aAAa,EACbC,aAAa,EACbC,gBAAgB,EAChBC,mBAAmB,EACnBC,8BAA8B,EAC9BC,eAAe,EACfC,gBAAgB,EAChBC,gBAAgB,QACX,YAAS;;
|
|
1
|
+
{"version":3,"names":["SherpaOnnx","assetModelPath","autoModelPath","fileModelPath","getAssetPackPath","getDefaultModelPath","getPlayAssetDeliveryModelsPath","listAssetModels","listModelsAtPath","resolveModelPath","copyFileToContentUri","testSherpaInit","getQnnSupport","modelBase64","getDeviceQnnSoc","getAvailableProviders","getNnapiSupport","getXnnpackSupport","getCoreMlSupport"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,uBAAoB;;AAG3C;;AAGA,SACEC,cAAc,EACdC,aAAa,EACbC,aAAa,EACbC,gBAAgB,EAChBC,mBAAmB,EACnBC,8BAA8B,EAC9BC,eAAe,EACfC,gBAAgB,EAChBC,gBAAgB,QACX,YAAS;AAEhB,SAASC,oBAAoB,QAAQ,gBAAO;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAA,EAAoB;EAChD,OAAOX,UAAU,CAACW,cAAc,CAAC,CAAC;AACpC;;AAEA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAC3BC,WAAoB,EACU;EAC9B,OAAOb,UAAU,CAACY,aAAa,CAACC,WAAW,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;;AAMA,OAAO,SAASC,eAAeA,CAAA,EAAgC;EAC7D,OAAOd,UAAU,CAACc,eAAe,CAAC,CAAC;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAA,EAAsB;EACzD,OAAOf,UAAU,CAACe,qBAAqB,CAAC,CAAC;AAC3C;;AAEA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAC7BH,WAAoB,EACU;EAC9B,OAAOb,UAAU,CAACgB,eAAe,CAACH,WAAW,CAAC;AAChD;;AAEA;AACA;AACA;AACA,OAAO,SAASI,iBAAiBA,CAC/BJ,WAAoB,EACU;EAC9B,OAAOb,UAAU,CAACiB,iBAAiB,CAACJ,WAAW,CAAC;AAClD;;AAEA;AACA;AACA;AACA,OAAO,SAASK,gBAAgBA,CAC9BL,WAAoB,EACU;EAC9B,OAAOb,UAAU,CAACkB,gBAAgB,CAACL,WAAW,CAAC;AACjD","ignoreList":[]}
|
|
@@ -231,13 +231,16 @@ export async function createStreamingSTT(options) {
|
|
|
231
231
|
if (abs > maxAbs) maxAbs = abs;
|
|
232
232
|
}
|
|
233
233
|
const scale = maxAbs < 0.01 ? 80 : Math.min(80, 0.8 / maxAbs);
|
|
234
|
-
|
|
234
|
+
const normalized = new Float32Array(samples.length);
|
|
235
235
|
for (let i = 0; i < samples.length; i++) {
|
|
236
236
|
const v = samples[i] * scale;
|
|
237
|
-
|
|
237
|
+
normalized[i] = v < -1 ? -1 : v > 1 ? 1 : v;
|
|
238
238
|
}
|
|
239
|
+
toSend = normalized;
|
|
239
240
|
}
|
|
240
|
-
|
|
241
|
+
// Bridge expects a plain array; Float32Array may not serialize as ReadableArray on all platforms.
|
|
242
|
+
const samplesArray = Array.isArray(toSend) ? toSend : Array.from(toSend);
|
|
243
|
+
const raw = await SherpaOnnx.processSttAudioChunk(streamId, samplesArray, sampleRate);
|
|
241
244
|
return {
|
|
242
245
|
result: normalizeStreamingResult(raw),
|
|
243
246
|
isEndpoint: Boolean(raw.isEndpoint)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SherpaOnnx","resolveModelPath","streamingSttInstanceCounter","mapDetectedToOnlineType","detectedType","t","Error","getOnlineTypeOrNull","sttStreamCounter","normalizeStreamingResult","raw","text","tokens","Array","isArray","timestamps","flattenInitOptionsForNative","options","ep","endpointConfig","modelDir","modelType","enableEndpoint","decodingMethod","maxActivePaths","hotwordsFile","hotwordsScore","numThreads","provider","ruleFsts","ruleFars","blankPenalty","debug","rule1MustContainNonSilence","rule1","mustContainNonSilence","rule1MinTrailingSilence","minTrailingSilence","rule1MinUtteranceLength","minUtteranceLength","rule2MustContainNonSilence","rule2","rule2MinTrailingSilence","rule2MinUtteranceLength","rule3MustContainNonSilence","rule3","rule3MinTrailingSilence","rule3MinUtteranceLength","createStreamingSTT","instanceId","resolvedPath","modelPath","effectiveModelType","undefined","detectResult","detectSttModel","success","errMsg","error","optionsWithResolvedType","flat","nativeOptions","result","initializeOnlineSttWithOptions","enableInputNormalization","destroyed","guard","engine","createStream","hotwords","streamId","createSttStream","released","streamGuard","stream","acceptWaveform","samples","sampleRate","acceptSttWaveform","inputFinished","sttStreamInputFinished","decode","decodeSttStream","isReady","isSttStreamReady","getResult","getSttStreamResult","isEndpoint","isSttStreamEndpoint","reset","resetSttStream","release","releaseSttStream","processAudioChunk","toSend","length","maxAbs","i","abs","Math","scale","min","v","processSttAudioChunk","Boolean","destroy","unloadOnlineStt"],"sourceRoot":"../../../src","sources":["stt/streaming.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["SherpaOnnx","resolveModelPath","streamingSttInstanceCounter","mapDetectedToOnlineType","detectedType","t","Error","getOnlineTypeOrNull","sttStreamCounter","normalizeStreamingResult","raw","text","tokens","Array","isArray","timestamps","flattenInitOptionsForNative","options","ep","endpointConfig","modelDir","modelType","enableEndpoint","decodingMethod","maxActivePaths","hotwordsFile","hotwordsScore","numThreads","provider","ruleFsts","ruleFars","blankPenalty","debug","rule1MustContainNonSilence","rule1","mustContainNonSilence","rule1MinTrailingSilence","minTrailingSilence","rule1MinUtteranceLength","minUtteranceLength","rule2MustContainNonSilence","rule2","rule2MinTrailingSilence","rule2MinUtteranceLength","rule3MustContainNonSilence","rule3","rule3MinTrailingSilence","rule3MinUtteranceLength","createStreamingSTT","instanceId","resolvedPath","modelPath","effectiveModelType","undefined","detectResult","detectSttModel","success","errMsg","error","optionsWithResolvedType","flat","nativeOptions","result","initializeOnlineSttWithOptions","enableInputNormalization","destroyed","guard","engine","createStream","hotwords","streamId","createSttStream","released","streamGuard","stream","acceptWaveform","samples","sampleRate","acceptSttWaveform","inputFinished","sttStreamInputFinished","decode","decodeSttStream","isReady","isSttStreamReady","getResult","getSttStreamResult","isEndpoint","isSttStreamEndpoint","reset","resetSttStream","release","releaseSttStream","processAudioChunk","toSend","length","maxAbs","i","abs","Math","scale","min","normalized","Float32Array","v","samplesArray","from","processSttAudioChunk","Boolean","destroy","unloadOnlineStt"],"sourceRoot":"../../../src","sources":["stt/streaming.ts"],"mappings":"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","ignoreList":[]}
|