logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

eBook-speaker - read aloud eBooks and other text formats using a software speech-synthesizer

Author

       Jos Lemmens <jos@jlemmens.nl>

Control Keys

       eBook-speaker recognizes the following keyboard-commands:

       cursordown,2
              Move cursor to the next item.

       cursorup,8
              Move cursor to the previous item.

       cursorright,6
              Skip to next phrase.

       cursorleft,4
              Skip to previous phrase.

       page-down,3
              View next screen.

       page-up,9
              View previous screen.

       enter  Start reading.

       space,0
              Pause/resume reading.

       home,* Read on normal speed.

       /      Search for a label.

       A      Store current item to disk in ASCII-format.

       b      Set a phrase-break at the end of a line or position. When set to 'y'es, eBook-speaker will start a
              new  phrase  after each New-Line character. When set to 'n'o, each New-Line character will be seen
              as a space, so that two or more lines are concatenated to one phrase. Or set a break  at  the  Nth
              position.

       B      Move cursor to the last item.

       d      Store current item to disk in WAV-format.

       D,-    Decrease reading speed.

       f      Find the currently reading item and place the cursor there.

       g      Go to phrase in current item.

       G      Go to page number. (if there are pages)

       h,?    Give this help.

       j,5    Just read current item and place a "J" at the first column.

       l      Switch to next level.

       L      Switch to previous level.

       m      mute sound on/off.

       n      Search forewards.

       N      Search backwards.

       o      Select an output sound device.

       p      Place a bookmark.

       q      Quit eBook-speaker. The reading-point is saved as bookmark.

       r      Rotate the scanned document. If the document is accidentally placed upside-down on the scanner, it
              can not be OCR'ed correctly. This command will rotate the scanned document 90 degrees.

       s      Stop reading.

       S      Toggle show progress on/off.

       t      Select a TTS.

       T      Move cursor to the first item.

       U,+    Increase reading speed.

       v,1    Decraese playback volume.

       V,7    Increase playback volume. (beware of Clipping)

       w      Store whole book to disk in WAV-format.

       x      Go to the file-manager.

Description

       eBook-speaker  reads  aloud  eBooks  and  other  text formats and even scanned documents using a software
       speech-synthesizer. By default the tool espeak is used for speech output.  eBook-speaker  can  read  from
       http://,  https:// and ftp:// URLs using the tool wget.  eBook-speaker also can scan a documant by itself
       using the scanimage application.

       A list of items on the eBook will appear. Press <ENTER> to start reading. When reading  of  an  item  has
       finished,  eBook-speaker  will read the next item and the cursor will automatically skip to that item, so
       that an attached braille-terminal will display the name of that item.

Files

~/.eBook-speaker/
              This directory contains the bookmarks in XML-format.  Each file has  the  name  of  the  book  and
              contains  the  name  of  the  current  item, the start-phrase of that item, the current level, the
              desired TTS, the desired reading speed, the desired phrase-break point and the current sink in the
              list of the available sound devices.

       ~/.eBook-speaker.xml
              This file, in XML-format, contains a list of available TTS's. (See TTS EXAMPLES)

       /tmp/eBook-speaker.XXXXXX
              eBook-speaker makes use of a temporary directory. It is removed after quitting.

Keyboard Commands In The Filemanager

enter,cursorright,6
              Start eBook-speaker with current file as input.

       cursorleft,4
              Select previous directory and open it.

       cursordown,2
              Move cursor to the next file.

       cursorup,8
              Move cursor to the previous file.

       page-down,3
              View next page.

       page-up,9
              View previous page.

       /      Search for a file.

       end,B  Move cursor to the last file.

       h,?    Give this help.

       H,0    Toggle hidden files displaying on or off.

       i      Give some information about current file.

       n      Search next.

       N      Search previous.

       q      Quit eBook-speaker.

       home,T Move cursor to the first file.

Name

eBook-speaker - read aloud eBooks and other text formats using a software speech-synthesizer

Notes

       An EPUB-book has two index-files for navigation, a NCX and an OPF file. eBook-speaker tries  to  detemine
       which  of  these two files give the best result. But sometimes eBook-speaker is not able to make the best
       choice. When in doubt use option "--N" to force the use of NCX or "-O" to force the OPF.

Options

