What makes a digital reverb sound like spring, plate, hall, room...

Started by Fancy Lime, March 19, 2020, 04:03:38 AM

Previous topic - Next topic

Fancy Lime

My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

DrAlx

I have done more test cases, and the changes I mentioned seem good.

I have uploaded  the zip file again: https://1drv.ms/u/s!AvrH61utWEtEjEHapeiN4xV9bAj0?e=5daUGl 
It should give output that matches SpinASM.  Until some other case comes along that doesn't  ;)

I'm glad I made these changes. I no longer have to go through the hassle of booting into windows to use SpinASM,
do annoying editing of the header files it produces, and change that horrible UTF-16 coding that SpinASM uses (and causes problems with just about every other piece of software those files encounter).

DrAlx

And here's an image of the shimmer reverb algorithm included in the zip file.



AP/LP/HP = all pass/low pass/high pass
D and "echoes" are delay lines
OCT is the octave up pitch shift.

The shortest path from input to output is through the all-pass filters API to AP4 then AP1a to LP1 (and AP2a to LP2) actually skipping the main delay lines.  That shortest path gives the "early reflections".
The "reverb ring" is drawn as a figure of 8,with signal injected at two points and tapped off at two points.

The factor k controls decay of the reverb tail.

The input is mixed with some pitched shifted sound.
The factors "a" and "b" (both controlled from a single pot) determine what goes into the pitch shifter.
Initially "a" is 0, and "b" is gradually increased to its maximum level.  Then it is held at that level and "a" is gradually brought into the mix.



bartimaeus


deadastronaut

hi alex, thanks for doing this...not that i understand any of it lol.. :icon_mrgreen:

please excuse my dumb ass questions. :)


i uploaded your arduino sketch (as above) to the eeprom as directed by the text. all went well (uno)

does this now mean the eeprom has external sounds on it now?....(or is it just prepped to accept 'certain code')

and i just drop it back in the breadboarded circuit?

sorry told you i was dumb  ;D cheers rob .

https://www.youtube.com/user/100roberthenry
https://deadastronaut.wixsite.com/effects

chasm reverb/tremshifter/faze filter/abductor II delay/timestream reverb/dreamtime delay/skinwalker hi gain dist/black triangle OD/ nano drums/space patrol fuzz//

Fancy Lime

After reading some reverb theory, I wonder: Could one simulate a mountain or forrest echo by diffusing a single longish delay with the same techniques as used for reverbs? And what is the maximum delay time of the FV-1?

Has anyone built a Quetzalquatl Pyramid delay? Wait, this should go into the other thread.

Also: does anyone in Europe sell the PedalPCB Arachnid boards with the FV-1 soldered in already?

Andy
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

Ice-9

Quote from: Fancy Lime on March 22, 2020, 03:03:29 PM
After reading some reverb theory, I wonder: Could one simulate a mountain or forrest echo by diffusing a single longish delay with the same techniques as used for reverbs? And what is the maximum delay time of the FV-1?

Has anyone built a Quetzalquatl Pyramid delay? Wait, this should go into the other thread.

Also: does anyone in Europe sell the PedalPCB Arachnid boards with the FV-1 soldered in already?

Andy

I might soon release the PCB for Goldmine 2 with the FV-1 pre soldered if it is of interest. More features and easily programed from the PGM port. 
If interest is enough I can get these done, I am based in the UK.
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

PRR

Quote from: Fancy Lime on March 22, 2020, 03:03:29 PM...Could one simulate a ...forrest echo ...

What is a "forest echo"? Aren't forests mostly dead acoustics? No dominant reflecting object?

(I have a very serious reason for playing dumb, because I'm not sure what I'm hearing here in my woods.)
  • SUPPORTER

Ice-9

Quote from: PRR on March 22, 2020, 04:22:46 PM
Quote from: Fancy Lime on March 22, 2020, 03:03:29 PM...Could one simulate a ...forrest echo ...

What is a "forest echo"? Aren't forests mostly dead acoustics? No dominant reflecting object?

(I have a very serious reason for playing dumb, because I'm not sure what I'm hearing here in my woods.)

And if your not in the forest to hear it , does any sound exist ?
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

Ice-9

Quote from: Fancy Lime on March 22, 2020, 03:03:29 PM
After reading some reverb theory, I wonder: Could one simulate a mountain or forrest echo by diffusing a single longish delay with the same techniques as used for reverbs? And what is the maximum delay time of the FV-1?

