🎙️ Local, privacy-focused real-time meeting transcription app
Find a file
2026-03-08 10:26:17 +01:00
.github/workflows ci: Create a GitHub Action for releasing the binary 2026-02-08 19:38:56 +01:00
cmd/rekord feat: Upgrade CharmBracelet dependencies to v2 2026-03-08 10:26:17 +01:00
docs docs: Add screenshot to README 2026-02-08 20:11:07 +01:00
internal feat: Upgrade CharmBracelet dependencies to v2 2026-03-08 10:26:17 +01:00
.gitignore feat: Create MVP 2026-02-08 19:26:30 +01:00
AGENTS.md ci: Create a GitHub Action for releasing the binary 2026-02-08 19:38:56 +01:00
go.mod feat: Upgrade CharmBracelet dependencies to v2 2026-03-08 10:26:17 +01:00
go.sum feat: Upgrade CharmBracelet dependencies to v2 2026-03-08 10:26:17 +01:00
LICENSE Initial commit 2026-02-05 23:28:18 +01:00
README.md feat: Upgrade CharmBracelet dependencies to v2 2026-03-08 10:26:17 +01:00

Rekord

A Go TUI application for real-time meeting transcription using local speech-to-text. Works with any meeting application by capturing system audio.

Features

  • Captures system audio using PulseAudio/PipeWire monitor sources
  • Works with any meeting application (Zoom, Meet, Teams, Discord, etc.)
  • Fully local transcription using whisper.cpp - no API calls, no data sent anywhere
  • Real-time transcription display with audio level visualization
  • Save transcripts to text files
  • Beautiful TUI interface built with Bubble Tea

Screenshot

Requirements

System Dependencies

# Fedora
sudo dnf install portaudio-devel pipewire-pulseaudio gcc-c++ make

# Ubuntu/Debian
sudo apt install portaudio19-dev pulseaudio-utils build-essential

# Arch Linux
sudo pacman -S portaudio pulseaudio-utils base-devel

whisper.cpp

You need to install whisper.cpp for the transcription engine:

# Clone and build whisper.cpp
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
make

# Install the binary
sudo cp build/bin/whisper-cli /usr/local/bin/whisper

Download a Model

Download a Whisper model from Hugging Face:

# Create models directory
mkdir -p ~/.rekord/models

# Download base English model (recommended default)
wget -P ~/.rekord/models https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin

For more context regarding model selection, see the whisper.cpp model files instructions.

Installation

# Install via Go
go install github.com/exler/rekord/cmd/rekord@latest

Download a prebuilt binary from GitHub Releases:

https://github.com/exler/rekord/releases

Or build from source:

# Clone the repository
git clone https://github.com/exler/rekord
cd rekord

# Build
go build -o rekord ./cmd/rekord

Usage

# Run with default settings (uses default audio monitor and base model)
rekord

# Specify a different model
rekord -model ~/.rekord/models/ggml-small.en.bin

# Specify a specific audio device
# Use `pactl list sources short` to find the correct monitor source for your system
rekord -device alsa_output.pci-0000_00_1f.3.analog-stereo.monitor

Development

go run cmd/rekord/main.go

Configuration

Environment variables:

  • WHISPER_PATH: Path to the whisper.cpp executable (default: searches in PATH and common locations)

Command-line flags:

  • -model: Path to the Whisper model file
  • -device: Audio device name (use pactl list sources short to list)
  • -output: Output directory for saved transcripts

License

Rekord is under the terms of the MIT License, following all clarifications stated in the license file.