【问题标题】:How can I use the pyttsx3 library to save to a file?如何使用 pyttsx3 库保存到文件?
【发布时间】:2019-09-26 09:08:29
【问题描述】:

我想使用 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()

一切正常。

我希望最上面的代码输出到一个文件,但它什么也没做。 我正在运行 Windows 10,最新更新。 Python 3.7.4 32 位和 pyttsx3 版本 2.71 感谢您的帮助!

哦,还有一件事,我知道 save_to_file 的输出很可能不是 mp3,但我不知道它会是什么,我下一步需要它在 mp3 中,所以这就是我所说的。如果我尝试将文件扩展名设置为其他内容,它的运行方式相同。

【问题讨论】:

    标签: python windows pyttsx


    【解决方案1】:

    save_to_file 是 pyttsx3.engine.Engine 类中的功能之一 但是它尚未经过测试并且不提供输出。如果你从 python 命令行运行它,它会给你属性错误,说 str 对象没有属性代理。

    这是由于 ivar self.proxy 中的 driverProxy 而我认为到目前为止没有任何 driverName 可以解决它,因为这实际上是在调用 waekref.proxy,我认​​为这就是 save_to_file 在文档中从未提及的原因,例如其他功能。

    我已将此错误发布到 github 并等待 answer.lets 等到那时 :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-10
      • 2019-09-29
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      相关资源
      最近更新 更多