我正在尝试使用pyttsx3模块在python中做一个虚拟助手。问题是,我使用pyttsx3的talk (音频)方法只说了一次,即使我必须说不止一次,它在第一个命令之后也会保持沉默。
事实是,我一直在上网,似乎没有人有类似于我的问题,我变得有点疯狂。我已经看到了是否可能是一个问题,模块没有正确安装或其他什么,但似乎一切正常。我正在使用Python3.7版本、Pycharm、Pyttsx3最后一个版本和Windows10。
我附加了密码看看你是否知道为什么。我搜索过互联网,但似乎没有人有这个问题,所以我想这可能是我代码中的一些错误。输出是计算机:你好,先生,我是您的数字助理LARVIS,贾维斯夫人!ans也应该打印下一行:
import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[len(voices) - 2].id)
def speak(audio):
print('Computer: ' + audio)
engine.say(audio)
engine.runAndWait()
if __name__ == '__main__':
speak('Hello Sir, I am your digital assistant LARVIS the Lady Jarvis!')
speak('How may I help you?')发布于 2019-08-27 17:08:48
为了解决这个问题:
全班:
import pyttsx3
class _TTS:
engine = None
rate = None
def __init__(self):
self.engine = pyttsx3.init()
def start(self,text_):
self.engine.say(text_)
self.engine.runAndWait()实例:
tts = _TTS()
tts.start("text")
del(tts)发布于 2019-05-11 21:26:11
我也遇到了这个问题(也运行python3.7)。这并不是最好的实现,但是如果我将引擎初始化放在我的time函数中,那么它就能工作,这样每次它说话时它都会重新初始化。
https://stackoverflow.com/questions/56032027
复制相似问题