QuickDaw
A multitrack recorder that starts 30 seconds ago

What it does
The take you want most is the one nobody pressed record for. QuickDaw keeps holding every input on the interface, up to two minutes of it, so pressing record starts the take in the past. The soundcheck that turned out to be the performance is already on disk before you reach for the button.
The pre-roll costs nothing because it isn't a second buffer. There's one lock-free ring shared between the audio thread and the worker that writes to disk, and pressing record just starts the writer at a read position that's already thirty seconds behind. Nothing gets copied when the take begins, arming is free, and turning the pre-roll off just means a smaller ring.
When a disk stalls for longer than the ring holds, frames get lost and nothing can stop that. What QuickDaw won't do is hide it. The hole is padded with exactly as many frames of silence as were lost, and where it happened goes into the take's manifest. Butting the surviving audio up end to end would shorten every track by the same amount, so it'd be perfectly in sync with itself, out of step with everything else, and impossible to spot afterwards.
- One track per input on the chosen interface, mapped 1:1, each named and armed individually
- A continuous pre-roll buffer from 10 seconds to 2 minutes, so the take starts before the button
- Takes stream straight to a folder you choose as mono WAVs — one per track, plus a take.json recording the rate, the format, the length and any gaps
- 32-bit float or 24-bit, at the interface's own sample rate, with none of the browser's echo cancellation, noise suppression or automatic gain
- A meter bridge across every input — peak, RMS, peak hold and a latching clip flag — running from the moment the device opens, before anything is armed
- Buffer health on screen during a take: ring fill, worst fill, the slowest single disk write, and any frames lost
- Streaming playback of any take in the session, with per-track gain, pan, mute and solo
- A generated eight-channel test signal needing no interface and no microphone permission, whose input 1 is a 1 kHz tone at exactly -18 dBFS
- Self-hostable as a container image, with a compose file and an Unraid template
Where it stands
In development, and hosted rather than downloadable. The buffer arithmetic is checked numerically: 80 tests pin the lock-free ring across its 32-bit wrap and through a forced overrun, the WAV headers byte by byte, the 24-bit conversion against its own quantisation step, and the mixer's solo and pan rules. The rule everything rests on, that a take is the same length as the time it covers with every sample where it was captured, is tested by running a producer and a consumer against each other through forced stalls. Both AudioWorklets have been driven in a real browser, and the header-patching the file format depends on was checked against the real File System Access API, coming back bit-exact and readable by the browser's own decoder. What hasn't happened is a session with a real multichannel interface. The channel mapping, the sample-rate matching, the disk throughput across lots of files at once and how hours-long takes behave are correct by construction and by test, but unproven against hardware. The built-in test signal is there so you can check the chain yourself before you trust it with anything. Chrome or Edge on a desktop only: it needs the File System Access API to stream to a folder, and cross-origin isolation for the shared buffer the recorder is built on.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead