Sample-scanning pattern effect command

LittleGPTracker has a command called “LPOF aabb”. What it does is implicitly divide a sample into 256 chunks, and then allow the the loop start point to be slid to one of these points. The end point is offset by the same amount. (If “aa” is nonzero, it shifts the start point absolutely. Otherwise, if “bb” is nonzero, it shifts the start point relatively)

Why is this cool? It can be used for:

  • Tricky sample slicing (not that interesting for Renoise because of the -Sxx commands).
  • Gritty timestretching
  • Wavetable synthesis.

Imagine you have a sample with 16 waves, and the loop start and end point are wrapped around the first wave. If you were to gradually increment the offset by one chunk at a time by repeatedly calling “LPOF 0001”, you would hear the waves be gradually swept through to the end. This could be done in a phrase (in LittleGPTracker, it’s common to do it in a “table”, which is like a simplified form of phrase). Even if the loop start and end points are not at a zero-crossing, as long as they start and end at the same amplitude, the wave will be seamless.

It is true that Renoise 3+ now allows for a rudimentary form of wavetable synthesis by crossfading between single-cycle samples (https://forum.renoise.com/t/waveform-crossfading/44650). And since the phases of the waves line up, it is a valid way to “morph” between waves. However, a sample-scanning pattern effect command would allow for more dramatic “morphing” of waves, in my opinion.

More information about “LPOF aabb” can be found herehttp://wiki.littlegptracker.com/doku.php?id=lgpt:tips_tricks. LSDJ implements a similar command called "Fxx"http://littlesounddj.wikia.com/wiki/Tips_and_Tricks.

Since people often deal with larger samples in Renoise than the aforementioned trackers, the way I imagine this would work is adding two new commands, possibly “SR xxxx” and “SA xxxx”, which would shift the loop points by a relative or absolute amount. It may be useful to add commands to shift the loop points individually as well.