Skip to main content

Voice Bird CLI - local-first voice transcription TUI

Project description

Voice Bird CLI

Voice Bird CLI is a terminal voice transcription app. It runs locally by default with Whisper models, so local recordings stay on your machine. When you want hosted transcription, you can opt in per source to VoiceBird Web cloud mode.

Voice Bird CLI basic flow

Basic Flow

  1. Pick a microphone, system-output loopback device, or app audio source.
  2. Choose local or cloud mode for that source.
  3. Press Enter to start a transcription slot.
  4. Watch committed and tentative transcript text stream into the TUI.
  5. In local mode, review session files under ~/voice-bird/sessions/<timestamp>-<source>/.

Local sessions contain:

File Content
audio.wav 16 kHz mono recording
transcript.jsonl Append-only transcript log, useful after crashes
transcript.json Finalized transcript segments and metadata
transcript.txt Plain-text transcript
meta.json Device, source, model, engine, and duration

Getting Started

Install one of the CLI packages, then run:

voice-bird-cli

On first launch, Voice Bird picks a local Whisper model and downloads it into your OS cache directory. The default model is distil-small.en. Settings are stored in ~/.config/voice-bird/config.toml on Linux/macOS and %APPDATA%\voice-bird\config.toml on Windows.

Press m to change models. The picker includes nemotron-3.5-asr-streaming-0.6b, NVIDIA's latest Nemotron 3.5 ASR streaming model via the local parakeet-rs engine. Select it, let the package download/unpack, then start recording; the engine label and meta.json should show nemotron.

macOS users may need to grant Screen Recording permission for system or app audio capture. Apple Silicon users can optionally build the WhisperKit sidecar for ANE-accelerated local inference:

cargo run -p xtask -- build-sidecar

Without the sidecar, Voice Bird falls back to whisper-rs with whisper.cpp.

Install

Cargo installs the native Rust binary directly:

cargo install voice-bird-cli

PyPI installs a small wrapper that installs/runs the Cargo binary:

pipx install voice-bird-cli
# or
pip install voice-bird-cli

npm installs a small wrapper that installs/runs the Cargo binary:

npm install -g voice-bird-cli

From source:

git clone https://github.com/voice-bird/voice-bird-cli.git
cd voice-bird-cli
cargo install --path .

The npm and PyPI packages require Rust Cargo on the machine. Use the Cargo or source install when you want the simplest path.

Local And Cloud Modes

Free local mode is the default. It uses local Whisper inference through whisper-rs, or WhisperKit on macOS when the sidecar is available. Local mode does not send audio to a server and writes session artifacts to disk. Current local models are English-focused in the app flow.

Cloud mode streams audio to VoiceBird Web at wss://voicebird.app/api/audio/stream. It is opt-in, requires a Voice Bird API key, and is useful when local hardware cannot keep up or when you want cloud language support. Cloud recordings live in your VoiceBird Web account instead of the local sessions folder.

Your Voice Bird API key is stored in plaintext in config.toml; on Unix the app sets the file to 0600 best-effort.

Usage

voice-bird-cli                         # start the TUI
voice-bird-cli --recover <session-dir> # rebuild transcript.{json,txt} after a crash

Keys

Key Action
/ Select device or app
/ Move between panes
Enter Start the selected source
Space Clear selected app pairing
Tab Move between transcript slots
r Refresh devices and apps
c Toggle cloud mode for the focused source
l Change language for cloud mode
m Change model
e Export the latest local transcript
p Change local session path
x Clear stopped transcript slot
q Quit
? Help

License

MIT

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

voice_bird_cli-0.3.4.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

voice_bird_cli-0.3.4-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file voice_bird_cli-0.3.4.tar.gz.

File metadata

  • Download URL: voice_bird_cli-0.3.4.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for voice_bird_cli-0.3.4.tar.gz
Algorithm Hash digest
SHA256 db2725ea2d26e1b05d7996855a9e41a191a47eaaa6df64954085b20ec760385c
MD5 af3e7490bf5d273562b7057ed9911c1c
BLAKE2b-256 a4f8408a48e247ab86b34b3eecaefd39ecb01066c46ec0b5a69995b12bcd2fe4

See more details on using hashes here.

File details

Details for the file voice_bird_cli-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: voice_bird_cli-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for voice_bird_cli-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a467e7d8f322b5550b0a6de0f4481e4cf97dd69a8bba309de5a37d3c11a9a241
MD5 385bfe11ba3e493a57d54f6116b224d6
BLAKE2b-256 23cd3af14fcc7c07ad65f0af6ca780619bab077fa7c08b1e1c538f27ed53ba47

See more details on using hashes here.

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