一、pyttsx3简介
1、pyttsx3是Python语音合成库,允许将文字转换为语音。与其他语音库不同,它不仅支持Windows,还支持Linux和Mac OS。
2、pyttsx3依赖于第三方文本转语音引擎,如eSpeak和Microsoft SAPI。因此,在使用pyttsx3之前,需要安装这些引擎。
3、pyttsx3还允许您控制输出语音的属性,如音量、语调和语速等。
二、安装pyttsx3
1、首先需要安装pip,如果还没有安装pip,可以在命令行中输入以下命令进行安装:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py
2、安装pyttsx3:
pip install pyttsx3
三、基本用法
1、导入pyttsx3:
import pyttsx3
2、创建一个引擎实例:
engine = pyttsx3.init()
3、将一段文字转换为语音并播放:
engine.say("Hello World!") engine.runAndWait()
4、改变输出语音的属性,如音量、语调和语速:
engine.setProperty('volume', 0.5) # 设置音量为50% engine.setProperty('rate', 120) # 设置语速为120WPM engine.setProperty('voice', 'en+m7') # 选择语音引擎
四、高级用法
1、获取支持的语音引擎列表:
import pyttsx3 engine = pyttsx3.init() voices = engine.getProperty('voices') for voice in voices: print("Name: %s" % voice.name) print("ID: %s" % voice.id) print("Age: %s" % voice.age) print("Gender: %s" % voice.gender) print("Languages Known: %s" % voice.languages)
2、使用不同的语音引擎:
import pyttsx3 engine = pyttsx3.init('espeak') # 使用eSpeak语音引擎 engine.say("Hello World!") engine.runAndWait()
3、使用事件监听器:
import pyttsx3 engine = pyttsx3.init() def onStart(name): print('开始说话:', name) def onEnd(name, completed): print('说话结束:', name, completed) engine.connect('started-utterance', onStart) engine.connect('finished-utterance', onEnd) engine.say("Hello World!") engine.runAndWait()
4、停止正在进行的语音:
import pyttsx3 engine = pyttsx3.init() engine.say('Hello World!') engine.runAndWait() engine.stop()
五、总结
在本文中,我们介绍了Python语音合成库pyttsx3的基本用法和高级用法,包括安装pyttsx3、创建引擎实例、改变输出语音的属性、获取支持的语音引擎列表、使用不同的语音引擎、使用事件监听器和停止正在进行的语音等。通过使用pyttsx3,我们可以方便地将文字转换为语音,并控制输出语音的属性,以实现更好的用户体验。