The No.1 Website for Pro Audio
Reverb Subculture
Old 26th February 2022 | Show parent
  #1021
Lives for gear
 
zmix's Avatar
 
🎧 15 years
Quote:
Originally Posted by acreil ➡️
It's the same basic topology, but some of them take outputs from the delays inside the allpasses (both the input allpass chain and the loop allpasses). So they have a very rapid onset, but sometimes a metallic sound.



Yeah, this caused me some confusion. I have the SDR 1000 and it's fairly obvious that the sub-reverb is a separate mono in/mono out reverb. Plus on the REV5 it's an independent reverb. I was expecting something fancier.

You wouldn't happen to have the SDR 1000+ or MU-R201 ROM dump, would you? Mine's the original model.



The REV5 is a pain in the ass too. 1500ms of delay and only increment/decrement buttons . You can watch your fingernails grow while holding the button down. It makes the Quadraverb's pressure sensitive buttons seem totally brilliant. And that's just a piezo transducer attached to the back of the PCB. Was everyone else too stupid to just copy that?



That's just my reaction to hearing the impulse response. Impulse responses are a great way evaluate at least some aspects of a reverb, but they also kind of provide too much information. It's really unflattering, like watching porn in 4K. An impulse response might sound nasty with a bunch of allpass ringing, but you probably won't hear it on a musical signal. And anyway I'm overly picky, at least when it comes to things that are supposed to be high end. The Midiverb gets a pass, but I'm gonna criticize everything else to death.

I think version 1 just uses one algorithm, which is basically A but with 2 allpasses per output channel rather than 3. It's not as good, and you're not missing anything if you don't have it.



I noted the panning thing, but I think it's still constant echo density. I would have dug into mine already, but I want to poke around in the hardware first. I need to find the exact sample rate, the number of instructions per sample, etc. And clean the pots and maybe modify it a little.

It's crossed my mind also to acquire a DPS V77. Normally I rule out buying "fancy" gear or spending more than like $100, because I can design stuff that's better (maybe not so much with very good pitch shifters or highly nonlinear VCFs, but almost everything else). But things like the Sony DPS V77, Alesis Quadraverb 2, Roland SRV 330, Dynacord DRP 15, Korg A1 and Behringer V Verb do tempt me, at least if they're cheap enough.



Impulse responses. The guy who wrote this article (Georg Müller) posted some impulse responses from version 1. I opened them in Audacity and figured it would be relatively easy to reverse engineer since the echo density is quite low. I asked him if he'd be willing to make a couple test recordings. He agreed to do it, but his unit had since been upgraded to version 2. I messed around with Audacity and a couple Matlab scripts, figured out version 1 (minus the initial delay since there's no dry impulse for reference), analyzed some of my own gear, then figured out version 2.

Turns out it's actually pretty easy for most designs, regardless of echo density. There are certainly things that I wouldn't be able to analyze easily, but in practice I haven't encountered them. At this point I expect that most commercial reverbs use variants of Schroeder topologies (other than Lexicon, Quantec, Alesis, Dynacord, Ensoniq, Ursa Major and Eventide). Allpass loops are harder, but doable if the allpass coefficients can be set to 0. I don't have a good way to analyze modulation. Delay lengths are estimated (this mostly depends on how closely the actual sample rate matches the nominal sample rate). Gains are rough approximations. I can determine where filtering happens in the feedback loop, but not really the specifics. That's far from sufficient to make a totally accurate plugin, for example, but it's enough to play with the algorithm, make variations on it, compare different models, etc.

So if you'd like to make me some test recordings...



The right way to do it would be to use a logic analyzer to read the data sent to the DSP, then try to deduce the instruction set as you fiddle with delay times, feedback, filtering, etc. And maybe also see what the RAM addresses are doing, send the DSP different instructions to see what happens, etc. The instruction sets aren't generally going to be very complicated because it's mostly just MAC instructions. But it's still a huge headache. And then there's also mapping the user parameters to the DSP program, etc.

It wasn't that hard with the Midiverb since it's all discrete logic and the instruction set is near trivial. I just needed the schematic, ROM dumps and an oscilloscope. It wouldn't be a big deal to do the same with the Alesis XT and XT:c. But that's not the case for most reverbs.
...maybe take another look at your algo diagrams now that you know that the "Sub reverb" just a straight delay into the reverb itself.

