用python将pdf转化为有声读物
程序员文章站
2023-12-28 20:27:34
现在看小说已经有了听书这个功能了,但是有时候你想看的书的听书功能收费,这时候可能大家就只能老老实实选择看或者付费听。(还能拿来练英语听力欸嘿嘿)于是我想到,可不可以用python来实现语言播报呢,说干...
现在看小说已经有了听书这个功能了,但是有时候你想看的书的听书功能收费,这时候可能大家就只能老老实实选择看或者付费听。
(还能拿来练英语听力欸嘿嘿)
于是我想到,可不可以用python来实现语言播报呢,说干就干,通过上网搜索,发现python中pyttsx3这个模块可以实现语音播报,而pdfplumber或pypdf2模块实现pdf转化为文字,我采用的是pdfplumber这个模块。
首先我们先下载模块,可以自己pip install 模块名,或者通过清华源下载(会更快)
清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
然后我们将所需要的pdf文件添加到代码同一个文件夹下(方便调用,也可以使用绝对路径)
代码
# @time:2022/2/120:29 # @author:中意灬 # @file:有声读物.py # @ps:tutu qqnum:2117472285 import pyttsx3 import pdfplumber pdf=pdfplumber.open(input('请输入书名:')) pg_no=int(input("请输入你想从第几页读着走:")) #总页数 numpages=len(pdf.pages) for num in range((pg_no-1),numpages): #获取指定文章页数位置的内容 first_page=pdf.pages[num] #获取文本内容 text=first_page.extract_text() #初始化 speaker=pyttsx3.init() #去掉文章中的换行符 text=text.replace('\n','') #调整人声类型,voice[0]为中文女声,可自己切换其他的,但注意英文女声无法读取中文 voices=speaker.getproperty('voices') speaker.setproperty('voice',voices[0].id) #调整语速 rate=speaker.getproperty('rate') speaker.setproperty('rate',150) #调整音量,单位为0-1 volume=speaker.getproperty('volume') speaker.setproperty('volume',1)#欸嘿,我没调 #读 speaker.say(text) #保存音频 # speaker.save_to_file(text, 't1.mp3') speaker.runandwait()
运行结果:
无法上传音频,所以大家听不到了,就是机械女生的声音,没啥好听的
但是大家可以自己下载语言包,下载自己喜欢的语言包,比如甜美弯弯腔。
到此这篇关于用python将pdf转化为有声读物的文章就介绍到这了,更多相关python pdf转为mp3内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!