csukuangfj commited on
Commit
da6a725
·
1 Parent(s): dc643c1

update model

Browse files
sherpa-ncnn-wasm-main.js CHANGED
The diff for this file is too large to render. See raw diff
 
sherpa-ncnn-wasm-main.wasm CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:43acc0c12a58b53b3164582009a175b829cca5c50a8db4b7907c9b48c44448ae
3
- size 1702523
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:39f9745905d760e9c52dd55c572bcd32913c3263c83a5fd522d798d09b5b93f3
3
+ size 1739884
sherpa-ncnn.js CHANGED
@@ -4,6 +4,19 @@ function freeConfig(config, Module) {
4
  if ('buffer' in config) {
5
  Module._free(config.buffer);
6
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  Module._free(config.ptr);
8
  }
9
 
@@ -122,6 +135,12 @@ function initSherpaNcnnRecognizerConfig(config, Module) {
122
  Module._CopyHeap(decoderConfig.ptr, decoderConfig.len, ptr + offset)
123
  offset += decoderConfig.len;
124
 
 
 
 
 
 
 
125
  Module.setValue(ptr + offset, config.enableEndpoint, 'i32');
126
  offset += 4;
127
 
@@ -134,15 +153,16 @@ function initSherpaNcnnRecognizerConfig(config, Module) {
134
  Module.setValue(ptr + offset, config.rule3MinUtternceLength, 'float');
135
  offset += 4;
136
 
137
- Module.setValue(ptr + offset, 0, 'i32'); // hotwords file
138
  offset += 4;
139
 
140
- Module.setValue(ptr + offset, 0.5, 'float'); // hotwords_score
 
141
  offset += 4;
142
 
143
  return {
144
  ptr: ptr, len: numBytes, featConfig: featConfig, modelConfig: modelConfig,
145
- decoderConfig: decoderConfig,
146
  }
147
  }
148
 
 
4
  if ('buffer' in config) {
5
  Module._free(config.buffer);
6
  }
7
+
8
+ if ('featConfig' in config) {
9
+ freeConfig(config.featConfig, Module)
10
+ }
11
+
12
+ if ('modelConfig' in config) {
13
+ freeConfig(config.modelConfig, Module)
14
+ }
15
+
16
+ if ('decoderConfig' in config) {
17
+ freeConfig(config.decoderConfig, Module)
18
+ }
19
+
20
  Module._free(config.ptr);
21
  }
22
 
 
135
  Module._CopyHeap(decoderConfig.ptr, decoderConfig.len, ptr + offset)
136
  offset += decoderConfig.len;
137
 
138
+ const hotwordsFileLen = Module.lengthBytesUTF8(config.hotwordsFile || '') + 1;
139
+ const bufferLen = hotwordsFileLen;
140
+ const buffer = Module._malloc(bufferLen);
141
+
142
+ Module.stringToUTF8(config.hotwordsFile || '', buffer, hotwordsFileLen);
143
+
144
  Module.setValue(ptr + offset, config.enableEndpoint, 'i32');
145
  offset += 4;
146
 
 
153
  Module.setValue(ptr + offset, config.rule3MinUtternceLength, 'float');
154
  offset += 4;
155
 
156
+ Module.setValue(ptr + offset, buffer, 'i8*'); // hotwords file
157
  offset += 4;
158
 
159
+ Module.setValue(
160
+ ptr + offset, config.hotwordsScore || 0.5, 'float'); // hotwords_score
161
  offset += 4;
162
 
163
  return {
164
  ptr: ptr, len: numBytes, featConfig: featConfig, modelConfig: modelConfig,
165
+ decoderConfig: decoderConfig, buffer: buffer,
166
  }
167
  }
168