Mr-vabs/AudioBook

Listen to Pdf/txt/docs/epub/mobi book with just a few line of Python code. Leave a :star: if you like It.

★ 0Forks 0PythonGitHub ↗Compare

Project website ↗

README

website title image

👉 Listen to any PDF book with a few lines of Python code👈

repo language github stars github forks code size

pypi status download docs dependices

discord invite total contributors

Installation

Install using pypi

Linux(setup script)

sh setup.sh

windows and linux

pip install audiobook

Usages

The audiobook is a python module for listening to your favourite PDF (and not only) book.

Basic usage is exposed via CLI, type python audiobook -h for help.

More advanced features are exposed via the API:

from audiobook import AudioBook
# argument: Speech-Speed="slow/normal/fast", volume = 0.0 to 1.0
ab = AudioBook(speed="normal", volume=1.0) 

# if file is password protected, pass password as argument
# save_page_wise audio/whole book in one mp3 file
ab.save_audio(self, input_book_path, password=None, save_page_wise=False): 

- input_book_path: path to pdf file
- password: password to pdf file
- save_page_wise: if True, saves each page as a separate mp3 file
- extraction_engine: "pypdf2/pdfminor" for extracting text from pdf file

ab.read_book(file_path) # listen to the book
ab.create_json_book(file_path) # create json file of the book

ab.get_library() # get all the books in your library

Supported File Formats

File Format Supported Engine
PDF ✅ pypdf2/pdfminor
TXT ✅ not required
EPUB ✅ not required
MOBI ✅ not required
HTML ✅ not required
DOCX ✅ not required
ODT ✅ not required

Test

Run tests:

pip install -r requirements.txt
python -m unittest tests

Documentation

Read Detailed Documentation here

Linux Installation Requirements

  • If you are using a Linux system and the voice output is not working, then : Install espeak , ffmpeg and libespeak1 as shown below:
sudo apt update && sudo apt install espeak ffmpeg libespeak1

Roadmap

  • Speech-Speed Control
  • Support more extensions
  • Save the audiobook for future

Project status

This project is currently in development. Any contributions are welcome.

Changelog

V2.0.2

  • Docs files support added
  • Pdfminor as engine added
  • ODT file support added

V2.0.1

  • Mobi file support
  • Epub file support
  • User can now save the audiobook for future
  • User can now listen to the book from the library

V2.0.0

  • Save Audio Book locally
  • Listen to the book
  • Speech-speed control
  • Read password-protected PDF
  • Create JSON file for the book

** Upcoming changes**

  • Change the voice of the narrator
  • Support more extensions

Author

  • Module : AudioBook
  • Author : py-contributors
  • Language : Python

Contributors

Contributors

codeperfectplusDrakeEntityaayushi-droidaaaandrzejchmeyhot9cupsflower-of-the-bridgesJoeAmedeoSarojWastiMr-vabsdependabot[bot]

Issues