Python专题, 语言

用Python让文献变成有声读物

有一些浏览器也具有朗读功能,效果不错,例如推荐使用Edge浏览器来播放PDF文件。

本篇通过Python(pyttsx3语音引擎)来播放PDF文件,仅作参考,优势是可以保存为wave或mp3文件,可随时听。

需要安装以下三个Python包:

  • pip install pdfminer3k(解析PDF文件)
  • pip install pyttsx3(语音引擎)
  • pip install --upgrade guan(版本>=0.0.103,https://py.guanjihuan.com

如果希望把wav文件压缩至mp3(mp3占用的空间会小很多,压缩率为10倍左右),则还需要安装:

使用方法:

1. 直接播放

import guan

# guan.str_to_audio('hello world')
# guan.txt_to_audio('D:/test.txt')
guan.pdf_to_audio('D:/test.pdf')

2. 修改语速

不赋值默认为rate=125。

import guan

# guan.str_to_audio('hello world', rate=160)
# guan.txt_to_audio('D:/test.txt', rate=160)
guan.pdf_to_audio('D:/test.pdf', rate=160)

3. 修改声音

不赋值默认为voice=1。说明:voice=1英文发音效果更好,但不支持中文发音。voice=0支持中文发音。

import guan

# guan.str_to_audio('hello world', voice=1)
# guan.txt_to_audio('D:/test.txt', voice=1)
guan.pdf_to_audio('D:/test.pdf', voice=1)

4. 保存音频文件

不赋值默认为read=1, save=0。说明:这里关闭朗读read=0,打开保存文件save=1。

import guan

# guan.str_to_audio('hello world', read=0, save=1)
# guan.txt_to_audio('D:/test.txt', read=0, save=1)
guan.pdf_to_audio('D:/test.pdf', read=0, save=1)

5. 保存音频文件的同时,将文件压缩成体积更小的mp3文件【推荐】

import guan

# guan.str_to_audio('hello world', read=0, save=1, compress=1)
# guan.txt_to_audio('D:/test.txt', read=0, save=1, compress=1)
guan.pdf_to_audio('D:/test.pdf', read=0, save=1, compress=1)

6. 在运行窗口显示文本

不赋值默认为print_text=0。

import guan

# guan.str_to_audio('hello world', print_text=1)
# guan.txt_to_audio('D:/test.txt', print_text=1)
guan.pdf_to_audio('D:/test.pdf', print_text=1)

7. 所有默认值

import guan

# guan.str_to_audio(str='hello world', filename='str', rate=125, voice=1, read=1, save=0, compress=0, bitrate='16k', print_text=0)
# guan.txt_to_audio(txt_path, rate=125, voice=1, read=1, save=0, compress=0, bitrate='16k', print_text=0)
guan.pdf_to_audio(pdf_path, rate=125, voice=1, read=1, save=0, compress=0, bitrate='16k', print_text=0)
430 次浏览

【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com

评论说明:
(1)在保留浏览器缓存的前提下,目前支持72小时自主修改或删除个人评论。如果自己无法修改或删除评论,可再次评论或联系我。如有发现广告留言,请勿点击链接,博主会不定期删除。
(2)评论支持Latex公式。把latexpage作为标签放在任何位置,评论中的公式可正常编译,示例:
$Latex formula$  [latexpage]

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注