如何使python tts.sapi异步讲话?

时间:2018-11-11 12:28:00

标签: python text-to-speech voice sapi

这是我在voicebot程序中使用的文本到语音的代码:

import tts.sapi

voice = tts.sapi.Sapi()

def say(text):
    voice.say(text)

它很好用,但是我想能够在需要时中断该功能。 我的意思是能够在说话时执行其他命令(例如说“停止说话”)。

由于say()函数只是一个命令,因此我无法使其正常运行。但是,当我在C#中使用称为talkAsync()的方法来制作语音机器人时,可以做到这一点。 tts.sapi库中有这种方法吗?还是使用Sapi win32com?谢谢

1 个答案:

答案 0 :(得分:0)

使用tts.sapi包装器,您需要设置事件循环和事件兴趣(以便SAPI会回叫您)。相反,您可能需要查看pyttsx软件包。它似乎支持异步语音。