26 lines
655 B
JavaScript
26 lines
655 B
JavaScript
const BaseEngine=require('../BaseEngine');
|
|
const fetch = require('node-fetch');
|
|
const querystring = require('querystring');
|
|
|
|
module.exports= class extends BaseEngine {
|
|
constructor() {
|
|
super("IBM Watson TTS","ogg");
|
|
}
|
|
async getSpeech(text, voice='en-us', params={}) {
|
|
const url = process.env.watsonURL+"/v1/synthesize";
|
|
let buff=new Buffer('apikey:'+process.env.watsonAPIKey);
|
|
let b64auth=buff.toString('base64');
|
|
const authorization='Basic '+b64auth;
|
|
const opts={
|
|
method: "post",
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'Authorization': authorization
|
|
},
|
|
body: {
|
|
text: text
|
|
}
|
|
};
|
|
return fetch(url);
|
|
}
|
|
}; |