pyttsx3使用介绍
win10下使用pyttsx3
pyttsx3安装
pip3 install pyttsx3
语音合成测试
import pyttsx3
engine = pyttsx3.init()
engine.say('hello world')
engine.runAndWait()
中文语音的问题
上面pyttsx3测试代码虽然可以支持英文语音合同,但如果用中文文本却无法正常转换出中文语音。可能有两种原因:
- 需要设置pyttsx3 engine为中文
- 没有HUIHUI语音包;
1 设置pyttsx3 engine为中文示例:
engine.getProperty('voice', 'zh')
- 通过如下代码可以检查win10系统里面的语音引擎:
voices = engine.getProperty('voices')
for item in voices:
print(item)
<Voice id=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_ZH-CN_HUIHUI_11.0
name=Microsoft Huihui Desktop - Chinese (Simplified)
languages=[]
gender=None
age=None>
<Voice id=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0
name=Microsoft Zira Desktop - English (United States)
languages=[]
gender=None
age=None>
如果没有“TTS_MS_ZH-CN_HUIHUI_11.0”,则无法使用中文TTS。具体是什么原因导致win系统没有HUIHUI语音引擎,本人目前也没有完全搞清楚。
树莓派上使用pyttsx3
pyttsx3安装
pip3 install pyttsx3
在树莓派上需要先安装espeak。
sudo apt install espeak
engine.getProperty('voice', 'zh')