我在游戏中使用pyttsx,但是遇到一个问题-方法runAndWait()使它停止了很短的时间才能说出排队的文本。这是一个问题,因为它弄乱了我的时间。是否可以说文本但不停止所有其他活动?也许在python / pygame中还有其他的文本到语音转换器吗?

def say(text):
   voices = engine.getProperty('voices')
   engine.setProperty('voice', voices[1].id)
   engine.setProperty('rate', 250)
   engine.say(text)
   engine.runAndWait()

最佳答案

您可以始终使用espeak。 Espeak没有pyttsx的声音,但应该可以。 Espeak随pyttsx一起安装,要对其进行测试,请转到您的终端并输入:

espeak "Hello!"


这应该使计算机说“你好!”。如果您遇到关于espeak找不到命令这一事实的错误,请输入以下命令进行安装:

sudo apt-get install espeak


要使用python访问此代码,请使用os模块的代码:

import os
text = "Hi!"
os.system("espeak " + text)

关于python - Pyttsx“运行”但没有“等待”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47995938/

10-11 07:39