emulating vintage hardware filters and eq's

jmejia@gmail.com's icon

Does anyone know where to look for real-world data on the charectoristics of specific vintage hardware? (ie. moog or arp filters, pultech eq's, ..anything nice sounding and famous really)

I'd like to experiment a little with designing clones in MSP (figuring eq's or filters are a simpler place to start than vintage compressors), but I'm hoping in this day and age I can skip the hardware analysis step and use someone elses data!

Thanks!

-Jesse

Isjtar's icon

Quote: jmejia@gmail.com wrote on Sun, 26 March 2006 10:02
----------------------------------------------------
> Does anyone know where to look for real-world data on the charectoristics of specific vintage hardware? (ie. moog or arp filters, pultech eq's, ..anything nice sounding and famous really)
----------------------------------------------------
easiest way is convolution, you'd need the spat library (i think that's what it's called) for high quality IR.

if you want to do real modelling with circuits and all, i think you're a long way from home.
that said, the synthi emulation is pretty cool,
http://couprie.pierre.free.fr/texte.php3?id_article=21

i feel this is more of an external devloping kind of thing, but i may be completely off on that...

cheers

junior | isjtar

Peter McCulloch's icon

Csound has implementations of Moog VCOs and filters. I haven't used
them, so I can't attest to their quality, but what with Csound being
GPL, there should be source code that you might learn from. (or you
could just use them in csound~)

One big issue with emulating analog is producing the jitter in the
signals associated with it, for which rand~ is a good starting point.
(or my preferred combo: a rand~ controlling a rand~)
Also, doing some slightly varying wave-shaping might be interesting.

Peter McCulloch

jmejia@gmail.com's icon

I am interested in modelling, not using convolution. I don't know anything about circuitry modelling (although I do have a lot of nice schematics, and a few diy prototypes lying around)

I'm not sure if it would be easier to look at spectrum analysis data from a particular object (as I was thinking in my previous post), or to analyze the circuit itself... again, it's something I haven't looked into before but am interested in learning about. It seems like a schematic could be turned into to a useful algorithm for a filter in msp, and even more useful if inherent physical flaws of the hardware components are considered. (tolerance of resistors, heat stress on components, idiosyncracies of specific old parts, etc)

I'm just looking for a push in the right direction for learning how to do this sort of thing. Maybe theres a book that would help? I know how to read circuits, and have some knowledge of what they do, but I don't know exactly what aspect to study furthur.

I have looked at that synthi emulation before, it's impressive.

jmejia@gmail.com's icon

Quote: peter.mcculloch@gmail.com wrote on Sun, 26 March 2006 11:10
----------------------------------------------------
> Csound has implementations of Moog VCOs and filters.

I'll check out that code, thanks for the tip!

Your advice Re: electronic jitter sounds useful too!

-Jesse

Peter Castine's icon

On 26-Mar-2006, at 20:10, Peter McCulloch wrote:
> One big issue with emulating analog is producing the jitter in the
> signals associated with it

You might want to look at:

Altogether, Litter Power provides a rich source of materials for this
sort of endeavor. In case you're interested.

Best -- Peter

-------------- http://www.bek.no/~pcastine/Litter/ -------------
Peter Castine +--> Litter Power & Litter Bundle for Jitter

iCE: Sequencing, Recording & |home | chez nous|
Interface Building for |bei uns | i nostri|
Max/MSP Extremely cool http://www.castine.de
http://www.dspaudio.com/

Stefan Tiedje's icon

junior wrote:
> easiest way is convolution, you'd need the spat library (i think
> that's what it's called) for high quality IR.

Convolution would only work for linear filtering, for that purpose
buffir~ would be fine (as filters do not need very long impuls
resposes), though its not really handy, as it can only remember on
single setting (no filtersweeps...).

The specialty of "real world filters" like Moog and Arp filters is their
distortion part. No way to do that with convolution.

Linear filters are pretty well covered by a combination of filtergraph~
and biquad~ or by svf~ or by reson~ or...

Might be fun to put some distortion somewhere in the (feedback)path to
emulate old analog nasties.
Knowing about the general functionality of filters, nonlinear distortion
and sound would be an necessary requirement though. Can't really avoid
that, even if someone would hand you a ready patched solution.

Stefan

--

[][] [][][] [][] [][][]
[][][][][][][][][][][][][][][]

Stefan Tiedje
Klanggestalter
Electronic Composition
&
Improvisation

/~~~~~
\ /|() ()|
))))) )| | |( \
/// _/)/ )))))
___/ ///

-------------------------x----
--_____-----------|-----------
--(_|_ ----|-----|-----()----
-- _|_)----|-----()-----------
----------()------------x-----

14, Av. Pr. Franklin Roosevelt,
94320 Thiais, France
Phone at CCMIX +33-1-57 42 91 09

jmejia@gmail.com's icon

yeah, that's fine... I was just hoping I could get my hands on data on specific filters. for example..adding distortion to the feedback path of a linear filter is all well and good...but I'd like to data regarding how much, when and where the specific filter I'm modelling distorts. (among other charectoristics) I am not interested in generic analog emulation, but emulating a specific device. (although I'm not too picky about what device it is!) I also don't want a ready patched solution...just some more knowledge, and hopefully some real-world specs and/or an understanding of how to model from a schematic. I'm not afraid of heavy reading...

Peter Castine's icon

On 27-Mar-2006, at 11:16, Jesse wrote:
> I'm not afraid of heavy reading...

You may also want to check the US Patent Office. A number of those
old filters were patented and the patent applications will have had
circuit diagrams attached.

A long and winding road, and it's not as if success is guaranteed. If
you do find something, the good news is that the patent protection
will almost certainly have long since expired, freeing you to do what
you will.

Good luck,
Peter

-------------- http://www.bek.no/~pcastine/Litter/ -------------
Peter Castine +--> Litter Power & Litter Bundle for Jitter

iCE: Sequencing, Recording & |home | chez nous|
Interface Building for |bei uns | i nostri|
Max/MSP Extremely cool http://www.castine.de
http://www.dspaudio.com/

Roman Thilenius's icon

i completely disagree with those who said that
you can look into electronics diagrams of hardware
to be able to biuld a software version.
the normal way of programming a vintage EQ would be
making a series of recordings with the gear and
then for example write a FIR filter from this data.

jmejia@gmail.com's icon

Quote: Roman Thilenius wrote on Mon, 27 March 2006 04:48
----------------------------------------------------
>
> i completely disagree with those who said that
> you can look into electronics diagrams of hardware
> to be able to biuld a software version.
> the normal way of programming a vintage EQ would be
> making a series of recordings with the gear and
> then for example write a FIR filter from this data.
----------------------------------------------------

That was exactly the direction I was thinking in when I first posted this thread, I was hoping to steal someone elses recordings or even better the analyzed data.
In lieu of finding such luck, in terms of 'a series of recordings' could I do it with impulse-type recordings (to analyze...NOT for convolution), or would I need an exhaustive set of recordings of real-world musical sounds?
I'm thinking if I send an impulse through a hardware filter with incremental recordings that might be enough to develop a data set for writing a filter.. any thoughts?

Peter Castine's icon

>> i completely disagree with those who said that
>> you can look into electronics diagrams of hardware
>> to be able to biuld a software version.
>> the normal way of programming a vintage EQ would be
>> making a series of recordings with the gear and
>> then for example write a FIR filter from this data.

Both approaches are possible, either has its traps and pitfalls.

What I've seen of NI's work indicates they disagree with your
complete disagreement. So go disagree.-

Anyone know which approach Propellerheads take?

-------------- http://www.bek.no/~pcastine/Litter/ -------------
Peter Castine +--> Litter Power & Litter Bundle for Jitter

iCE: Sequencing, Recording & |home | chez nous|
Interface Building for |bei uns | i nostri|
Max/MSP Extremely cool http://www.castine.de
http://www.dspaudio.com/

jmejia@gmail.com's icon

I'd also love to know how Universal Audio does it... the UAD-1 must have the most authentic sounding emulations I've heard/used.

Stefan Tiedje's icon
jmejia@gmail.com's icon

Quote: Stefan Tiedje wrote on Tue, 28 March 2006 02:39

> The only way to really emulate is the schematics. You need to know the
> nonlinear behaviour of each component. especially transistors, FET,
> opamps etc.

