0

当我尝试使用 pyttsx3 阅读文本时,它只阅读英文文本,而不阅读任何其他语言的文本。

这是我的代码:

import pyttsx3

engine = pyttsx3.init()

engine.say("'Hello world' in Chinese: 你好,世界")
engine.say("'Hello world' in Japanese: こんにちは世界")
engine.say("'Hello world' in Hindi: नमस्ते दुनिया")

engine.runAndWait()

在这里,pyttsx3 只读取英文文本,不读取其他语言的文本。

有没有办法解决这个问题?

如果有人可以帮助我,那就太好了。

4

1 回答 1

1

首先转到设置和语言设置并安装所需的语言包。尽管请注意,这些语言包需要文本到语音功能才能工作。现在给它一些时间来注册数据并被 pyttsx3 识别。

在此之后找到所有可用的语言:

import pyttsx3

engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
    print(f"Voice: {voice.name}")

对我来说印地语出现在​​列表中的第三位,所以我会添加(外部循环):

engine.setProperty("voice", voices[2].id) # 2 is the 3rd item index
engine.say("'Hello world' in Hindi: नमस्ते दुनिया")

engine.runAndWait()

现在它应该可以在印地语中使用,就像其他语言一样。

如果您的语言未出现在列表中,请重新启动系统,如果问题仍然存在,请执行以下操作:Pyttsx 未在 Windows 10 上显示已安装的语言

于 2021-02-26T09:14:48.103 回答