effects that have read to the end before they begin.
A realtime effect is causal: its output at time t can depend only on samples at or before t. A compressor must register a peak before it can reduce the gain; its running estimate and attack time follow from processing a signal it has not yet received in full.
Hindcasts removes that constraint by processing a static file as a complete span. An effect can respond before an event, filter in both temporal directions, measure and revise across passes, or fit a transfer curve to the file's full distribution.
Audio effects usually inherit realtime causality from monitoring, while image processing usually treats a saved frame or sequence as an object available in full. Hindcasts applies that second temporal model to audio and makes acausal operations in video expressive rather than corrective.
My approach comes from making digital work in the Philippines with uneven access to current hardware and reliable bandwidth. When realtime processing exceeds the available machine or connection, offline rendering trades a fixed hardware threshold for waiting. Better access does not erase what that constraint made legible: realtime is a design commitment, not the definition of an effect. Hindcasts asks what becomes possible when waiting is treated as a processing resource.
A granular delay in which a control signal supplies a future amplitude envelope and a source signal supplies the grains placed within it.
An offline dynamics processor that measures the file's amplitude distribution and maps it to a drawn transfer curve. The RMS window moves continuously from sample-level waveshaping to whole-file normalization.
An offline reverb that maps each event's release-to-next-onset gap, then fits or ducks its tail to the available span. The next event's level supplies masking credit, so inaudible spill need not be suppressed.
A video feedback field computed across a complete clip. Future and past frames can feed the current frame, producing trails before events and symmetric zero-phase wakes; rendered frames are cached for immediate scrubbing.
Voronoi hold regions stop refreshing their source pixels but continue to advect under the current motion field. They can receive content from future frames or a second clip, producing a non-grid, acausal image graft.
A stationarizer that analyzes a finite sound, redistributes selected grains across time, and renders a statistically even texture long enough to sample without an audible loop.
A model of magnetic print-through for audio and video. Mapping a complete clip onto a wound reel lets adjacent wraps exchange amplitude or image content, producing pre-echo, post-echo, and drifting VHS bleed.