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.

S
Description
Records microphone + system audio into MP3 for transcription with Whisper/Gemini
Readme
30 KiB
Languages
Shell 100%