使用pyttsx3库编写自动朗读工具
使用pyttsx3库编写自动朗读工具
·
之前写过一个基于百度语音api的,虽然语音质量很好,但是不适合穷人使用(比如我),实在太贵了,于是只好翻出来之前写的免费的库来用。以下贴出代码。
import pyttsx3
import pyperclip
import time
speak = pyttsx3.init() # 初始化语音引擎
speak.setProperty("rate", 250)
speak.setProperty("volume", 0.8)
# 这里语速是250,音量是1,可以自己调
while True:
pasteString = pyperclip.paste()
time.sleep(0.1)
if pasteString != pyperclip.paste():
pasteString = pyperclip.paste()
pasteString = pasteString.replace("\r\n", "")
pasteString = pasteString.replace("\n", "")
pasteString = pasteString.replace(" ", "")
# 上面去除一些换行回车空格什么的,因为在有的地方(如pdf)会造成奇怪的停顿。
# 但有时候空格去除后反倒会出现一些问题,遇到的话可以把去除空格注释掉。
speak.say(pasteString)
speak.runAndWait()
代码很简单,一看就懂,就不解释了。
原本想添加一个ctrl+c就能终止读声的功能,但是其中出现各种bug,我尝试用pynput监听终止信号,或者将上例当成一个线程进行创建和终止,但都失败了。有机会的话,会试着给实现出来。
更多推荐




所有评论(0)