## Risset rhythm - eternal accelerando

Roger Shepard invented a method for creating a musical scale which can seem to increase in pitch forever. Jean-Claude Risset extended this and applied it to rhythm as well as pitch, realising that a sound could be created whose tempo appeared to speed up (or slow down) indefinitely.

Here's one way to achieve this effect in SuperCollider, taking a recorded breakbeat as a basis:

```// Written by Dan Stowell, September 2006

b = Buffer.read(s,"sounds/break2.snd"); // Provide a simple breakbeat loop
(
var ampTable = Signal.hanningWindow(1024,100).squared;

SynthDef("accelerando_inf1", { arg out=0,bufnum=0;

var pos, posses, pitches, amps, sons;

// "pos" is a kind of master pitch control, linear varying between one and zero
pos = Phasor.ar(1, 0.007 / SampleRate.ir, 0, 1);

posses = (pos + ((0..4)/5)).wrap(0.0, 1.0); // Evenly spaced circularly within 0 to 1

pitches = (0.2 * 2.0.pow(posses * 5));

amps = BufRd.kr(1, ampBuf.bufnum, posses * BufFrames.ir(ampBuf.bufnum));

sons = (PlayBuf.ar(1, bufnum, pitches.poll(100), loop:1) * amps * 10);

Out.ar(out,
Pan2.ar(sons.mean.softclip)
)
}).play(s,[\out, 0, \bufnum, b.bufnum]);
)
```

Here's a recording: Risset_accelerando_beat1.mp3

Other methods were discussed too: http://elists.resynthesize.com/sc-users/2006/09/1632851/