def playsapi5TTS(text, voice): text = re.sub("\[sound:.*?\]", "", stripHTML(text.replace("\n", ""))) param = [vbs_launcher, sapi5_path,'-hex', '-voice', util.dumpUnicodeStr(voice), util.dumpUnicodeStr(text)] if config.subprocessing: subprocess.Popen(param, startupinfo=util.si, stdin=PIPE, stdout=PIPE, stderr=STDOUT) else: subprocess.Popen(param, startupinfo=util.si, stdin=PIPE, stdout=PIPE, stderr=STDOUT).communicate()
def recordsapi5TTS(text, voice): text = re.sub("\[sound:.*?\]", "", stripHTML(text.replace("\n", ""))) rndfn = util.generateRandomName() filename_wav = rndfn+'.wav' filename_mp3 = rndfn+'.mp3' subprocess.Popen([vbs_launcher, sapi5_path, '-hex', '-o', filename_wav, '-voice', util.dumpUnicodeStr(voice), util.dumpUnicodeStr(text)], startupinfo=util.si, stdin=PIPE, stdout=PIPE, stderr=STDOUT).wait() subprocess.Popen(['lame.exe', '--quiet', filename_wav, filename_mp3], startupinfo=util.si, stdin=PIPE, stdout=PIPE, stderr=STDOUT).wait() os.unlink(filename_wav) md5fn = util.hashfileMD5(filename_mp3)+'.mp3' os.rename(filename_mp3, md5fn) return md5fn