const BaseEngine = require('../BaseEngine') const Sam = require('sam-js'); const wavefile = require('wavefile'); const fs = require('fs'); module.exports = class extends BaseEngine { constructor() { super('sam', 'Software Automatic Mouth', 'wav') } getDefaultVoice() { return 'en'; } async getSpeechFile(text, filepath, voice = this.getDefaultVoice(), params = {}) { let sam = new samjs(); const buf = sam.buf8(text); const file = new wavefile.WaveFile(); file.fromScratch(1, 22050, 8, buf); fs.writeFileSync(filepath, file.toBuffer()); } }