Idea for a module: Buffer with automatable playhead

Right. So read = write - (cv * scale) is a simple approach to do that where basically you knock the underkying saw off of current with cv but you don’t have to pump with a time phasor

The reason it is hard with delays is mostly because they smooth cv and also extoress delay in time usually with an exponential scaling. Here you just want linear scrubbing

Yes, scrubbing. Please. :slight_smile:

I think it would be really cool to have it this way.

You could for example run a basic step sequencer into the CV, and it would be like you chopped up and rearranged the buffer. And do loads of things like backward-forward scratches, slowdowns etc… and all easily precisely controlled.

Definitely check out MRhythmizer or one of the others if you haven’t tried this kind of thing.

yeah i get it.

have you tried surge xt? We have 2 delays in there - a regular digital delay but also a “tuned delay” which I put together for physical modeling usages. but they all have the same internal line

I think that tuned delay panel is exactly what you want. Stereo in and out; Single CV; and then a couple of range knobs. Or maybe a pair of CV in and pair of range knobs. The trick is, unlike the tuned delay, it would be monophonic and the CV would be interpreted as linear delay not v/oct.

We’ve frozen XT for the first release now but lemme open an issue pointing to this thread and if no-one else comes up with a better idea, maybe we can add a third delay in a future release.

1 Like

A "Scrubbing Delay" · Issue #632 · surge-synthesizer/surge-rack · GitHub if you are a GitHub issues following type of person.

Oh yeah! That would be super cool!

I haven’t tried the tuned delay yet, need to check that out.

In addition to the CV being interpreted as linear offset, the buffer size (or the internal CV scaling - same difference) should be adjustable in bars of a given tempo, so that the buffer can be navigated in a controlled rhythmic manner easily.

I’ll try to summarize it again for the Github issue.

Yeah having scale be tempo sync would be great. All the other surge modules can do that

Basically a 1v/quarter note scrubber

Interesting

So it seems you have all the technology ready to go, that’s super cool.

1v/quarter note might be a good way to do it and could leave the module with just a tempo sync and a CV in (and stereo in and out of course).

THen this is the module you’re looking for:

2 Likes

Yes, this it basically it. But I think it has a poor resolution, and I’m not sure how the size is handled, should check that one out again.

PdArray is open source, so you can start adding all the features you need.

1 Like

Yeah… I can’t code, though… :slight_smile: but this thing is pretty nice except for the poor audio quality due to it’s low resolution.

OT: From my perspective, I find it more interesting to maipuate the speed directly. Here’s another video:

Maybe use the smooth output.

PdArray can handle up to 999999 samples, that’s about 22 second at a sampling rate of 44.1 kHz.

1 Like

Hm… just tried that… but it sounds like shit*… it is a really cool module, but somehow handles audio very poorly.

*sorry for the rough language - it sounds like a much lower resolution is a more accurate description. :smiley:

It somehow doesn’t sound as bad in your video as in my test, but still quite lofi. You probably loaded in a wav, so that seems to work a bit better than recording into it.

edit: yes, with a wav loaded up it’s much better, still producing artefacts, but usable.

I find this all very interesting. I once tried to make a reverse echo effect using some of these techniques. Record - reverse - add echo(delay) -reverse - play. But it sounded really bad :joy:.

1 Like

Yes, it sounds lo-fi because there’s no interpolation between samples. This could be added easily to the code. But there’s a lot more to do to prevent clicks an pops when the playhead jumps from one position to another. And with the resolution of CV values used in VCV Rack it is only possible to use a buffer up to approx max 6 minutes at 44.1 kHz.

But if you use this technique to produce rhythmic glitches, I think sound quality is not so important.

A minute of buffer would already be plenty, so that’s perfectly fine. Sound quality is always very important, though. (of course lofi can be cool, too, sometimes)

yeah i have a good SSE-coded interpolating delay line kicking around which is why i think this is pretty easy. A smoothing technique for jumps is indeed one of the interesting problems but our line already does pretty well with a interpolate-at-1.5-speed traversal and stuff. backwards will be harder. I wonder if it will work!

you are kinda making me want to code it up and find out and leave it on a branch. LOL.

2 Likes