sherpa-onnx-node
Version:
Speech-to-text, text-to-speech, speaker diarization, and speech enhancement using Next-gen Kaldi without internet connection
32 lines (27 loc) • 993 B
JavaScript
/** @typedef {import('./types').OfflineSpeechDenoiserConfig} OfflineSpeechDenoiserConfig */
/** @typedef {import('./types').OfflineSpeechDenoiserHandle} OfflineSpeechDenoiserHandle */
/** @typedef {import('./types').GeneratedAudio} GeneratedAudio */
/** @typedef {import('./types').AudioProcessRequest} AudioProcessRequest */
const addon = require('./addon.js');
class OfflineSpeechDenoiser {
/**
* @param {OfflineSpeechDenoiserConfig} config
*/
constructor(config) {
this.handle = addon.createOfflineSpeechDenoiser(config);
this.config = config;
this.sampleRate =
addon.offlineSpeechDenoiserGetSampleRateWrapper(this.handle);
}
/**
* Run denoiser synchronously.
* @param {AudioProcessRequest} obj - { samples: Float32Array, sampleRate: number, enableExternalBuffer?: boolean }
* @returns {GeneratedAudio}
*/
run(obj) {
return addon.offlineSpeechDenoiserRunWrapper(this.handle, obj);
}
}
module.exports = {
OfflineSpeechDenoiser,
}