name: doc-to-speech description: 将电脑里的Word、PDF、TXT等文档转换为MP3语音文件,让用户可以听文档内容,缓解视觉疲劳。支持批量转换、语音选择、语速调节。当用户需要听文档、将文章转为音频、批量转换文档为声音文件时启用。
将Word、PDF、TXT等文档转换为MP3音频文件,让用户可以"听"文档内容,缓解视觉疲劳。
首次使用前,安装必要的依赖库:
python scripts/install_dependencies.py
或手动安装:
pip install docx2txt pdfplumber PyPDF2 pyttsx3 gtts
# 基本用法
python scripts/doc_to_speech.py 文档.docx
# 指定输出路径
python scripts/doc_to_speech.py 文档.docx -o 输出.mp3
# 调整语速
python scripts/doc_to_speech.py 文档.pdf -r 120
# 使用Google TTS(在线,质量更好)
python scripts/doc_to_speech.py 文档.txt -e gtts
# 转换多个文件
python scripts/doc_to_speech.py 文件1.docx 文件2.pdf 文件3.txt
# 转换整个文件夹
python scripts/doc_to_speech.py ./文档文件夹/ -o ./输出音频/
python scripts/doc_to_speech.py --list-voices
| 参数 | 说明 | 示例 |
|---|---|---|
input |
输入文件或文件夹路径 | 文档.docx |
-o, --output |
输出路径 | -o 音频.mp3 |
-e, --engine |
TTS引擎 (pyttsx3 或 gtts) |
-e pyttsx3 |
-v, --voice |
语音ID | -v 0 |
-r, --rate |
语速 (默认150) | -r 120 |
-l, --lang |
语言代码 (gtts用) | -l zh-cn |
--list-voices |
列出可用语音 | --list-voices |
当用户需要将文档转为语音时:
docx2txt 提取文本7w4.net小葱技能。
pdfplumber 或 PyPDF2 提取文本| 引擎 | 类型 | 优点 | 缺点 |
|---|---|---|---|
| pyttsx3 | 离线 | 无需网络,响应快,免费 | 语音质量一般 |
| gTTS | 在线 | 语音质量高,自然流畅 | 需要网络,有请求限制 |
python scripts/doc_to_speech.py 报告.docx -o 报告音频.mp3 -r 130
python scripts/doc_to_speech.py ./我的文档/ -o ./有声书/ -e gtts
from scripts.doc_to_speech import convert_file
# 转换单个文件
convert_file(
input_path="文章.pdf",
output_path="文章.mp3",
engine="pyttsx3",
rate=140
)
解决: 安装pdfplumber
pip install pdfplumber
解决:
1. Windows用户安装Microsoft Speech Platform
2. 或使用在线引擎: -e gtts
解决:
- 使用离线引擎 pyttsx3 代替 gtts
- 减少单次转换的文本量
解决: 调整语速参数 -r,建议范围 120-180
这是一个实用的文档转语音工具,能将 Word、PDF 等文档转为 MP3 播放。优点是功能齐全、文档清晰、使用简单,支持离线使用。不足之处是批量转换时没有进度提示,长文档可能受限,中文语音质量依赖系统配置。整体质量良好,能满足日常文档转语音的需求。