The No.1 Website for Pro Audio
 Search This Thread  Search This Forum  Search Reviews  Search Gear Database  Search Gear for sale  Search Gearslutz Go Advanced
Reverb Subculture
Old 26th July 2010
  #541
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by volumetric View Post
Hello Everyone. Something you may want to look at -

Dattorro - Wikimization
Talk:Dattorro - Wikimization


hmmmmmmm....
If that's what I think it is, it's pretty crazy. I don't think nested APFs were discussed in any detail beyond "not particularly useful" until what, 1992?

I wonder what the reason is for the separate 1 pole LPFs and shelving filters. Obviously there's potential for finer control, but everything else I've seen treats it as simply as possible, just "put a filter in the loop".
Old 26th July 2010
  #542
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
If that's what I think it is, it's pretty crazy. I don't think nested APFs were discussed in any detail beyond "not particularly useful" until what, 1992?
The first nested allpass filter in the literature is from Schroeder's 1962 AES paper. He describes the structure as a way of having an allpass control over mixing the dry signal with the wet signal, but without recognizing that it would also increase the echo density over time.

Michael Gerzon proposed nested allpasses as a way of increasing echo density in his 1972 Studio Sound paper, as well as his 1976 EDN article. The Gerzon allpasses were originally described as being N-channel (i.e. N delays in parallel, mixed together by a unitary matrix, with allpass feedforward/feedback around the whole structure) but 1 channel still counts as N channels.

Bill Gardner, in his 1992 MS thesis, cites a 1984 paper by Barry Vercoe and Miller Puckette that lays out the theory for nested allpasses in reverbs. I have never been able to find a copy of that paper. The 1992 Gardner MS thesis has a LOT of similarities with the reverb on the Dattorro site.

Quote:
I wonder what the reason is for the separate 1 pole LPFs and shelving filters. Obviously there's potential for finer control, but everything else I've seen treats it as simply as possible, just "put a filter in the loop".
These allow for adjusting the reverb time and damping in different frequency ranges.
Old 26th July 2010
  #543
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
Mostly I had naively wondered if the vintage "discrete DSP" architecture had some speed advantage over a general purpose DSP. I was thinking of how, for example, the hardware implementation of FM in the Yamaha DX7 (and to a lesser extent, the Synergy) is far more efficient than software running on a DSP. But of course this is based on clever use of shift registers and avoiding multiplication, and doesn't really apply to reverb.
In the early days of reverb, custom hardware had a huge speed advantage compared to general purpose processors and DSPs. For starters, there weren't any single chip DSPs in the late 1970's. At some point, single-chip multipliers became available, but these were quite expensive, even for the 16x16 bit fixed point multiplier that was commonly used. Many of the "classic" reverberators used multipliers that only had a few bits of resolution, such as 16x3 or 16x6 bits. The first Alesis reverb had NO multiplier, and simply used shifts and adds for its operations. This sounds horribly limiting, but if you use the "allpass loop" topology, you'll find that the allpass coefficients don't need a whole lot of precision, at least if you are going for a "classic" sound. 0.5 or -0.5 is a perfectly decent allpass coefficient. The higher precision operations were often reserved for the overall loop feedback time, as these controlled the overall reverb decay.

The big trick that most of the old reverb hardware used was to control memory addressing in such a way that the incrementing and wrapping of the circular buffers happened automatically. I have programmed a lot of reverbs on general purpose CPUs and DSPs, and for each delay line you need to increment your read and write pointers each sample, and do bounds checking to ensure that the pointers don't go outside the range of your memory addresses. This takes cycles. Hardware DSPs often have built-in functions for circular buffers, but general purpose processors don't. Meanwhile, the old reverb hardware platforms would simply specify a location in delay memory to read from or write to, and ALL locations would be automagically incremented and wrapped for each input sample.

