Fix ESpeak to use Stdin instead of a shell argument
This commit is contained in:
@@ -5,6 +5,6 @@ module.exports = function(bot, api) {
|
||||
const channel = await bot.channels.fetch(process.env.CHANNEL);
|
||||
await api.joinChannel(channel);
|
||||
|
||||
api.speak(channel, `Hi! I'm alive. It is now ${new Date().toLocaleTimeString()} on ${new Date().toLocaleDateString()}`,api.ttsEngines.watson);
|
||||
api.speak(channel, `Hi! I'm alive. It is now ${new Date().toLocaleTimeString()} on ${new Date().toLocaleDateString()}`,api.ttsEngines.espeak, "en");
|
||||
})
|
||||
}
|
@@ -6,6 +6,7 @@ module.exports=class extends BaseEngine {
|
||||
super('ESpeak','wav')
|
||||
}
|
||||
async getSpeechFile(text, filepath, voice='en', params={}) {
|
||||
await spawn('espeak', ['-v', voice, '-w',filepath, text]);
|
||||
let proc=await spawn('espeak', ['-v', voice, '-w',filepath, '--stdin']);
|
||||
proc.stdin.end(text);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user