综合介绍
ebook2audiobook是一款功能强大的开源电子书转有声读物工具。它能够将多种格式的电子书转换成带有完整章节标记和元数据的有声读物。该工具使用Calibre进行电子书格式转换,采用Coqui的XTTSv2和Fairseq进行高质量的文本转语音,支持包括中文在内的1124种语言,并提供语音克隆功能。工具配备了直观的Web图形界面,支持CPU和GPU运行,且资源要求较低,仅需4GB内存即可运行。无论是个人使用还是批量转换,都能实现专业级的有声读物制作。
功能列表
- 支持多种电子书格式转换,包括epub、pdf、mobi等20多种格式
- 自动识别并保留电子书章节结构
- 使用先进的XTTSv2引擎实现高质量文本转语音
- 支持1124种语言的文本转语音处理
- 提供语音克隆功能,可自定义朗读声音
- 输出m4b格式,包含完整的章节信息和元数据
- 提供Web图形界面,操作简单直观
- 支持Docker容器部署,确保跨平台兼容性
- 可选GPU加速,提升处理速度
- 支持批量转换功能
使用帮助
1. 安装方式
1.1 使用Docker(推荐)
Docker是最简单的安装方式,确保运行环境统一且稳定。
CPU版本运行命令:
docker run -it --rm -p 7860:7860 --platform=linux/amd64 athomasson2/ebook2audiobook python app.py
GPU版本运行命令(需要NVIDIA显卡):
docker run -it --rm --gpus all -p 7860:7860 --platform=linux/amd64 athomasson2/ebook2audiobook python app.py
1.2 本地安装
- 克隆代码仓库:
git clone https://github.com/DrewThomasson/ebook2audiobook.git
- 安装依赖:
- Python 3.x
- Calibre(电子书转换工具)
- FFmpeg(音频处理工具)
- Python包:tts, pydub, nltk, beautifulsoup4, ebooklib, tqdm
2. 使用方法
2.1 图形界面使用
- 启动程序后,通过浏览器访问 http://localhost:7860
- 在Web界面上传电子书文件
- 选择目标语言和声音文件(可选)
- 点击开始转换
2.2 命令行使用
基本命令格式:
python app.py --headless --ebook <电子书文件路径> --language <语言代码> --voice <声音文件路径>
3. 重要参数说明
- --ebook:电子书文件路径(必需)
- --language:目标语言代码(可选,默认英语)
- --voice:语音文件路径(可选,用于语音克隆)
- --device:选择使用CPU还是GPU
- --speed:语音速度调整(默认1.0)
4. 支持的文件格式
输入格式:
- epub(推荐,支持最好)
- mobi
- txt
- 其他格式:html, rtf, chm, lit, pdb, fb2, odt等
输出格式:
- m4b(带章节标记和元数据的音频格式)
5. 高级功能
5.1 语音克隆
- 准备16khz或24khz的目标声音样本文件
- 在转换时指定声音文件路径
- 系统将使用目标声音进行朗读
5.2 批量转换
- 创建input-folder目录并放入电子书文件
- 创建audiobooks输出目录
- 使用批量转换命令处理多个文件
6. 常见问题解决
- CPU转换速度慢
- 解决方案:使用GPU加速或使用云服务
- 推荐:使用Hugging Face Space或Google Colab
- 依赖安装问题
- 推荐使用Docker版本避免依赖问题
- 检查系统兼容性和依赖版本
- 音频截断问题
- 检查输入文本格式
- 调整文本分割参数
- 报告具体语言问题以改进支持