ebook2audiobook
扫码查看

将电子书转换为有声读物的工具

ebook2audiobook

综合介绍

ebook2audiobook 是一个开源工具,用于将电子书文件转换为有声读物。它借助多种文本转语音(TTS)引擎,特别是先进的XTTSv2模型,来实现这一功能。这个工具的核心特色在于其高度的灵活性和强大的自定义能力。用户不仅可以选择不同的语音模型,还能使用自己提供的音频文件来克隆声音,从而生成具有特定音色的有声书。该项目支持超过1100种语言和方言,使得全球用户都能将自己喜欢的电子书转换成母语有声读物。此外,ebook2audiobook 能够自动将电子书按章节拆分,生成带有章节元数据的音频文件,方便用户在播放时跳转。为了降低安装和配置的复杂性,项目提供了多种运行方式,包括在本地直接运行、通过Docker容器运行,或者在Hugging Face等云端平台使用。

功能列表

  • 电子书转音频:支持将多种格式的电子书(如EPUB, PDF, MOBI, TXT等)转换为音频文件。
  • 章节自动拆分:在转换时能够识别并根据电子书的原有章节进行分割,生成独立的音频章节。
  • 高质量语音合成:集成XTTSv2, BARK, VITS等多种先进的文本转语音(TTS)引擎,提供高质量的语音输出。
  • 声音克隆:支持使用用户上传的短音频文件(WAV格式)作为声音样本,克隆出该声音的音色来朗读整本书。
  • 多语言支持:支持超过1110种语言和方言的文本转语音。
  • 多种运行模式:提供图形用户界面(GUI)和无界面的命令行(Headless)两种运行模式。
  • 跨平台兼容:提供适用于Windows、MacOS和Linux的启动脚本,并支持通过Docker进行跨平台部署,简化了环境配置。
  • 参数化调节:用户可以通过命令行参数精细调节语音合成的各种参数,如语速、音调、温度、波形等。
  • 多种输出格式:支持生成m4bmp3flacwav等多种主流音频格式。

使用帮助

ebook2audiobook 提供了多种安装和使用方式,其中使用Docker是最简单、最推荐的方式,因为它可以避免繁琐的环境依赖配置。以下将详细介绍如何使用这个工具。

一、Docker方式运行(推荐)

使用Docker可以创建一个包含所有必需软件和库的独立环境,从而保证开箱即用。

1. 安装Docker首先,你需要在你的电脑上安装Docker。请访问 Docker官方网站 下载并安装适合你操作系统的版本(Windows, macOS, or Linux)。

2. 运行带图形界面的ebook2audiobook打开你电脑的终端(在Windows上是命令提示符或PowerShell,在macOS或Linux上是终端)。

  • 仅使用CPU:如果你没有强大的NVIDIA显卡,或者只是想快速尝试,可以使用以下命令:
    docker run --pull always --rm -p 7860:7860 athomasson2/ebook2audiobook
    
  • 使用NVIDIA显卡(GPU加速):如果你有NVIDIA显卡,并已安装好相应的驱动,使用GPU可以极大地加快转换速度。
    docker run --pull always --rm --gpus all -p 7860:7860 athomasson2/ebook2audiobook
    

3. 访问图形界面执行上述命令后,Docker会自动下载镜像并启动容器。当终端显示程序正在运行时,打开你的网络浏览器,访问 http://localhost:7860。你会看到一个简洁的网页界面。

4. 在图形界面中使用

  • 上传电子书:在界面中找到上传区域,选择你要转换的电子书文件(如.epub格式)。
  • 上传克隆声音(可选):如果你想使用特定的声音,可以点击上传一个WAV格式的音频文件作为声音样本。如果留空,将使用默认的语音。
  • 选择语言:根据你的电子书内容选择正确的语言。
  • 开始转换:点击“转换”按钮,等待处理完成。处理时间取决于书籍的长度和你的电脑性能。
  • 下载有声书:转换完成后,界面上会提供下载链接,点击即可保存生成的有_声书文件。

二、本地直接运行(适合高级用户)

如果你不想使用Docker,也可以直接在你的电脑上运行它,但这需要手动安装一些依赖。

1. 克隆项目代码首先,你需要安装git。然后打开终端,执行以下命令从GitHub下载项目文件:

git clone https://github.com/DrewThomasson/ebook2audiobook.git
cd ebook2audiobook

