Skip to main content

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.

CI

License: MIT

Python 3.12+

PyPI version

Features

  • Wispr-style hotkeys — hold for push-to-talk or double-press for hands-free

    toggle on the same binding (default both mode)

  • BYOK STT — Groq Whisper (batch) and Deepgram (streaming) today; pluggable providers

  • Background daemonsybl start returns immediately; sybl tui for logs and settings

  • Types where you were focused — clipboard-paste injection on Windows

  • Listening pill — small overlay near your cursor while dictating (Windows)

  • Sound cues — built-in chime or custom start.wav / stop.wav in your config folder

  • Custom vocabulary — STT hints for names and jargon via sybl config vocab

  • Voice commandsnew line, period, comma in 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, indicator).

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 doctor

sybl config init          # creates config.toml + sounds/ folder

sybl config set-key groq

sybl start                # background daemon

sybl tui                  # optional — logs, history, settings

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 |

| Providers | Groq & Deepgram BYOK setup |

| Configuration | config.toml reference |

| 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


Download files

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

Source Distribution

sybl-0.1.1.tar.gz (156.7 kB view details)

Uploaded Source

Built Distribution

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

sybl-0.1.1-py3-none-any.whl (91.1 kB view details)

Uploaded Python 3

File details

Details for the file sybl-0.1.1.tar.gz.

File metadata

  • Download URL: sybl-0.1.1.tar.gz
  • Upload date:
  • Size: 156.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sybl-0.1.1.tar.gz
Algorithm Hash digest
SHA256 364d012e519b2011aba811b448b6804f24cfabaa76aa91bd07b33a0482872ea3
MD5 1b39c69fe37a6176e4aa29d6af600558
BLAKE2b-256 bfe3709083c43992389dd556488af5d24361b2ce12242d0bfbb5a9cd30d46cfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for sybl-0.1.1.tar.gz:

Publisher: release.yml on Rikhil-Nell/sybl

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

File details

Details for the file sybl-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sybl-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 91.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sybl-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a9d6572f63b0511c301812b96e5e4272b163607e77f51b23829535e109f66a9
MD5 4aea6bf581fe61dbc0247caea501e55b
BLAKE2b-256 bf96875af7a1c62c7a3d9b79d1bdf113649823a07558e91319f277f99ddd7fbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for sybl-0.1.1-py3-none-any.whl:

Publisher: release.yml on Rikhil-Nell/sybl

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