epub2tts adalah aplikasi python sumber terbuka dan gratis untuk dengan mudah membuat buku audio berfitur lengkap dari epub atau file teks menggunakan text-to-speech realistis dari Coqui AI TTS, OpenAI, atau MS Edge.
CATATAN: FITUR MULTIPROSESING BARU DITAMBAHKAN! Anda sekarang dapat menggunakan --threads N
untuk menentukan jumlah thread yang akan dijalankan di mana bab akan diproses secara paralel! Jika Anda menggunakan Edge atau OpenAI, Anda dapat mengatur thread ke bab sebanyak yang Anda punya dan semuanya dapat diproses secara bersamaan. Saat menggunakan TTS/XTTS, Anda perlu melakukan beberapa eksperimen untuk melihat apa yang dapat ditangani oleh sistem Anda.
CATATAN: Periksa epub2tts-edge untuk alternatif ringan SANGAT cepat yang hanya bekerja dengan MS Edge. Versi itu membaca banyak kalimat secara paralel dan berjalan lebih cepat!
epub2tts mybook.epub --export txt
# Part 1
dll dengan nama bab yang diinginkan, dan hapus bagian depan seperti daftar isi dan hal lain yang tidak ingin Anda baca. Catatan: Dua baris pertama dapat berupa Judul: dan Penulis: untuk menggunakannya dalam metadata buku audio. PERHATIKAN JUGA Setelah Penulis/Judul, penyalinan buku HARUS diawali dengan bab atau bagian yang ditandai dengan garis yang diberi tanda pagar di awal (seperti # Introduction
).% <speaker>
setelah nama bab, misalnya # Chapter One % en-US-AvaMultilingualNeural
. Lihat file multi-speaker-sample-edge.txt
sebagai contoh. Catatan: Hanya berfungsi dengan mesin multi-speaker Coqui TTS (default) atau --engine edge
. Menggunakan model VITS, semua default, tidak memerlukan GPU:
epub2tts mybook.epub
(Untuk mengganti speaker (misal p307 untuk suara pria yang bagus dengan Coqui TTS), tambahkan: --speaker p307
) Menggunakan Microsoft Edge TTS di cloud, GRATIS, hanya memerlukan sedikit CPU, dan cukup cepat (100 menit untuk buku 7 jam misalnya). Banyak suara dan bahasa yang dapat dipilih, dan kualitasnya sangat bagus (dengarkan sample-en-US-AvaNeural-edge.m4b
sebagai contoh).
edge-tts --list-voices
, speaker default adalah en-US-AndrewNeural
jika --speaker
tidak ditentukan.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
, tentukan bagian mana yang akan dimulai dan diakhiri sehingga Anda dapat melewati TOC, dll.epub2tts my-book.epub --start 4 --end 20 --xtts voice-1.wav,voice-2.wav,voice-3.wav --cover cover-image.jpg
--export txt
, opsi ini menyisipkan %P%
di setiap jeda paragraf. Kemudian saat membuat audio dengan --engine edge
, setiap kali %P%
ditemukan dalam salinan, jeda 1,2 detik akan dimasukkan.Terima kasih sebelumnya karena telah melaporkan bug/masalah apa pun yang Anda temui! Jika Anda mengalami masalah, pertama-tama silakan telusuri masalah yang ada untuk melihat apakah ada orang lain yang pernah mengalami hal serupa sebelumnya.
Jika Anda menemukan sesuatu yang baru, silakan buka terbitan dan pastikan untuk menyertakan:
--debug --minratio 0
, untuk mendapatkan informasi lebih lanjut--threads N
untuk multiprosesor, dan dukungan untuk file NCX yang meningkatkan deteksi bagaimana teks dipisahkan dalam epub.--skip-cleanup
untuk melewati penggantian karakter khusus dengan ","Waktu inferensi umum untuk xtts_v2 dirata-ratakan pada 4 bagian pemrosesan (masing-masing sekitar 4 kalimat) yang dapat diharapkan:
| 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 |
Versi Python yang diperlukan adalah 3.11.
Instalasi ini memerlukan Python <3.12 dan Homebrew (Saya menggunakan homebrew untuk menginstal espeak, pyenv dan ffmpeg). Berdasarkan bug ini, mecab juga harus diinstal melalui homebrew.
Model suara akan disimpan secara lokal di ~/.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 .
Petunjuk ini ditujukan untuk Ubuntu 22.04 (20.04 menunjukkan beberapa masalah ketergantungan), tetapi dapat berfungsi (dengan mod penginstal paket yang sesuai) untuk hampir semua repo. Pastikan Anda telah menginstal ffmpeg
sebelum digunakan. Jika Anda memiliki GPU NVIDIA, Anda juga harus menginstal toolkit CUDA untuk memanfaatkan kecepatan dalam.
Model suara akan disimpan secara lokal di ~/.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 .
CATATAN: Jika Anda menginstal deepspeed, itu mungkin terdeteksi tetapi tidak berfungsi dengan benar, sehingga menyebabkan kesalahan. Coba instal perangkat CUDA untuk melihat apakah tindakan tersebut menyelesaikan masalah. Jika itu tidak memperbaikinya, tambahkan --no-deepspeed
dan itu tidak akan digunakan. Juga dalam hal ini, buka masalah dengan detail Anda dan kami akan memeriksanya.
Menjalankan epub2tts di WSL2 dengan Ubuntu 22 adalah pendekatan termudah, tetapi langkah-langkah ini dapat digunakan langsung di windows.
Instal Alat Pembuatan Microsoft C++. Unduh penginstal dari https://visualstudio.microsoft.com/visual-cpp-build-tools/ lalu jalankan file yang diunduh vs_BuildTools.exe
dan pilih kotak centang "C++ Build tools" dan biarkan semua opsi pada nilai defaultnya. Catatan: Ini membutuhkan sekitar 7 GB ruang pada drive C.
Instal espeak-ng dari https://github.com/espeak-ng/espeak-ng/releases/latest
Pasang coklat
Instal ffmpeg dengan perintah choco install ffmpeg
, pastikan Anda berada dalam sesi PowerShell yang ditinggikan.
Instal python 3.11 dengan perintah choco install python311
Instal git dengan perintah choco install git
.
Putuskan di mana Anda ingin proyek epub2tts Anda dijalankan, dokumen adalah tempat yang umum. Setelah Anda menemukan direktori yang Anda sukai, kloning proyek tersebut dengan git clone https://github.com/aedocw/epub2tts
dan cd epub2tts sehingga Anda sekarang berada di direktori kerja Anda.
Mungkin ada beberapa cara berbeda yang bisa Anda lakukan di sini, saya pribadi memilih venv untuk menjaga semuanya tetap teratur. Buat venv dengan perintah python -m venv .venv
Aktifkan venv, di windows perintahnya sedikit berbeda saat Anda mengeluarkan .venvscriptsactivate
Instal epub2tts beserta persyaratannya dengan perintah pip install coqui-tts --only-binary spacy && pip install .
Jika semuanya berjalan dengan baik, Anda seharusnya dapat memanggil epub2tts dari dalam venv Anda dan memperbaruinya dari direktori ini selanjutnya. Untuk memperbarui, gunakan git pull
lalu pip install . --upgrade
Beberapa kesalahan yang mungkin Anda temui
pip install lxml
untuk menginstal versi terbaru secara manual lalu jalankan kembali pip install .
python -c "import nltk"
lalu python -m nltk.downloader punkt
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
--no-deepspeed
dan itu tidak akan digunakan.CATATAN: Gambar Docker belum diperbarui atau diuji baru-baru ini, mungkin berfungsi tetapi sudah kedaluwarsa.
Model suara akan disimpan secara lokal di ~/.local/share/tts
Penggunaan Docker tidak memanfaatkan GPU secara andal, jika seseorang ingin berupaya meningkatkannya, PR Anda akan sangat diterima!
Untuk Linux dan 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'
Untuk Windows : Prasyarat:
#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
? Christopher Aedo
Kontributor
Kontribusi, masalah, dan permintaan fitur dipersilakan!
Jangan ragu untuk memeriksa halaman masalah atau halaman diskusi.
Berikan ️ jika proyek ini membantu Anda!