Usable GUI for text-to-speech services.
- ESpeak -- https://en.wikipedia.org/wiki/ESpeak
- AWS Polly -- https://aws.amazon.com/polly/
- Google TextToSpeech -- https://cloud.google.com/text-to-speech/
I (the author) have difficulty to focus on only reading. The best way to read is to walk and have white noise in the background but that isn't always possible. The other best way is to read both with eyes and ears. When someone reads and I can follow, I don't overly focus on how some words look weird or continue the line even though there is no text remaining. When someone reads what I see, it sets the pace and helps me remember/reference more easily.
Text often have footnotes, emoji, and other decorators. These can be visually pleasing but machine needs simple text. Cracker also provide text (de)formatters so to simplify text for Speakers. Examples of deformatters include removal of extensive whitespace, cryptic citation references and wikipedia decorators.
Kind of. I update it as I need it. It hasn't been touched in a while because of plenty of problems with (Py)Qt on Linux and increased popularity of Electron (see Pollytron). But, things have changed, and Qt is even better (and Electron is meh). I'm going to update Cracker as needed. Anyone and everyone is welcome to contribute or submit features request.
It should be enough to install via pip
, i.e.
$ pip install cracker
See Usage section below.
PyQt5 is used to display GUI. To install PyQt5 head off to their installation page. Package is currently heavily favouring Ubuntu as end OS. If you are one of the lucky ones then the installation requires:
$ sudo sh install.sh # Installs pyqt5 on Ubuntu
$ pip install -r .
For other OS you'd need PyQt5 and vlc.
If you're on Ubuntu you'll most likely need additional gstreamer
packages. Otherwise you'll see something like defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
.
Since this is a GUI on top of AWS Polly it is assumed that one has credentials stored in default directory. This is ~/.aws/credentials
on unix based systems.
Currently reading out is performed by downloading mp3 format of the request and then using mpg123
to play it. This isn't optimal and should be changed, but, for now, it works.
Suggested execution command
$ cd cracker
$ python -m cracker.main
There's only one global command (read from clipboard). All commands are expected to be called when Cracker is in focus.
Action | Shortcut | Global |
---|---|---|
Read (clipboard) | Ctr + Shift + Space | Yes |
Read (text area) | Ctr + Shift + R | No |
Pause / Resume read | Ctr + Space | No |
Stop reading | Ctr + Shift + S | No |
Reduce (all active) | Ctr + R | No |
Reduce (wiki) | Ctr + Shift + W | No |
Reduce (citation) | Ctr + Shift + C | No |