This repository has been archived on 2025-08-26. You can view files and clone it, but cannot push or open issues or pull requests.
Files
enginex-mr_series-sherpa-onnx/scripts/node-addon-api/lib/non-streaming-asr.js
Fangjun Kuang df4615ca1d Add C/CXX/JavaScript API for NeMo Canary models (#2357)
This PR introduces support for NeMo Canary models across C, C++, and JavaScript APIs 
by adding new Canary configuration structures, updating bindings, extending examples,
and enhancing CI workflows.

- Add OfflineCanaryModelConfig to all language bindings (C, C++, JS, ETS).
- Implement SetConfig methods and NAPI wrappers for updating recognizer config at runtime.
- Update examples and CI scripts to demonstrate and test NeMo Canary model usage.
2025-07-07 23:38:04 +08:00

46 lines
970 B
JavaScript

const addon = require('./addon.js');
class OfflineStream {
constructor(handle) {
this.handle = handle;
}
// obj is {samples: samples, sampleRate: sampleRate}
// samples is a float32 array containing samples in the range [-1, 1]
// sampleRate is a number
acceptWaveform(obj) {
addon.acceptWaveformOffline(this.handle, obj)
}
}
class OfflineRecognizer {
constructor(config) {
this.handle = addon.createOfflineRecognizer(config);
this.config = config
}
createStream() {
const handle = addon.createOfflineStream(this.handle);
return new OfflineStream(handle);
}
setConfig(config) {
addon.offlineRecognizerSetConfig(this.handle, config);
}
decode(stream) {
addon.decodeOfflineStream(this.handle, stream.handle);
}
getResult(stream) {
const jsonStr = addon.getOfflineStreamResultAsJson(stream.handle);
return JSON.parse(jsonStr);
}
}
module.exports = {
OfflineRecognizer,
OfflineStream,
}