Call Recorder
Records microphone and system audio (everything playing on your speakers/headphones) into a single MP3 file — ideal for transcription with Whisper, Gemini, or similar services.
Requirements
- Linux with PipeWire / PulseAudio
ffmpeg
Usage
# Start recording before your call
./record.sh
# Join your call normally, then press Ctrl+C when done.
# Recording is saved to recordings/call_YYYYMMDD_HHMMSS.mp3
Check which inputs are active
./record.sh --show-inputs
Displays a live bar chart of both inputs in the terminal:
Mikrofon : [████████████░░░░░░░░░░░░░░░░░░] -18 dB
System Audio : [░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] -60 dB
Colour coding: green (normal) → yellow (−12 dB) → red (−3 dB). Press Ctrl+C to exit.
List available audio sources
./list-sources.sh
How it works
record.sh detects the default PipeWire/PulseAudio sink, then runs ffmpeg to simultaneously capture:
- Microphone — PulseAudio default source
- System audio — monitor of the default sink (everything you hear)
Both streams are mixed and encoded as MP3 at 128 kbps (~11 MB / 15 min).
Troubleshooting
Missing system audio or microphone?
Run ./list-sources.sh to inspect available devices. The script auto-detects the default sink at startup — if you switched audio output after launching (e.g. plugged in headphones), restart the script.
License
This project is licensed under the GNU General Public License v3.0.