A modern chip that closely resembles the "old school" hardware reverb processors is the Spin Semiconductor FV-1. This chip has a small selection of assembly language instructions (28 or so), 32K words of delay memory, and can execute 128 instructions per input/output sample. It is essentially a 6 MHz processor, when clocked at normal audio rates. However, it has been optimized for a variety of reverb and delay programs (allpass loop and parallel combs reverbs, chorus, flanging, pitch shifting, etc.), and has enough horsepower to execute the "classic" Lexicon algorithms, such as the one listed at the Dattorro site. Some of the tricks used to get this sort of performance out of such a low clock rate:

- Automatic incrementing/wrapping of circular buffers, built into delay memory addressing system.
- Allpass delays that take 2 instructions. Note that these are NOT nested allpass delays, which will take more instructions.
- Built in LFOs, that are automatically updated for each input/output sample.
- Built-in support for linear interpolation.
- A simple MAC that allows a delay tap to be read, scaled, and added to the accumulator, all in one instruction.

This isn't to say that modern DSPs and CPUs can't easily beat the performance of the old custom hardware. A 300 MHz Blackfin has a HUGE amount of raw horsepower. It doesn't really matter that each delay pointer takes a few cycles to be incremented and wrapped, when you have 50X the clock speed of the older units. Modern Intel CPUs have enormous caches, so your entire reverb algorithm can fit in there - this gives you fast memory accesses for your delay lines. Still, we are talking about boxes that are 30+ years old, which hit the market at around the same time as the first digital watches. The performance of those old boxes, in that context, is stunning.

Quote:
I think a better explanation is that the difficulty of the problem in the early years attracted a more dedicated class of designer that was willing to spend a great deal of time experimenting and refining the algorithms. They worked well ahead of any published research, without necessarily having a great deal of prior knowledge of artificial reverberation, or even much of a preconceived notion of what digital reverb is supposed to sound like.

That's extremely impressive, and more than a little humbling when I can get something basic happening in about an hour, but then I'm too lazy to tune it much better than "not completely awful".
Larry the O wrote an amazing post about how the original Lexicon algorithms and hardware came into being:

https://www.gearslutz.com/board/5519632-post247.html

Both the Lexicon 224 and EMT-250 seemed to follow similar development patterns:

- Engineers develop hardware to execute reverb algorithms in real time.
- Engineers program Schroeder algorithms into the new hardware, and find the results lacking.
- Engineers work on new reverb algorithms, using the new real-time hardware as a way of speeding up the development process.

I'm old enough that I started DSP development in a non-real-time environment (Csound). At the time I was working on reverb designs, it would only take a few minutes to render the file and listen to the results, but any parameter tweaking would require a recompile and re-render. This is slower than having a box or program that you can tweak and listen to on the fly. Still, this is NOTHING compared to the early days of computer music, when Schroeder was developing his reverbs. Back then, it took hours to days of computation on a shared mainframe computer. The results were spit out of a custom DAC, and stored on analog tape. IIRC, the DAC was located about 30 miles from the mainframe computer at Bell Labs, so there was a drive involved between putting in your punch cards, waiting for the results to compute, and getting your audio tape to hear your results. The hardware that Blesser and Griesinger were working with sped up the development process for digital reverb algorithms by several orders of magnitude.

Quote:
Also, on a somewhat related note, are the Ursa Major products the only ones that used significant analog processing inside the actual reverb engine?
I don't know of any other reverbs that use analog components in the feedback loop. Most of the renowned digital reverbs use "unitary" algorithms, in that the total gain of the system(s) that feedback is applied to is bounded by 0 dB for all frequencies. The Space Station and Stargate used a multitap delay with feedback, that has a VERY bumpy frequency response with feedback. The feedback taps are time-varying, which allows for about a 3X feedback gain before oscillation, but you can still get some tweaky frequencies that can "blow up" in a digital system. The analog feedback path might produce a more pleasant clipping, and certainly avoids the aliasing that would happen if the clipping happened inside of a fixed-point processor.
Old 26th July 2010
  #544
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
If that's what I think it is, it's pretty crazy.
It is.

Another page from the Audio Grimoire has been revealed.
Old 27th July 2010
  #545
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by seancostello View Post
The 1992 Gardner MS thesis has a LOT of similarities with the reverb on the Dattorro site.
Yeah, that's what I was thinking of. Looks like a beast of an algorithm compared to the other one. Griesinger must have had a great deal of patience.

What I'm trying to get at with the DSP vs. discrete thing is that plenty of later, cheaper developments (ART, Yamaha, etc.) aren't nearly so fondly remembered as the 250/244. I can't do much to guess what's going on inside their ASICs but I don't imagine them being terribly deficient in terms of instructions per sample compared to the early "discrete DSPs". I expect the biggest difference is that their design pattern more closely resembled this:

- Company develops in house ASIC for reverb and other effects.
- Engineers program Schroeder algorithms into the new hardware.
- Engineers make moderate refinements and intuitive extensions based on in-demand features and easy selling points (CD quality sound!).
- Sounds like reverb to me, let's ship it.

Tangential but amusing (to me): German organ manufacturer Wersi implemented a digital "reverb" using a single 68B09 microprocessor. Here are the specs: 4 kHz bandwidth, NE571 compander, 12 bit A/D and D/A, 2k x8 RAM, decay time up to 4 seconds, pseudo-stereo output via TDA3810, 4 programs (short and long reverb, fast and slow echo). I haven't heard it but it must be rather... remarkable.

Quote:
Still, this is NOTHING compared to the early days of computer music, when Schroeder was developing his reverbs. Back then, it took hours to days of computation on a shared mainframe computer. The results were spit out of a custom DAC, and stored on analog tape. IIRC, the DAC was located about 30 miles from the mainframe computer at Bell Labs, so there was a drive involved between putting in your punch cards, waiting for the results to compute, and getting your audio tape to hear your results.
Lately I've been enjoying some of the music that came out of the early computer music era. There's plenty of bad reverb too.

Sometimes it seems like the most interesting results come from the most difficult conditions. Not that difficulty is a virtue, but the type of individual attracted to it must have an irrational amount of enthusiasm or inspiration.
Old 28th July 2010
  #546
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
What I'm trying to get at with the DSP vs. discrete thing is that plenty of later, cheaper developments (ART, Yamaha, etc.) aren't nearly so fondly remembered as the 250/244.
True, and I think that you are correct in presuming that the difference has less to do with any inherent capabilities of the hardware, and more to do with the skills of the algorithm developers.

Quote:
Lately I've been enjoying some of the music that came out of the early computer music era. There's plenty of bad reverb too.
Have you heard "Turenas" by John Chowning? Great piece, but the reverb sounds like a swarm of bees. The last time I heard it, it took me a little bit to realize that those weird sustained sine waves were supposed to be reverberation. Pretty cool sound, actually. Undoubtedly this was the 4 comb, 2 allpass Schroeder configuration - the CCRMA guys figured out more complicated Schroeder networks by the mid 1970's.

Quote:
Sometimes it seems like the most interesting results come from the most difficult conditions. Not that difficulty is a virtue, but the type of individual attracted to it must have an irrational amount of enthusiasm or inspiration.
I like limits, whether they are imposed externally or internally. I am always inspired when working with the FV-1 - it is a challenge to find workarounds for what I want to do. Meanwhile, the blank slate presented by Xcode and a blazing fast CPU suggests an infinite number of possibilities, which makes forward progress difficult. Where to begin? Limiting your work to a small fraction of the CPU helps narrow things down somewhat.
Old 28th July 2010
  #547
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by seancostello View Post
Have you heard "Turenas" by John Chowning? Great piece, but the reverb sounds like a swarm of bees. The last time I heard it, it took me a little bit to realize that those weird sustained sine waves were supposed to be reverberation. Pretty cool sound, actually. Undoubtedly this was the 4 comb, 2 allpass Schroeder configuration - the CCRMA guys figured out more complicated Schroeder networks by the mid 1970's.
That's exactly the one I was thinking of (and "Sabelithe"). I can't criticize it too much, though, since the point was dynamic spacialization. I'd assumed he used the "JCRev" algorithm. The full bandwidth reverb with overly clicky attacks makes a pretty disconcerting effect.

