Simple feedback looper

Description of feature (short and simple):
Simple feedback Looper with fixed buffer size .

Fixed buffer size : 10sec similar as Granular module is fine. Longer than 10sec is awesome!

[Control parameter]

  • Dry sound volume
  • Buffer’s feedback volume


  • Playback ON/OFF
  • Reset to start position
  • Write to Buffer ON/OFF (with Fade-IN/OUT at minimal samples to avoid click or pop when turned write ON and OFF.)
  • Clear Buffer’s data

How will this feature improve the workflow or experience for all SSP users (keep it short and focused):

We can have a Looper at SSP. And it can control the length by STE or external clock, etc.

Many discussions have already taken place on the Looper module.
But I want to say even Looper with simple feature can do a lot of fun things on SSP because SSP has really flexible routing feature.

And I want to get one more SSP for Looper & effector to put all functions that I want on small case!!


I’ve got something like this already planned.

not promising its feature set, but most of this will be possible.
I haven’t decided on (cv/ui) interface yet, as I want it to be a bit more ‘modular’ than just than this.

some of this functionality you can already achieve with the delay algo in SWAT, albeit if for 5 sec max currently…the delay line % cv input, is actually the offset between the read/write head.

note: feedback wont really work as expected, since it would have at least 1 buffer (128 sample/ ~2ms @48k) delay.


Oh, I completely missed size of 1 buffer. ~2ms is pretty large latency.
Humm, In that case it need one more buffer in parallel? I think it would be interesting that I try Puredata to learn sound processing.

I must need to buy one barrel of coffee for you if you make feedback Looper!! :slight_smile:

this only occurs if you do feedback between modules. (as I was talking about with SWAT)
(reason : bare in mind the modules could be running on different cores)

but within a single vst/module you can, of course, do feedback at sample level.

the other issue with simplistic buffer implementation, is that it would likely click if you stop the writing head… and read around the entire buffer. this is because the sample at 0 and N-1, would likely have a discontinuity- so if you allow pausing of write (but continue to read) , you would usually introduce some kind of fade/window between start and end.

btw: we’d usually shows the read head behind the write head, then delay time = W-R,
but it doesnt really matter in a circular buffer (which this is) , as when the R > W delay time = (W + bufsize) - R

this is the basics of what is already in SWAT (delay algo) (no fade, since I dont allow read/write to stop!)

there is a lot of fun that can be had with delay lines just by messing with the read /write heads.
which is kind of the basic idea behind the module i have in mind.