def say(self, phrase):
with tempfile.NamedTemporaryFile(suffix='.wav', delete=False) as f:
fname = f.name
cmd = [EXECUTABLE, '-o', fname,
'--file-format=WAVE',
str(phrase)]
self._logger.debug('Executing %s', ' '.join([pipes.quote(arg)
for arg in cmd]))
with tempfile.SpooledTemporaryFile() as f:
subprocess.call(cmd, stdout=f, stderr=f)
f.seek(0)
output = f.read()
if output:
self._logger.debug("Output was: '%s'", output)
with open(fname, 'rb') as f:
data = f.read()
os.remove(fname)
return data
评论列表
文章目录