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.
Basic Flow
- Pick a microphone, system-output loopback device, or app audio source.
- Choose local or cloud mode for that source.
- Press
Enterto start a transcription slot. - Watch committed and tentative transcript text stream into the TUI.
- 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
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 voice_bird_cli-0.3.3.tar.gz.
File metadata
- Download URL: voice_bird_cli-0.3.3.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b40b582ee2cf70aec7a09019b98042c61effd3d0080fe5b7f53f1f102228539
|
|
| MD5 |
27a52af82401e712c370116b0acc7b02
|
|
| BLAKE2b-256 |
edb64670f1a8f11381fa68e66b33a93927edba3efe0728ac822a625adc39cfa8
|
File details
Details for the file voice_bird_cli-0.3.3-py3-none-any.whl.
File metadata
- Download URL: voice_bird_cli-0.3.3-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae80578e2a9493ff6f8903b5c990731d6b6991059ae5e951c71e6b7c0efdd18
|
|
| MD5 |
51678ef8496649ea68262f297a0b9a69
|
|
| BLAKE2b-256 |
fc38ae545b71b0743b4763e79b98ade84639fa992263e06ef1a94f6225958789
|