Ever wished you could save funny conversations after something interesting already happened? This little Python tool has your back 😄
It continuously records audio (captures your yapping) into a rolling 3-minute buffer.
When you press Enter ⏎, the last 3 minutes are instantly saved as a .wav file.
Recording then continues like nothing happened.
Perfect for “wait, I should’ve recorded that” moments ✨
Warning
This tool is intended for use only with the consent of all participants. Recording people without their knowledge or consent may be illegal or unethical. So please make sure everyone involved has agreed to be recorded.
- 🎧 Continuous audio recording
- ⏱️ Rolling buffer of the last 3 minutes
- ⌨️ Press Enter ⏎ to save the buffer to a
.wavfile - 📂 Clips are stored in a directory you choose
- 🔁 Keeps recording after each save
This project uses uv for dependency management 🚀
-
Install
uv(if you haven’t already):pip install uv
-
a) Create and sync the environment:
uv sync
b) Or just install the local repo with
uv tool:uv tool install .
Run the script and tell it where to save your clips:
# When inside this repo, you can do
uv run yapcap clips/
# If you have installed it with uv tools, you can simply do
yapcap clips/What happens next:
- Recording starts immediately 🎶
- Audio is continuously buffered (last 3 minutes)
- Press Enter ⏎ at any time
- The buffered audio is saved as a
.wavfile inclips/ - Recording continues automatically 🔄
You can also change the duration (in seconds) and the samplerate (in Hz):
# buffer and save the last 10 minutes
yapcap clips/ --seconds 600
# use an adequate rate for speech (according to the audacity manual)
yapcap clips/ --samplerate 32000See more about sample rates on Audacity Manual - Sample Rates.