2010-07-08 4 views
2

Я создал небольшой модуль, чтобы говорить текст, который отправляется на него. Он отлично работает, если я не использую engine.setProperty для настройки голоса, но если я установлю голос, он будет воспроизводить только первую команду.Pyttsx не говорит весь текст при использовании голоса не по умолчанию

import pyttsx 

def speak(text): 
    if text != "": 
     engine = pyttsx.init() 
     engine.setProperty('voice', "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\VW Kate") #if I don't do this line then it says both the commands 
     engine.say(text) 
     engine.runAndWait() 

    else: 
     print "you didnt enter anything" 

    if __name__ == "__main__": 
     speak("Hello") 
     speak("This one won't play unless I use the default voice") 

ответ

3

Я думаю, вы должны попробовать следующий фрагмент кода:

import pyttsx 
engine = pyttsx.init() 
engine.say('Sally sells seashells by the seashore.') 
engine.say('The quick brown fox jumped over the lazy dog.') 
engine.runAndWait() 

, который родом из this page