无法从 PYTTSX3 写入文件

问题描述 投票:0回答:4

我正在做人工智能研究。我一直在使用 pyttsx3 进行语音。 pyttsx3 函数不会产生视位。它确实为每个单词产生有限的时间。我打算制作一个函数来接收文本,然后生成头像动画的视位。问题在于数据被困在引擎中。我想将音频保存到文件中,然后加载并提取它。问题在于 save_to_file 似乎是一个虚拟函数。我花了几天时间研究它,我得到的最好的文件是 0(零)字节的文件。这是怎么回事?

python artificial-intelligence mp3 pyttsx3
4个回答
1
投票

我也遇到了同样的问题,那是因为我忘记了一件小事:

engine.save_to_file('hello', 'test.mp3')

它只是为了准备,要实现一切都使用代码:

import pyttsx3 as tts 
engine=tts.init()
engine.save_to_file('hello', 'HelloSound.mp3')

engine.runAndWait() #  implement everything

0
投票

我在寻找同一问题的解决方案时遇到了这一点。 最终,我注意到这与文件名有关。当我选择文件名为“test.mp3”或“name.mp3”时,它保存正确,但如果我将名称更改为“text.mp3”或基本上其他任何名称,同时保持其他所有内容完全相同,它会产生大小为零字节的文件。 当我将其保存到不同的文件夹但名称相同时,例如'folder/test.mp3',那么它也失败了,大概是因为它是重要的完整绝对路径名。

我的黑客/解决方法是始终在同一目录中使用文件名“test.mp3”,然后使用 python 的 os 模块移动它或立即更改名称,例如:

engine.save_to_file(text, "test.mp3")
os.rename("test.mp3", "folder/nameIwanttogive.mp3")

所以“test.mp3”似乎对我有用。也许可以通过最初从网站复制并粘贴一些演示代码来看看效果如何。


0
投票

我刚刚遇到了这个问题,似乎 pyttsx3 可能与 ffmpeg 不兼容。不确定是版本不兼容还是包管理器的问题。这是我解决问题的方法:

sudo snap remove ffmpeg
sudo apt install ffmpeg

-1
投票

我刚刚将我的 pyttsx3 更新到 2.90 并开始工作!只需重新安装即可! 尝试:

pip uninstall pyttsx3

然后比:

pip install pyttsx3
© www.soinside.com 2019 - 2024. All rights reserved.