ebook2audiobook 完整指南:3 分钟把电子书转成带章节的有声书
【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook
ebook2audiobook 是一个本地运行的电子书转有声书工具:给它一本 EPUB/MOBI/TXT,它会用 TTS 引擎朗读全文,并输出保留章节标记和书名、作者等元数据的 M4B 文件,支持 1158 种语言。本指南带你完成第一次转换,并掌握语音克隆与章节检测两个核心功能。
环境准备与一条启动命令
开始安装前,确认以下几点:
- 系统为 Windows、Linux 或 macOS(Intel/AMD/ARM 均可)
- 内存 2GB 起步,8GB 体验更好;有 N 卡建议 4GB 以上显存,无显卡可用 CPU 跑轻量引擎
- 首次运行会下载 Python 运行环境和语音模型,预留几 GB 磁盘空间
- 无需手动装依赖:启动脚本会自动安装 Miniforge、ffmpeg、calibre 等全部组件
推荐用启动脚本安装,它会自动处理所有环境:
git clone https://gitcode.com/GitHub_Trending/eb/ebook2audiobook克隆仓库。
cd ebook2audiobook进入项目目录。
./ebook2audiobook.commandLinux/macOS 用户运行此命令;Windows 用户改为运行ebook2audiobook.cmd。首次运行耗时较长属正常。
第一次转换:从上传到听书
- 脚本启动后,终端会给出
http://localhost:7860地址,浏览器打开即为 Web 界面 - 选择输入模式为 File,上传电子书(也可直接放项目自带的
ebooks/目录,仓库内已附ebooks/tests/test_eng.txt可当测试文件) - 下拉选择语言代码(如
eng、zho),确认输出格式为默认的 m4b - 点击转换按钮,等待进度条走完
判断成功的方法:到audiobooks/gui/gradio/目录找到生成的.m4b文件,用任意播放器打开,长度应与文本体量匹配,且能按章节跳转。界面右侧的下载按钮也可以直接取回文件。
两个值得上手的功能
用自己的声音朗读
能做什么:上传一段 1 到 5 分钟的人声录音,引擎会克隆该音色来朗读整本书,背景有噪声也行,程序会自动做降噪。
怎么开启:Web 界面的 Voices 下拉框可上传并选择声音文件;命令行则加参数:
./ebook2audiobook.command --headless --ebook ebooks/tests/test_eng.txt --voice my_voice.mp3 --language eng无参数部分会按默认配置执行,--voice指定你的声音样本。
效果判断:试听开头一分钟,音色、语速应与样本一致;若听感偏机械,换更清晰的样本或降低温度参数。
自动识别章节并写入文件
能做什么:程序解析书籍结构,把章节标题写入输出音频的元数据,播放器里可像目录一样跳转。
怎么开启:无需额外设置,但源文件格式决定效果——EPUB 和 MOBI 的章节识别最完整,TXT 等纯文本则没有章节信息。转换前可勾选界面的 Chapters Preview 先预览分割结果,去掉不想要读出的内容。
效果判断:生成的 m4b 在播放器中应出现完整的章节目录;打开 EPUB 转换的文件与 TXT 文件对比,差异会很明显。
无头模式与批量转换
批量处理时跳过界面,用 headless 模式直接出结果:
./ebook2audiobook.command --headless --ebook my_book.epub --language zho --output_format mp3把单本书转成 MP3;--output_format可换成 wav、flac 等。
./ebook2audiobook.command --headless --ebooks_dir ./my_books --language eng --voice my_voice.mp3把目录里所有受支持格式的电子书一次性转换,配合--voice_map还能为每本书指定不同声音。
想查全部参数,运行./ebook2audiobook.command --help。输出目录、默认格式等常量定义在 lib/conf.py,语言代码全集见 lib/conf_lang.py。
常见报错速查
浏览器里转不动了→ 你重启过脚本但页面连的还是旧 socket → 刷新浏览器页面重新连接。
提示 7860 端口已被占用→ 上一次的界面进程没关干净 → 关闭旧进程再启动,脚本检测到端口占用时会直接报错退出。
转换速度很慢→ CPU 在跑重型引擎(XTTS 等)→ 有显卡就加--device CUDA,纯 CPU 则改用--tts_engine yourtts这类轻量引擎。
输出没有章节→ 源文件是 TXT 或 PDF 扫描件,本身无章节结构 → 换 EPUB 或 MOBI 源文件重新转换。
小结
ebook2audiobook 适合把本地电子书批量变成可离线收听、带目录和封面的有声书,尤其适合无 DRM 的 EPUB 藏书。跑通第一次转换后,下一步可以试试为不同角色分派不同声音,或用 Docker 把它部署到服务器上长期跑任务。
【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning & 1158+ languages!项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考