Has anyone built a Quetzalquatl Pyramid delay? Wait, this should go into the other thread.

Also: does anyone in Europe sell the PedalPCB Arachnid boards with the FV-1 soldered in already?

Andy

Under normal clock rate the delay length is 1 second
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

DrAlx

Quote from: deadastronaut on March 22, 2020, 02:58:09 PM
hi alex, thanks for doing this...not that i understand any of it lol.. :icon_mrgreen:

please excuse my dumb ass questions. :)


i uploaded your arduino sketch (as above) to the eeprom as directed by the text. all went well (uno)

does this now mean the eeprom has external sounds on it now?....(or is it just prepped to accept 'certain code')

and i just drop it back in the breadboarded circuit?

sorry told you i was dumb  ;D cheers rob .

If the serial port monitor in the Arduino IDE (Ctrl + ShitShift + M) gave messages like

     "Verifying ROM_00: 512 Bytes written correctly"

then yes, the assembled code (the shimmer effect) is on the EEPROM and you can stick it back in the board with your FV-1.  It's the same program in all 8 EEPROM slots because the supplied ROM0.h to ROM7.h all contain the exact same program.

In order for the FV-1 to use the programs on that EEPROM (rather than it's internal 8 programs) you need to make sure pin 13 on the FV-1 is connected to the supply.  See the FV-1 data sheet.  I don't know what pin 13 is currently connected to on your board, but its probably grounded if you are using the internal programs.


DrAlx

Quote from: Ice-9 on March 22, 2020, 04:41:11 PM
Quote from: Fancy Lime on March 22, 2020, 03:03:29 PM
After reading some reverb theory, I wonder: Could one simulate a mountain or forrest echo by diffusing a single longish delay with the same techniques as used for reverbs? And what is the maximum delay time of the FV-1?

Has anyone built a Quetzalquatl Pyramid delay? Wait, this should go into the other thread.

Also: does anyone in Europe sell the PedalPCB Arachnid boards with the FV-1 soldered in already?

Andy

Under normal clock rate the delay length is 1 second

Normal clock rate (and sample rate) is 32768 Hz and will give 1 second of delay.
However you can get almost 2s delay with that clock rate by only putting every other sample into the delay line (and so effectively using a 16kHz sample rate).

This spn program does just that:  https://1drv.ms/u/s!AvrH61utWEtEjE5_A83kJozgkxD3?e=E08G4t

deadastronaut

cheers alex, it works a treat...i now have awesome shimmerverb.  very lush.  8) 8) 8)
https://www.youtube.com/user/100roberthenry
https://deadastronaut.wixsite.com/effects

chasm reverb/tremshifter/faze filter/abductor II delay/timestream reverb/dreamtime delay/skinwalker hi gain dist/black triangle OD/ nano drums/space patrol fuzz//

Ice-9

Dr Alex, Is the shimmerVerb in the Arduino the same one you modified from my ShimmerVerb code or a different one ?
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

DrAlx

Quote from: Ice-9 on March 23, 2020, 05:29:15 AM
Dr Alex, Is the shimmerVerb in the Arduino the same one you modified from my ShimmerVerb code or a different one ?
It's a modified version that I just pulled off my disk.  I have lots of versions, all tweaked differently because I make changes and do A,B comparisons of the effect.
The file I included in the zip didn't mention you.  Sorry, that was not-deliberate.   I actually already posted a later version of that reverb (V6), credit included, last year over here...
http://www.spinsemi.com/forum/viewtopic.php?t=144&start=30#p4168
The development file that I included in the zip was missing the credits.  I'll update it.

Ice-9

Quote from: DrAlx on March 23, 2020, 09:45:52 AM
Quote from: Ice-9 on March 23, 2020, 05:29:15 AM
Dr Alex, Is the shimmerVerb in the Arduino the same one you modified from my ShimmerVerb code or a different one ?
It's a modified version that I just pulled off my disk.  I have lots of versions, all tweaked differently because I make changes and do A,B comparisons of the effect.
The file I included in the zip didn't mention you.  Sorry, that was not-deliberate.   I actually already posted a later version of that reverb (V6), credit included, last year over here...
http://www.spinsemi.com/forum/viewtopic.php?t=144&start=30#p4168
The development file that I included in the zip was missing the credits.  I'll update it.


No need to update it, I was only asking if it was the same one as I would give it a try if it is a newer or different version.  :icon_wink:
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

DrAlx

