Softcut: tempo-synced / ping-pong delay

Hi All,

does anyone know of a script that uses a tempo-synced SoftCut-based delay effect that I can pull apart, or just shamelessly steal for my own nefarious purposes?

I’ve looked at “one second”, part of Awake, but my attempts to make it sync delay time to clock tempo haven’t worked out very well.

a|x

Maybe take a look at the “refrain” part of Less Concepts?

3 Likes

i put up a little demo in this repo. this is one way to do it.

(weird known issue: slowing down the tempo /speeding up the rate can reveal weird stuff in buffer as it allows the “tape head” to continue farther along the “tape”)

10 Likes

thanks! i’ve been working on a similar script (also utilising crow) and this is really helpful :blush:

1 Like

Wow I can’t believe I haven’t looked at this code in 15 months, but I started working on an Arc based clocked delay effect inspired by the 4ms DLD here:

Uses softcut with clocked resets of the play/record heads.

5 Likes

Thanks so much guys - lots for me to chew on there!

The delay section of cheat codes is pretty solid - clock synced (or free running if you’d like)

4 Likes

Hi @dansimco how far along did this project get? I’m considering integrating this script into my Norns baseline script pattern-generator, so just wondering if it’s in a working state, at the moment.

17 months since I looked at it but… akimbo/akimbo.lua at main · dansimco/akimbo · GitHub

1 Like

I’m in the middle of tearing apart and refactoring all the innards for a proper post, but I’ve been working on a cascading set of 6 delays with a routing matrix here: GitHub - eethann/TAPs: Tap Apt Pats - a simple environment for playing multitap delay configurations on Norns

It’s very noobish code, so not sure how good a model it is, but maybe it’ll be of some use.

4 Likes

Cool, thanks. I’ll use it as the basis for the delay in my script, if that’s OK. I’m going to look into different ways of configuring the two delay lines (ping-pong / stereo delay / mono looper + delay etc.).

Wouldn’t Blndr be one?

What I should really do is do the tutorial and roll my own from scratch…

These area all good, inspiring suggestions though. Thanks very much, guys.

All the code I’ve ever written is, too :wink:

1 Like

Could anyone give me some tips on recreating this basic ping-pong delay using Softcut?

The setup is described in a bit more detail in the “Ping-pong Delay” section of this page

I believe the way to achieve this in softcut is to set level_cut_cut for each of the two heads you want to ping pong at whatever feedback level you desire, as well as outs for each. This is the approach I’ve taken in TAPs at least.

Thanks for the tip. I’ll have a look at your script, and see if I can glean anything from it.

I think what I’m struggling with is the whole routing/mixing setup.

I think I can understand how to make one voice the input for another. What I can’t work out is how to also send the output of both voices to the audio output.

Sorry I was so hasty in my response, I wanted to make sure not to forget to try help out somehow.

You’ll want to do something like this (not including setup code to set your loop points, enable voices, etc.):

-- set each in to a different head
softcut.level_in_cut(1,1,1)
softcut.level_in_cut(2,2,1)
-- route feedback for each head
softcut.level_cut_cut(1,2,0.75)
softcut.level_cut_cut(2,1,0.75)
-- enable output
softcut.level(1,1)
softcut.level(2,1)

In addition, you’ll also want to make sure your audio levels are set so softcut is getting your engine/input/tape at a good level, and that softcut’s level is up in the mixer…iirc.

Hope that’s more helpful!

Ps. I’m almost certain you’ve seen it, but just in case not - the softcut api docs are pretty helpful.

2 Likes

Thanks very much @SpectralClockworks. That’s super helpful. I’ll let you know how I get on.