Jean-Claude Risset described the auditory illusion of an "eternal accelerando", where, similar to Shepard tones for pitch, a rhythm can be structured and played back in a way that creates the perception of constant acceleration.
In his 2011 paper "Scheduling and composing with Risset eternal accelerando rhythms", Dan Stowell provided a solution for implementing eternal accelerandos on (rhythmic) audio samples by employing variable play back rates and amplitudes distributed to a number of sample play back streams that run synchronized. Daniele Ghisi updated and enhanced this approach in "Barberpole tempo illusions" (2023).
This repo contains a Pure Data implementation of eternal accelerando/ decelerando following Stowell's and Ghisi's papers. The main component is jaycee.pd, a modular, stereo sample playback abstraction.
The abstraction contains the pd sampleplayer sub patch with 5 streams set up to play back a sample in different rates and amplitude to generate the eternal accelerando (or decelerando) effect.
The individual play back rates and depending amplitude envelopes for each stream are calculated with Stowell's formulas (2) and (3) in the stream~.pd abstractions. Ghisi suggested a correction to (3), which this implementation contains.

Written and tested in PD 0.56.5
Three examples for Risset eternal accelerando rhythms from an earlier version of this implementation can be seen on YouTube.
With 5 streams, the most convincing barberpole effect (lowest total amplitude variation, no audible jumps on metabar restart) seems to happen when 4 * τ = b, where τ is the metabar duration factor and b the bandwidth used in amplitude calculation.
Depending on the sound sample, the weight slider above the sample array can help smooth the effect by attenuating streams with peripheral play back rates (still experimental!).
PD-risset © 2024-2026 by Martin Heinze is licensed under CC BY-SA 4.0
