Node client library for IVONA Speech Cloud API. Yes, this is up-to-date and uses the most recent AWS Signature 4 scheme (thanks to aws4). All you need is your Ivona access and secret (the one only given to you once upon creating it) keys.
npm install ivona-node
No current documentation, as the entire extent of the API can be viewed below.
var ivona = new Ivona({
accessKey: 'IVONA_ACCESS_KEY',
secretKey: 'IVONA_SECRET_KEY'
});
ivona.listVoices()
.on('complete', function(voices) {
console.log(voices);
});
// ivona.createVoice(text, config)
// [string] text - the text to be spoken
// [object] config (optional) - override Ivona request via 'body' value
ivona.createVoice('This is the text that will be spoken.', {
body: {
voice: {
name: 'Salli',
language: 'en-US',
gender: 'Female'
}
}
}).pipe(fs.createWriteStream('text.mp3'));
var ivona = new Ivona({
accessKey: 'IVONA_ACCESS_KEY',
secretKey: 'IVONA_SECRET_KEY'
});
// ivona.putLexicon(name, content)
// [string] name - the name of this lexicon
// [string] content - PLS xml
// [object] config (optional) - override Ivona request via 'body' value
ivona.putLexicon('newLexicon', '<?xml ... ?><lexicon>...</lexicon>')
.on('complete', function(lexicons) {
console.log(lexicons);
});
// ivona.getLexicon(name)
// [string] name - the name of this lexicon
// [object] config (optional) - override Ivona request via 'body' value
ivona.getLexicon('newLexicon')
.on('complete', function(pls) {
console.log(pls);
});
// ivona.deleteLexicon(name)
// [string] name - the name of this lexicon
// [object] config (optional) - override Ivona request via 'body' value
ivona.deleteLexicon('newLexicon')
.on('complete', function() {
console.log('Done');
});
// ivona.listLexicons()
// [object] config (optional) - override Ivona request via 'body' value
ivona.listLexicons()
.on('complete', function(lexicons) {
console.log(lexicons);
});
var ivona = new Ivona({
accessKey: 'IVONA_ACCESS_KEY',
secretKey: 'IVONA_SECRET_KEY',
proxy: {
host: '0.0.0.0',
port: 12345
}
});