epub2tts 项目介绍
epub2tts 是一款免费开源的 Python 应用程序,它能够轻松地将 epub 或文本文件转化为功能齐全的有声读物。通过使用 Coqui AI TTS、OpenAI 或微软 Edge 提供的现实感强的语音合成技术,用户可以获得高质量的有声书体验。
功能亮点
- 生成标准格式的 M4B 有声读物文件。
- 自动检测章节分隔。
- 可以在有声书中嵌入封面艺术。
- 支持使用微软 Edge 的免费云端语音合成。
- 简单的语音克隆功能,支持 Coqui XTTS 模型。
- 提供 58 种录音室品质的语音选择。
- 若可用,支持 deepspeed 加速处理。
- 如果中途中断,可以从未完成的地方继续。
- 注意:epub 文件必须是无 DRM 保护的。
新增的多进程功能允许用户通过 --threads N
参数指定线程数,以并行处理章节。这在使用 Edge 或 OpenAI 时尤为有效,理论上可以同时处理所有章节。
使用指南
要使用 epub2tts,用户首先需要将 epub 文件提取为文本格式并进行编辑,以确保文本开头以章节或部分标记开头。语音可以根据每个章节进行切换。以下是某些用例:
- 默认快速有声书:
- 例如使用 VITS 模型时,只需要输入
epub2tts mybook.epub
,如果要更换说话人,比如使用男性声音p307
,则需要添加:--speaker p307
。
- 例如使用 VITS 模型时,只需要输入
- 使用 MS Edge 云端语音合成:
- 默认语音是
en-US-AndrewNeural
,用户可以通过命令edge-tts --list-voices
查看可用语音。 - 命令示例:
epub2tts mybook.txt --engine edge --speaker en-US-AvaNeural --cover cover-image.jpg --sayparts
- 默认语音是
- 使用 Coqui Studio 语音的 XTTS 模式:
- 示例命令:
epub2tts mybook.txt --engine xtts --speaker "Damien Black" --cover cover-image.jpg --sayparts
- 示例命令:
- 使用自定义语音克隆的 XTTS 模式:
- 示例命令:
epub2tts my-book.epub --start 4 --end 20 --xtts voice-1.wav,voice-2.wav,voice-3.wav --cover cover-image.jpg
- 示例命令:
安装步骤
epub2tts 需要 Python 3.11 或更高版本,并需要相关依赖环境。以下给出了不同系统上的安装步骤:
- Mac: 使用 Homebrew 安装依赖如 espeak 和 ffmpeg,并然后克隆项目并安装。
- Linux: 在 Ubuntu 上需要提前安装 espeak-ng 和 ffmpeg,以及可选的 CUDA 工具包来支持 GPU 加速。
- Windows: 需要安装 Microsoft C++ Build Tools、espeak-ng、和 ffmpeg,之后克隆项目进行配置。
- Docker 和其他安装方式: 提供了 Docker 版本和适用于开发者的安装方式,不过目前没有完整更新。
鼓励贡献
此项目欢迎各种贡献,可以通过 GitHub 提交问题、功能请求或进行代码贡献。希望项目帮助到您时,可以给个赞以示支持!
作者信息
此项目由 Christopher Aedo 创建,更多信息可以访问他的网站,也可通过 GitHub 和 LinkedIn 联系。
为这个功能丰富且便捷的项目献上您的支持,加入到贡献者的行列中!