Spring reverb chirp caused by wave dispersion?

Started by j_flanders, February 26, 2020, 12:33:43 PM

Previous topic - Next topic

j_flanders

Every article or paper I read on the subject speaks about 'dispersion' and names it as the main cause for the characteristic 'chirp', 'drip', 'splash', 'sproing' sound that a spring reverb makes.
Where dispersion is said to be the difference in speed by which signals of different frequencies travel.

Here's a spectogram and a quote of one of the articles:

Quote
Low-frequency signals appear to propagate much faster than high-frequency signals, making each arrival a sort of chirp. It is as if the spring were longer for higher frequencies.
For instance, look at the arriving energy at 1 kHz. It is a series of echoes every 55 ms.
At 2 kHz, the echoes arrive every 60 ms or so, and at 3 kHz, they appear about every 80 ms.

Here's another:

QuoteThis plot shows that the propagation time, or the time it takes for the frequency to move back and forth along the spring, is faster at low frequencies.

Here are some of the articles:
https://www.uaudio.com/webzine/2006/april/text/content2.html
https://ccrma.stanford.edu/~nolting/424/
http://lib.tkk.fi/Diss/2013/isbn9789526053684/isbn9789526053684.pdf
https://www.researchgate.net/profile/Julian_Parker2/publication/228956756_Spring_reverberation_A_physical_perspective/links/02bfe510bdabc96c77000000/Spring-reverberation-A-physical-perspective.pdf

However, when I test this myself on my Surfy Bear and Accutronics pans I see every frequency arrive at the same time.
They tested with a sine sweep (probably a chirp)
How I tested:
-send a single period waveform of a certain frequency to the spring reverb unit
-record the output and measure the delay time between the dry sound and the first echo in my DAW.

No matter the frequency, the echo always arrives after the same delay time.
For all the frequencies I tested, the delay time (and their further repeats interval time) was the same.
Here are some screenshots of the first echo in an Accutronics 4AB3C1B 2 spring pan.
I tested 8 pans but this particular pan had a delay time of 31ms for one spring and 39ms for the other spring.

Here's an example of an input:


Here are the recorded outputs.
I zoomed in to see the wave form of the repeat more clearly, so the dry at t0 at the left is no longer visible. You can see the delay time by looking at the time scale above each graph.

input = 100hz (first repeat at 31ms and 39ms)


input = 400hz (first repeat at 31ms and 39ms)


input = 1000hz (first repeat at 31ms and 39ms)


input = 2000hz (first repeat at 31ms and 39ms)


input = 4000hz (first repeat at 31ms and 39ms)


input = 8000hz  (first repeat at 31ms and 39ms)


I also tested by super imposing a 4000hz wave on a 100Hz wave but the result was the same.

Some of the digital spring (reverb) modellers claim to split up the input in different frequency bands and delay the higher frequencies a little more than the lower frequencies and obtain the characteristic chirp in that way. So, there must be some truth behind this aspect.


So, where am I going wrong in either testing or understanding?
Any other general thoughts on this subject?
Other great articles or papers you have on this matter?

Digital Larry

#1
I'm quite interested in this subject.  The paper I've read the most is another one from Julian Parker.

I suggest that you try recording the spring output when you put in a "click", that is, a very narrow rectangular impulse.

Record that into Audacity and then select spectrogram (-graph?) view.

I think what you are measuring is the overall time delay going down the spring.  Notice (400 Hz example) that you are getting a distortion of the waveform apparently... it no longer looks like a single sine cycle.  The second half has a higher/sharper peak and I believe that this is the dispersion effect in action.  A single cycle of sine wave is closer to an impulse than a continuous sine wave, spectrum wise (IMHO).

I think the effect is demonstrated best in the 1000 and 2000 cycle plots.  See how the wiggle frequency speeds up as the waveform decays? 

Since the point of multiple springs is to reduce the boing by spreading things out a bit, if possible disconnect one of them and just focus on that.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