eBook_file
              Give an eBook_file as argument to eBook-speaker.  Many eBook formats are supported.  eBook-speaker
              also tries to read scanned documents through Optical Character Recognition.

                       Supported formats
                       -----------------
                       AportisDoc
                       AppleSingle encoded Macintosh
                       ASCII mail text
                       ASCII text
                       awk script text
                       Bourne-Again shell script text
                       Broadband eBooks (BBeB)
                       C source text
                       Composite Document File (Microsoft Office Word)
                       DAISY3 DTBook
                       EPUB ebook data
                       GIF image data
                       GNU gettext message catalogue
                       GutenPalm zTXT
                       HTML document
                       ISO-8859 text
                       JPEG image data
                       Microsoft Reader eBook Data
                       Microsoft Windows HtmlHelp Data
                       Microsoft Word 2007+
                       Mobipocket E-book
                       MS Windows HtmlHelp Data
                       Netpbm PPM data
                       OpenDocument Text
                       Pascal source
                       PDF document
                       PeanutPress PalmOS
                       Perl script text
                       PNG image data
                       POSIX shell script text
                       PostScript document
                       Python script
                       Rich Text Format
                       Tenex C shell script text
                       troff or preprocessor text (e.g. Linux man-pages)
                       UTF-8 Unicode mail text
                       UTF-8 Unicode text
                       WordPerfect
                       XML document text

              When  no input-file is supplied, eBook-speaker will bring up a file-manager. See KEYBOARD COMMANDS
              IN THE FILEMANAGER.

       -bn|y|position
              Set the initial break_on_EOL or position. After quitting eBook-speaker. This setting will be saved
              and used as default for future books. It can be overruled with the 'b'-command for each individual
              book. See the 'b' command.

       -c     eBook-speaker use tesseract for OCR by default. This option forces eBook-speaker to use  cuneiform
              instead.

       -daudio_device:audio_type
              eBook-speaker  will  play  on this sound device of given audio_type. The value must be of the form
              "audio_device:audio_type". Example: "-d default:alsa", "hw:0:alsa" or "0:pulseaudio". This  option
              overrules  the  value  in  the ~/.eBook-speaker/* config file. Be sure the user is a member of the
              group "audio".

       -h     Print this usage message.

       -H     Show "hidden" files in the file-manager.

       -i     Ignore reading of the bookmark.

       -l     Deprecated. eBook-speaker now determines the file-type using the libmagic library.

       -olanguage-code
              The  language  code  for  OCR  to  use.   (typically   an   ISO   639-1   two-letter   code.   See
              <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>).  If  this  option  not is specified, the
              language is determined according to the current locale.

       -rresolution
              By default the option "-s" will scan at a resolution of 400  DPI. With this option one  can  force
              another resolution.

       -s     Scan a document using a hardware scanner and OCR it with either tesseract or cuneiform.

       -S     Do not display the phrase-numbers passing during playback.

       -tTTS-command
              Be  sure  that the TTS reads from the file eBook-speaker.txt and that it writes to the file eBook-
              speaker.wav. To add the TTS-command permantly one has to edit  the  ~/.eBook-speaker.xml  file  by
              hand.

       -v     Be more verbose, so one can se what's going on.

       Examples:

       •  ebook-speaker some.epub -t "espeak -f eBook-speaker.txt -w eBook-speaker.wav -v nl"

       •  ebook-speaker some.epub -t "flite eBook-speaker.txt eBook-speaker.wav"

       •  ebook-speaker some.epub -t "text2wave eBook-speaker.txt -o eBook-speaker.wav"

Screen

       The  name  and version of this program and the name of the author is displayed left aligned at the top of
       the screen. The name of the current loaded book is displayed right aligned.

       The second row of the screen displays the number of pages of  the  current  loaded  book  (if  any),  the
       current  selected  level  and  the  total  number  of levels, the total number of phrases and the current
       displayed screen and the total number of screens.

       The next rows displays the title of the item, the first page of that item within brackets (if  there  are
       pages)  and  the total number of phrases in this item. Items in higher levels are indented. (Three spaces
       each level.) When "just reading this item" is active, a "J" is viewed at the first column of that item.

       The spoken phrase will be displayed on the bottom-line of the screen,  so  one  can  follow  along  on  a
       braille-terminal what he/she hears.

See Also

ebook-convert(1), pandoc(1), calibre(1), iconv(1), lowriter(1),  tesseract(1),  cuneiform(1),  espeak(1),
       flite(1),  text2wave(1),  mbrola(1),  pico2wave(1),  scanimage(1),  pnmflip(1),  gif2png(1), man2html(1),
       unar(1),  swift(1),  unrtf(1),  wget(1),  pulseaudio(1),  pactl(1),  amixer(1),  alsamixer(1),  magic(5),
       locale(7), usermod(8)

Synopsis

ebook-speaker [eBook_file | URL | -s [-rresolution]] [-bn | y | position] [-c] [-daudio_device:audio_type] [-h] [-H] [-i] [-olanguage-code] [-S] [-tTTS_command] [-v]

Thanks To

DanielVeillard<daniel@veillard.com>
              for the XML2 library.

       Chris Bagwell <cbagwell@users.sourceforge.net>

       RobSykes<aquegg@yahoo.co.uk>
              for sox.

       DidierSpaier<didier@slint.fr>
              for the TTS enhancements.

Tts

       When  pressing  the 't'-command, the TTS-selector appears. A few TTS-applications are defined by default.
       The first TTS in the TTS-selector will be espeak with option -v set according to the current locale.

       •  Choose one by moving the cursor with the cursor-keys and select it by pressing the ENTER-key.

       •  To delete or add a TTS-command one has to edit the file ~/.eBook-speaker.xml by hand  and  follow  the
          instructions.

       Be  sure that the new TTS reads its information from the file eBook-speaker.txt and that it writes to the
       file eBook-speaker.wav.

Tts Examples

       Here are some examples to insert into the ~/.eBook-speaker.xml file:

       •  espeak -f eBook-speaker.txt -w eBook-speaker.wav

       •  espeak -f eBook-speaker.txt -w eBook-speaker.wav -v mb-en1

       •  espeak -f eBook-speaker.txt -w eBook-speaker.wav -v de

       •  espeak -f eBook-speaker.txt -w eBook-speaker.wav -v pt

       •  espeak -f eBook-speaker.txt -w eBook-speaker.wav -v nl

       •  espeak -f eBook-speaker.txt -w eBook-speaker.wav -v mb-nl2

       •  flite eBook-speaker.txt eBook-speaker.wav

       •  swift -n Lawrence -f eBook-speaker.txt -o eBook-speaker.wav

       •  text2wave eBook-speaker.txt -o eBook-speaker.wav

       •  text2wave -eval '(voice_en1_mbrola)' eBook-speaker.txt -o eBook-speaker.wav

       •  pico2wave -w eBook-speaker.wav "`cat eBook-speaker.txt`"

See Also