Quote:
I like limits, whether they are imposed externally or internally. I am always inspired when working with the FV-1 - it is a challenge to find workarounds for what I want to do. Meanwhile, the blank slate presented by Xcode and a blazing fast CPU suggests an infinite number of possibilities, which makes forward progress difficult. Where to begin? Limiting your work to a small fraction of the CPU helps narrow things down somewhat.
I think I'm coming to grips with the limitations vs. no limitations thing (speaking as broadly as possible- music and everything else). I think it helps to start off in a relatively constrained environment (or by studying someone else's work under similar constraints) to grasp the sheer depth of what you're dealing with. Something more open ended is appropriate once you've built up a cache of ideas that require a lot of resources. Starting off with wide open possibilities seems to result in either disorganized paralysis or existential confusion.

More on topic, I just realized the "new" Griesinger algorithm has both high and low pass shelving filters- this makes a lot more sense to me now, though the "asymmetric" locations in the loop are a little odd (though I guess a necessity).
Old 30th July 2010
  #548
Gear interested
 
volumetric's Avatar
 

acreil wrote:
Looks like a beast of an algorithm compared to the other one. Griesinger must have had a great deal of patience.

---------------

The larger algorithm shows all the work that goes into creating good sounding reverbs. Very different than the one published in the AES article.

Just as Dave G. expanded the work of Schroder in the 70s, that larger allpass loop topology is an extend version of the earlier one Dattorro published.

The Audio Amulet has been activated, time to tweek the Talisman Coefficients.
Old 30th July 2010
  #549
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by volumetric View Post
The larger algorithm shows all the work that goes into creating good sounding reverbs.
Has anyone tried the new algorithm with the listed delay lengths? Does it sound any good?

Last edited by seancostello; 31st July 2010 at 12:00 AM.. Reason: Wrote delay lines, where I meant delay lengths
Old 31st July 2010
  #550
Lives for gear
 
acreil's Avatar
 

I'll probably give it a shot. One thing needs clarification, though. Labels (2) and (3) represent linear interpolation, implying that the delay at (1) represents the modulation depth, yes? But the modulation at (4), 121 samples is much larger than the modulation at (1), 5 samples.

Should I trust this, or assume that the modulation has somehow "paused" in the middle of modulating and the specific numbers don't represent anything special? The interpolation coefficients sort of imply that it's "paused". 5 samples of modulation seems really, really subtle.
Old 31st July 2010
  #551
Gear interested
 
volumetric's Avatar
 

Quote:
Originally Posted by acreil View Post

More on topic, I just realized the "new" Griesinger algorithm has both high and low pass shelving filters- this makes a lot more sense to me now, though the "asymmetric" locations in the loop are a little odd (though I guess a necessity).
Does anyone think the shelving filter locations are asymmetic because they add some subtle uneveness to the frequency absorption? A real room does not absorb frequencies evenly at each wall.

Of course we can't hear individual late reflections, but possibly it makes things sound more natural. Same concept as small phase differences, delay differences etc.
Old 31st July 2010
  #552
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
I'll probably give it a shot. One thing needs clarification, though. Labels (2) and (3) represent linear interpolation, implying that the delay at (1) represents the modulation depth, yes? But the modulation at (4), 121 samples is much larger than the modulation at (1), 5 samples.

Should I trust this, or assume that the modulation has somehow "paused" in the middle of modulating and the specific numbers don't represent anything special? The interpolation coefficients sort of imply that it's "paused". 5 samples of modulation seems really, really subtle.
I'd say "paused." Honestly, I haven't been around a 224XL for about 18 years, so I'm not sure exactly how the modulation works. However, the division of the delay into two blocks certainly implies a fixed delay, and a time-varying delay that is linearly interpolated.
Old 31st July 2010
  #553
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by volumetric View Post
Does anyone think the shelving filter locations are asymmetic because they add some subtle uneveness to the frequency absorption? A real room does not absorb frequencies evenly at each wall.
That is one of Jot's major ideas - associating a filter with each delay line, such that you have a symmetric decay of frequencies versus time. However, plenty of good reverbs were made without the Jot style filters.

