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

Uploaded Python 3

File details

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

File metadata

  • Download URL: voice_bird_cli-0.3.2.tar.gz
  • Upload date:
  • Size: 4.6 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.2.tar.gz
Algorithm Hash digest
SHA256 d86adb113ed9ecd5382e3f15e9938db12335d35622e70f92a735069a5538be97
MD5 3fc1795b064d6287e09b32c9c34d36f6
BLAKE2b-256 079c186d75369b9a76dab27f2cd727b7eba4a2c26c3441a9f861ebc83bc72039

See more details on using hashes here.

File details

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

File metadata

  • Download URL: voice_bird_cli-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 5.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7d14be0423b31ccdb707dc9ae0ade326767c11a84fd56d82eb0bff9a59176ff4
MD5 693eb49d161027c46d7196acd713f72d
BLAKE2b-256 7feea1f2eda7297303c4d8745ed839bfb15cf52b99d7c79265782944985fc962

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