Open-source BYOK voice dictation — speak anywhere, transcribe fast, type it in.
Project description
sybl
Open-source, bring-your-own-key voice dictation. Put your cursor anywhere, hit a global shortcut, speak, and sybl transcribes it fast — then types it in for you.
The open-source alternative to closed dictation tools like Wispr Flow. No subscription, no sybl-hosted backend: your audio goes straight to the STT provider you choose.
Features
- Wispr-style hotkeys — hold for push-to-talk or double-press for hands-free
toggle on the same binding (default
bothmode) - BYOK STT — Groq Whisper (batch) and Deepgram (streaming) today; pluggable providers
- Background daemon —
sybl startreturns immediately;sybl tuifor logs and settings - Types where you were focused — clipboard-paste injection on Windows
- Listening indicator — Qt dock pill at top-center (Windows; bundled with install)
- Sound cues — built-in chime or custom
start.wav/stop.wavin your config folder - Custom vocabulary — STT hints for names and jargon via
sybl config vocab - Voice commands —
new line,period,commain final transcripts - Local-first — no telemetry; API keys in the OS keyring
Install
pipx install sybl
Or with uv:
uv tool install sybl
Requires Python 3.12+. Windows is the primary supported platform for the full core loop (hotkeys, injection, listening pill).
First install pulls ~45 Python packages (numpy, textual, STT SDKs, etc.) — expect
1–3 minutes on a cold pipx install; upgrades are faster.
Quick start
sybl setup # interactive first-run wizard (TTY)
sybl doctor
sybl config init # creates config.toml + sounds/ folder
sybl config set-key groq
sybl start # background daemon
sybl tui # optional — logs, history, settings
Scriptable helpers: sybl status --json, sybl providers, sybl config get/set,
sybl restart, sybl logs --follow. See CLI reference.
Hold Ctrl+Alt+Space (~200ms) for push-to-talk, or double-press for toggle.
Press Esc while listening to cancel. Stop the daemon with sybl stop.
See Getting started for the full walkthrough.
Documentation
| Doc | Description |
|---|---|
| Getting started | Install, first run, daemon + TUI |
| CLI reference | Categorized commands, --json, wizards, exit codes |
| Providers | Groq & Deepgram BYOK setup |
| Configuration | config.toml reference |
| Overlay indicator | Qt listening pill |
| Permissions | Microphone and injection notes |
| Development | Local dev, phases, integration tests |
| Roadmap | What's built and what's next |
| Daemon architecture | IPC and process model |
Contributing
Contributions welcome! See CONTRIBUTING.md and AGENTS.md for architecture and conventions.
License
MIT © Rikhil Nellimarla
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 sybl-0.1.2.tar.gz.
File metadata
- Download URL: sybl-0.1.2.tar.gz
- Upload date:
- Size: 200.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dee2af2fda03d20e101df4f62fc73b6ac18e3d418031fd6e0729633c2d58fbe0
|
|
| MD5 |
762fdbcd4b5149431699ad21ad4c8a2d
|
|
| BLAKE2b-256 |
18b118acae2cb58f1f41e51f650242159616214fb1ae71667a3323783488995f
|
Provenance
The following attestation bundles were made for sybl-0.1.2.tar.gz:
Publisher:
release.yml on Rikhil-Nell/sybl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sybl-0.1.2.tar.gz -
Subject digest:
dee2af2fda03d20e101df4f62fc73b6ac18e3d418031fd6e0729633c2d58fbe0 - Sigstore transparency entry: 2016803456
- Sigstore integration time:
-
Permalink:
Rikhil-Nell/sybl@b509674c9071eb884a42808f600cd22e1a65f100 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Rikhil-Nell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b509674c9071eb884a42808f600cd22e1a65f100 -
Trigger Event:
release
-
Statement type:
File details
Details for the file sybl-0.1.2-py3-none-any.whl.
File metadata
- Download URL: sybl-0.1.2-py3-none-any.whl
- Upload date:
- Size: 129.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
505cd411615a8d7299aaf36f9b806fc9adedb46eaf2c06bf5b3c74dc59c48375
|
|
| MD5 |
80505e668000f1ec6788e2d814e8a268
|
|
| BLAKE2b-256 |
0c1f4cd1b30c47eae797365c1f25dc723a2f6ccdc7d9a48b9bbe49773f841702
|
Provenance
The following attestation bundles were made for sybl-0.1.2-py3-none-any.whl:
Publisher:
release.yml on Rikhil-Nell/sybl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sybl-0.1.2-py3-none-any.whl -
Subject digest:
505cd411615a8d7299aaf36f9b806fc9adedb46eaf2c06bf5b3c74dc59c48375 - Sigstore transparency entry: 2016803542
- Sigstore integration time:
-
Permalink:
Rikhil-Nell/sybl@b509674c9071eb884a42808f600cd22e1a65f100 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Rikhil-Nell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b509674c9071eb884a42808f600cd22e1a65f100 -
Trigger Event:
release
-
Statement type: