react-native-sherpa-onnx 0.3.8 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +20 -5
  2. package/SherpaOnnx.podspec +5 -1
  3. package/android/prebuilt-download.gradle +89 -49
  4. package/android/prebuilt-versions.gradle +1 -1
  5. package/android/src/main/assets/model_licenses/asr-models-license-status.csv +1 -0
  6. package/android/src/main/assets/model_licenses/speech-enhancement-models-license-status.csv +7 -0
  7. package/android/src/main/cpp/CMakeLists.txt +3 -0
  8. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-enhancement-wrapper.cpp +68 -0
  9. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-enhancement-wrapper.h +17 -0
  10. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-enhancement.cpp +119 -0
  11. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-helper.cpp +23 -0
  12. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-helper.h +9 -0
  13. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect-stt.cpp +51 -8
  14. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-model-detect.h +41 -0
  15. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-stt-wrapper.cpp +5 -0
  16. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-enhancement.cpp +68 -0
  17. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-enhancement.h +30 -0
  18. package/android/src/main/cpp/jni/model_detect/sherpa-onnx-validate-stt.cpp +11 -0
  19. package/android/src/main/cpp/jni/module/sherpa-onnx-module-jni.cpp +21 -0
  20. package/android/src/main/java/com/sherpaonnx/SherpaOnnxArchiveHelper.kt +110 -35
  21. package/android/src/main/java/com/sherpaonnx/SherpaOnnxAssetHelper.kt +6 -0
  22. package/android/src/main/java/com/sherpaonnx/SherpaOnnxEnhancementHelper.kt +377 -0
  23. package/android/src/main/java/com/sherpaonnx/SherpaOnnxExtractionNotificationHelper.kt +102 -0
  24. package/android/src/main/java/com/sherpaonnx/SherpaOnnxModule.kt +198 -18
  25. package/android/src/main/java/com/sherpaonnx/SherpaOnnxSttHelper.kt +22 -0
  26. package/ios/Resources/model_licenses/asr-models-license-status.csv +1 -0
  27. package/ios/Resources/model_licenses/speech-enhancement-models-license-status.csv +7 -0
  28. package/ios/SherpaOnnx+Assets.mm +5 -0
  29. package/ios/SherpaOnnx+Enhancement.mm +435 -0
  30. package/ios/SherpaOnnx+STT.mm +13 -1
  31. package/ios/SherpaOnnx.mm +87 -17
  32. package/ios/enhancement/sherpa-onnx-enhancement-wrapper.h +85 -0
  33. package/ios/enhancement/sherpa-onnx-enhancement-wrapper.mm +218 -0
  34. package/ios/model_detect/sherpa-onnx-model-detect-enhancement.mm +92 -0
  35. package/ios/model_detect/sherpa-onnx-model-detect-helper.h +5 -0
  36. package/ios/model_detect/sherpa-onnx-model-detect-helper.mm +23 -0
  37. package/ios/model_detect/sherpa-onnx-model-detect-stt.mm +51 -7
  38. package/ios/model_detect/sherpa-onnx-model-detect.h +33 -0
  39. package/ios/model_detect/sherpa-onnx-validate-enhancement.h +30 -0
  40. package/ios/model_detect/sherpa-onnx-validate-enhancement.mm +69 -0
  41. package/ios/model_detect/sherpa-onnx-validate-stt.mm +11 -0
  42. package/ios/stt/sherpa-onnx-stt-wrapper.h +11 -1
  43. package/ios/stt/sherpa-onnx-stt-wrapper.mm +30 -2
  44. package/ios/tts/sherpa-onnx-tts-wrapper.mm +16 -0
  45. package/lib/module/NativeSherpaOnnx.js.map +1 -1
  46. package/lib/module/download/localModels.js +2 -3
  47. package/lib/module/download/localModels.js.map +1 -1
  48. package/lib/module/download/paths.js +2 -1
  49. package/lib/module/download/paths.js.map +1 -1
  50. package/lib/module/download/postDownloadProcessing.js +17 -4
  51. package/lib/module/download/postDownloadProcessing.js.map +1 -1
  52. package/lib/module/enhancement/index.js +63 -48
  53. package/lib/module/enhancement/index.js.map +1 -1
  54. package/lib/module/enhancement/streaming.js +60 -0
  55. package/lib/module/enhancement/streaming.js.map +1 -0
  56. package/lib/module/enhancement/streamingTypes.js +4 -0
  57. package/lib/module/enhancement/streamingTypes.js.map +1 -0
  58. package/lib/module/enhancement/types.js +4 -0
  59. package/lib/module/enhancement/types.js.map +1 -0
  60. package/lib/module/extraction/extractTarBz2.js +2 -2
  61. package/lib/module/extraction/extractTarBz2.js.map +1 -1
  62. package/lib/module/extraction/extractTarZst.js +2 -2
  63. package/lib/module/extraction/extractTarZst.js.map +1 -1
  64. package/lib/module/extraction/index.js +10 -5
  65. package/lib/module/extraction/index.js.map +1 -1
  66. package/lib/module/licenses.js +9 -3
  67. package/lib/module/licenses.js.map +1 -1
  68. package/lib/module/stt/index.js +4 -2
  69. package/lib/module/stt/index.js.map +1 -1
  70. package/lib/module/stt/streaming.js +2 -1
  71. package/lib/module/stt/streaming.js.map +1 -1
  72. package/lib/module/stt/types.js +3 -1
  73. package/lib/module/stt/types.js.map +1 -1
  74. package/lib/module/tts/index.js +4 -2
  75. package/lib/module/tts/index.js.map +1 -1
  76. package/lib/module/tts/streaming.js +3 -1
  77. package/lib/module/tts/streaming.js.map +1 -1
  78. package/lib/typescript/src/NativeSherpaOnnx.d.ts +70 -9
  79. package/lib/typescript/src/NativeSherpaOnnx.d.ts.map +1 -1
  80. package/lib/typescript/src/download/localModels.d.ts.map +1 -1
  81. package/lib/typescript/src/download/paths.d.ts +2 -1
  82. package/lib/typescript/src/download/paths.d.ts.map +1 -1
  83. package/lib/typescript/src/download/postDownloadProcessing.d.ts +9 -0
  84. package/lib/typescript/src/download/postDownloadProcessing.d.ts.map +1 -1
  85. package/lib/typescript/src/enhancement/index.d.ts +9 -46
  86. package/lib/typescript/src/enhancement/index.d.ts.map +1 -1
  87. package/lib/typescript/src/enhancement/streaming.d.ts +6 -0
  88. package/lib/typescript/src/enhancement/streaming.d.ts.map +1 -0
  89. package/lib/typescript/src/enhancement/streamingTypes.d.ts +12 -0
  90. package/lib/typescript/src/enhancement/streamingTypes.d.ts.map +1 -0
  91. package/lib/typescript/src/enhancement/types.d.ts +31 -0
  92. package/lib/typescript/src/enhancement/types.d.ts.map +1 -0
  93. package/lib/typescript/src/extraction/extractTarBz2.d.ts +2 -1
  94. package/lib/typescript/src/extraction/extractTarBz2.d.ts.map +1 -1
  95. package/lib/typescript/src/extraction/extractTarZst.d.ts +2 -1
  96. package/lib/typescript/src/extraction/extractTarZst.d.ts.map +1 -1
  97. package/lib/typescript/src/extraction/index.d.ts +1 -1
  98. package/lib/typescript/src/extraction/index.d.ts.map +1 -1
  99. package/lib/typescript/src/extraction/types.d.ts +12 -0
  100. package/lib/typescript/src/extraction/types.d.ts.map +1 -1
  101. package/lib/typescript/src/licenses.d.ts.map +1 -1
  102. package/lib/typescript/src/stt/index.d.ts +1 -1
  103. package/lib/typescript/src/stt/index.d.ts.map +1 -1
  104. package/lib/typescript/src/stt/streaming.d.ts.map +1 -1
  105. package/lib/typescript/src/stt/types.d.ts +16 -1
  106. package/lib/typescript/src/stt/types.d.ts.map +1 -1
  107. package/lib/typescript/src/tts/index.d.ts.map +1 -1
  108. package/lib/typescript/src/tts/streaming.d.ts.map +1 -1
  109. package/package.json +1 -1
  110. package/scripts/ci/check-model-csvs.sh +27 -2
  111. package/scripts/ci/collect_all_sherpa_model_streams.sh +3 -1
  112. package/scripts/ci/collect_one_sherpa_release_stream.sh +3 -1
  113. package/scripts/ci/sherpa_speech_enhancement_model_release_streams.json +13 -0
  114. package/scripts/ci/update_model_license_csv.sh +17 -17
  115. package/src/NativeSherpaOnnx.ts +108 -10
  116. package/src/download/localModels.ts +1 -3
  117. package/src/download/paths.ts +2 -1
  118. package/src/download/postDownloadProcessing.ts +24 -1
  119. package/src/enhancement/index.ts +120 -58
  120. package/src/enhancement/streaming.ts +105 -0
  121. package/src/enhancement/streamingTypes.ts +14 -0
  122. package/src/enhancement/types.ts +36 -0
  123. package/src/extraction/extractTarBz2.ts +7 -2
  124. package/src/extraction/extractTarZst.ts +7 -2
  125. package/src/extraction/index.ts +29 -6
  126. package/src/extraction/types.ts +16 -0
  127. package/src/licenses.ts +13 -2
  128. package/src/stt/index.ts +8 -7
  129. package/src/stt/streaming.ts +7 -1
  130. package/src/stt/types.ts +18 -0
  131. package/src/tts/index.ts +7 -7
  132. package/src/tts/streaming.ts +6 -3
  133. package/third_party/sherpa-onnx-prebuilt/ANDROID_RELEASE_TAG +1 -1
  134. package/third_party/sherpa-onnx-prebuilt/IOS_RELEASE_TAG +1 -1
@@ -19,6 +19,7 @@ enum class SttModelKind {
19
19
  kZipformerCtc,
20
20
  kWhisper,
21
21
  kFunAsrNano,
22
+ kQwen3Asr,
22
23
  kFireRedAsr,
23
24
  kMoonshine,
24
25
  kMoonshineV2,
@@ -41,6 +42,12 @@ enum class TtsModelKind {
41
42
  kSupertonic
42
43
  };
43
44
 
45
+ enum class EnhancementModelKind {
46
+ kUnknown,
47
+ kGtcrn,
48
+ kDpdfNet
49
+ };
50
+
44
51
  struct SttModelPaths {
45
52
  std::string encoder;
46
53
  std::string decoder;
@@ -56,6 +63,11 @@ struct SttModelPaths {
56
63
  std::string funasrLLM;
57
64
  std::string funasrEmbedding;
58
65
  std::string funasrTokenizer;
66
+ /** Qwen3-ASR: conv_frontend.onnx + encoder + decoder + tokenizer dir (vocab.json, merges.txt, tokenizer_config.json). */
67
+ std::string qwen3ConvFrontend;
68
+ std::string qwen3Encoder;
69
+ std::string qwen3Decoder;
70
+ std::string qwen3Tokenizer;
59
71
  std::string moonshinePreprocessor;
60
72
  std::string moonshineEncoder;
61
73
  std::string moonshineUncachedDecoder;
@@ -85,6 +97,8 @@ struct SttCandidatePaths {
85
97
  std::string funasrLLM;
86
98
  std::string funasrEmbedding;
87
99
  std::string funasrTokenizerDir;
100
+ std::string qwen3ConvFrontend;
101
+ std::string qwen3TokenizerDir;
88
102
  std::string moonshinePreprocessor;
89
103
  std::string moonshineEncoder;
90
104
  std::string moonshineUncachedDecoder;
@@ -100,6 +114,7 @@ struct SttPathHints {
100
114
  bool isLikelyWenetCtc = false;
101
115
  bool isLikelySenseVoice = false;
102
116
  bool isLikelyFunAsrNano = false;
117
+ bool isLikelyQwen3Asr = false;
103
118
  bool isLikelyZipformer = false;
104
119
  bool isLikelyMoonshine = false;
105
120
  bool isLikelyDolphin = false;
@@ -124,6 +139,7 @@ struct SttCapabilities {
124
139
  bool hasMoonshineV2 = false;
125
140
  bool hasParaformer = false;
126
141
  bool hasFunAsrNano = false;
142
+ bool hasQwen3Asr = false;
127
143
  bool hasDolphin = false;
128
144
  bool hasFireRedAsr = false;
129
145
  /** True when dir name suggests Fire Red but only a single CTC/paraformer model (no encoder/decoder). Use zipformer_ctc. */
@@ -160,6 +176,10 @@ struct TtsModelPaths {
160
176
  std::string voiceStyle;
161
177
  };
162
178
 
179
+ struct EnhancementModelPaths {
180
+ std::string model;
181
+ };
182
+
163
183
  struct SttDetectResult {
164
184
  bool ok = false;
165
185
  std::string error;
@@ -181,6 +201,14 @@ struct TtsDetectResult {
181
201
  std::vector<std::string> lexiconLanguageCandidates;
182
202
  };
183
203
 
204
+ struct EnhancementDetectResult {
205
+ bool ok = false;
206
+ std::string error;
207
+ std::vector<DetectedModel> detectedModels;
208
+ EnhancementModelKind selectedKind = EnhancementModelKind::kUnknown;
209
+ EnhancementModelPaths paths;
210
+ };
211
+
184
212
  SttDetectResult DetectSttModel(
185
213
  const std::string& modelDir,
186
214
  const std::optional<bool>& preferInt8,
@@ -193,6 +221,11 @@ TtsDetectResult DetectTtsModel(
193
221
  const std::string& modelType
194
222
  );
195
223
 
224
+ EnhancementDetectResult DetectEnhancementModel(
225
+ const std::string& modelDir,
226
+ const std::string& modelType
227
+ );
228
+
196
229
  } // namespace sherpaonnx
197
230
 
198
231
  #endif // SHERPA_ONNX_MODEL_DETECT_H
@@ -0,0 +1,30 @@
1
+ #ifndef SHERPA_ONNX_VALIDATE_ENHANCEMENT_H
2
+ #define SHERPA_ONNX_VALIDATE_ENHANCEMENT_H
3
+
4
+ #include "sherpa-onnx-model-detect.h"
5
+ #include <string>
6
+ #include <vector>
7
+
8
+ namespace sherpaonnx {
9
+
10
+ struct EnhancementFieldRequirement {
11
+ const char* fieldName;
12
+ std::string EnhancementModelPaths::* field;
13
+ bool required;
14
+ };
15
+
16
+ struct EnhancementValidationResult {
17
+ bool ok = true;
18
+ std::vector<std::string> missingRequired;
19
+ std::string error;
20
+ };
21
+
22
+ EnhancementValidationResult ValidateEnhancementPaths(
23
+ EnhancementModelKind kind,
24
+ const EnhancementModelPaths& paths,
25
+ const std::string& modelDir
26
+ );
27
+
28
+ } // namespace sherpaonnx
29
+
30
+ #endif // SHERPA_ONNX_VALIDATE_ENHANCEMENT_H
@@ -0,0 +1,69 @@
1
+ #include "sherpa-onnx-validate-enhancement.h"
2
+
3
+ #include <cstddef>
4
+
5
+ namespace sherpaonnx {
6
+ namespace {
7
+
8
+ static const EnhancementFieldRequirement kGenericReqs[] = {
9
+ {"model", &EnhancementModelPaths::model, true},
10
+ };
11
+
12
+ static const EnhancementFieldRequirement* GetRequirements(
13
+ EnhancementModelKind kind,
14
+ size_t& count
15
+ ) {
16
+ switch (kind) {
17
+ case EnhancementModelKind::kGtcrn:
18
+ case EnhancementModelKind::kDpdfNet:
19
+ count = std::size(kGenericReqs);
20
+ return kGenericReqs;
21
+ default:
22
+ count = 0;
23
+ return nullptr;
24
+ }
25
+ }
26
+
27
+ static const char* EnhancementKindToName(EnhancementModelKind kind) {
28
+ switch (kind) {
29
+ case EnhancementModelKind::kGtcrn:
30
+ return "GTCRN";
31
+ case EnhancementModelKind::kDpdfNet:
32
+ return "DPDFNet";
33
+ default:
34
+ return "Unknown";
35
+ }
36
+ }
37
+
38
+ } // namespace
39
+
40
+ EnhancementValidationResult ValidateEnhancementPaths(
41
+ EnhancementModelKind kind,
42
+ const EnhancementModelPaths& paths,
43
+ const std::string& modelDir
44
+ ) {
45
+ EnhancementValidationResult result;
46
+ size_t count = 0;
47
+ const auto* reqs = GetRequirements(kind, count);
48
+ if (!reqs) return result;
49
+
50
+ for (size_t i = 0; i < count; ++i) {
51
+ if (reqs[i].required && (paths.*(reqs[i].field)).empty()) {
52
+ result.missingRequired.push_back(reqs[i].fieldName);
53
+ }
54
+ }
55
+
56
+ if (!result.missingRequired.empty()) {
57
+ result.ok = false;
58
+ result.error = std::string("Enhancement ") + EnhancementKindToName(kind) +
59
+ ": missing required files in " + modelDir + ": ";
60
+ for (size_t i = 0; i < result.missingRequired.size(); ++i) {
61
+ if (i > 0) result.error += ", ";
62
+ result.error += result.missingRequired[i];
63
+ }
64
+ }
65
+
66
+ return result;
67
+ }
68
+
69
+ } // namespace sherpaonnx
@@ -52,6 +52,13 @@ static const SttFieldRequirement kFunAsrNanoReqs[] = {
52
52
  {"funasrTokenizer", &SttModelPaths::funasrTokenizer, true},
53
53
  };
54
54
 
55
+ static const SttFieldRequirement kQwen3AsrReqs[] = {
56
+ {"qwen3ConvFrontend", &SttModelPaths::qwen3ConvFrontend, true},
57
+ {"qwen3Encoder", &SttModelPaths::qwen3Encoder, true},
58
+ {"qwen3Decoder", &SttModelPaths::qwen3Decoder, true},
59
+ {"qwen3Tokenizer", &SttModelPaths::qwen3Tokenizer, true},
60
+ };
61
+
55
62
  static const SttFieldRequirement kMoonshineReqs[] = {
56
63
  {"moonshinePreprocessor", &SttModelPaths::moonshinePreprocessor, true},
57
64
  {"moonshineEncoder", &SttModelPaths::moonshineEncoder, true},
@@ -120,6 +127,9 @@ static const SttFieldRequirement* GetRequirements(SttModelKind kind, size_t& cou
120
127
  case SttModelKind::kFunAsrNano:
121
128
  count = std::size(kFunAsrNanoReqs);
122
129
  return kFunAsrNanoReqs;
130
+ case SttModelKind::kQwen3Asr:
131
+ count = std::size(kQwen3AsrReqs);
132
+ return kQwen3AsrReqs;
123
133
  case SttModelKind::kMoonshine:
124
134
  count = std::size(kMoonshineReqs);
125
135
  return kMoonshineReqs;
@@ -161,6 +171,7 @@ static const char* SttKindToName(SttModelKind k) {
161
171
  case SttModelKind::kZipformerCtc: return "Zipformer CTC";
162
172
  case SttModelKind::kWhisper: return "Whisper";
163
173
  case SttModelKind::kFunAsrNano: return "FunASR Nano";
174
+ case SttModelKind::kQwen3Asr: return "Qwen3 ASR";
164
175
  case SttModelKind::kFireRedAsr: return "Fire Red ASR";
165
176
  case SttModelKind::kMoonshine: return "Moonshine";
166
177
  case SttModelKind::kMoonshineV2: return "Moonshine v2";
@@ -83,6 +83,15 @@ struct SttFunAsrNanoOptions {
83
83
  std::optional<std::string> hotwords;
84
84
  };
85
85
 
86
+ /** Model-specific options: Qwen3 ASR (sherpa-onnx OfflineQwen3ASRModelConfig). */
87
+ struct SttQwen3AsrOptions {
88
+ std::optional<int32_t> max_total_len;
89
+ std::optional<int32_t> max_new_tokens;
90
+ std::optional<float> temperature;
91
+ std::optional<float> top_p;
92
+ std::optional<int32_t> seed;
93
+ };
94
+
86
95
  /**
87
96
  * Wrapper class for sherpa-onnx OfflineRecognizer (STT).
88
97
  */
@@ -106,7 +115,8 @@ public:
106
115
  const SttWhisperOptions* whisperOpts = nullptr,
107
116
  const SttSenseVoiceOptions* senseVoiceOpts = nullptr,
108
117
  const SttCanaryOptions* canaryOpts = nullptr,
109
- const SttFunAsrNanoOptions* funasrNanoOpts = nullptr
118
+ const SttFunAsrNanoOptions* funasrNanoOpts = nullptr,
119
+ const SttQwen3AsrOptions* qwen3AsrOpts = nullptr
110
120
  );
111
121
 
112
122
  SttRecognitionResult transcribeFile(const std::string& filePath);
@@ -138,7 +138,8 @@ SttInitializeResult SttWrapper::initialize(
138
138
  const SttWhisperOptions* whisperOpts,
139
139
  const SttSenseVoiceOptions* senseVoiceOpts,
140
140
  const SttCanaryOptions* canaryOpts,
141
- const SttFunAsrNanoOptions* funasrNanoOpts
141
+ const SttFunAsrNanoOptions* funasrNanoOpts,
142
+ const SttQwen3AsrOptions* qwen3AsrOpts
142
143
  ) {
143
144
  SttInitializeResult result;
144
145
  result.success = false;
@@ -197,6 +198,12 @@ SttInitializeResult SttWrapper::initialize(
197
198
  config.model_config.funasr_nano.embedding = detect.paths.funasrEmbedding;
198
199
  config.model_config.funasr_nano.tokenizer = detect.paths.funasrTokenizer;
199
200
  break;
201
+ case SttModelKind::kQwen3Asr:
202
+ config.model_config.qwen3_asr.conv_frontend = detect.paths.qwen3ConvFrontend;
203
+ config.model_config.qwen3_asr.encoder = detect.paths.qwen3Encoder;
204
+ config.model_config.qwen3_asr.decoder = detect.paths.qwen3Decoder;
205
+ config.model_config.qwen3_asr.tokenizer = detect.paths.qwen3Tokenizer;
206
+ break;
200
207
  case SttModelKind::kFireRedAsr:
201
208
  config.model_config.fire_red_asr.encoder = detect.paths.fireRedEncoder;
202
209
  config.model_config.fire_red_asr.decoder = detect.paths.fireRedDecoder;
@@ -290,6 +297,20 @@ SttInitializeResult SttWrapper::initialize(
290
297
  config.model_config.funasr_nano.hotwords = *funasrNanoOpts->hotwords;
291
298
  }
292
299
  break;
300
+ case SttModelKind::kQwen3Asr:
301
+ if (qwen3AsrOpts) {
302
+ if (qwen3AsrOpts->max_total_len.has_value())
303
+ config.model_config.qwen3_asr.max_total_len = *qwen3AsrOpts->max_total_len;
304
+ if (qwen3AsrOpts->max_new_tokens.has_value())
305
+ config.model_config.qwen3_asr.max_new_tokens = *qwen3AsrOpts->max_new_tokens;
306
+ if (qwen3AsrOpts->temperature.has_value())
307
+ config.model_config.qwen3_asr.temperature = *qwen3AsrOpts->temperature;
308
+ if (qwen3AsrOpts->top_p.has_value())
309
+ config.model_config.qwen3_asr.top_p = *qwen3AsrOpts->top_p;
310
+ if (qwen3AsrOpts->seed.has_value())
311
+ config.model_config.qwen3_asr.seed = *qwen3AsrOpts->seed;
312
+ }
313
+ break;
293
314
  default:
294
315
  break;
295
316
  }
@@ -329,9 +350,16 @@ SttInitializeResult SttWrapper::initialize(
329
350
  }
330
351
  (void)dither; // FeatureConfig in bundled cxx-api.h has no dither; reserve for future use
331
352
 
332
- bool isWhisperModel = !config.model_config.whisper.encoder.empty() && !config.model_config.whisper.decoder.empty();
353
+ bool isWhisperModel = detect.selectedKind == SttModelKind::kWhisper &&
354
+ !config.model_config.whisper.encoder.empty() && !config.model_config.whisper.decoder.empty();
333
355
  if (isWhisperModel) {
334
356
  LOGI("Initializing Whisper model with encoder: %s, decoder: %s", config.model_config.whisper.encoder.c_str(), config.model_config.whisper.decoder.c_str());
357
+ } else if (detect.selectedKind == SttModelKind::kQwen3Asr) {
358
+ LOGI("Initializing Qwen3 ASR: conv=%s encoder=%s decoder=%s tokenizer=%s",
359
+ config.model_config.qwen3_asr.conv_frontend.c_str(),
360
+ config.model_config.qwen3_asr.encoder.c_str(),
361
+ config.model_config.qwen3_asr.decoder.c_str(),
362
+ config.model_config.qwen3_asr.tokenizer.c_str());
335
363
  } else {
336
364
  LOGI("Initializing non-Whisper model");
337
365
  }
@@ -97,6 +97,9 @@ TtsInitializeResult TtsWrapper::initialize(
97
97
  config.model.vits.model = detect.paths.ttsModel;
98
98
  config.model.vits.tokens = detect.paths.tokens;
99
99
  config.model.vits.data_dir = detect.paths.dataDir;
100
+ if (!detect.paths.lexicon.empty()) {
101
+ config.model.vits.lexicon = detect.paths.lexicon;
102
+ }
100
103
  if (noiseScale.has_value()) {
101
104
  config.model.vits.noise_scale = *noiseScale;
102
105
  }
@@ -177,6 +180,19 @@ TtsInitializeResult TtsWrapper::initialize(
177
180
  return result;
178
181
  }
179
182
 
183
+ // Prevent hard native aborts from sherpa-onnx when phonemization data is missing.
184
+ // Some VITS models require either espeak-ng-data or a lexicon. If both are missing,
185
+ // fail gracefully so JS/UI can display a recoverable error instead of crashing.
186
+ if (detect.selectedKind == TtsModelKind::kVits &&
187
+ detect.paths.dataDir.empty() &&
188
+ detect.paths.lexicon.empty()) {
189
+ result.error =
190
+ "TTS VITS init blocked: missing both espeak-ng-data and lexicon. "
191
+ "Please add espeak-ng-data to the model folder or provide a lexicon.";
192
+ LOGE("%s", result.error.c_str());
193
+ return result;
194
+ }
195
+
180
196
  if (ruleFsts.has_value() && !ruleFsts->empty()) {
181
197
  config.rule_fsts = *ruleFsts;
182
198
  }
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeSherpaOnnx.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;;AAEpE;;AA+qBA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeSherpaOnnx.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;;AAEpE;;AAixBA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { Platform } from 'react-native';
4
4
  import { DocumentDirectoryPath, exists, readFile, readDir, unlink, writeFile } from '@dr.pogodin/react-native-fs';
5
- import { getCachePath, getModelsBaseDir, getModelDir, getManifestPath, getNativeAssetExtractedModelDir, getReadyMarkerPath, getTarArchivePath, getOnnxPath } from "./paths.js";
6
- import { resolveActualModelDir, removeDirectoryRecursive } from "./validation.js";
5
+ import { getCachePath, getModelsBaseDir, getModelDir, getManifestPath, getReadyMarkerPath, getTarArchivePath, getOnnxPath } from "./paths.js";
6
+ import { resolveActualModelDir } from "./validation.js";
7
7
  import { emitModelsListUpdated } from "./downloadEvents.js";
8
8
  import { clearMemoryCacheForCategory } from "./registry.js";
9
9
  export async function listDownloadedModelsByCategory(category) {
@@ -131,7 +131,6 @@ export async function deleteModelByCategory(category, id) {
131
131
  if (await exists(onnxPath)) {
132
132
  await unlink(onnxPath);
133
133
  }
134
- await removeDirectoryRecursive(getNativeAssetExtractedModelDir(id));
135
134
  const list = await listDownloadedModelsByCategory(category);
136
135
  emitModelsListUpdated(category, list);
137
136
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","DocumentDirectoryPath","exists","readFile","readDir","unlink","writeFile","getCachePath","getModelsBaseDir","getModelDir","getManifestPath","getNativeAssetExtractedModelDir","getReadyMarkerPath","getTarArchivePath","getOnnxPath","resolveActualModelDir","removeDirectoryRecursive","emitModelsListUpdated","clearMemoryCacheForCategory","listDownloadedModelsByCategory","category","baseDir","existsResult","entries","models","entry","isDirectory","manifestPath","name","manifestExists","raw","manifest","JSON","parse","model","push","isModelDownloadedByCategory","id","readyPath","getLocalModelPathByCategory","ready","updateModelLastUsed","installDir","lastUsed","Date","toISOString","stringify","error","console","warn","listDownloadedModelsWithMetadata","modelsWithMetadata","downloadedAt","sizeOnDisk","size","status","cleanupLeastRecentlyUsed","options","length","keepCount","sorted","sort","a","b","aTime","bTime","getTime","deletedIds","bytesFreed","targetBytes","maxToDelete","maxModelsToDelete","i","item","deleteModelByCategory","log","modelDir","tarPath","onnxPath","list","clearModelCacheByCategory","cachePath","getDownloadStorageBase","OS"],"sourceRoot":"../../../src","sources":["download/localModels.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","DocumentDirectoryPath","exists","readFile","readDir","unlink","writeFile","getCachePath","getModelsBaseDir","getModelDir","getManifestPath","getReadyMarkerPath","getTarArchivePath","getOnnxPath","resolveActualModelDir","emitModelsListUpdated","clearMemoryCacheForCategory","listDownloadedModelsByCategory","category","baseDir","existsResult","entries","models","entry","isDirectory","manifestPath","name","manifestExists","raw","manifest","JSON","parse","model","push","isModelDownloadedByCategory","id","readyPath","getLocalModelPathByCategory","ready","updateModelLastUsed","installDir","lastUsed","Date","toISOString","stringify","error","console","warn","listDownloadedModelsWithMetadata","modelsWithMetadata","downloadedAt","sizeOnDisk","size","status","cleanupLeastRecentlyUsed","options","length","keepCount","sorted","sort","a","b","aTime","bTime","getTime","deletedIds","bytesFreed","targetBytes","maxToDelete","maxModelsToDelete","i","item","deleteModelByCategory","log","modelDir","tarPath","onnxPath","list","clearModelCacheByCategory","cachePath","getDownloadStorageBase","OS"],"sourceRoot":"../../../src","sources":["download/localModels.ts"],"mappings":"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","ignoreList":[]}
@@ -86,7 +86,8 @@ export function getExtractionStatePath(category, modelId) {
86
86
  /**
87
87
  * Directory where native `resolveAssetPath` materializes a bundled model folder
88
88
  * (`DocumentDirectoryPath/models/{modelId}` — Android internal `files/models/...`).
89
- * Separate from {@link getModelDir}. Remove on delete so empty dirs do not break detection.
89
+ * Separate from {@link getModelDir}. `deleteModelByCategory` does not remove this tree; it
90
+ * only deletes download-manager installs under `sherpa-onnx/models/`.
90
91
  */
91
92
  export function getNativeAssetExtractedModelDir(modelId) {
92
93
  const safeId = modelId.replace(/[/\\]/g, '');
@@ -1 +1 @@
1
- {"version":3,"names":["DocumentDirectoryPath","ModelCategory","RELEASE_API_BASE","CATEGORY_CONFIG","Tts","tag","cacheFile","baseDir","Stt","Vad","Diarization","Enhancement","Separation","Qnn","getCacheDir","getCachePath","category","getModelsBaseDir","getModelDir","modelId","getArchiveFilename","archiveExt","getArchivePath","filename","getTarArchivePath","getOnnxPath","getReadyMarkerPath","getManifestPath","getDownloadStatePath","getExtractionStatePath","getNativeAssetExtractedModelDir","safeId","replace","getReleaseUrl"],"sourceRoot":"../../../src","sources":["download/paths.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,6BAA6B;AACnE,SAASC,aAAa,QAAQ,YAAS;AAEvC,SAASC,gBAAgB,QAAQ,gBAAa;AAE9C,OAAO,MAAMC,eAGZ,GAAG;EACF,CAACF,aAAa,CAACG,GAAG,GAAG;IACnBC,GAAG,EAAE,YAAY;IACjBC,SAAS,EAAE,iBAAiB;IAC5BC,OAAO,EAAE,GAAGP,qBAAqB;EACnC,CAAC;EACD,CAACC,aAAa,CAACO,GAAG,GAAG;IACnBH,GAAG,EAAE,YAAY;IACjBC,SAAS,EAAE,iBAAiB;IAC5BC,OAAO,EAAE,GAAGP,qBAAqB;EACnC,CAAC;EACD,CAACC,aAAa,CAACQ,GAAG,GAAG;IACnBJ,GAAG,EAAE,YAAY;IACjBC,SAAS,EAAE,iBAAiB;IAC5BC,OAAO,EAAE,GAAGP,qBAAqB;EACnC,CAAC;EACD,CAACC,aAAa,CAACS,WAAW,GAAG;IAC3BL,GAAG,EAAE,6BAA6B;IAClCC,SAAS,EAAE,yBAAyB;IACpCC,OAAO,EAAE,GAAGP,qBAAqB;EACnC,CAAC;EACD,CAACC,aAAa,CAACU,WAAW,GAAG;IAC3BN,GAAG,EAAE,2BAA2B;IAChCC,SAAS,EAAE,yBAAyB;IACpCC,OAAO,EAAE,GAAGP,qBAAqB;EACnC,CAAC;EACD,CAACC,aAAa,CAACW,UAAU,GAAG;IAC1BP,GAAG,EAAE,0BAA0B;IAC/BC,SAAS,EAAE,wBAAwB;IACnCC,OAAO,EAAE,GAAGP,qBAAqB;EACnC,CAAC;EACD,CAACC,aAAa,CAACY,GAAG,GAAG;IACnBR,GAAG,EAAE,uBAAuB;IAC5BC,SAAS,EAAE,iBAAiB;IAC5BC,OAAO,EAAE,GAAGP,qBAAqB;EACnC;AACF,CAAC;AAED,OAAO,SAASc,WAAWA,CAAA,EAAW;EACpC,OAAO,GAAGd,qBAAqB,oBAAoB;AACrD;AAEA,OAAO,SAASe,YAAYA,CAACC,QAAuB,EAAU;EAC5D,OAAO,GAAGF,WAAW,CAAC,CAAC,IAAIX,eAAe,CAACa,QAAQ,CAAC,CAACV,SAAS,EAAE;AAClE;AAEA,OAAO,SAASW,gBAAgBA,CAACD,QAAuB,EAAU;EAChE,OAAOb,eAAe,CAACa,QAAQ,CAAC,CAACT,OAAO;AAC1C;AAEA,OAAO,SAASW,WAAWA,CAACF,QAAuB,EAAEG,OAAe,EAAU;EAC5E,OAAO,GAAGF,gBAAgB,CAACD,QAAQ,CAAC,IAAIG,OAAO,EAAE;AACnD;AAEA,OAAO,SAASC,kBAAkBA,CAChCD,OAAe,EACfE,UAA2B,EACnB;EACR,OAAO,GAAGF,OAAO,IAAIE,UAAU,EAAE;AACnC;AAEA,OAAO,SAASC,cAAcA,CAC5BN,QAAuB,EACvBG,OAAe,EACfE,UAA2B,EACnB;EACR,MAAME,QAAQ,GAAGH,kBAAkB,CAACD,OAAO,EAAEE,UAAU,CAAC;EACxD,IAAIA,UAAU,KAAK,MAAM,EAAE;IACzB,OAAO,GAAGH,WAAW,CAACF,QAAQ,EAAEG,OAAO,CAAC,IAAII,QAAQ,EAAE;EACxD;EACA,OAAO,GAAGN,gBAAgB,CAACD,QAAQ,CAAC,IAAIO,QAAQ,EAAE;AACpD;AAEA,OAAO,SAASC,iBAAiBA,CAC/BR,QAAuB,EACvBG,OAAe,EACP;EACR,OAAOG,cAAc,CAACN,QAAQ,EAAEG,OAAO,EAAE,SAAS,CAAC;AACrD;AAEA,OAAO,SAASM,WAAWA,CAACT,QAAuB,EAAEG,OAAe,EAAU;EAC5E,OAAOG,cAAc,CAACN,QAAQ,EAAEG,OAAO,EAAE,MAAM,CAAC;AAClD;AAEA,OAAO,SAASO,kBAAkBA,CAChCV,QAAuB,EACvBG,OAAe,EACP;EACR,OAAO,GAAGD,WAAW,CAACF,QAAQ,EAAEG,OAAO,CAAC,SAAS;AACnD;AAEA,OAAO,SAASQ,eAAeA,CAC7BX,QAAuB,EACvBG,OAAe,EACP;EACR,OAAO,GAAGD,WAAW,CAACF,QAAQ,EAAEG,OAAO,CAAC,gBAAgB;AAC1D;AAEA,OAAO,SAASS,oBAAoBA,CAClCZ,QAAuB,EACvBG,OAAe,EACP;EACR,OAAO,GAAGF,gBAAgB,CAACD,QAAQ,CAAC,oBAAoBG,OAAO,OAAO;AACxE;;AAEA;AACA,OAAO,SAASU,sBAAsBA,CACpCb,QAAuB,EACvBG,OAAe,EACP;EACR,OAAO,GAAGF,gBAAgB,CAACD,QAAQ,CAAC,sBAAsBG,OAAO,OAAO;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASW,+BAA+BA,CAACX,OAAe,EAAU;EACvE,MAAMY,MAAM,GAAGZ,OAAO,CAACa,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;EAC5C,OAAO,GAAGhC,qBAAqB,WAAW+B,MAAM,EAAE,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACzE;AAEA,OAAO,SAASC,aAAaA,CAACjB,QAAuB,EAAU;EAC7D,OAAO,GAAGd,gBAAgB,IAAIC,eAAe,CAACa,QAAQ,CAAC,CAACX,GAAG,EAAE;AAC/D","ignoreList":[]}
1
+ {"version":3,"names":["DocumentDirectoryPath","ModelCategory","RELEASE_API_BASE","CATEGORY_CONFIG","Tts","tag","cacheFile","baseDir","Stt","Vad","Diarization","Enhancement","Separation","Qnn","getCacheDir","getCachePath","category","getModelsBaseDir","getModelDir","modelId","getArchiveFilename","archiveExt","getArchivePath","filename","getTarArchivePath","getOnnxPath","getReadyMarkerPath","getManifestPath","getDownloadStatePath","getExtractionStatePath","getNativeAssetExtractedModelDir","safeId","replace","getReleaseUrl"],"sourceRoot":"../../../src","sources":["download/paths.ts"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,10 @@ export async function runPostDownloadProcessing(options) {
20
20
  onChecksumIssue,
21
21
  deleteArchiveAfterExtract,
22
22
  onProgress,
23
- getDownloadedList
23
+ getDownloadedList,
24
+ showExtractionNotifications,
25
+ extractionNotificationTitle,
26
+ extractionNotificationText
24
27
  } = options;
25
28
  registerActivePostProcess(category, id);
26
29
  try {
@@ -36,7 +39,10 @@ export async function runPostDownloadProcessing(options) {
36
39
  onChecksumIssue,
37
40
  deleteArchiveAfterExtract,
38
41
  onProgress,
39
- getDownloadedList
42
+ getDownloadedList,
43
+ showExtractionNotifications,
44
+ extractionNotificationTitle,
45
+ extractionNotificationText
40
46
  });
41
47
  } finally {
42
48
  unregisterActivePostProcess(category, id);
@@ -55,7 +61,10 @@ async function runPostDownloadProcessingBody(options) {
55
61
  onChecksumIssue,
56
62
  deleteArchiveAfterExtract,
57
63
  onProgress,
58
- getDownloadedList
64
+ getDownloadedList,
65
+ showExtractionNotifications,
66
+ extractionNotificationTitle,
67
+ extractionNotificationText
59
68
  } = options;
60
69
  const isAborted = () => Boolean(signal?.aborted);
61
70
  const abortError = new Error('Download aborted');
@@ -100,7 +109,11 @@ async function runPostDownloadProcessingBody(options) {
100
109
  };
101
110
  onProgress?.(progress);
102
111
  emitDownloadProgress(category, id, progress);
103
- }, signal);
112
+ }, signal, {
113
+ showNotificationsEnabled: showExtractionNotifications !== false,
114
+ notificationTitle: extractionNotificationTitle,
115
+ notificationText: extractionNotificationText
116
+ });
104
117
  }
105
118
  if (model.sha256) {
106
119
  const expectedSha = model.sha256.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"names":["exists","mkdir","writeFile","stat","unlink","getReadyMarkerPath","getManifestPath","getExtractionStatePath","validateChecksum","validateExtractedFiles","resolveActualModelDir","extractTarBz2","promptChecksumFallback","emitDownloadProgress","emitModelsListUpdated","registerActivePostProcess","unregisterActivePostProcess","runPostDownloadProcessing","options","category","id","model","downloadPath","modelDir","isArchive","statePath","signal","onChecksumIssue","deleteArchiveAfterExtract","onProgress","getDownloadedList","runPostDownloadProcessingBody","isAborted","Boolean","aborted","abortError","Error","name","extractResult","extractedTotalBytes","archiveStat","bytes","size","console","warn","statErr","message","includes","extractionStatePath","JSON","stringify","modelId","phase","startedAt","Date","toISOString","archivePath","evt","totalBytes","progress","bytesDownloaded","percent","sha256","expectedSha","toLowerCase","issue","nativeSha","expected","reason","checksumResult","success","error","keepFile","filesValidation","now","sizeOnDisk","s","downloadedAt","lastUsed","err","String","list","resolvedPath","localPath"],"sourceRoot":"../../../src","sources":["download/postDownloadProcessing.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["exists","mkdir","writeFile","stat","unlink","getReadyMarkerPath","getManifestPath","getExtractionStatePath","validateChecksum","validateExtractedFiles","resolveActualModelDir","extractTarBz2","promptChecksumFallback","emitDownloadProgress","emitModelsListUpdated","registerActivePostProcess","unregisterActivePostProcess","runPostDownloadProcessing","options","category","id","model","downloadPath","modelDir","isArchive","statePath","signal","onChecksumIssue","deleteArchiveAfterExtract","onProgress","getDownloadedList","showExtractionNotifications","extractionNotificationTitle","extractionNotificationText","runPostDownloadProcessingBody","isAborted","Boolean","aborted","abortError","Error","name","extractResult","extractedTotalBytes","archiveStat","bytes","size","console","warn","statErr","message","includes","extractionStatePath","JSON","stringify","modelId","phase","startedAt","Date","toISOString","archivePath","evt","totalBytes","progress","bytesDownloaded","percent","showNotificationsEnabled","notificationTitle","notificationText","sha256","expectedSha","toLowerCase","issue","nativeSha","expected","reason","checksumResult","success","error","keepFile","filesValidation","now","sizeOnDisk","s","downloadedAt","lastUsed","err","String","list","resolvedPath","localPath"],"sourceRoot":"../../../src","sources":["download/postDownloadProcessing.ts"],"mappings":"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","ignoreList":[]}