privacy-toolkit/tools/meeting-record/README.md
2025-12-31 19:44:07 -07:00

140 lines
4 KiB
Markdown

# Meeting Record - Private Voice Recording & Transcription
Local voice recording with live Whisper transcription. **All processing happens on your machine - no cloud APIs, no data leaves your computer.**
## Why This Exists
Most "AI voice recorders" (Plaud Note knockoffs, etc.) are just microphones that send your audio to cloud servers for processing. You're paying for hardware that:
- Sends your private conversations to unknown servers
- Requires monthly subscriptions after free tier
- May store/analyze your data for training or other purposes
- Stops working if the company shuts down
**Meeting Record** does the same thing, but locally. Your audio never leaves your machine.
## Features
- **Continuous recording** - Full audio backup of entire meeting
- **Live transcription** - See transcripts as you speak (10-second chunks)
- **Final transcription** - High-quality full transcription when you stop
- **100% local** - Uses whisper.cpp, no internet required
- **No subscriptions** - Free forever, you own it
## Installation
```bash
./install.sh
```
The installer will:
1. Install system dependencies (ffmpeg, pulseaudio-utils, build tools)
2. Clone and build whisper.cpp
3. Download the Whisper model (base.en by default - fast & good)
4. Install the `meeting-record` scripts to `~/bin/`
### Custom Options
```bash
# Use different model (tiny, base, small, medium, large)
WHISPER_MODEL=small.en ./install.sh
# Custom install location
WHISPER_CPP_DIR=/opt/whisper.cpp ./install.sh
# Custom bin directory
BIN_DIR=/usr/local/bin ./install.sh
```
## Usage
```bash
# Start recording (auto-named with timestamp)
meeting-record
# Named recording
meeting-record "client-call-acme-corp"
# 30-second test to verify setup
meeting-record-test
```
Press **Ctrl+C** to stop recording. The script will:
1. Stop audio capture
2. Generate a high-quality final transcript
3. Show you where all files are saved
## Output Files
After recording a meeting named "client-call", you'll find:
```
~/Recordings/meetings/client-call/
├── full-audio.wav # Complete recording (your backup)
├── live-transcript.txt # Real-time chunked transcription
├── final-transcript.txt # High-quality full transcription
├── chunks/
│ ├── chunk-0000.wav
│ ├── chunk-0001.wav
│ └── ...
└── transcripts/
├── chunk-0000.txt
├── chunk-0001.txt
└── ...
```
## Requirements
- Linux (Debian/Ubuntu/Fedora/Arch)
- PulseAudio or PipeWire (for audio capture)
- ~500MB disk space for whisper.cpp + model
## Model Options
| Model | Size | Speed | Quality | Best For |
|-------|------|-------|---------|----------|
| tiny.en | 75MB | Fastest | Basic | Quick notes |
| base.en | 148MB | Fast | Good | **Recommended** |
| small.en | 488MB | Medium | Better | Important meetings |
| medium.en | 1.5GB | Slow | Great | Accuracy-critical |
| large | 3GB | Slowest | Best | Maximum accuracy |
Change model with: `WHISPER_MODEL=small.en ./install.sh`
## Troubleshooting
**"parecord not found"**
```bash
sudo apt install pulseaudio-utils # Debian/Ubuntu
sudo dnf install pulseaudio-utils # Fedora
```
**"No audio being captured"**
- Check your default audio source: `pactl list sources`
- Make sure microphone is not muted
**"whisper-cli not found"**
- The installer should build this. If it failed, check cmake output
- You can rebuild: `cd ~/opt/whisper.cpp/build && cmake --build .`
**"meeting-record: command not found"**
- Add ~/bin to PATH: `export PATH="$HOME/bin:$PATH"`
- Add this to your `~/.bashrc` or `~/.zshrc`
## Privacy Comparison
| Feature | Cloud AI Recorders | Meeting Record |
|---------|-------------------|----------------|
| Audio processing | Remote servers | Local only |
| Data storage | Their servers | Your disk |
| Internet required | Yes | No |
| Monthly fees | Usually | Never |
| Works offline | No | Yes |
| You control data | No | Yes |
## License
MIT - Do whatever you want with it.
---
*Part of the [Privacy Toolkit](../../README.md) - Tools for digital sovereignty.*