win10下使用pyttsx3

pyttsx3安装

pip3 install pyttsx3 

语音合成测试

import pyttsx3 
engine = pyttsx3.init()
engine.say('hello world')
engine.runAndWait()

中文语音的问题

上面pyttsx3测试代码虽然可以支持英文语音合同,但如果用中文文本却无法正常转换出中文语音。可能有两种原因:

  1. 需要设置pyttsx3 engine为中文
  2. 没有HUIHUI语音包;

1 设置pyttsx3 engine为中文示例:

engine.getProperty('voice', 'zh') 
  1. 通过如下代码可以检查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') 
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