Quote from: Ice-9 on March 23, 2020, 10:37:50 AM
Quote from: DrAlx on March 23, 2020, 09:45:52 AM
Quote from: Ice-9 on March 23, 2020, 05:29:15 AM
Dr Alex, Is the shimmerVerb in the Arduino the same one you modified from my ShimmerVerb code or a different one ?
It's a modified version that I just pulled off my disk.  I have lots of versions, all tweaked differently because I make changes and do A,B comparisons of the effect.
The file I included in the zip didn't mention you.  Sorry, that was not-deliberate.   I actually already posted a later version of that reverb (V6), credit included, last year over here...
http://www.spinsemi.com/forum/viewtopic.php?t=144&start=30#p4168
The development file that I included in the zip was missing the credits.  I'll update it.


No need to update it, I was only asking if it was the same one as I would give it a try if it is a newer or different version.  :icon_wink:
Already updated it.

DrAlx

Quote from: Fancy Lime on March 22, 2020, 03:03:29 PM
After reading some reverb theory, I wonder: Could one simulate a mountain or forrest echo by diffusing a single longish delay with the same techniques as used for reverbs?
Well there are many techniques used for reverbs.  The most flexible being to work in terms of the impulse response.
Impluse responses for all sorts of places (cathedrals, halls, forests,... ) are available on the web. 
I am not sure how close an approximation you could get with the FV-1, but if I were going to attempt that, I would start by downloading a measured impluse response for a forest, and use that as a starting point.

DrAlx

BTW I mailed the developer of asfv1 to point out the differences to SpinASM.
I would now say asfv1 is the superior assembler for the following reasons.

1) When you enter a floating point value in a .spn file, asfv1 converts that to a floating point value on the chip more accurately.  Floating points are always an approximation due to a finite number of bits, but asfv1 produces the closest approximation to what is in the spn file.

2) SpinASM incorrectly calculates the address of the middle of a delay line (when you append a "^" to a delay line name).  It is out by one and NEVER gives the address of the middle of the delay line.
If you have a delay line of length 1 at memory location zero, then SpinASM will say
    The "begin" address is 0
    The "end" address is 1
    The "middle" address is -1  (which causes SpinASM to barf).

3) When shifting bits, SpinASM uses "<" and ">" to mean "left shift" and "right shift" instead of the more usual "<<" and ">>".  This is the one thing that will cause a compilation failure when using asfv1, but the fix is easy. Just add the extra < or >.

In most cases, you would most likely not notice a difference in the end effect.

Fancy Lime

Quote from: PRR on March 22, 2020, 04:22:46 PM
Quote from: Fancy Lime on March 22, 2020, 03:03:29 PM...Could one simulate a ...forrest echo ...

What is a "forest echo"? Aren't forests mostly dead acoustics? No dominant reflecting object?

(I have a very serious reason for playing dumb, because I'm not sure what I'm hearing here in my woods.)

Forests are quite interesting in terms of acoustics. At least to me... What I mean by "forest echo" is the diffuse echo you get when you stand in front of a dense forest or in the middle of a clearing. It sounds a bit like a short decay reverb with a long pre-delay and presumably comes from the fact that you get lots of tiny echos from lots of tiny surfaces at (compared to your distance from the forest) slightly different distances/travel times. If you stand in the middle of the forest, you get no discernible echo but what you hear exactly depends hugely on the type of forest. A young coniferous forest or anything with lots of dense underbrush will be pretty dead, acoustically speaking. But old oak, beech, or pine forests, anything with large trunks standing in mostly empty space with a dense canopy above that keeps the forest floor too dark to allow substantial undergrowth, produces a very special kind of reverb. Where I grew up we had beech woods like that. Lots of leaves on the floor, which killed all the sound reflections coming from that direction, but massive trunks that reflect sound in the horizontal plane as far as the eye can see. Quite a dry, unpretentious kind of reverb with almost no pre-delay and a longish but subdued decay and no resonances. Rather impressive when you are a kid walking home from marching band practice through the forest in the dead silence of a winter night. Now that I think about it, I want that inside-the-forest reverb much more than the in-front-of-the-forest echo. But ultimately, the "forest echo" is just the "forest reverb" plus a long pre-delay, so programming either is a good two-birds-one-stone opportunity.

Apparently, almost any deciduous forest in winter will do:
https://www.youtube.com/watch?v=Sy6xX-TrJo0

Does so much esoteric mumbo jumbo help explain what I mean at all?
Andy
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!