index.js
2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// Copyright (c) 2023-2024 Xiaomi Corporation (authors: Fangjun Kuang)
'use strict'
const wasmModule = require('./sherpa-onnx-wasm-nodejs.js')();
const sherpa_onnx_asr = require('./sherpa-onnx-asr.js');
const sherpa_onnx_tts = require('./sherpa-onnx-tts.js');
const sherpa_onnx_kws = require('./sherpa-onnx-kws.js');
const sherpa_onnx_wave = require('./sherpa-onnx-wave.js');
const sherpa_onnx_vad = require('./sherpa-onnx-vad.js');
const sherpa_onnx_speaker_diarization =
require('./sherpa-onnx-speaker-diarization.js');
const sherpa_onnx_speech_enhancement =
require('./sherpa-onnx-speech-enhancement.js');
function createOnlineRecognizer(config) {
return sherpa_onnx_asr.createOnlineRecognizer(wasmModule, config);
}
function createOfflineRecognizer(config) {
return new sherpa_onnx_asr.OfflineRecognizer(config, wasmModule);
}
function createOfflineTts(config) {
return sherpa_onnx_tts.createOfflineTts(wasmModule, config);
}
function createKws(config) {
return sherpa_onnx_kws.createKws(wasmModule, config);
}
function createCircularBuffer(capacity) {
return new sherpa_onnx_vad.CircularBuffer(capacity, wasmModule);
}
function createVad(config) {
return sherpa_onnx_vad.createVad(wasmModule, config);
}
function createOfflineSpeakerDiarization(config) {
return sherpa_onnx_speaker_diarization.createOfflineSpeakerDiarization(
wasmModule, config);
}
function readWave(filename) {
return sherpa_onnx_wave.readWave(filename, wasmModule);
}
function writeWave(filename, data) {
sherpa_onnx_wave.writeWave(filename, data, wasmModule);
}
function readWaveFromBinaryData(uint8Array) {
return sherpa_onnx_wave.readWaveFromBinaryData(uint8Array, wasmModule);
}
function createOfflineSpeechDenoiser(config) {
return sherpa_onnx_speech_enhancement.createOfflineSpeechDenoiser(
wasmModule, config);
}
function getVersion() {
const v = wasmModule._SherpaOnnxGetVersionStr();
return wasmModule.UTF8ToString(v);
}
function getGitSha1() {
const v = wasmModule._SherpaOnnxGetGitSha1();
return wasmModule.UTF8ToString(v);
}
function getGitDate() {
const v = wasmModule._SherpaOnnxGetGitDate();
return wasmModule.UTF8ToString(v);
}
// Note: online means streaming and offline means non-streaming here.
// Both of them don't require internet connection.
module.exports = {
createOnlineRecognizer,
createOfflineRecognizer,
createOfflineTts,
createKws,
readWave,
readWaveFromBinaryData,
writeWave,
createCircularBuffer,
createVad,
createOfflineSpeakerDiarization,
createOfflineSpeechDenoiser,
version: getVersion(),
gitSha1: getGitSha1(),
gitDate: getGitDate(),
};