This method really interests me, and your arguments agains FIR make some sense. What specs should I pay attention to in terms of a given transistor in the circuit? Can the non-linear behavior be derived from the data sheet on the part? (I'm hoping this isn't something I'll need to measure myself with meters and scopes on the component itself...

To give a concrete example, one idea I have is to model a moog-style multi-ladder filter from some DIY schematics I've built from in the past. The top and bottom pairs of the ladder utilize the Analog Devices SSM2210 NPN transistors. (matched pairs)
Where would I begin in terms of emulating the behavior of these transistors? I know basically what they do, but what will give me insight about their non-linear behavior, and where would I begin in terms of writing an algorithm that mimics them? The datasheet is here if anyone can help:
http://tinyurl.com/l8eub

Again, I realize there is a lot of work cut out for me if I go this route...and I'm not afraid to hit the books if I need to learn more about electronics, but I'd like some pushes in the right direction.

Thanks for any/all help!!

-Jesse Mejia

randall jones's icon

On Mar 27, 2006, at 6:00 AM, Jesse wrote:

>
> I'd also love to know how Universal Audio does it... the UAD-1 must
> have the most authentic sounding emulations I've heard/used.

According to an interview in Tape Op some months back, they do
attempt to model the system at the component level. But, as I
remember thinking when reading the article, this could mean a lot of
different things. One thing it certainly doesn't mean is that they
have a model of the system as a network of all of its discrete analog
components with their salient nonlinearities all running in real
time. That's just too much computing, and much of it irrelevant
besides.

Emulating individual components in MSP is unlikely to be a way
forward. Circuit simulation cannot really be done in the linear flow-
through-unit-generators world of MSP, for a couple of reasons. One
is the feedback and the signal vector size. Even with signal vector
of 1 you will be adding a single-sample delay to filter structures
which should have (practically) zero delay, which will throw off your
simulation. For a lot of filters/circuits simple oversampling might
be a way around this problem, but then you're probably out of real
time already. Another problem, more basic, is that you need to
model both current and voltage through the system. It's not possible
to understand this flow as unidirectional, as with audio in MSP. The
sum of current at each junction, at each time step, must be zero,
which means that you have to solve in one way or another for the
effect of each component on all of its neighbors. Look at how
something like SPICE works if you want to affirm how difficult this is.

What is doable is to break a big circuit down into functional blocks
which are understood as filters. Then the color-providing
nonlinearities which people focus on can be added to this basic
structure. Some of these may correspond mainly to single components
in the analog circuit such as vactrols, transformers or output gain
stages. So it's not entirely wrong when people say they are
"modeling components," but it's not the whole story.

To do this kind of stuff, there is no way around knowing some filter
design / basic DSP. My favorite starter book is still "Digital Audio
Signal Processing, an Anthology", John Strawn, Ed. You also need to
understand the analog circuits, for which "The Art of Electronics" by
Horowitz and Hill is great. Also, one can learn a lot of context by
lurking on the music-dsp list, where this kind of thing is discussed
all the time. All in all, this is a rewarding multi-year voyage.

-Randy

jmejia@gmail.com's icon

Quote: randall jones wrote on Tue, 28 March 2006 12:49
----------------------------------------------------

> According to an interview in Tape Op some months back, they do
> attempt to model the system at the component level. But, as I
> remember thinking when reading the article, this could mean a lot of
> different things.

I read that article as well, and I remember being pretty unclear as to what that really meant too. It'd be nice if they out-right told us their secrets - but that would be communism wouldn't it.

> What is doable is to break a big circuit down into functional blocks
> which are understood as filters.

That sounds good, so in my above example, it might make sense to consider the transistor ladder as one (the primary) of these functional blocks? (as opposed to modelling each transistor) Now I just would need to figure out how to mimic a transistor ladder in MSP.............

>Then the color-providing nonlinearities which people focus on can be added to this basic
> structure. Some of these may correspond mainly to single components

Then I think I would be correct in assuming that the 'key' component that makes my ladder in question sound like the ladder in question would be the SSM2210 NPN transistor I mentioned earlier. I know these things are distinctive...but how do I find out why exactly they are distinctive in some sort of emulatable terms? Maybe they introduce some very specific type of jitter that could be emulated in approximately the same position in an MSP patch? Looking at the data sheets I posted above, I have no idea where to look for such a thing.

> My favorite starter book is still "Digital Audio
> Signal Processing, an Anthology", John Strawn, Ed.

Thanks! I'll pick that one up right away!

> You also need to understand the analog circuits, for which "The Art of Electronics" by
> Horowitz and Hill is great.

I do have that book, but I haven't gotten too far into it yet.. It's on my list of things to do.

>Also, one can learn a lot of context by
> lurking on the music-dsp list, where this kind of thing is discussed
> all the time. All in all, this is a rewarding multi-year voyage.
>

Thanks for all your good advice! I'm excited to learn more about all of this!

-Jesse

Roman Thilenius's icon

> The only way to really emulate is the schematics. You need to know the
> nonlinear behaviour of each component. especially transistors, FET,
> opamps etc. All the information should be available, and you probably
> need either a vector size of one, or need to code it in Java or C.

not at all.
there is 2 sorts of mastering compressors and they
all function more or less the same way and have
similar schematics.
but they all soound different, because they use
different components.
from looking at the circuit plan you do not know how the
tube or transistor or spool influences the attack of a
bassdrum sound at -13db, only from recroding it you will
know.

there are even products out there where you can choose
with what type of tubes you want to have your product
equipped. the schematics will remain the same.

-110 (anti stefan mode turned on)

jmejia@gmail.com's icon

Quote: Roman Thilenius wrote on Wed, 29 March 2006 06:55
----------------------------------------------------

> from looking at the circuit plan you do not know how the
> tube or transistor or spool influences the attack of a
> bassdrum sound at -13db, only from recroding it you will
> know.

I think the idea is that if you understand the idiosyncracies of said transistor, and its function in the circuit, you can derive an algorithm from that, that would *hopefully* effect your bassdrum sound in a same/similar way... now whether or not this idea is possible is what I'm trying to figure out!

> there are even products out there where you can choose
> with what type of tubes you want to have your product
> equipped. the schematics will remain the same.

this could be a semantic difference between you two, but when I look at a detailed schematic, I'm expecting to see part numbers. In this case, for your example, a different tube would be a change in schematic. But you're right...you'd need to understand the tube itself, and information ABOUT the tube is not written on the schematic. Do you think this would be a job for the datasheet on the tube, like I've been asking of? Or, are you arguing that the tube could only be understood by recording real musical events with it?

-Jesse

Roman Thilenius's icon

> this could be a semantic difference between you two, but when >I look at a detailed schematic, I'm expecting to see part >numbers. In this case, for your example, a different tube would >be a change in schematic. But you're right...you'd need to >understand the tube itself, and information ABOUT the tube is >not written on the schematic. Do you think this would be a job >for the datasheet on the tube, like I've been asking of?

let me answer like this .. you noticed that the first
example of part i could think of was a tube.
maybe that is a bit unfair because there are probably
a lot of other components in a hardware which works
like you described it; the type and class (e.g.quality
and specs of a resistance) are written into the plan
and one could emulate the electronic circuit as such.

i am not able to tell how many products oout there are
based on stuff like this .. i just know many which are
more or less emulate only the sound of some original by
using common digital signal processing techniques such
as FIR.

it is time for me to disassemble the sonalksis stuff
then we know.

otoh there are enough things where it is hard to emulate
complex circuits as such, think of binaural filtering
where everyth8ing i have seen until today was based on
FIR or FFT filter arrays and then you create the position
in between simply from blending. it only counts what you
hear .. and if such a way of emulation works fine why do
it more complicated and waste CPU.

i am impressed by the focusrite liquid channel, and
that good old overpriced steinberg amp sim VST
plug-ins is also cool. both is FIR.

if guitar rig is made up by k0d!z!Ng 3l3k+r0N!cz
schemantoisims then this is fine with me, i hate NI
stuff for other reasons already.

there are so many hardware products which just
suck that you automaticaly come back to [phasor~]
and [biquad~]. lol.

maybe we are all wrong and the earth is a flat.

Jamie Gordon's icon

I know this is a long shot, but did you ever get anywhere with this? really interested in this topic!