Ha..! I sent Georg the Rev 2 Eproms..!

Also back in the early 1990s I had a friend try to copy the eprom from my MUR-201 (aka SDR-1000+) so I could update my SDR to a "plus" he said that the eproms were encrypted and he couldn't get them to dump...
Old 26th February 2022 | Show parent
  #1022
Lives for gear
 
acreil's Avatar
 
🎧 10 years
Quote:
Originally Posted by zmix ➡️
...maybe take another look at your algo diagrams now that you know that the "Sub reverb" just a straight delay into the reverb itself.
I accounted for that already. I was just confused when I was doing the version 1 diagram. I assumed I was leaving out something important.

Quote:
Ha..! I sent Georg the Rev 2 Eproms..!
Yeah that figures. I know Sean sent him the AES paper. The algorithm described in the paper isn't really related to the DRE 2000 design.

Quote:
Also back in the early 1990s I had a friend try to copy the eprom from my MUR-201 (aka SDR-1000+) so I could update my SDR to a "plus" he said that the eproms were encrypted and he couldn't get them to dump...
I've only run into weird things like that when dumping mask ROMs, usually because the chip enable pin is active high rather than active low (this allows two ICs to use the same chip enable signal without an inverter). But at least from the service manual it just looks like a standard 27C256. I don't think those can be encrypted. I'll have to add dumping the ROM to the list of things to do as well, since I don't think anyone's done it.

What I can say so far about the SDR 1000 hardware is that the CXD1079Q DSP was also used in some surround processors (SDP-505ES, SDP-777ES), a weird CD player (CDZ-1) and a mastering limiter (DAT-1000). The overall hardware design is pretty simple, but the DSP seems fairly sophisticated. It looks like it's either 96, 128 or 192 instructions per sample. The EQ is analog. Some of the later Sony effect processor ICs were also used in consumer gear.
Old 23rd March 2022
  #1023
Lives for gear
 
zmix's Avatar
 
🎧 15 years
Came across this one, our "very own" Sean Costello..!

Very nice, Sean..!

Old 2nd July 2022
  #1024
Here for the gear
 
Hi Everyone - I´m new here....

This I will ask acreil...
https://gearspace.com/board/attachme...re-scan-45.jpg
What are the numbers in black, and what does it mean in red ?

post 997:
What does the numbers mean in the boxes in the diagram ? are this the sample adress from the FDN ? or is it the bufferlength of one allpass ?
(APF 224,227 etc. ?)

What is the H(z) box ? Also delay ?

How did you came to this diagram ? only by hearing the algorithm ?

Thank you.
Old 2nd July 2022
  #1025
Here for the gear
 
sean was writing that its difficult to do a triangle LFO or an random generator on Fv-1.
My idea would be to use Pot3 as LFO / Random source if you take an attiny with DAC (R2R) for modulating input. As I read in the beginning of this monstertread its because you need it for a concert hall algorithm (0.4hz triangle with random).

Maybe I don´t understand this because triangle and random on top (mixed) or either triangle or random as mod source ?
Old 2nd July 2022 | Show parent
  #1026
Lives for gear
 
Casey's Avatar
 
🎧 15 years
Quote:
Originally Posted by MarcoZ ➡️
sean was writing that its difficult to do a triangle LFO or an random generator on Fv-1.
My idea would be to use Pot3 as LFO / Random source if you take an attiny with DAC (R2R) for modulating input. As I read in the beginning of this monstertread its because you need it for a concert hall algorithm (0.4hz triangle with random).

Maybe I don´t understand this because triangle and random on top (mixed) or either triangle or random as mod source ?
Concert hall would need several unrelated LFOs.

Have we discussed the specific LFO characteristics used in that algorithm? If not let’s.



-Casey
Old 2nd July 2022 | Show parent
  #1027
Lives for gear
 
zmix's Avatar
 
🎧 15 years
Quote:
Originally Posted by Casey ➡️
Concert hall would need several unrelated LFOs.

Have we discussed the specific LFO characteristics used in that algorithm? If not let’s.



-Casey
Lexicon only use one LFO in their concert hall..
Old 2nd July 2022 | Show parent
  #1028
Lives for gear
 
Casey's Avatar
 
