News:

SMF for DIYStompboxes.com!

Main Menu

SpinCAD and Stutter Delay

Started by pbrommer, June 28, 2022, 07:09:02 PM

Previous topic - Next topic

pbrommer

I jumped back in to working with SpinCAD (had it a couple years ago, then got sidetracked), and am working on making patches for fun and maybe a small pedal here. My question is understanding the Stutter delay block in SpinCAD. I can get it to pass audio and the simple guitar chord loop I downloaded to test sounds delayed, but I can't figure out if I'm missing something or if it's correct.

Just to know how I have the blocks connected -- it's straight from input -->stutter delay block --> output. Keeping it simple until I have a better understanding of how it works.

If you can let me know what I should be hearing/observing, that would be helpful. Thanks for the guidance everyone.

Patrick
  • SUPPORTER

Digital Larry

#1
I just listened to it now.  I probably haven't done that in 6 years.  The honest answer is "I have no idea what it's doing".

:icon_lol:  :icon_redface: :icon_rolleyes:

I'll add it to the list of things to look at.

Another way you could implement something which I think was what I was getting after would be to take a delay and run it into one side of a crossfade, and either the input or another delay tap (I use the three-tap delay almost exclusively) to the other side of the crossfade.

Then generate a suitable control waveform for the crossfade.  A Sine wave from 0 - 1 would fade smoothly between the two sides.  Run the LFO through the clipper to generate more and more abrupt fades.  Run the LFO through the slicer to generate a square wave glitchy stutter.  Does this work?

Thanks,

DL
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

pbrommer

Quote from: Digital Larry on June 28, 2022, 07:29:45 PM
I just listened to it now.  I probably haven't done that in 6 years.  The honest answer is "I have no idea what it's doing".

:icon_lol:  :icon_redface: :icon_rolleyes:

I'll add it to the list of things to look at.


I appreciate the honesty of the "I have no idea."

