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 indicator — Qt dock pill at top-center (Windows; bundled with install)
  • 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, 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


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.2.tar.gz (200.3 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.2-py3-none-any.whl (129.7 kB view details)

Uploaded Python 3

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

Hashes for sybl-0.1.2.tar.gz
Algorithm Hash digest
SHA256 dee2af2fda03d20e101df4f62fc73b6ac18e3d418031fd6e0729633c2d58fbe0
MD5 762fdbcd4b5149431699ad21ad4c8a2d
BLAKE2b-256 18b118acae2cb58f1f41e51f650242159616214fb1ae71667a3323783488995f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sybl-0.1.2.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.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

Hashes for sybl-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 505cd411615a8d7299aaf36f9b806fc9adedb46eaf2c06bf5b3c74dc59c48375
MD5 80505e668000f1ec6788e2d814e8a268
BLAKE2b-256 0c1f4cd1b30c47eae797365c1f25dc723a2f6ccdc7d9a48b9bbe49773f841702

See more details on using hashes here.

Provenance

The following attestation bundles were made for sybl-0.1.2-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