Skip to content

exler/rekord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

🎙️ Local, privacy-focused real-time meeting transcription app

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages