python3 语音合成 pyttsx3 介绍 windows, 树莓派

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') 

猜你喜欢

转载自blog.csdn.net/qq_27104889/article/details/108960659