Timemachine
A JACK aplication that can retrospectively record audio.
Install / Use
/learn @swh/TimemachineREADME
TimeMachine
I used to always keep a minidisc recorder in my studio running in a mode where when you pressed record it wrote the last 10 seconds of audio to the disk and then caught up to realtime and kept recording. The recorder died and haven't been able to replace it, so this is a simple jack app to do the same job. It has the advantage that it never clips and can be wired to any part of the jack graph.
The idea is that I doodle away with whatever is kicking around in my studio and when I heard an interesting noise, I'd press record and capture it, without having to try and recreate it. :)
Building
This app requires:
- JACK
- GTK+ 2.x
- libsndfile
and optionally:
- LASH
- liblo
You will also need the -devel packages if you're using packages.
./configure
make
su -c "make install"
Usage
Run it with "timemachine" then connect it up with a jack patchbay app. To start recording click in the window, to stop recording click in the window again.
It will create a file following tm-*.wav, with an ISO 8601 timestamp, eg tm-2003-01-19T20:47:03.wav. The time is the time that the recording starts from, not when you click.
OSC
If you compiled with liblo, TimeMachine supports starting stopping via OSC,
triggered by sending a message with the path /start or /stop and no
arguments.
Example Python code:
import liblo
liblo.send(('localhost',7133), '/start')
liblo.send(('localhost',7133), '/stop')
Contact
You can report bugs through github at https://github.com/swh/timemachine
Related Skills
pestel-analysis
Analyze political, economic, social, technological, environmental, and legal forces
ai-cmo
Collection of my Agent Skills and books.
next
A beautifully designed, floating Pomodoro timer that respects your workspace.
product-manager-skills
38PM skill for Claude Code, Codex, Cursor, and Windsurf: diagnose SaaS metrics, critique PRDs, plan roadmaps, run discovery, and coach PM career transitions.
