Add TTS for node-addon-api (#871)
This commit is contained in:
@@ -25,8 +25,8 @@ for (const p of possible_paths) {
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
let msg =
|
||||
`Could not find sherpa-onnx. Tried\n\n ${possible_paths.join('\n ')}\n`
|
||||
let msg = `Could not find sherpa-onnx-node. Tried\n\n ${
|
||||
possible_paths.join('\n ')}\n`
|
||||
if (os.platform() == 'darwin' && process.env.DYLD_LIBRARY_PATH &&
|
||||
!process.env.DYLD_LIBRARY_PATH.includes(
|
||||
`node_modules/sherpa-onnx-${platform_arch}`)) {
|
||||
|
||||
25
scripts/node-addon-api/lib/non-streaming-tts.js
Normal file
25
scripts/node-addon-api/lib/non-streaming-tts.js
Normal file
@@ -0,0 +1,25 @@
|
||||
const addon = require('./addon.js');
|
||||
|
||||
class OfflineTts {
|
||||
constructor(config) {
|
||||
this.handle = addon.createOfflineTts(config);
|
||||
this.config = config;
|
||||
|
||||
this.numSpeakers = addon.getOfflineTtsNumSpeakers(this.handle);
|
||||
this.sampleRate = addon.getOfflineTtsSampleRate(this.handle);
|
||||
}
|
||||
|
||||
/*
|
||||
input obj: {text: "xxxx", sid: 0, speed: 1.0}
|
||||
where text is a string, sid is a int32, speed is a float
|
||||
|
||||
return an object {samples: Float32Array, sampleRate: <a number>}
|
||||
*/
|
||||
generate(obj) {
|
||||
return addon.offlineTtsGenerate(this.handle, obj);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
OfflineTts,
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
const addon = require('./addon.js')
|
||||
const streaming_asr = require('./streaming-asr.js');
|
||||
const non_streaming_asr = require('./non-streaming-asr.js');
|
||||
const non_streaming_tts = require('./non-streaming-tts.js');
|
||||
const vad = require('./vad.js');
|
||||
|
||||
module.exports = {
|
||||
OnlineRecognizer: streaming_asr.OnlineRecognizer,
|
||||
OfflineRecognizer: non_streaming_asr.OfflineRecognizer,
|
||||
OfflineTts: non_streaming_tts.OfflineTts,
|
||||
readWave: addon.readWave,
|
||||
writeWave: addon.writeWave,
|
||||
Display: streaming_asr.Display,
|
||||
|
||||
Reference in New Issue
Block a user