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
?克里斯多福·埃多
貢獻者
歡迎貢獻、問題和功能請求!
請隨意查看問題頁面或討論頁面。
如果這個專案對你有幫助的話就給個️吧!