Python文本转语音 | pyttsx 模块
pyttsx是一个独立于平台的跨平台文本到语音库。使用这个库进行文本到语音转换的主要优点是它可以离线工作。但是, pyttsx仅支持Python 2.x。因此,我们将看到 pyttsx3 被修改为在Python 2.x 和Python 3.x 上使用相同的代码。
使用此命令进行安装:
pip install pyttsx3
用法 -
首先,我们需要导入库,然后使用init()
函数对其进行初始化。此函数可能需要 2 个参数。
init(driverName string, debug bool)
- drivername : [可用驱动程序的名称] Windows 上的sapi5 | MacOS 上的nsss
- debug:启用或禁用调试输出
初始化后,我们将使用say()
函数让程序说出文本。此方法也可能需要 2 个参数。
say(text unicode, name string)
- text :您希望听到的任何文本。
- name :为这个演讲设置一个名字。 (选修的)
最后,为了运行我们使用runAndWait()
的语音,除非解释器遇到runAndWait()
,否则不会说出所有say()
文本。
代码 #1:朗读文本
# importing the pyttsx library
import pyttsx3
# initialisation
engine = pyttsx3.init()
# testing
engine.say("My first code on text-to-speech")
engine.say("Thank you, Geeksforgeeks")
engine.runAndWait()
代码 #2:监听事件
import pyttsx3
def onStart():
print('starting')
def onWord(name, location, length):
print('word', name, location, length)
def onEnd(name, completed):
print('finishing', name, completed)
engine = pyttsx3.init()
engine.connect('started-utterance', onStart)
engine.connect('started-word', onWord)
engine.connect('finished-utterance', onEnd)
sen = 'Geeks for geeks is a computer portal for Geeks'
engine.say(sen)
engine.runAndWait()
为什么是 pyttsx?
与其他文本转语音库不同,它可以离线工作。 pyttsx并没有将文本保存为音频文件,而是实际上在那里说话。这使得它更可靠地用于基于语音的项目。
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。