Python实现语音读出PDF中英文内容的示例(win10)

一、示例的场景应用描述:

1、相当于微信公众号推送的文字内容的机器人阅读器。个人很喜欢微信的语音阅读功能。因为对于希望阅读但文字多的文章,读下来既费眼又费时!用语音阅读功能完全可以彻底地解放双眼!

2、可以将未掌握的英语词汇汇总制作为PDF文档。然后让标准语音人声读出来单词发音,助力英语词汇听说读写的学习。

二、示例完整代码:

import pyttsx3
import PyPDF2


def extract_text(filename):

    pdfFileObj = open(filename, "rb")
    pdfReader = PyPDF2.PdfReader(pdfFileObj)

    mytext = ""

    for pageNum in range(len(pdfReader.pages)):
        pageObj = pdfReader.pages[pageNum]
        mytext += pageObj.extract_text()

    pdfFileObj.close()

    return mytext


def speak_text(text):

    engine = pyttsx3.init()
    engine.setProperty('rate', 150)
    engine.setProperty('voice', 'zh+m7')
    engine.say(text)
    engine.runAndWait()


if __name__ == "__main__":
    text = extract_text("E://计算机科学速成课//15. 阿兰·图灵-Alan Turing.pdf")
    speak_text(text)

三、主要函数的解读:

函数extract_text()完成了提取PDF文档中的文本内容。函数speak_text()首先通过调用pyttsx3库的初始化方法,生成了语音引擎对象engine,于是调用了设置属性的方法,分别设置了阅读速率、汉语女声的属性。

四、三大操作系统的语音引擎比较:

Windows自带的语音引擎名称是'sapi5'。不同操作系统自带的语音引擎各不相同。Linux系统自带的语音引擎是espeak,Mac系统自带的语音引擎是nsss。Windows与Mac自带的语音引擎,语音读出来声音效果好。Ubuntu的语音引擎espeak,语音读出来不自然,效果差。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_64880493_江哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值