Handsfree speech-to-text daemon for Linux
Project description
handsfreed
handsfreed is a local, real-time speech-to-text daemon for Linux. It uses the faster-whisper library to provide high-quality, offline transcription.
This package is the daemon component of the Handsfree project. It is controlled by the handsfreectl command-line tool.
Installation
Manual Installation
handsfreed requires PortAudio, which is a dependency of the sounddevice Python library. You must install the PortAudio library and its development headers using your system's package manager.
-
Debian/Ubuntu:
sudo apt-get install libportaudio2 libportaudiocpp0 portaudio19-dev
-
Fedora/CentOS/RHEL:
sudo dnf install portaudio-devel
-
Arch Linux:
sudo pacman -S portaudio
The handsfreed daemon is controlled by the handsfreectl command-line tool. You must install it separately.
-
You can download pre-compiled binaries from the handsfreectl releases page.
-
If you have the Cargo installed, you can install
handsfreectlfrom Crates.io:cargo install handsfreectl
Once the dependencies are installed, you can install handsfreed using pip:
pip install handsfreed
Nix Flake
If you use the Nix package manager with flakes enabled, the Handsfree flake provides both handsfreectl and handsfreed packages along with a Home Manager module to configure and manage the handsfreed daemon as a systemd service.
For detailed instructions on how to add the flake to your system and configure the service, please refer to the Handsfree flake's README.
Usage
handsfreed is designed to be run as a background service.
-
Create a configuration file: Create a configuration file at
~/.config/handsfree/config.toml. You can start with the example configuration. -
Run the daemon: The daemon will start listening for commands from
handsfreectl.handsfreed
-
Control with
handsfreectl: Use thehandsfreectlCLI to start/stop transcription and check the status of the daemon.
Configuration
handsfreed is configured via a TOML file located at ~/.config/handsfree/config.toml. The configuration allows you to set up your audio input, Whisper model, VAD parameters, and more.
For a full list of configuration options, please see the example configuration file.
License
This project is licensed under the GNU General Public License v3.0.
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 handsfreed-0.2.0.tar.gz.
File metadata
- Download URL: handsfreed-0.2.0.tar.gz
- Upload date:
- Size: 50.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40d4dc0ef3f2b728bf342e37635d7f982fbc5f57760853e91704953415277fd6
|
|
| MD5 |
24e5bda57e77fa7ddcb72ea5760c6905
|
|
| BLAKE2b-256 |
940375e72bdbaf0d795db266ddd41068c284915264aaea36209ca2496edc5de5
|
Provenance
The following attestation bundles were made for handsfreed-0.2.0.tar.gz:
Publisher:
publish.yml on achyudh/handsfreed
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
handsfreed-0.2.0.tar.gz -
Subject digest:
40d4dc0ef3f2b728bf342e37635d7f982fbc5f57760853e91704953415277fd6 - Sigstore transparency entry: 730376576
- Sigstore integration time:
-
Permalink:
achyudh/handsfreed@c1cc99e4b24a9befb02eda3e49d5f5b248e30c0e -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/achyudh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c1cc99e4b24a9befb02eda3e49d5f5b248e30c0e -
Trigger Event:
release
-
Statement type:
File details
Details for the file handsfreed-0.2.0-py3-none-any.whl.
File metadata
- Download URL: handsfreed-0.2.0-py3-none-any.whl
- Upload date:
- Size: 41.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d709badc0d9d8d54e9e6951f8ca9b4c9de08cfdd997250ef60fb1f9d3976e13b
|
|
| MD5 |
e5f1ac10800630698d03b4c06a775dd3
|
|
| BLAKE2b-256 |
2aa10217fb8eaaed4febe2241a4b1c5e857c6c50a055de853245a3ae8b92e83d
|
Provenance
The following attestation bundles were made for handsfreed-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on achyudh/handsfreed
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
handsfreed-0.2.0-py3-none-any.whl -
Subject digest:
d709badc0d9d8d54e9e6951f8ca9b4c9de08cfdd997250ef60fb1f9d3976e13b - Sigstore transparency entry: 730376587
- Sigstore integration time:
-
Permalink:
achyudh/handsfreed@c1cc99e4b24a9befb02eda3e49d5f5b248e30c0e -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/achyudh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c1cc99e4b24a9befb02eda3e49d5f5b248e30c0e -
Trigger Event:
release
-
Statement type: