Avoid reinstatiation of public API in worker. Bump emscripten 3.1.68 & fix previous size regression

This commit is contained in:
msqr1
2024-10-01 10:51:58 -07:00
parent b440373845
commit da3c7a269a
7 changed files with 15 additions and 11 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -3,8 +3,11 @@
* @suppress {undefinedVars|checkTypes}
*/
let objs = [];
let events = ['status', 'partialResult', 'result'];
if(ENVIRONMENT_IS_WEB) {
// "var" to expose this outside the if
var objs = [];
var events = ['status', 'partialResult', 'result'];
let storageWorkerURL = URL.createObjectURL(new Blob(['(', (async () => {
let txtDecoder = new TextDecoder();
let txtEncoder = new TextEncoder();
@@ -49,7 +52,7 @@ let processorURL = URL.createObjectURL(new Blob(['(', (() => {
constructor(opts) {
super();
this.filledSize = 0;
this.bufferSize = opts.processorOptions;
this.bufferSize = opts.processorOptions.bufferSize;
this.buffer = new Float32Array(this.bufferSize);
}
process(inputs) {
@@ -162,7 +165,7 @@ Module = {
numberOfInputs: 1,
numberOfOutputs: 0,
channelCount: 1,
processorOptions: bufferSize
processorOptions: { bufferSize: bufferSize }
});
},
@@ -180,4 +183,6 @@ Module = {
'createRecognizerWithSpkModel': (model, sampleRate, spkModel) =>
Recognizer.mk(model.obj, sampleRate, 2, null, spkModel.obj)
}
}

View File

@@ -24,8 +24,8 @@ if [ "$EMSDK" = ../emsdk ] && [ ! -d "$EMSDK" ]; then
echo "Installing emsdk + Emscripten..."
git clone --depth=1 https://github.com/emscripten-core/emsdk.git ../emsdk &&
cd ../emsdk &&
./emsdk install 3.1.67 &&
./emsdk activate 3.1.67
./emsdk install 3.1.68 &&
./emsdk activate 3.1.68
fi
. $(realpath "$EMSDK")/emsdk_env.sh &&
export PATH=:$PATH:$(realpath "$EMSDK")/upstream/bin &&
@@ -74,7 +74,6 @@ fi
cd "$SRC" &&
em++ Util.cc CommonModel.cc Recognizer.cc Bindings.cc -O3 -std=c++23 -fno-rtti -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 -DMAX_WORKERS="$MAX_THREADS" -sWASMFS -sWASM_BIGINT -sMODULARIZE -sWASM_EXNREF -sTEXTDECODER=2 -sWASM_WORKERS=2 -sEVAL_CTORS=2 -sINITIAL_MEMORY="$INITIAL_MEMORY" -sALLOW_MEMORY_GROWTH -sPOLYFILL=0 -sEXIT_RUNTIME=0 -sINVOKE_RUN=0 -sSUPPORT_LONGJMP=0 -sINCOMING_MODULE_JS_API=wasmMemory,instantiateWasm,wasm -sEXPORT_NAME=loadVosklet -sMALLOC=emmalloc -sENVIRONMENT=web,worker -I. -I"$VOSK"/src -L"$KALDI"/src -l:online2/kaldi-online2.a -l:decoder/kaldi-decoder.a -l:ivector/kaldi-ivector.a -l:gmm/kaldi-gmm.a -l:tree/kaldi-tree.a -l:feat/kaldi-feat.a -l:cudamatrix/kaldi-cudamatrix.a -l:lat/kaldi-lat.a -l:lm/kaldi-lm.a -l:rnnlm/kaldi-rnnlm.a -l:hmm/kaldi-hmm.a -l:nnet3/kaldi-nnet3.a -l:transform/kaldi-transform.a -l:matrix/kaldi-matrix.a -l:fstext/kaldi-fstext.a -l:util/kaldi-util.a -l:base/kaldi-base.a -L"$OPENFST"/lib -l:libfst.a -l:libfstngram.a -L"$CLAPACK_WASM" -l:CBLAS/lib/cblas.a -l:CLAPACK-3.2.1/lapack.a -l:CLAPACK-3.2.1/libcblaswr.a -l:f2c_BLAS-3.8.0/blas.a -l:libf2c/libf2c.a -L"$VOSK"/src -l:vosk.a -lembind -flto -msimd128 -matomics -mbulk-memory -mreference-types -mnontrapping-fptoint -mextended-const -msign-ext -mmutable-globals --pre-js Wrapper.js --closure 1 -o ../Vosklet.js
cd .. &&
rm -f Vosklet.worker.js
tr -d '\n' < Vosklet.js | tr -s ' ' > /tmp/hehe && mv /tmp/hehe Vosklet.js &&

4
test
View File

@@ -24,8 +24,8 @@ if [ "$EMSDK" = emsdk ] && [ ! -d "$EMSDK" ]; then
echo "Installing emsdk + Emscripten..."
git clone --depth=1 https://github.com/emscripten-core/emsdk.git ../emsdk &&
cd ../emsdk &&
./emsdk install 3.1.67 &&
./emsdk activate 3.1.67
./emsdk install 3.1.68 &&
./emsdk activate 3.1.68
fi
. $(realpath "$EMSDK")/emsdk_env.sh &&
export PATH=:$PATH:$(realpath "$EMSDK")/upstream/bin