Associating a higher-order filter with each delay line ends up being costly as far as CPU. The new Dattorro (i.e. old Griesinger) reverb looks complicated, but it is actually pretty light on the CPU. It dates back to 1978, when getting anything running in real time in the digital domain was a pretty amazing feat. Having a single shelving filter + high frequency damping filter per "side" ends up producing a pretty consistent sound within this structure. Don't forget that the output of one side will quickly go into the other side. That, plus the smearing of the allpasses, makes it hard to hear any particular left-right spectral imbalances.
Old 3rd August 2010
  #554
Lives for gear
 
acreil's Avatar
 

I just got the new Griesinger algorithm working in PD, at least well enough to listen to. Haven't made sure it's all bug free yet, or worked out all the details. I'm trying to make a usable "interface" for it, which I'm not good at and is a huge pain in PD anyway, so that's taken most of the effort.

I made a few changes that I think should be practical. I lumped some of the gains together and moved the loop gain and "damping" filter to before the input is added. That should be reasonable, right? Also I'm not sure what the total length of the modulated delays should be and I may have screwed up the filters.

I also don't fully understand the notation for the output taps so for now I'm just taking them from the second APF.

For modulation I'm using a self-devised piecewise linear thing. The modulation for the two sides can be complementary or independent. To that I'm adding a sinusoidal modulator with adjustable phase shift for one side, so the relationship between the two outputs can be quadrature or whatever. I'd like to think this covers all bases pretty reasonably since it can be periodic or not, and also have combined slow and fast modulation.

Initial impressions of the sound: The algorithm is kind of a "big hall". As depicted in the diagram (assuming I didn't screw it up, and probably depending some on my output tap arrangement) you mostly hear rather sparse "reflections", with more loop gain it becomes more rich and spacious. Not a lot of coloration or ringing, but there is some bass resonance, not unlike a real acoustic space. It sounds nice enough that I don't really want to go "tweaking" (ruining) the delay times. I don't think you should have a lot of faith in my assessment, though.

So that's how he gets the nested APFs to sound reasonable: the delay times are quite long so they only gradually build density. My feeble efforts in that direction used short delays and seemed more or less doomed to metallic ringing.
Old 3rd August 2010
  #555
Lives for gear
 
acreil's Avatar
 

I must have screwed something up (surprise), I can't get very long decay times without it turning into poo.

I'll have to check the 224 manual to guess what algorithm it is (possibly Concert Hall? Dark Hall?) and figure out how to map the gains to more user friendly parameters.

Also I noticed something interesting: In the scanned letter from Griesinger to Dattorro saying that he was granted permission to publish the 224 algorithm in the AES article (I've only got a saved .jpg but I think it's from Dattorro's site), he mentions that similar algorithms were independently discovered by Gardner. That seems to apply to this new one a lot more than the original AES one.

Also the "old one" specifies a sample rate of 29.761 kHz while the "new one" is 34.125 kHz....
Old 4th August 2010
  #556
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
I must have screwed something up (surprise), I can't get very long decay times without it turning into poo.
My guess is that your nested allpasses aren't truly allpass. The ordering of operations is pretty critical for these, and it is tricky to get right in a visual programming language. Don't forget to include the block size in the length of the delays, and to make sure that your block size is small enough to realize all the delays.

Quote:
I'll have to check the 224 manual to guess what algorithm it is (possibly Concert Hall? Dark Hall?) and figure out how to map the gains to more user friendly parameters.
I'd guess Concert Hall. Dark Hall would have more interpolated delay lines. Bright Hall would have the high damping 1-pole in a different location.

Quote:
Also the "old one" specifies a sample rate of 29.761 kHz while the "new one" is 34.125 kHz....
Think Ensoniq DP/4 versus Lexicon 224XL.
Old 5th August 2010
  #557
Lives for gear
 
acreil's Avatar
 

Quote:
Originally Posted by seancostello View Post
My guess is that your nested allpasses aren't truly allpass. The ordering of operations is pretty critical for these, and it is tricky to get right in a visual programming language. Don't forget to include the block size in the length of the delays, and to make sure that your block size is small enough to realize all the delays.
I think the only order of operations issue I have to worry about here is for delays smaller than one block (64 samples). There are 3 in the loop but they're all between the APFs.

You were right though, the nested allpasses aren't allpass, BUT that's because of the decay gains inside the APFs (which seemed a little weird to me from the start). It does what I expect if I set the decay gains all to 1 and use the loop gain to control decay time. Not sure what to make of that...

I mean it's strange that the diagram has a fairly low overall loop gain (0.237 per side) and decay gains in locations that will change the frequency response of the whole thing. Fair enough that he probably wanted to use distributed gains, but it would have been a lot more kosher to put them between the APFs, right? I'm not sure how the decay control is supposed to map to these gains, since there are 3 different sets.

I didn't miscalculate either since it will happily go on forever if I set everything to 1.

Quote:
I'd guess Concert Hall. Dark Hall would have more interpolated delay lines. Bright Hall would have the high damping 1-pole in a different location.
Interestingly all the algorithms described in the manual show a diffusion stage outside of the main loop.

Could be Dark/Rich Chamber maybe? I think the sound most closely resembles the descriptions of those in the manual (reading 224X v8.2 user manual).

Anyway this is encouraging. I'll try to figure out how the output taps are supposed to go, do some minor fine tuning and then maybe post a sample.
Old 5th August 2010
  #558
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
You were right though, the nested allpasses aren't allpass, BUT that's because of the decay gains inside the APFs (which seemed a little weird to me from the start). It does what I expect if I set the decay gains all to 1 and use the loop gain to control decay time. Not sure what to make of that...
The allpass topologies as shown might be derived from the original 1962 Schroeder paper. If you set the gains to 1 as shown, you get your standard 2-multiply lattice section.

Quote:
I mean it's strange that the diagram has a fairly low overall loop gain (0.237 per side) and decay gains in locations that will change the frequency response of the whole thing. Fair enough that he probably wanted to use distributed gains, but it would have been a lot more kosher to put them between the APFs, right? I'm not sure how the decay control is supposed to map to these gains, since there are 3 different sets.
The diagram undoubtedly is taken from the algorithm at a given state. Assume that all sorts of things change depending on the settings, including allpass coefficients, delay lengths, and gain coefficients.

Quote:
Could be Dark/Rich Chamber maybe? I think the sound most closely resembles the descriptions of those in the manual (reading 224X v8.2 user manual).
I'm pretty sure this is Concert Hall, and not one of the "Rich" algorithms, or any form of Chamber.
Old 11th August 2010
  #559
Lives for gear
 
zmix's Avatar
 

I always hated the arbitrary adoption of words like "Rich"...

What WAS the difference between the normal and "Rich" chambers, etc?

Nobody Special care to comment?

I know that Rich Hall was a comedian....
Old 13th August 2010
  #560
Lives for gear
 
acreil's Avatar
 

I doubt we'll get any official word on this since Lexicon apparently still use algorithms derived from this. I finished the output tap stuff, but haven't done much in the way of fine tuning or debugging. It sounds great though.

I'll get some proper samples together later, but here's a brief not very good one for now. It was a mildly disappointing proof of concept that ended up sounding nicer than I expected. The Lexicon algorithm is in there, but I'm also doing some other stupid stuff so it's not as clear as it should be.
Attached Files

PDstuff.mp3 (3.65 MB, 635 views)

Old 13th August 2010
  #561
Lives for gear
 
acreil's Avatar
 

Here's the guitar example from a few pages back.
Attached Files

rvb1.mp3 (658.7 KB, 646 views)

Old 26th August 2010
  #562
ValhallaDSP
 
seancostello's Avatar
 

R.I.P. Keith Barr

Keith Barr, developer of the Alesis reverbs and a whole bunch of other designs for MXR, Alesis and Spin Semiconductor, died today at age 61:

In Memoriam-Keith Barr 1949-2010

I've put up a blog post where I've shared Keith's story about the creation of the Midiverb, as well as some of Keith's general approaches to reverb design:

RIP Keith Barr « The Halls of Valhalla

My post is apropos to this thread, but in no way reflects the scope of the work Keith Barr did in his life. Truly amazing work, and a genuinely nice guy. May he rest in peace.
Old 27th August 2010
  #563
Lives for gear
 
zmix's Avatar
 

Quote:
Originally Posted by seancostello View Post
Keith Barr, developer of the Alesis reverbs and a whole bunch of other designs for MXR, Alesis and Spin Semiconductor, died today at age 61:

In Memoriam-Keith Barr 1949-2010

I've put up a blog post where I've shared Keith's story about the creation of the Midiverb, as well as some of Keith's general approaches to reverb design:

RIP Keith Barr « The Halls of Valhalla

My post is apropos to this thread, but in no way reflects the scope of the work Keith Barr did in his life. Truly amazing work, and a genuinely nice guy. May he rest in peace.
Thanks Sean, it is a tragic loss...
Old 28th August 2010
  #564
Lives for gear
 
Froombosch's Avatar
 

This man revolutionised recording. ADAT, cheap verbs made it possible for a lot of people to make recordings. His company filled a lot of low and mid budget studios. I did not know him personally, but I've used a lot of his tools.
Old 2nd September 2010
  #565
Lives for gear
 
acreil's Avatar
 

Sucks about Keith Barr, I was actually recently contemplating asking him some reverb-related questions. I should probably take this as a sign to pester people more readily. I seem to have developed an allergic reaction to the Quadraverb's reverb algorithms, but it's still a great product.

Anyway, more on topic, I've long wondered about the Quantec QRS. I recognize that it's a little controversial among reverb aficionados, but it does seem to have earned its place in history.

FAQ : QUANTEC Audio Pro gives some hints about the algorithm but it seems liberally dosed with marketing bull****. I've seen schematics, but as expected they weren't especially illuminating (20 kHz sample rate, IC multiplier...). One algorithm with adjustable room size (global delay scaling, I guess), stereo in, stereo (or quad) out, no multitap early reflections, no modulation, just one single recirculating tank, increasing density but can be set to constant density (at least in the Yardstick).

And then I found this: NATIVE INSTRUMENTS : Community : Reaktor User Library

I'm a little skeptical at the writer's claim to have reverse-engineered it from impulse responses. Some of the already known information makes it a little easier, but I've looked at these same impulses before without feeling terribly enlightened. Having a hardware unit to play with would make it a great deal easier to analyze, obviously.

Well, upon investigating a little further...

I can see from the impulse responses 16 early pulses that may represent the main delay lengths (these are all the same amplitude and present in both channels), followed by 16 attenuated pulses that seem to be associated with each main delay (APF or something?). Some of the pulses are inverted in one channel (doesn't strike me as a fantastic idea, but okay...), which helps me identify which secondary pulses correspond to which primary pulses. The secondary pulses are inverted (which also seems to suggest APF) but apparently in the same order as the primary pulses. Toward the end they start to overlap with more (apparently recirculated?) pulses but it's still fairly clear up to that point. After that, I dunno, a bunch of stuff. Impulse responses from specifically chosen settings would help a lot, I'm only working from presets.

This is an alright start, for being based on a partially informed but more or less arbitrary assumption about the topology. How can I either verify or improve this assumption? Once pulses begin recirculating and overlapping there's not much I can do to distinguish their sources. The only thing I can think is to calculate a hypothetical delay time and see if something shows up in the anticipated spot. Seems like pure tedium, though.

On a possibly related note, is autocorrelation an appropriate way to identify the delay lengths of parallel feedback comb filters?
Old 3rd September 2010
  #566
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
Sucks about Keith Barr, I was actually recently contemplating asking him some reverb-related questions. I should probably take this as a sign to pester people more readily. I seem to have developed an allergic reaction to the Quadraverb's reverb algorithms, but it's still a great product.
I have been thinking about this a lot. I really wish that I had formally interviewed Keith Barr, with a bunch of questions aimed towards us engineering types. He obviously enjoyed sharing his experience with others.

From one of Keith Barr's emails to me:

Quote:
I’ve forgotten about the Quadraverb. I think it was a 64 instruction engine, may have been 128. Frank would know, he did the chip as I recall. For algorithms, I was the guru at the time, and I was just coming around to putting APs in delays loops and recognizing the need for extensive loop filtering. My guess is that the Quadraverb used 4 parallel loops of 2 X AP +1 delay, outputs from delay taps as the basic structure. I doubt there were any single large loops like I use now.
Hopefully that is useful. My general impression of Keith's work is that he started with Schroeder like structures (parallel combs, series allpasses), figured out how to embed allpasses within combs around the time of the Midiverb II or so, and eventually settled upon a single loop with embedded allpasses, with the input injected at various points and taken out from various points.
Old 3rd September 2010
  #567
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by acreil View Post
Anyway, more on topic, I've long wondered about the Quantec QRS. I recognize that it's a little controversial among reverb aficionados, but it does seem to have earned its place in history.
I've thought about this algorithm a lot too. My suggestion: Read both the 1982 manual and the newest manual THOROUGHLY, and think about the implications. As far as impulses, I believe that Warp69 has some secret sauce for figuring out things via test signals, but I have no idea what that is. Still, your observation of 16 delay lengths being visible seems significant.

I wish that someone would record Quantec impulses with "degenerate" settings. Things that sound horrible as reverbs can be very useful when figuring out structures. If you can turn diffusion down to zero, this helps a lot. I know that Alesis reverbs allowed for this, while Lexicon verbs (wisely) had a minimum diffusion level (or "definition" level as the case may be), that makes reverse engineering more difficult.
Old 3rd September 2010
  #568
Lives for gear
 
Warp69's Avatar
 

Quote:
Originally Posted by seancostello View Post
I believe that Warp69 has some secret sauce for figuring out things via test signals, but I have no idea what that is.
Heh - I wish that was true, but sadly no.

There exist extensive amount of information about different reverb topologies on the internet - after many years of trying the different topologies and see how they behave - you get very good at guessing.
Old 3rd September 2010
  #569
ValhallaDSP
 
seancostello's Avatar
 

Quote:
Originally Posted by Warp69 View Post
Heh - I wish that was true, but sadly no.

There exist extensive amount of information about different reverb topologies on the internet - after many years of trying the different topologies and see how they behave - you get very good at guessing.
So, the "secret sauce," in this case, is YOUR BRAIN.
Old 3rd September 2010
  #570
Lives for gear
 
Warp69's Avatar
 

You know how it is - you get this strange idea in the middle of the night and you simply have to try it out on the computer - your wife ask 'Now?!?!'

Just an example : Jonathan Abel and David Berners release a paper called ' An Emulation of the EMT140 Plate Reverberator Using a Hybrid Reverberator structure'.

Some valuable information about the UAD Plate 140 algorithm : Convolution + FDN. Since you know it contains a FDN, it might use a Hadamard Matrix - a good guess would be a matrix of order 16 - in this case, they might only use, let us say, 14 delay lines instead of 16 delay lines..........
New Reply Submit Thread to Facebook Facebook  Submit Thread to Twitter Twitter  Submit Thread to LinkedIn LinkedIn  Submit Thread to Google+ Google+  Submit Thread to Reddit Reddit 
 
Post Reply

Welcome to the Gearslutz Pro Audio Community!

Registration benefits include:
  • The ability to reply to and create new discussions
  • Access to members-only giveaways & competitions
  • Interact with VIP industry experts in our guest Q&As
  • Access to members-only sub forum discussions
  • Access to members-only Chat Room
  • Get INSTANT ACCESS to the world's best private pro audio Classifieds for only USD $20/year
  • Promote your eBay auctions and Reverb.com listings for free
  • Remove this message!
You need an account to post a reply. Create a username and password below and an account will be created and your post entered.


 
 
Slide to join now Processing…
Thread Tools
Search this Thread
Search this Thread:

Advanced Search
Similar Threads
Thread
Thread Starter / Forum
Replies
themaidsroom / Gearslutz Secondhand Gear Classifieds
12

Forum Jump