Skip to main content

Cracker

Usable GUI for text-to-speech services.

Supported text-to-speech

Why all of this

What can you do with it?

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.

Is it only reader?

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.

Is this an active project?

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.

Installation

It should be enough to install via pip, i.e.

$ pip install cracker

See Usage section below.

Development

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".

Usage

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

Key shortcuts

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

Release files for cracker 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cracker 0.9.0
File Size Uploaded
cracker-0.9.0.tar.gz 262.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cracker 0.9.0
File Interpreter ABI Platform
cracker-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 377.5 kB

Release files / cracker-0.9.0.tar.gz

Download URL cracker-0.9.0.tar.gz
Size 262.0 kB
Tags Source
SHA-256 checksum
How to use checksums
de8cf05472b7d97eec5680771a555e5603dc3884c78ac66b1f2506715eb966ac
BLAKE2b-256 checksum
How to use checksums
e79c06441f19ac0febf7ed0cc67180729a3fd5b5031753f73d6f18cfdb4034c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.24

Release files / cracker-0.9.0-py3-none-any.whl

Download URL cracker-0.9.0-py3-none-any.whl
Size 115.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5f64605481d6b6a1833b2c979963e122ee52ed98140cf337125c3882d74ddec7
BLAKE2b-256 checksum
How to use checksums
765610c9b261dc0dc2decf2c910d0d313c887f8e2c51f1b33d6d6c5a4de1a8c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.24

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.1

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page