2. 安装依赖这种方式需要手动安装 calibreffmpegnodejs 等一系列依赖软件。这在不同操作系统上步骤繁琐且容易出错,因此仅推荐给有经验的开发者。具体的依赖列表和安装方式可以在项目的README.md文件中找到。

3. 运行程序项目为不同操作系统提供了便捷的启动脚本:

  • 在Windows上:双击运行 ebook2audiobook.cmd 文件。
  • 在macOS或Linux上:在终端中进入项目目录,然后运行 ./ebook2audiobook.sh

运行后,同样是通过浏览器访问 http://localhost:7860 来使用图形界面。

三、命令行模式(无图形界面)

对于自动化任务或在服务器上运行时,可以使用无图形界面的命令行模式。这种方式更为灵活,可以通过参数精确控制转换过程。

1. 基本命令格式以本地运行为例,命令格式如下:

  • Windows:
    ebook2audiobook.cmd --headless --ebook <电子书路径>
    
  • macOS/Linux:
    ./ebook2audiobook.sh --headless --ebook <电子书路径>
    

2. 常用参数说明

  • --headless:启用无界面模式。
  • --ebook <文件路径>:指定要转换的电子书文件的路径。
  • --voice <音频文件路径>:指定用于克隆声音的WAV文件路径(可选)。
  • --language <语言代码>:指定电子书的语言,例如 eng 代表英语,zho 代表中文(可选,默认为英语)。
  • --tts_engine <引擎名称>:选择使用的TTS引擎,例如 XTTSv2(可选)。
  • --output_format <格式>:指定输出的音频格式,例如 mp3(可选)。
  • --help:在命令行输入 --help 可以查看所有可用的参数和详细说明。

3. 命令行使用示例假设你在Linux上,有一个名为 my_book.epub 的中文电子书,并想用一个名为 my_voice.wav 的声音文件来朗读,可以这样执行:

./ebook2audiobook.sh --headless --ebook "/path/to/my_book.epub" --voice "/path/to/my_voice.wav" --language zho

转换完成后,生成的有声书会保存在项目目录下的 audiobooks 文件夹中。

应用场景

  1. 通勤路上的听书伴侣对于每天需要花费大量时间在通勤路上(如驾车、乘坐地铁)的上班族,可以将自己想读但没时间读的专业书籍、报告或小说转换为有声书。这样可以在通勤途中用耳朵代替眼睛进行学习和娱乐,有效利用碎片化时间。
  2. 视力障碍者的阅读辅助对于视力不佳或有阅读障碍的用户,这个工具可以将文字内容转换成声音,为他们打开一扇获取知识和文学作品的新窗口,极大地提高了信息的可及性。
  3. 语言学习者的发音练习学习外语的用户可以把自己下载的外语电子书转换成有声读物,通过反复收听来熟悉单词的发音和句子的语调,是练习听力和口语的有效工具。如果使用克隆功能,甚至可以模拟特定人物的口音。
  4. 创作者制作内容原型视频创作者或播客主在制作内容初期,可以使用这个工具快速将文稿生成音频版本。这有助于他们在早期阶段评估内容的节奏和听感,而无需自己花费大量时间录制或聘请配音员。

QA

  1. 这个工具支持哪些电子书格式?它支持非常广泛的格式,包括 .epub.pdf.mobi.txt.html.rtf.fb2 等。为了获得最佳的自动章节拆分效果,推荐使用 .epub 或 .mobi 格式。
  2. 我可以使用自己的声音来生成有声书吗?可以。这是该工具的核心功能之一。你只需要提供一个包含你声音的短音频文件(推荐为WAV格式),然后在转换时通过 --voice 参数指定该文件路径,工具就会克隆你的声音来朗读电子书。
  3. 转换一本300页的书大概需要多长时间?转换时间受多种因素影响,包括电脑的性能(CPU或GPU)、电子书的字数以及所选的TTS引擎。在配备NVIDIA GPU的电脑上,转换速度可能接近实时。如果使用CPU,速度会慢很多,可能需要数小时,具体时间因设备而异。
  4. 这个工具是免费的吗?是的,ebook2audiobook 是一个在GitHub上开源的项目,基于Apache-2.0许可证,任何人都可以免费下载和使用。
  5. 支持中文吗?支持。该工具集成的XTTSv2等引擎支持包括中文在内的1100多种语言。你只需要在转换时通过 --language 参数将语言设置为 zho 或 chi 即可。
微信微博Email复制链接