在 pyttsx3 中使用 32 位语音

Using 32 bit voices in pyttsx3

有没有办法在 pyttsx3 中使用 32 位语音而不是 64 位语音?或任何其他文本到语音模块?

我已经尝试编辑注册表以将我的 32 位语音移至 64 位,并且我已经让语音以 64 位显示 sapi.cpl,但是当我尝试预览语音时,我收到一条错误消息 "This voice cannot be played. Please try selecting another voice or selecting a different audio output device"

import pyttsx3

engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
    print(voice, voice.id)
    engine.setProperty('voice', voice.id)
    engine.say("Hello World!")
    engine.runAndWait()
    engine.stop()

这段代码会运行并说出我能接受的每个声音,直到它到达我手动添加的声音,因为它不会读取 "Hello World",但会显示 voice.id 和名称

我可以通过下载 balabolka 和 balabolka 命令行实用程序然后使用 os.system 而不是 pyttsx3

通过命令提示符调用语音来做到这一点