🎧 15 years
Quote:
Originally Posted by zmix ➡️
Lexicon only use one LFO in their concert hall..
I know you have looked at that carefully. So one LFO used in multiple cases, presumably with every other one in opposition? That makes sense given that the microprocessor creating the LFO randomly missed some delay updates I believe because it could not quite keep up at times.
Old 2nd July 2022 | Show parent
  #1029
Lives for gear
 
zmix's Avatar
 
🎧 15 years
Quote:
Originally Posted by Casey ➡️
I know you have looked at that carefully. So one LFO used in multiple cases, presumably with every other one in opposition? That makes sense given that the microprocessor creating the LFO randomly missed some delay updates I believe because it could not quite keep up at times.

Single random LFO is injected in a (very) few places, yes.. in another algo a simple triangle only injected once in one side of the loop,and what is surprising is that you don't hear it as such.
Old 2nd July 2022 | Show parent
  #1030
Lives for gear
 
oldgearguy's Avatar
 
🎧 15 years
What about in their HD cart algorithm?
Old 3rd July 2022 | Show parent
  #1031
Lives for gear
 
acreil's Avatar
 
🎧 10 years
Quote:
Originally Posted by MarcoZ ➡️
What are the numbers in black
Delay lengths in samples.
Quote:
and what does it mean in red ?
Memory address offsets; at the time I was calculating everything manually, so I used that to keep track of the different delay lines. I wrote a script later that would list all the memory read and write addresses and their corresponding delays.

Quote:
post 997:
What does the numbers mean in the boxes in the diagram ? are this the sample adress from the FDN ? or is it the bufferlength of one allpass ?
(APF 224,227 etc. ?)
Again, delay length in samples, -0.7 is the allpass coefficient.

Quote:
What is the H(z) box ? Also delay ?
Loop filter, either a lowpass/highpass or shelf filters. Probably shelf filters, but it's hard to tell the way I'm doing it.

Quote:
How did you came to this diagram ? only by hearing the algorithm ?
For the Midiverb it was reverse engineering the algorithms on the EPROM. The others were analyzed from impulse responses.
Old 5th July 2022 | Show parent
  #1032
Lives for gear
 
🎧 15 years
Quote:
Originally Posted by robobob ➡️
Casey or any other Bricasti user who knows...

Love my M7
The presets and the sound quality A+

My density is saving edit changes to a user preset in the register bank.

The user manual is a bit terse for my taste for this critical UI of editing and saving edit changes

I took Tiled room and saved it to R0 as ShowerTiled
Then edited parameters to make it react more like a small shower

Tried Store, then Reg then Store
After several iterations I got one parameter change to save

But,
was the sequence:
Edit
Reg
Store???
  • Recall the named user preset using Reg (do I have to hit Enter to tell the M7 that this is the current loaded preset?)
  • Edit
  • change params
  • Go to Reg, but NO asterisk to reassure me that the machine knows it is in Edit mode!
Back to Edit and try again
Repeat until cussing commences

Just NOT getting the UI metaphor for editing user presets in the Reg banks

Any condescension welcome IF it makes this necessary feature usable for me!


TIA
Off topic.
Old 6th July 2022 | Show parent
  #1033
Here for the gear
 
Quote:
Originally Posted by acreil ➡️
Delay lengths in samples.

Memory address offsets; at the time I was calculating everything manually, so I used that to keep track of the different delay lines. I wrote a script later that would list all the memory read and write addresses and their corresponding delays.


Again, delay length in samples, -0.7 is the allpass coefficient.


Loop filter, either a lowpass/highpass or shelf filters. Probably shelf filters, but it's hard to tell the way I'm doing it.


For the Midiverb it was reverse engineering the algorithms on the EPROM. The others were analyzed from impulse responses.
Wow thank you !
So every AP has a private delay memoryline ?
and a main delayline for the tank ?

So you load the Eprom of the midiverb to an 8051 simulator to find the tables of 45 / 49 (bloom1 +2 ) ?

are the dasp8 opcodes the same of the fv-1(also by keith barr) ?

Impulse response IR Files : so you can see the allpasses inside the spectral answer ?
Old 6th July 2022 | Show parent
  #1034
Here for the gear
 
Quote:
Originally Posted by zmix ➡️
Single random LFO is injected in a (very) few places, yes.. in another algo a simple triangle only injected once in one side of the loop,and what is surprising is that you don't hear it as such.
So I could try to use pot3 as an random noise source for an fv-1 algorithm ?
Old 6th July 2022 | Show parent
  #1035
