Skip to content

rafael1mc/epub-tts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

epub-tts

Convert ePUB into audio files.

Code will parse the ePUB into sections (which roughly correlates to book chapters) and 'text-to-speech' each section into its own audio file.
Output will be prefixed with a number to maintain order.

This is an alpha, proof of concept version. To me, it's supposed to be a simple alternative for when eyes are tired but the mind is not :)

Requirements

  • Run on MacOS
  • ffmpeg installed and available in $PATH
  • Golang

How to use

  1. Clone this repo
  2. Replace the file inside volume/input.epub with the book you want to convert to audio (keep file name)
  3. Execute the program (note that it will take quite some time, but you should see some output during execution):
go run .
  1. You should see a new output folder with each text and audio file.

TODO

  • Parse ePUB from Golang
  • Organize code
  • Add worker pools for batch conversion and less CPU strain
  • Reduce output audio size
  • Extract chapter info
  • Add more sample ePUBs
  • Add automated tests
  • Separate output by folder
  • Handle multiple input
  • Organize the code some more
  • Support other languages beyond english
  • Display progress
  • Break down a big section to be TTS concurrently, and merge after whole section is done
  • Add support for Ubuntu TTS
  • Add Web UI to Drag and Drop epub files
  • ?

Dependencies

  • MacOS say command
  • Note: The example book in this repo is taken from Project Guttenber, with Copyright Status as "Public domain in the USA"

License

Check LICENSE file.

About

Create audio files from ePUB.

Resources

License

Stars

Watchers

Forks

Languages