我想使用pyttsx3脱机将文本转换为语音,并将输出保存为音频文件。
我已经看到了this问题,第一个答案就是我需要的。我就是不能让它正常工作。
运行此命令时:
import pyttsx3
tts = pyttsx3.init()
tts.setProperty('voice', tts.getProperty('voice')[1])
tts.save_to_file("What an amazing day today! I'm gonna go for a swim.", "./filename.mp3")
tts.runAndWait()
它没有给我一个错误,它只是没有输出任何东西,也没有创建文件。我的其余部分应该是正确的,因为如果我这样做了:
import pyttsx3
tts = pyttsx3.init()
tts.setProperty('voice', tts.getProperty('voice')[1])
tts.say("What an amazing day today! I'm gonna go for a swim.")
tts.runAndWait()
一切都运行得很好。
我期望最顶层的代码输出到一个文件中,结果却什么也没做。我运行的是windows10,最新更新。Python3.7.4 32位和pyttsx3版本2.71感谢您的帮助!
哦,还有一件事,我知道save_to_file的输出很可能不是mp3,但我不知道它会是什么,我下一步需要在mp3中使用它,所以我就这么叫它。如果我尝试将文件扩展名设置为其他扩展名,它仍然会运行。
发布于 2019-12-03 23:40:08
save_to_file是pyttsx3.engine.Engine类中的一个函数,但是它还没有经过测试,也没有提供输出。如果你从python命令行运行它,它会给你一个属性错误,告诉你str对象没有属性proxy。
这是由于ivar self.proxy中的driverProxy,我认为到目前为止没有任何driverName可以解决这个问题,因为这实际上是在调用waekref.proxy,我认为这就是为什么文档中从来没有像其他函数一样提到save_to_file的原因。
我已将此错误发布到github,并等待answer.lets等待:-)
https://stackoverflow.com/questions/58113314
复制相似问题