Add WebAssembly for NodeJS. (#628)
This commit is contained in:
@@ -2,38 +2,18 @@
|
||||
|
||||
This directory contains nodejs examples for [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx).
|
||||
|
||||
Before you continue, please first install the npm package `sherpa-onnx` by
|
||||
Before you continue, please first run
|
||||
|
||||
```bash
|
||||
npm install sherpa-onnx
|
||||
cd ./nodejs-examples
|
||||
|
||||
npm i
|
||||
```
|
||||
|
||||
In the following, we describe how to use [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx)
|
||||
for text-to-speech and speech-to-text.
|
||||
|
||||
**Caution**: If you get the following error:
|
||||
```
|
||||
/Users/fangjun/open-source/sherpa-onnx/nodejs-examples/node_modules/ffi-napi/lib/dynamic_library.js:67
|
||||
if (match = err.match(/^(([^ \t()])+\.so([^ \t:()])*):([ \t])*/)) {
|
||||
^
|
||||
|
||||
TypeError: Cannot read properties of null (reading 'match')
|
||||
at new DynamicLibrary (/Users/fangjun/open-source/sherpa-onnx/nodejs-examples/node_modules/ffi-napi/lib/dynamic_library.js:67:21)
|
||||
at Object.Library (/Users/fangjun/open-source/sherpa-onnx/nodejs-examples/node_modules/ffi-napi/lib/library.js:47:10)
|
||||
at Object.<anonymous> (/Users/fangjun/open-source/sherpa-onnx/nodejs-examples/node_modules/sherpa-onnx3/index.js:268:28)
|
||||
at Module._compile (node:internal/modules/cjs/loader:1376:14)
|
||||
at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
|
||||
at Module.load (node:internal/modules/cjs/loader:1207:32)
|
||||
at Module._load (node:internal/modules/cjs/loader:1023:12)
|
||||
at Module.require (node:internal/modules/cjs/loader:1235:19)
|
||||
at require (node:internal/modules/helpers:176:18)
|
||||
at Object.<anonymous> (/Users/fangjun/open-source/sherpa-onnx/nodejs-examples/test-offline-tts-zh.js:3:21)
|
||||
```
|
||||
|
||||
Please downgrade your node to version v13.14.0. See also
|
||||
https://github.com/node-ffi-napi/node-ffi-napi/issues/244
|
||||
and
|
||||
https://github.com/node-ffi-napi/node-ffi-napi/issues/97 .
|
||||
Note: You need `Node >= 18`.
|
||||
|
||||
# Text-to-speech
|
||||
|
||||
@@ -71,13 +51,7 @@ node ./test-offline-tts-zh.js
|
||||
# Speech-to-text
|
||||
|
||||
In the following, we demonstrate how to decode files and how to perform
|
||||
speech recognition with a microphone with `nodejs`. We need to install two additional
|
||||
npm packages:
|
||||
|
||||
|
||||
```bash
|
||||
npm install wav naudiodon2
|
||||
```
|
||||
speech recognition with a microphone with `nodejs`.
|
||||
|
||||
## ./test-offline-nemo-ctc.js
|
||||
|
||||
@@ -200,60 +174,3 @@ wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherp
|
||||
tar xvf sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13.tar.bz2
|
||||
node ./test-online-zipformer2-ctc.js
|
||||
```
|
||||
|
||||
## ./test-vad-microphone-offline-paraformer.js
|
||||
|
||||
[./test-vad-microphone-offline-paraformer.js](./test-vad-microphone-offline-paraformer.js)
|
||||
demonstrates how to use [silero-vad](https://github.com/snakers4/silero-vad)
|
||||
with non-streaming Paraformer for speech recognition from microphone.
|
||||
|
||||
You can use the following command to run it:
|
||||
|
||||
```bash
|
||||
wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
|
||||
wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-paraformer-zh-2023-03-28.tar.bz2
|
||||
tar xvf sherpa-onnx-paraformer-zh-2023-03-28.tar.bz2
|
||||
node ./test-vad-microphone-offline-paraformer.js
|
||||
```
|
||||
|
||||
## ./test-vad-microphone-offline-transducer.js
|
||||
|
||||
[./test-vad-microphone-offline-transducer.js](./test-vad-microphone-offline-transducer.js)
|
||||
demonstrates how to use [silero-vad](https://github.com/snakers4/silero-vad)
|
||||
with a non-streaming transducer model for speech recognition from microphone.
|
||||
|
||||
You can use the following command to run it:
|
||||
|
||||
```bash
|
||||
wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
|
||||
wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-en-2023-06-26.tar.bz2
|
||||
tar xvf sherpa-onnx-zipformer-en-2023-06-26.tar.bz2
|
||||
node ./test-vad-microphone-offline-transducer.js
|
||||
```
|
||||
|
||||
## ./test-vad-microphone-offline-whisper.js
|
||||
|
||||
[./test-vad-microphone-offline-whisper.js](./test-vad-microphone-offline-whisper.js)
|
||||
demonstrates how to use [silero-vad](https://github.com/snakers4/silero-vad)
|
||||
with whisper for speech recognition from microphone.
|
||||
|
||||
You can use the following command to run it:
|
||||
|
||||
```bash
|
||||
wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
|
||||
wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
|
||||
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
|
||||
node ./test-vad-microphone-offline-whisper.js
|
||||
```
|
||||
|
||||
## ./test-vad-microphone.js
|
||||
|
||||
[./test-vad-microphone.js](./test-vad-microphone.js)
|
||||
demonstrates how to use [silero-vad](https://github.com/snakers4/silero-vad).
|
||||
|
||||
You can use the following command to run it:
|
||||
|
||||
```bash
|
||||
wget -q https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
|
||||
node ./test-vad-microphone.js
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user