I[quote author=Digital Larry link=topic=129313.msg1249229#msg1249229 date=16564

Another way you could implement something which I think was what I was getting after would be to take a delay and run it into one side of a crossfade, and either the input or another delay tap (I use the three-tap delay almost exclusively) to the other side of the crossfade.

Then generate a suitable control waveform for the crossfade.  A Sine wave from 0 - 1 would fade smoothly between the two sides.  Run the LFO through the clipper to generate more and more abrupt fades.  Run the LFO through the slicer to generate a square wave glitchy stutter.  Does this work?

Thanks,

DL
[/quote]

I will give this a.shot tomorrow and see what happens. I'm not really solid on SpinCAD yet, but enough thinking and I might trip over a good idea.
If I get stuck, I'll throw a screenshot of what I have and we'll go from there. Thanks!
  • SUPPORTER

potul

I was curious on this, so I just looked at the code.
It's a delay line where you can control if you want to output the beginning or the end of the memory. So you can alternate between original and delayed signal using the control input. I think you can do some crossfade as well with the ramp setting.
There is no feedback.
I guess plugging an LFO into the control input will bring interesting results.

Digital Larry

Quote from: potul on June 29, 2022, 08:23:35 AM
I guess plugging an LFO into the control input will bring interesting results.
I thought so too, but it didn't seem to work that way upon casual listening.  I didn't spend a lot of time at it.

DL
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

pbrommer

Okay, so I gave it a shot, but I'm not hearing any delay correctly. The only delay I hear correctly on this computer is the single delay and reverse -- everything else just stalls or sounds clean. Maybe it's on my end.

Here's what I think you were after, but I'm not 100%. I didn't use the Triple Tap because it doesn't seem to pass signal when I use the simulator.



I set the LFO to sine 0 -> +1 and everything to the middle; clip set to about the middle of the slider; delay as maxed out as possible. Crossfade gains to -6.0dB (as it comes when you drag and drop).

I'll see if I have time today to get to changes -- I'm headed to Minneapolis for a conference this afternoon and will be away from this computer with SpinCAD for a couple days. Thanks for ideas everyone.
  • SUPPORTER

Digital Larry

#6
You need to set the LFO width up full to get it to go 0 - 1 (or -1 to +1).  Please display the control panels for everything, it's too hard to guess otherwise.  Any block with a white outline has a control panel.

What type of computer are you using?  I'm noticing that the simulator does not loop properly on my Macbook.  Most of the time I am using SpinCAD on Windows.

DL
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

Digital Larry

#7
Give this a shot.  If it's not simulating correctly that's one thing, but it works OK on my Windows PC.




; stutter delay
; null
; Pot 0: delay time
; Pot 1: feedback
; Pot 2: chop rate
;
;
; ----------------------------
;------ Input
;------ Pot 0
;------ Pot 1
;------ Single Delay
WRAX REG1,0.0000000000
RDAX POT1,0.4500000000
WRAX REG1,0.0000000000
RDAX POT0,0.9990000000
SOF 0.8000000000,0.0000305176
WRAX ADDR_PTR,0.0000000000
RMPA 1.0
WRAX REG0,1.0000000000
MULX REG1
RDAX ADCL,0.5000000000
WRA 0,0.0
RDAX REG0,1.0000000000
WRAX REG0,0.0000000000
;------ Pot 2
;------ LFO 0
SKP RUN ,1
WLDS 0,207,32767
RDAX POT2,0.4050880626
WRAX SIN0_RATE,0.0000000000
CHO RDAL,0
SOF 0.5000000000,0.5000000000
WRAX REG2,0.0000000000
;------ Slicer
SOF 0.0000000000,0.5000000000
RDAX REG2,-1.0000000000
SKP NEG,2
SOF 0.0000000000,0.9990234275
SKP RUN ,1
CLR
WRAX REG3,0.0000000000
;------ Crossfade 2
RDAX REG3,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG0
WRAX REG6,0.0000000000
RDAX REG3,1.0000000000
SOF 1.0000000000,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX ADCL
RDAX REG6,1.0000000000
WRAX REG5,0.0000000000
;------ Output
RDAX REG5,1.0000000000
WRAX DACL,0.0000000000
RDAX REG5,1.0000000000
WRAX DACR,0.0000000000

Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

potul

So this is doing the same things as the stutter delay block, but with delay and feedback control. Right?

Digital Larry

Quote from: potul on June 30, 2022, 04:45:13 AM
So this is doing the same things as the stutter delay block, but with delay and feedback control. Right?
Having forgotten what the "Stutter" block does, and being sufficiently rusty in Spin ASM and busy with other things that I didn't want to sit down and figure it out, I conjured what I felt to be an equivalent function with other blocks.  I actually never use the "Single Delay" block and am probably going to get rid of it in the next release of SpinCAD as it offers no unique functionality beyond having a closed feedback path, a strange scaling value for feedback, and only going up to 800 msec delay. 

I think "Single Delay" was one of the first blocks I ever did, written in Java directly instead of SpinCAD Builder language.  I only used it because the OP seemed to be having trouble using the other blocks.

DL
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

pbrommer

#10
Quote from: Digital Larry on June 29, 2022, 07:44:33 PM
Give this a shot.  If it's not simulating correctly that's one thing, but it works OK on my Windows PC.

I will give this a shot when I either (1) get home to my Windows 10 PC or (2) can put SpinCAD on this PC from work during this conference.

I did get the "stutter" type effect happening with tinkering with the triple tap delay. It was a kind of stuttery/sputtery then it would trail somewhat musically. I'll take a screenshot of everything when I get a chance in the next couple days. Thanks for the direction and thoughts.

Patrick
  • SUPPORTER

Digital Larry

Quote from: pbrommer on June 30, 2022, 11:55:01 AM
I did get the "stutter" type effect happening with tinkering with the triple tap delay. It was a kind of stuttery/sputtery then it would trail somewhat musically.
You want the stutter effect to be MUSICAL?  That's gonna cost extra.   ;)

DL
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

pbrommer

Quote from: Digital Larry on June 30, 2022, 01:49:22 PM
Quote from: pbrommer on June 30, 2022, 11:55:01 AM
I did get the "stutter" type effect happening with tinkering with the triple tap delay. It was a kind of stuttery/sputtery then it would trail somewhat musically.
You want the stutter effect to be MUSICAL?  That's gonna cost extra.   ;)

DL

Okay, not musically. Rythymically -- kind of an interesting sample/hold-like as it decayed. I'll pull it up this weekend.
I have SpinCAD on this computer now (Windows) and will try it when I has down time today.
  • SUPPORTER

Digital Larry

Put a smoother block (controls menu) between the slicer and the crossfade to smooth out the transitions if you find the abrupt jump too glitchy.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

Digital Larry

#14
Here's a triple stutter.  You could probably add even more.  This is verging on granular processing.



; triple stutter.spcd
; Patch saved from SpinCAD Designer version 1029
; Pot 0: delay time
; Pot 1: delay feedback
; Pot 2: grain size (large to small)
;
;
; ----------------------------
;------ Input
;------ Pot 0
;------ Pot 1
;------ Pot 2
;------ LFO 0

SKP RUN ,1
WLDS 0,207,32767
RDAX POT2,0.4050880626
WRAX SIN0_RATE,0.0000000000
CHO RDAL,0
SOF 0.5000000000,0.5000000000
WRAX REG0,0.0000000000
CHO RDAL,8
SOF 0.5000000000,0.5000000000
WRAX REG1,0.0000000000
;------ Slicer
SOF 0.0000000000,0.3800000000
RDAX REG0,-1.0000000000
SKP NEG,2
SOF 0.0000000000,0.9990234275
SKP RUN ,1
CLR
WRAX REG2,0.0000000000
;------ Smoother
RDAX POT0,1.0000000000
RDFX REG4,0.0001500000
WRAX REG4,0.0000000000
;------ Feedback Output
;------ Scale/Offset
RDAX REG4,1.0000000000
SOF 0.7700000000,0.2300000000
WRAX REG6,0.0000000000
;------ Slicer
SOF 0.0000000000,0.3800000000
RDAX REG1,-1.0000000000
SKP NEG,2
SOF 0.0000000000,0.9990234275
SKP RUN ,1
CLR
WRAX REG7,0.0000000000
;------ Smoother
RDAX REG7,1.0000000000
RDFX REG9,0.0028321367
WRAX REG9,0.0000000000
;------ ThreeTap
RDAX REG5,0.7079457844
MULX POT1
RDAX ADCL,1.0000000000
WRA 0,0.0
CLR
OR $007FFF00
MULX REG6
SOF 0.9499710083,0.0500289917
WRAX ADDR_PTR,0.0000000000
RMPA 1.0
WRAX REG10,0.0000000000
CLR
OR $007FFF00
MULX REG6
SOF 0.3106405197,0.0163800186
WRAX ADDR_PTR,0.0000000000
RMPA 1.0
WRAX REG11,0.0000000000
CLR
OR $007FFF00
MULX REG6
SOF 0.4768854462,0.0251297516
WRAX ADDR_PTR,0.0000000000
RMPA 1.0
WRAX REG12,0.0000000000
;------ Crossfade 2
RDAX REG9,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG11
WRAX REG14,0.0000000000
RDAX REG9,1.0000000000
SOF 1.0000000000,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG10
RDAX REG14,1.0000000000
WRAX REG13,0.0000000000
;------ Smoother
RDAX REG2,1.0000000000
RDFX REG15,0.0028321367
WRAX REG15,0.0000000000
;------ Slicer
SOF 0.0000000000,0.3800000000
MULX REG1
RDAX REG0,-1.0000000000
SKP NEG,2
SOF 0.0000000000,0.9990234275
SKP RUN ,1
CLR
WRAX REG16,0.0000000000
;------ LPF 1P
RDAX REG13,1.0000000000
RDFX REG19,0.2233555012
WRAX REG19,0.0000000000
;------ Smoother
RDAX REG16,1.0000000000
RDFX REG20,0.0028321367
WRAX REG20,0.0000000000
;------ HPF 1P
RDAX REG19,1.0000000000
RDFX REG22,0.0350751667
WRAX REG22,-1.0000000000
RDAX REG19,1.0000000000
WRAX REG21,0.0000000000
;------ FB In 2
RDAX REG21,1.0000000000
WRAX REG5,0.0000000000
;------ Crossfade 2
RDAX REG20,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG12
WRAX REG24,0.0000000000
RDAX REG20,1.0000000000
SOF 1.0000000000,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX ADCL
RDAX REG24,1.0000000000
WRAX REG23,0.0000000000
;------ Crossfade 2
RDAX REG15,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG13
WRAX REG26,0.0000000000
RDAX REG15,1.0000000000
SOF 1.0000000000,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG23
RDAX REG26,1.0000000000
WRAX REG25,0.0000000000
;------ Output
RDAX REG25,1.0000000000
WRAX DACL,0.0000000000
RDAX REG25,1.0000000000
WRAX DACR,0.0000000000




Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

potul

Looks crazy, so very interesting. I will give it a try on my side.

Digital Larry

#16
I left all the details out on purpose, but let me know if you have any questions.   This one structure could easily beget a dozen or more patches with different sounds depending on the delay settings, etc.

The main thing I would start with is the fact that the crossfade wants a 0 - 1 control signal so set the sin/cos LFO to 0-1 output range.

DL
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

pbrommer

#17
Okay, so I tried your ideas Larry .... wheeeeee! That triple stutter is wild, especially if you play with the frequency for the smoothness. I don't know which one matters most to the stutter/glitch, and small tweaks are nice, but it makes it be really weird.

You asked in an earlier post for my settings. Here is a screenshot of that stutter delay with all of the settings that I used that made the loop I downloaded and an using as my simulator sound nice (to me):



I know, I called it glitch delay, but it's more of a rhythmic stutter.

Thank you for your input and ideas. It's quite a bit of fun to build and tweak. I keep fiddling with the smoothness cutoff and how I set the delay times for the triple delay to make it work. I seem to have fun with a 33% delay 1, 70% delay 2, 100% delay 3 with 1000ms as the overall time. It gets to be really weird and sputtery.

Patrick
  • SUPPORTER

Digital Larry

Quote from: pbrommer on July 02, 2022, 04:23:37 PM
Okay, so I tried your ideas Larry .... wheeeeee! That triple stutter is wild, especially if you play with the frequency for the smoothness. I don't know which one matters most to the stutter/glitch, and small tweaks are nice, but it makes it be really weird.

You asked in an earlier post for my settings. Here is a screenshot of that stutter delay with all of the settings that I used that made the loop I downloaded and an using as my simulator sound nice (to me):



I know, I called it glitch delay, but it's more of a rhythmic stutter.

Thank you for your input and ideas. It's quite a bit of fun to build and tweak. I keep fiddling with the smoothness cutoff and how I set the delay times for the triple delay to make it work. I seem to have fun with a 33% delay 1, 70% delay 2, 100% delay 3 with 1000ms as the overall time. It gets to be really weird and sputtery.

Patrick
Hey Patrick,

Thanks for the report and your support!   :icon_mrgreen:

You can really make stuff quite easily that you know will never show up in a commercial pedal.  There's just no way to classify it, plus there are a million variations within easy reach.

I notice something weird, that you have feedback loop blocks with different numbers, is feedback working?  If not, delete both of those and add a new loop, then connect it up.

DL
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

pbrommer

I went back and fixed the delay feedback loop issue. Man, it's a lot of fun with your little guitar sample. Just cuts off random bits of the phrases, repeats some parts.... just plain weird and fun.

Here's the code from the SpinCAD file I tweaked using DigitalLarry's help if anyone wants to look at it.

; triple stutter.spcd
; null
; Pot 0: Delay Time
; Pot 1: Feedback
; Pot 2: Glitch
;
;
; ----------------------------
;------ Input
;------ Pot 0
;------ Pot 1
;------ Feedback Output
;------ Pot 2
;------ Scale/Offset
RDAX POT2,1.0000000000
SOF 0.8333333333,-0.0833333333
WRAX REG1,0.0000000000
;------ LFO 0
SKP RUN ,1
WLDS 0,81,5864
RDAX REG1,0.1585127202
WRAX SIN0_RATE,0.0000000000
CHO RDAL,0
SOF 0.5000000000,0.5000000000
WRAX REG2,0.0000000000
CHO RDAL,8
SOF 0.5000000000,0.5000000000
WRAX REG3,0.0000000000
;------ Slicer
SOF 0.0000000000,0.5000000000
RDAX REG3,-1.0000000000
SKP NEG,2
SOF 0.0000000000,0.9990234275
SKP RUN ,1
CLR
WRAX REG4,0.0000000000
;------ Smoother
RDAX REG4,1.0000000000
RDFX REG6,0.0017472307
WRAX REG6,0.0000000000
;------ ThreeTap
RDAX REG0,0.5000000000
MULX POT1
RDAX ADCL,0.7079457844
WRA 0,0.0
CLR
OR $007FFF00
MULX POT0
SOF 0.3153903748,0.0166300110
WRAX ADDR_PTR,0.0000000000
RMPA 1.0
WRAX REG7,0.0000000000
CLR
OR $007FFF00
MULX POT0
SOF 0.6659296768,0.0350794479
WRAX ADDR_PTR,0.0000000000
RMPA 1.0
WRAX REG8,0.0000000000
CLR
OR $007FFF00
MULX POT0
SOF 0.9499710083,0.0500289917
WRAX ADDR_PTR,0.0000000000
RMPA 1.0
WRAX REG9,0.0000000000
;------ Crossfade 2
RDAX REG6,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG8
WRAX REG11,0.0000000000
RDAX REG6,1.0000000000
SOF 1.0000000000,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG7
RDAX REG11,1.0000000000
WRAX REG10,0.0000000000
;------ LPF 1P
RDAX REG10,1.0000000000
RDFX REG13,0.1500000000
WRAX REG13,0.0000000000
;------ HPF 1P
RDAX REG13,1.0000000000
RDFX REG15,0.0150000000
WRAX REG15,-1.0000000000
RDAX REG13,1.0000000000
WRAX REG14,0.0000000000
;------ FB In 1
RDAX REG14,1.0000000000
WRAX REG0,0.0000000000
;------ Slicer
SOF 0.0000000000,0.5000000000
MULX REG3
RDAX REG2,-1.0000000000
SKP NEG,2
SOF 0.0000000000,0.9990234275
SKP RUN ,1
CLR
WRAX REG16,0.0000000000
;------ Smoother
RDAX REG16,1.0000000000
RDFX REG18,0.0019156388
WRAX REG18,0.0000000000
;------ Slicer
SOF 0.0000000000,0.5000000000
RDAX REG2,-1.0000000000
SKP NEG,2
SOF 0.0000000000,0.9990234275
SKP RUN ,1
CLR
WRAX REG19,0.0000000000
;------ Smoother
RDAX REG19,1.0000000000
RDFX REG21,0.0010057995
WRAX REG21,0.0000000000
;------ Crossfade 2
RDAX REG18,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG9
WRAX REG23,0.0000000000
RDAX REG18,1.0000000000
SOF 1.0000000000,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX ADCL
RDAX REG23,1.0000000000
WRAX REG22,0.0000000000
;------ Crossfade 2
RDAX REG21,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG10
WRAX REG25,0.0000000000
RDAX REG21,1.0000000000
SOF 1.0000000000,-1.0000000000
SOF -2.0000000000,0.0000000000
MULX REG22
RDAX REG25,1.0000000000
WRAX REG24,0.0000000000
;------ Output
RDAX REG24,1.0000000000
RDAX REG24,1.0000000000
WRAX DACL,1.0000000000
WRAX DACR,0.0000000000
  • SUPPORTER