bard is a text to speech tool based on existing open-source models (local install) and APIs to install on your desktop
Project description
Bard 
Bard is a text to speech client that integrates on the desktop
Install
Install libraries or system-specific dependencies:
sudo apt-get install portaudio19-dev xclip # portaudio19-dev becomes portaudio with Homebrew
sudo apt install libcairo-dev libgirepository1.0-dev gir1.2-appindicator3-0.1 # Ubuntu ONLY (not needed on MacOS)
pip install PyGObject # Ubuntu ONLY (not needed on MacOS)
Install the main app
pip install bard-cli
Install optional dependencies
pip install openai
(at the moment openai is the only backend so you better have it installed ;))
GNOME
On GNOME desktop you can subsequently run:
bard-install [...] --openai-api-key $OPENAI_API_KEY
to produce a .desktop file for GNOME's quick-launch
(the [...] indicates any argument that bard takes)
Usage
In a terminal:
bard
which defaults to:
bard --backend openaiapi --voice allow --model tts-1
(this assumes the environment variable OPENAI_API_KEY is defined)
An icon should show up almost immediately in the system tray, with options to copy the content of the clipboard (the last thing you copy-pasted) and send that to the AI model for reading aloud.
For testing you can also start the app with
bard --file /path/to/audio.mp3
and then the actual API:
bard --text "Hello world, how are you today"
You can resume the previous recording (the app won't play right away in this case):
bard --resume
You can ask also ask the app to removed your (local) traces:
bard --clean-cache-on-exit
Fine-tuning
bard --chunk-size 500 # that's the default
sets the maximum length (in characters) of a request. That means about 30 seconds of speech. The program will split up the text in chunks (according to the punctuation) and download them sequentially. The reading will start with the first chunk, that's why it is convenient to keep it small. You can set that smaller or up to the maximum allowed by the openai API (4096).
Player
The player was devised in conversation with Mistral's Le Chat and Open AI's Chat GPT, and my own experience with pystray on scribe. It works.
I'm open for suggestion for other, platform-independent integrations to the OS.
Roadmap
Include more backends including local ones.
Hint
To read whole web pages check out the excellent unclutter browser extensions (reading mode).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bard_cli-0.4.1.tar.gz.
File metadata
- Download URL: bard_cli-0.4.1.tar.gz
- Upload date:
- Size: 18.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddabe6afde634adbba4ade159170d29da5c4b7b94963a282b0a70266a164d609
|
|
| MD5 |
d233fbf92145774ca9d0abd732134c03
|
|
| BLAKE2b-256 |
dc5121bd2406e61649dd55df0a1ade3998a8ff9b2260f44cd2472454f3800c00
|
Provenance
The following attestation bundles were made for bard_cli-0.4.1.tar.gz:
Publisher:
pypi.yml on perrette/bard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bard_cli-0.4.1.tar.gz -
Subject digest:
ddabe6afde634adbba4ade159170d29da5c4b7b94963a282b0a70266a164d609 - Sigstore transparency entry: 173481688
- Sigstore integration time:
-
Permalink:
perrette/bard@e617c0d2ef870a25cce20ec14c5b5742d3a5afd2 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/perrette
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@e617c0d2ef870a25cce20ec14c5b5742d3a5afd2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file bard_cli-0.4.1-py3-none-any.whl.
File metadata
- Download URL: bard_cli-0.4.1-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dec3a3098ab4bba252b5304e04952895447627bf2d47405dfa4a8d14d4c2d217
|
|
| MD5 |
ba5dc1c55d5a4e310f992c8e8aec7e63
|
|
| BLAKE2b-256 |
cac0475b8cc0d1cf2b0d01162004c400c613840ac566770360e1c15ce4587478
|
Provenance
The following attestation bundles were made for bard_cli-0.4.1-py3-none-any.whl:
Publisher:
pypi.yml on perrette/bard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bard_cli-0.4.1-py3-none-any.whl -
Subject digest:
dec3a3098ab4bba252b5304e04952895447627bf2d47405dfa4a8d14d4c2d217 - Sigstore transparency entry: 173481689
- Sigstore integration time:
-
Permalink:
perrette/bard@e617c0d2ef870a25cce20ec14c5b5742d3a5afd2 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/perrette
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@e617c0d2ef870a25cce20ec14c5b5742d3a5afd2 -
Trigger Event:
push
-
Statement type: