Skip to main content

bard is a text to speech tool based on existing open-source models (local install) and APIs to install on your desktop

Project description

pypi

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 --audio-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bard_cli-0.5.0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bard_cli-0.5.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file bard_cli-0.5.0.tar.gz.

File metadata

  • Download URL: bard_cli-0.5.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bard_cli-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1dd64771da867e69d233a412a51e7bfcc83d32f8e4fc4718860252b308a31d24
MD5 443199c9fd320eb879aa4e284cb3c29a
BLAKE2b-256 f19933b400bf99a291a7a7f5b01ac994ebe1b1cc38a53a9816a350bee449348f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bard_cli-0.5.0.tar.gz:

Publisher: pypi.yml on perrette/bard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bard_cli-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: bard_cli-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bard_cli-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71cecc203f95cfa0d221cf080e942c9e2d0cad43af1b46f6f3d52be21b274dcf
MD5 a21cd230eb5be4f9b95dc5bd0a0b1884
BLAKE2b-256 d2201975b2a1c4721f761b99aeae2926165690b584bb824283f7d04c3214fce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for bard_cli-0.5.0-py3-none-any.whl:

Publisher: pypi.yml on perrette/bard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page