Here for the gear
 
Quote:
Originally Posted by MarcoZ ➡️
Wow thank you !
So every AP has a private delay memoryline ?
and a main delayline for the tank ?

So you load the Eprom of the midiverb to an 8051 simulator to find the tables of 45 / 49 (bloom1 +2 ) ?

are the dasp8 opcodes the same of the fv-1(also by keith barr) ?

Impulse response IR Files : so you can see the allpasses inside the spectral answer ?
Btw. I got an defective Midiverb2 and repair it a few days afo. I read the eprom too. But my I8031 ASM knowledge is poor at the moment. After disassembling with d52v336 I get a source file to try with the edsim51.jar but get stuck with an Unknown label "int0". I didn´t find out which port pin this should be since I have no schematic for the MV2.
---------
X00c8: mov a,#0ffh ; 00c8 74 ff t.
X00ca: movx @r0,a ; 00ca f2 r
jnb int0,X00d9 ; 00cb 30 b2 0b 02.
mov a,22h ; 00ce e5 22 e"
setb acc.1 ; 00d0 d2 e1 Ra
mov 22h,a ; 00d2 f5 22 u"
pop psw ; 00d4 d0 d0 PP
pop acc ; 00d6 d0 e0 P`
reti ; 00d8 32 2
------
Old 8th July 2022 | Show parent
  #1036
Here for the gear
 
where to inject the lfo here ?

http://freeverb3vst.osdn.jp/doc/Progenitor.jpg

Found this diagram of the concert hall algorithm. Where should this one random lfo injected ?
Old 9th July 2022 | Show parent
  #1037
Lives for gear
 
acreil's Avatar
 
🎧 10 years
Quote:
Originally Posted by MarcoZ ➡️
Wow thank you !
So every AP has a private delay memoryline ?
and a main delayline for the tank ?
No, the addresses are the read/write points for one sample. It cycles through all the addresses like any standard design. The difference is that Alesis used address increments rather than offsets added to a base address from a circular buffer. It ends up performing the same function but saves a few 74xx ICs.

Quote:
So you load the Eprom of the midiverb to an 8051 simulator to find the tables of 45 / 49 (bloom1 +2 ) ?
The microprocessor in the Midiverb only handles the MIDI and user interface. The algorithms are stored on a separate EPROM. I wrote a simulator and disassembler to generate impulse responses and readable code from the algorithm ROM.

Quote:
are the dasp8 opcodes the same of the fv-1(also by keith barr) ?
I don't know. They're probably not related at all.

Quote:
Impulse response IR Files : so you can see the allpasses inside the spectral answer ?
There's no spectral analysis. First I remove the series allpasses by processing the recorded impulse response in reverse through allpasses with estimated delays and coefficients. Then I can identify the number and length of the comb filters using something like autocorrelation, then identify which delay tap comes from which comb.

It's harder for allpass loop reverbs, but I can fumble my way through those too. In practice, most of the ones I've looked at have been Schroeder reverbs. I'm getting the impression that the allpass loop topology was totally unknown to Japanese manufacturers.

Quote:
Originally Posted by MarcoZ ➡️
Btw. I got an defective Midiverb2 and repair it a few days afo. I read the eprom too. But my I8031 ASM knowledge is poor at the moment. After disassembling with d52v336 I get a source file to try with the edsim51.jar but get stuck with an Unknown label "int0". I didn´t find out which port pin this should be since I have no schematic for the MV2.
I haven't tried disassembling it, but I think the non-modulated algorithms are copied straight off of the EPROM to the instruction memory. The service manual for the Midiverb 3 is available, and although they're different products with a different custom IC, the designs seem very similar. So maybe that's useful as a reference.
Old 4 weeks ago | Show parent
  #1038
Lives for gear
 
zmix's Avatar
 
🎧 15 years
Quote:
Originally Posted by MarcoZ ➡️
http://freeverb3vst.osdn.jp/doc/Progenitor.jpg

Found this diagram of the concert hall algorithm. Where should this one random lfo injected ?
That is not the Concert Hall Algorithm, that is Jon Dattorro's representation of what such an algo might look like, it's similar to the reverb he created for the Ensoniq DP/4.

You can see in the diagram that there is one modulated allpass in the loop, labeled "chorus":

📝 Reply
Post Reply

Welcome to the Gearspace 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…

Forum Jump
Forum Jump