Platform Quick-Start¶
This page covers platform-specific prerequisites, build steps, and first-run examples for macOS, Linux, and Windows.
For the install walkthrough, dependency overview, and backend configuration, see Getting Started.
Prerequisites¶
- macOS 12 (Monterey) or later — Intel and Apple Silicon both supported
-
Go 1.23+ — install via Homebrew:
brew install go -
(Optional)
ffmpegfor advanced WAV handling:brew install ffmpeg
Build¶
git clone https://github.com/Blackrim-Vox/blackrim-vox.git
cd blackrim-vox
make build
# Produces ./bin/vox
First run — transcribe a WAV (no API key, no network)¶
./bin/vox transcribe --asr echo path/to/file.wav
Live mic — echo stub¶
./bin/vox transcribe --live --asr echo
# Grant the microphone permission prompt once, then Ctrl-C to stop.
Local Whisper (offline, on-device)¶
./scripts/install-whisper-model.sh # downloads ggml-base.en (~150 MB)
./bin/vox transcribe --live --asr whisper-cli
To install the whisper-cpp binary if it is not already on your PATH:
./scripts/install-whisper-model.sh --install-deps yes
Cloud ASR — bring your own key¶
# Deepgram (streaming + REST)
DEEPGRAM_API_KEY=dg_... ./bin/vox transcribe --live --asr deepgram
# AssemblyAI (REST)
ASSEMBLYAI_API_KEY=... ./bin/vox transcribe --live --asr assemblyai
# Azure Cognitive Services Speech
AZURE_SPEECH_KEY=... AZURE_SPEECH_REGION=eastus \
./bin/vox transcribe --live --asr azure
# Fallback chain — tries each backend in order
./bin/vox transcribe --live --asr fallback --asr-fallback deepgram,whispercli
Continuous listen mode¶
./bin/vox listen --asr whisper-cli
Indicator surface — macOS menubar¶
Status: scaffolded.
The daemon publishes recording state over a local Unix socket
(~/.vox/indicator.sock) via internal/indicator/ipc/. Native CGo
finalization — NSStatusItem menubar item and overlay dot — is not yet
rendered. The indicator subsystem compiles and the IPC socket is live;
the visible menubar icon is tracked in the roadmap.
Known limitations¶
- Native menubar icon not yet rendered (scaffolded, not finalized)
- Overlay dot requires CGo finalization (roadmap)
Prerequisites¶
- Linux kernel 5.x or later with ALSA or PulseAudio
-
Go 1.23+ — install via your package manager:
# Debian / Ubuntu sudo apt install golang-go # Fedora sudo dnf install golang # Arch sudo pacman -S go -
(For local Whisper) build tools:
# Debian / Ubuntu sudo apt install make cmake g++ # Fedora sudo dnf install make cmake gcc-c++ # Arch sudo pacman -S base-devel cmake
Build¶
git clone https://github.com/Blackrim-Vox/blackrim-vox.git
cd blackrim-vox
make build
# Produces ./bin/vox
Transcribe a WAV¶
./bin/vox transcribe --asr echo path/to/file.wav
Live mic¶
Live capture status
ALSA/PulseAudio live capture is not yet fully wired. Transcribing
from a pre-recorded WAV file works reliably. Live mic input on Linux
falls back to the filewav-based path and is best-effort today.
# Best-effort; results depend on your audio stack
./bin/vox transcribe --live --asr echo
Cloud ASR — bring your own key¶
DEEPGRAM_API_KEY=dg_... ./bin/vox transcribe --asr deepgram path/to/file.wav
ASSEMBLYAI_API_KEY=... ./bin/vox transcribe --asr assemblyai path/to/file.wav
Indicator surface — system tray¶
Status: roadmap.
internal/indicator/tray/tray_linux.go is implemented using
ayatana-appindicator3 and D-Bus, but requires the native library at
runtime. Until tray integration ships, recording state appears in stderr:
./bin/vox listen --asr echo
# Recording state logged to stderr
Full tray integration is tracked in the roadmap.
Known limitations¶
- Live microphone capture is best-effort (ALSA/PulseAudio adapter not yet wired)
- System tray requires
libayatana-appindicator3at runtime (roadmap) - Local Whisper build requires
make,cmake, andg++
Prerequisites¶
- Windows 10 version 1909 or later, or Windows 11
- Go 1.23+ from https://go.dev/dl/
- Git for Windows from https://git-scm.com/download/win
- (For local Whisper) MSYS2 or WSL2 to build
whisper.cpp
Build (PowerShell)¶
git clone https://github.com/Blackrim-Vox/blackrim-vox.git
cd blackrim-vox
go build -o bin\vox.exe .\cmd\vox\...
make build also works if you have GNU make available via MSYS2 or
Chocolatey.
First run — transcribe a WAV¶
.\bin\vox.exe transcribe --asr echo path\to\file.wav
Cloud ASR — bring your own key¶
$env:DEEPGRAM_API_KEY = "dg_..."
.\bin\vox.exe transcribe --asr deepgram path\to\file.wav
$env:ASSEMBLYAI_API_KEY = "..."
.\bin\vox.exe transcribe --asr assemblyai path\to\file.wav
Continuous listen mode¶
.\bin\vox.exe listen --asr echo
Indicator surface — system tray¶
Status: roadmap.
internal/indicator/tray/tray_windows.go is implemented using
Shell_NotifyIcon / Win32, but CGo finalization is not yet complete.
Foreground CLI mode is the supported path today:
.\bin\vox.exe listen --asr echo
# Recording state printed to the console
Full tray integration is tracked in the roadmap.
Known limitations¶
- System tray icon requires CGo finalization (roadmap)
- Local Whisper build requires MSYS2 or WSL2
- Live microphone capture on Windows is untested; WAV file transcription is the verified path