epub2tts 是一款免费开源 Python 应用程序,可使用 Coqui AI TTS、OpenAI 或 MS Edge 的真实文本转语音功能,从 epub 或文本文件轻松创建功能齐全的有声读物。
注意:添加了新的多处理功能!您现在可以使用--threads N
指定要运行的线程数,其中章节将并行处理!如果您使用 Edge 或 OpenAI,您可以将线程设置为尽可能多的章节,并且它们都可以同时处理。使用 TTS/XTTS 时,您需要进行一些试验,看看您的系统可以处理什么。
注意:查看 epub2tts-edge 以获得仅适用于 MS Edge 的非常快速的轻量级替代方案。该版本并行读取多个句子并且速度更快!
epub2tts mybook.epub --export txt
# Part 1
等替换为所需的章节名称,并删除前面的内容,例如目录和其他您不想阅读的内容。注意:前两行可以是标题:和作者:以在有声读物元数据中使用。另请注意,在作者/标题之后,书籍副本必须以开头带有井号的行标记的章节或部分开始(例如# Introduction
)。% <speaker>
将扬声器设置为按章节更改,例如# Chapter One % en-US-AvaMultilingualNeural
。有关示例,请参阅文件multi-speaker-sample-edge.txt
。注意:仅适用于 Coqui TTS 多扬声器引擎(默认)或--engine edge
。 使用VITS模型,全部默认,不需要GPU:
epub2tts mybook.epub
(要更改扬声器(例如 p307 以获得带有 Coqui TTS 的好男声),请添加: --speaker p307
) 在云中使用 Microsoft Edge TTS,免费,只需要最少的 CPU,而且速度相当快(例如 7 小时的书需要 100 分钟)。有多种语音和语言可供选择,而且质量非常好(听sample-en-US-AvaNeural-edge.m4b
为例)。
edge-tts --list-voices
列出可用的语音,如果未指定--speaker
,则默认扬声器为en-US-AndrewNeural
。epub2tts mybook.txt --engine edge --speaker en-US-AvaNeural --cover cover-image.jpg --sayparts
epub2tts mybook.txt --engine xtts --speaker "Damien Black" --cover cover-image.jpg --sayparts
epub2tts mybook.epub --scan
,确定从哪一部分开始和结束,以便您可以跳过目录等。epub2tts my-book.epub --start 4 --end 20 --xtts voice-1.wav,voice-2.wav,voice-3.wav --cover cover-image.jpg
--export txt
时,此选项在每个段落分隔符处插入%P%
。然后,当使用--engine edge
创建音频时,任何时候在副本中发现%P%
时都会插入 1.2 秒的暂停。预先感谢您报告您遇到的任何错误/问题!如果您遇到问题,请首先搜索现有问题,看看其他人以前是否遇到过类似的问题。
如果您发现了新内容,请提出问题并确保包含:
--debug --minratio 0
再次运行该命令,以获取更多信息--threads N
功能,以及对 NCX 文件的支持,以改进对如何进行检测epub 中的文本是分开的。--skip-cleanup
选项以跳过用“,”替换特殊字符xtts_v2 的典型推理时间平均超过 4 个处理块(每个处理块大约 4 个句子),可以预期:
| Hardware | Inference Time |
|-------------------------------------|----------------|
| 20x CPU Xeon E5-2630 (without AVX) | 3.7x realtime |
| 20x CPU Xeon Silver 4214 (with AVX) | 1.7x realtime |
| 8x CPU Xeon Silver 4214 (with AVX) | 2.0x realtime |
| 2x CPU Xeon Silver 4214 (with AVX) | 2.9x realtime |
| Intel N4100 Atom (NAS) | 4.7x realtime |
| GPU RTX A2000 4GB (w/o deepspeed) | 0.4x realtime |
| GPU RTX A2000 4GB (w deepspeed) | 0.15x realtime |
所需的 Python 版本是 3.11。
此安装需要 Python < 3.12 和 Homebrew(我使用 homebrew 安装 espeak、pyenv 和 ffmpeg)。根据这个错误,mecab 也应该通过自制软件安装。
语音模型将保存在本地~/.local/share/tts
#install dependencies
brew install espeak pyenv ffmpeg mecab
#install epub2tts
git clone https://github.com/aedocw/epub2tts
cd epub2tts
pyenv install 3.11
pyenv local 3.11
#OPTIONAL but recommended - install this in a virtual environment
pip install coqui-tts --only-binary spacy
python -m venv .venv && source .venv/bin/activate
pip install .
这些说明适用于 Ubuntu 22.04(20.04 显示了一些依赖性问题),但应该适用于几乎任何存储库(使用适当的软件包安装程序 mods)。使用前请确保已安装ffmpeg
。如果您有 NVIDIA GPU,您还应该安装 CUDA 工具包才能使用 deepspeed。
语音模型将保存在本地~/.local/share/tts
#install dependencies
sudo apt install espeak-ng ffmpeg
#If you have a CUDA-compatible GPU, run:
sudo apt install nvidia-cuda-toolkit
#clone the repo
git clone https://github.com/aedocw/epub2tts
cd epub2tts
pip install coqui-tts --only-binary spacy
pip install .
注意:如果您安装了 deepspeed,它可能会被检测到但无法正常工作,从而导致错误。尝试安装 CUDA 工具包以查看是否可以解决问题。如果这不能解决问题,请添加--no-deepspeed
,它将不会被使用。同样在这种情况下,请使用您的详细信息提出问题,我们将进行调查。
在 Ubuntu 22 的 WSL2 中运行 epub2tts 是最简单的方法,但这些步骤应该适用于直接在 Windows 中运行。
安装 Microsoft C++ 构建工具。从 https://visualstudio.microsoft.com/visual-cpp-build-tools/ 下载安装程序,然后运行下载的文件vs_BuildTools.exe
并选择“C++ 构建工具”复选框,将所有选项保留为默认值。注意:这将需要 C 盘上大约 7 GB 的空间。
从 https://github.com/espeak-ng/espeak-ng/releases/latest 安装 espeak-ng
安装巧克力
使用命令choco install ffmpeg
安装 ffmpeg,确保您处于提升的 powershell 会话中。
使用命令choco install python311
安装 python 3.11
使用命令choco install git
安装 git 。
决定您希望 epub2tts 项目存放在哪里,文档是一个常见的地方。找到满意的目录后,使用git clone https://github.com/aedocw/epub2tts
和 cd epub2tts 克隆项目,这样您现在就位于工作目录中。
您可能有几种不同的方式可以到达这里,我个人选择了 venv 来保持一切井井有条。使用命令python -m venv .venv
创建 venv
激活 venv,在 Windows 上,命令略有不同,因为您发出.venvscriptsactivate
使用命令pip install coqui-tts --only-binary spacy && pip install .
如果一切顺利,您应该能够从 venv 中调用 epub2tts 并从此目录中更新它。要更新,请使用git pull
然后使用pip install . --upgrade
您可能会遇到的一些错误
pip install lxml
手动安装最新版本,然后重新运行pip install .
python -c "import nltk"
然后python -m nltk.downloader punkt
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
--no-deepspeed
就不会使用。注意:Docker 镜像最近尚未更新或测试,可能可以工作,但已过时。
语音模型将保存在本地~/.local/share/tts
Docker 的使用并不能可靠地利用 GPU,如果有人想致力于改进这一点,我们将非常欢迎您的 PR!
对于Linux 和 MacOS :
alias epub2tts='docker run -e COQUI_TOS_AGREED=1 -v "$PWD:$PWD" -v ~/.local/share/tts:/root/.local/share/tts -w "$PWD" ghcr.io/aedocw/epub2tts:release'
对于Windows :先决条件:
#Example for running scan of "mybook.epub"
docker run -e COQUI_TOS_AGREED=1 -v ${PWD}/.local/share/tts:/root/.local/share/tts -v ${PWD}:/root -w /root ghcr.io/aedocw/epub2tts:release mybook.epub --scan
#Example for reading parts 3 through 15 of "mybook.epub"
docker run -e COQUI_TOS_AGREED=1 -v ${PWD}/.local/share/tts:/root/.local/share/tts -v ${PWD}:/root -w /root ghcr.io/aedocw/epub2tts:release mybook.epub --start 3 --end 15
#clone the repo
git clone https://github.com/aedocw/epub2tts
cd epub2tts
#create a virtual environment
python -m venv .venv
#activate the virtual environment
source .venv/bin/activate
#install dependencies
sudo apt install espeak-ng ffmpeg
pip install coqui-tts --only-binary spacy
pip install -r requirements.txt
git pull
pip install . --upgrade
?克里斯托弗·埃多
贡献者
欢迎贡献、问题和功能请求!
请随意查看问题页面或讨论页面。
如果这个项目对你有帮助的话就给个️吧!