Spring reverb

Algorithm development and general DSP issues

Moderator: frank

ferdinandstrat
Posts: 6
Joined: Thu Jan 16, 2020 10:41 am

Re: Spring reverb

Post by ferdinandstrat »

So basically add more of the code you posted?
Digital Larry
Posts: 338
Joined: Mon Nov 12, 2012 1:12 pm
Contact:

Re: Spring reverb

Post by Digital Larry »

The code I posted was excerpted from the most recent code example.

Each chirp stage requires allocation of a block of memory for an all pass stage as well as 2 instructions to implement the all pass.

At this point we got up to 42 of them apparently, but code for 42 was commented out. I didn't try compiling this myself but it appears quite likely we are out of code space. Go ahead and uncomment the 2 instructions shown and see what happens. If you can still assemble the program then add a mem statement for ap43 and two more instructions in the pattern or what's already there. Keep going until you can't assemble.

I'm guessing that the sonic difference between 42 and 43 chirp stages is pretty subtle, but more is more after all.

The other thing you might try is to make the values of LEN1, LEN2,... LEN6 all the same. These parameters set the all-pass delay length which "tunes" it to a specific frequency. Having 6 different lengths appears to be a desire to spread those out a bit, but it's possible that you'd get a stronger effect by setting them all to the same value.

Other things which one might try:
a) Place the chirp chain inside the feedback loop rather than hanging off the end. In a real spring reverb, the dispersion effect happens each time a wave travels down the spring.

b) Try a multi tap delay instead of the 2 comb filter + all pass reverb chain blocks in the feedback loop.

DL
ferdinandstrat
Posts: 6
Joined: Thu Jan 16, 2020 10:41 am

Re: Spring reverb

Post by ferdinandstrat »

Actually I was capable of making the boing effect more pronouced by making this subtle change, how I dont know, I am new to the FV1

; Declare constants

equ LEN1 5 ; length of chirp filters
equ LEN2 6
equ LEN3 6
equ LEN4 7
equ LEN5 7
equ LEN6 8
equ KAP -0.6 ; chirp allpass coefficient - I changed this from -0.6 to 0.6
equ KLAP 0.6 ; allpass coefficient
equ KRT 0.85 ; reverb time
equ KRF 0.55 ; reverb lpf freq
equ KRS -1 ; reverb lpf shelf

And here's another question: Which lines of code must I delete and must I add to add a low pass and hi pass filter
marianovera
Posts: 1
Joined: Sun Apr 11, 2021 9:03 pm

Re: Spring reverb

Post by marianovera »

Hello everyone

Theres a comment within the program that says reverb time could be added, i've commented this

; Chirp out in ACC - add dry, and output it

;mulx pot1 ; reverb level

So that reverb volume is maxed and freed pot1 to have a decay control, ive tried:

; Do reverb loops

rdax KRT, 1
mulx pot1

No luck, I'm very new to fv-1. Where should I look up to add a decay control?

Thanks!
ice-nine
Posts: 192
Joined: Thu May 24, 2012 9:03 am

Re: Spring reverb

Post by ice-nine »

marianovera wrote: Sun Apr 11, 2021 9:46 pm Hello everyone

Theres a comment within the program that says reverb time could be added, i've commented this

; Chirp out in ACC - add dry, and output it

;mulx pot0 ; reverb level, use whatever pot is free

So that reverb volume is maxed and freed pot1 to have a decay control, ive tried:

; Do reverb loops

rdax KRT, 1
mulx pot1

No luck, I'm very new to fv-1. Where should I look up to add a decay control?

Thanks!
First you will need to change equ constant for krt to this

Code: Select all

 equ	krt	reg (X)		;write loop decay time 
Next add in the pot you want to use as the Reverb Time, scale this to your own preference.

Code: Select all


rdax	Pot1,1			;get pot 
wrax	krt,0			;write loop decay time 
now change the reverb delay loops (first two lines of code). Do BOTH delay loops.

Code: Select all

rda	d1#, 1		; get 1st delay output, scaled by RT
mulx	krt		; scale by krt
rdfx	lp1, KRF		; shelving lowpass inside loop
wrlx	lp1, KRS
rda	lap1a#, KLAP	; reverb allpasses
wrap	lap1a, -KLAP
rda	lap1b#, KLAP
wrap	lap1b, -KLAP
rdax	mono, 1		; add input
wra	d2, 0		; put in 2nd spring delay, clear
This should give you an adustablr RT using a pot
www.stanleyfx.co.uk
"It's fairly straight forward, if you want to start it press start, you can work out the rest of the controls yourself."
gkaiomenos
Posts: 19
Joined: Thu Oct 16, 2014 11:59 am

Re: Spring reverb

Post by gkaiomenos »

Hi guys

I am tinkering a bit with the original algorithm

Is there any easy way to add a simple highcut "tone" knob at the output of the reverb (wet) instead of having tremolo?

The description says it can be done but I am afraid I cannot find a proper way to do it

Thanks in advance
Post Reply