Electro Harmonix analog delay simulation

Eric Sheffield's icon

Hi, all.
I was playing with my friend's EHX Memory Boy the other night, and was really digging the results. I've put together variable delays in MaxMSP before, and they sounded considerably different from the Memory Boy (much more swoopy and boopy as I change the delay time). Any advice on simulating a pedal like this in Max?
I've looked at the schematics, but other than the routing, I don't know how much info I can really glean from those.
Thanks!

Roth's icon

First of all, I must say I don't know anything specific about that particular analog delay. This summer, I'm going to be working on developing some Max externals/VSTs to model analog ring modulators and analog filters I'm not done with my research yet, but have some general advice for you.

The easiest method is to figure out a process that acheives a similiar effect as the analog circuit. Using analog ring modulation as an example, clipping the carrier at the momentary amplitude of the modulator roughly simulates the behavior of the analog circuit. If you can do some research into what the analog "sound" is, it is usually easier and more efficient to simulate this vs modeling the specific circuit.

The more complicated method would be to look at your schematic and ind out the formulae that model specific components in the circuit and then create an implementation that connects those formulae according to the schematic. This would more likely be easier (learning the SDK asside) and more effecient to implment in an external. While I still have more work to do to figure out how to correcty implement the analog ring modulation model I'm workign on, I do know that I wouldn't want to deal with that using MSP objects.

billy gomberg's icon

I haven't played with a Memory Boy in a while - but one of the essential ways to simulate vintage delay effects is to put a bandpass filter (or a HP/LP pair) and JUST A TOUCH of overdrive in yr feedback loop.

to get the "swoopy n boopy" you want to add [line~] or [curve~] to yr delay time controls (see the [tapin~]/[tapout~] help file for an example of this.