j_flanders

#2
Quote from: Digital Larry on February 27, 2020, 08:40:53 AM
I'm quite interested in this subject.  The paper I've read the most is another one from Julian Parker.

I suggest that you try recording the spring output when you put in a "click", that is, a very narrow rectangular impulse.

Record that into Audacity and then select spectrogram (-graph?) view.

I think what you are measuring is the overall time delay going down the spring.  Notice that you are getting a distortion of the waveform apparently... it no longer looks like a single sine cycle.  The second half has a higher peak and I believe that this is the dispersion effect in action.  A single cycle of sine wave is closer to an impulse than a continuous sine wave, spectrum wise (IMHO).

Since the point of multiple springs is to reduce the boing by spreading things out a bit, if possible disconnect one of them and just focus on that.
Thanks for the reply!

I've read the Parker paper as well.

About the 'click', I will try but I thought a single period of a sine wave is as short as it gets to test a single frequency.

Yes, I'm getting distortion but I think this is mostly due to my very crude testing equipment.
My signal generator is my laptop headphones output recorded into a Ditto looper pedal.
For whatever reason, it will not record or output a symmetrical sine wave.
The looper directly connected back to my USB interface (not going through the reverb) shows that top and bottom of the sine wave do not have equal amplitude, which then obviously also shows up in the reverb output.
The 'example' input I showed in the previous post was when it was still in my DAW. Once recorded into my looper pedal the top amplitude is greater than the bottom peak amplitude.
Another hindrance is that the Surfy Bear does not have a flat frequency response for the reverb output. It severely attenuates the lows. I guess some of the filter effects show up in the recorded wave output when testing lower frequencies.
None of this has any effect on the measured delay time though...

About using a spectogram instead. I tried that as well and I will get the same results as I'm seeing in the spectograms in those papers.
However, to me it seems the spectogram view shows the repeat as a whole and because it 'rings' out longer at higher frequencies there's more energy later on as well than purely at the onset of the repeat which is why it looks like higher frequencies arrive later.

Consider the 4000hz repeat below.
It clearly starts at 31ms but only the first period of the repeat is 4000hz, the following periods are shorter and shorter, showing an increase in frequency (although the input was a single 4000hz sine wave).
It 'rings' out so long that it overlaps with the first repeat of the other spring which arrives 8ms later.
I'm thinking that the spectogram view shows this as 1 repeat and one way or another calculates the amount of energy in that longer time and this is what is causing the seemingly delay for higher frequencies.


I don't know (yet) if the 'trail' of the repeat is caused by the input, introduced along the way in the spring or if it's simply the lasting vibration of the output magnet.
At the moment I'm thinking it's similar to how a spinning coin ends. It has a similar ever increasing frequency towards the end:


The point of multiple springs, I thought, was to prevent hearing the repeats of the spring reverb as individual repeats. The more springs (of different length) the smaller the interval between individual repeats, giving a more dense, smooth realistic reverberation effect. It's not going to affect the delay of the other springs.
But I'll try it later on today with the other spring dampened. Even if it were just to see how long one repeat rings out.

Digital Larry

#3
Believe it or not, a single cycle of a sine wave does not represent a single frequency.  Note that it has sharp corners at the edges, which introduces higher components.  A continuous sine wave does represent a single frequency, but that makes it very difficult to measure delay through a system.  The point of using a rectangular impulse is that it contains "all frequencies", at least in the non real world mathematical description of "zero width, infinite height, and an area (width times height) of one".

Unfortunately a real spring reverb has many overlapping effects so it may be difficult to pull them apart.  You're correct in that multiple springs increase/"randomize" echo density which is probably more important than boing perception reduction.  The dispersion effect should be present even if the far end is fixed or damped somehow so as not to reflect the larger wave.  Don't know how practical that is to achieve.

Anyway, it took me two years to make it through the Parker paper, and I used to be a EE, not a PhD though.  So I can't explain the effects any better than he has.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer