Spring reverb
Moderator: frank
-
- Posts: 6
- Joined: Thu Jan 16, 2020 10:41 am
Re: Spring reverb
So basically add more of the code you posted?
-
- Posts: 338
- Joined: Mon Nov 12, 2012 1:12 pm
- Contact:
Re: Spring reverb
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
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
-
- Posts: 6
- Joined: Thu Jan 16, 2020 10:41 am
Re: Spring reverb
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
; 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
-
- Posts: 1
- Joined: Sun Apr 11, 2021 9:03 pm
Re: Spring reverb
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!
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!
Re: Spring reverb
First you will need to change equ constant for krt to thismarianovera 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!
Code: Select all
equ krt reg (X) ;write loop decay time
Code: Select all
rdax Pot1,1 ;get pot
wrax krt,0 ;write loop decay time
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
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."
"It's fairly straight forward, if you want to start it press start, you can work out the rest of the controls yourself."
-
- Posts: 19
- Joined: Thu Oct 16, 2014 11:59 am
Re: Spring reverb
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
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