KORG MS20 Filter Emulation
Im trying to emulate this incredible filter from the MS20, it has a HP and LP which Ive read are 12dB/oct and have insane resonance, with the HP you can add bass thats unbelievable, great grizzly stuff. I usually use my korg legacy MS20 emulator to process drums with the filters being modulated by an envelope follower (Aphex did it a ton for his old stuff, It gets this great sound totally unique)
Im curious if anyone has tried this or has any tips. Ive looked through every filter in max and in every library I can find and nothing comes close. If you would like to hear demos download the demo version of korg legacy analogue, or
check out these vids on youtube:
and heres a pdf on the thing
and some gear emulators of it:
any ideas on how to make it in max, Im trying but I jsut cant get that harsh resonance of the HP, its almost like it generates a tone when you turn it up really high, but even in the bass range which I usually dont get on any of the max highpasses ive found.
Ideas? Do you think I can do this with biquad? Not sure how to do coefficients really.. any ideas would be appreciated, Ill be experimenting more and ill let people know how it goes.
I read through that PDF and it seems like someone with any sort of iir filter design knowhow could translate it, but I cant. I would love anyones help. Again the link is here:
Can any of you msp geniouses make this tangible?
Thanks in advance!!!
heres some quotes that ive compiled from some of the sitees I mentioned that might be helpful. I will start delving more deeply into this tomorrow. If anyone has any ideas on how to translate these ideas into max please let me know :D
\\
" The VCF will over-drive/distort in all modes, and the resonance can be cranked into self-oscillation. The LP/HP slopes are -12dB/oct and the NF is -6dB/oct."
"he VCF will alter it's resonance as the input amplitude varies. This was a "flaw" in the original design, but is the main reason for the sound!"
"The famous original MS20 included two filters: a 12 dB lowpass and a 6dB high pass filter connected in series both with a very special design"
"The frequency of this low pass filter is f = 1/(2 * Pi * R * C). The resonance is Q = 1/(3 - a). With a = 1 one obtains a filter without resonance, a = 1.268 leads to a Bessel filter, a = 1.586 to a Butterworth filter and a = 2.234 to a Tschebyscheff filter. When a reaches 3 the filter is self oscillating."
\\
that last bit seems the most important. Any ideas on how to achieve that.. I sort of know what a butterworth and chebyshev are.. but what exactly does it meen when a filter is "self oscillating.. I can tell by the sound that when you turn the res all the way up it becomes a tone in itself, unlike most filters.
At any rate thanks in advance!
NCRIII
streight from the ms20 manual regarding the resonance:
"Peak: This knob determines the amount of amount of emphasis applied to the area right before the low-range cut-off frequency chosen with the knob above. When turned up to around its maximum position, the filter itself begins to oscillate, becoming in effect another sound source. This self-oscillation capability is another big feature found in the MS-20."
Just need to figure out how to self oscillate a filter... what does it mean!!
in basic terms, it's when the resonance of the filter reaches a point where it starts to create a tone. a bit like another oscillator at the cutoff frequency of the filter. this is typically achieved by setting the resonance to maximum.
however some filters stop just short of self-oscillation...
i think you can make biquad~ oscillate if u set the resonance to 1. or 0.99
j
Quote: Axiom-Crux wrote on Fri, 06 April 2007 08:16
----------------------------------------------------
> streight from the ms20 manual regarding the resonance:
>
> "Peak: This knob determines the amount of amount of emphasis applied to the area right before the low-range cut-off frequency chosen with the knob above. When turned up to around its maximum position, the filter itself begins to oscillate, becoming in effect another sound source. This self-oscillation capability is another big feature found in the MS-20."
>
>
> Just need to figure out how to self oscillate a filter... what does it mean!!
----------------------------------------------------
I agree max filters don`t sound like that flavour, the filters used in reaktor come closer to your result.
not to post off topic:)
yes^^ and it creates an endless self induced sine at 1., on a 0. to 1. scale.
It definately does, but it seems that the "self oscillation" stops before it gets into the low frequencies, which is the best part of the ms20, it can add a really great resonant bass into anything.
Oh wait!! I take that back, I found it by george, I just had to do 2 biquads with the same coeff and reson, and you get a deeper reson, this is a wonderful start!
heres a version with signal rate ctl
from an MS-20 freak - Very nice patch!
Thanks :D
Im glad it turned out to be more simple then I would have thought, I never realized just layering 2 of the same filter would make it so much harsher :D
Ill upload the official abstraction version in a bit. I ended up going with 3 of them in series.
NCRIII
agreed. kick ass patch. I heard a rumor that there will be "better" sounding filters in max5. but this patch proves that most of this stuff can be done by combining what we have already
(I could be full of crap here)
One thing I find helpful when "emulating" analog electronics is to really consider the gain structure and how it distorts... When I have signals that go nuts like that, the most realistic thing to do is to normalize it to -1.2 to 1.2 (manually, not like the included patch), and then subtly add some wave shaping (overdrive~)
really get the scope~ out and make sure its distoring in the right places.
that way the next block gets the harmonics
is there a way to smooth the normalization? It clicks and has a sort of decay when it normalizes.
Cool though. I never understood what exactly overdrive does, is it more the just clipping?
I'd like to try this patch but Max crashes if the dac is turned on whenever
the slider is moved (both with & without normalization) Anyone else having
problems?
Thanks
On 4/6/07, Nicholas C. Raftis III wrote:
>
>
> is there a way to smooth the normalization? It clicks and has a sort of
> decay when it normalizes.
>
>
> Cool though. I never understood what exactly overdrive does, is it more
> the just clipping?
> --
> -=ili!ili=- www.Axiom-Crux.net -=ili!ili=-
>
re previous crashing on Max 4.5.7 or 4.6.2 OSX PPC
On 4/6/07, Dave Leith wrote:
>
> I'd like to try this patch but Max crashes if the dac is turned on
> whenever the slider is moved (both with & without normalization) Anyone else
> having problems?
>
> Thanks
>
> On 4/6/07, Nicholas C. Raftis III wrote:
> >
> >
> > is there a way to smooth the normalization? It clicks and has a sort of
> > decay when it normalizes.
> >
> >
> > Cool though. I never understood what exactly overdrive does, is it
> > more the just clipping?
> > --
> > -=ili!ili=- www.Axiom-Crux.net -=ili!ili=-
> >
>
>
>Cool though. I never understood what exactly overdrive does, is it more the just clipping?
its not clipping at all. it makes a sine wave gradually tend towards a square wave, , at higher values. mathematically i'm not sure what it is, but arctan distortion is cheaper, and i use it lots
I remembered from a long time ago that a label mate of mine, Roman
Belavkin, aka "Solar X", built an astoundingly good MS-20 emulation
in one of the very first versions of Reaktor. In fact, this is one
of the patches that "made" Reaktor for many people. I sent him an
e-mail to see if he could help, here's his reply:
"regarding MS-20 filters, the reaktor ensemble is available online I
believe, it was long time ago I did the audio section, and later
versions were mainly the interface updates. I am not sure if the
filters are 12 db (24 total), but somehow a figure of 18db comes into
my mind. He needs to check. However, my design is purely based on the
audio characteristics and a lot of tuning/fixing by ear. Whereas the
legacy claims to have reproduced the circuitry. But the reaktor
version came very close to the real thing. The main feature there is
that there is a feedback to the filter, which is a function of
frequency (less at high freqs, more for bass), and it is distorted
(the feedback signal). Also, I design each filter with two filters
inside, that have some frequency separation between their cutoffs.
This is because on MS-20 the filters cutoff the frequency "deeper",
so they behave like they cutoff more than 12db (this is why 18 comes
to my mind)."
Hopefully this is helpful info to make your work even better.
Interesting that even in Reaktor, he stacked two different filters
like you have. Maybe the slight frequency separation between cut
offs would make it better too..
Best,
Dan
--
Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com
http://www.jackosx.com
can we get the reaktor patch?
I have the MS20 legacy, thats how I fell in love with the filter, really thats the only part of this synth that makes it so special, the rest is pretty average, the patch bay is cool, I also bought it cause of the awesome USB controller with patch-bay (I wonder if I can use the patch-bay data in max.. but thats not important now)
The only thing I have left to fix is this damn aliasing, this always happens... FM, tons of stuff, (at least they have band-limited oscs now.
Is there a way to bandlimit this to help when it goes into the high frequencies? Ill also try this technique that roman T. told me in the analogue thread of poly~ up resolution.
Is there a way to do that up and down sampling and signal vector size for parts of a patch or abstractions other then poly?
dave, try playing with your signal vector size or IO vector sizes, or even overdrive and scheduler in audio inturrupt settings.
>can we get the reaktor patch?
as I remember it is _somewhere_ on the reaktor patches (ensembles)
page. You have to be a registred user to access those (even if the
patches were made by users)
>USB controller with patch-bay (I wonder if I can use the patch-bay
>data in max.. but thats not important now)
yes you can - the mini jacks send CC numbers so you can "see" those
in max. I started working on it, never finished eb-ven if I promise
myself to do it, some day. Each jack send 2 CC numbers, and I did not
get how exactly it knows where the other end of teh jack is...
but I belive with some time one can find the logic. (???)
best
kasper
--
Kasper T. Toeplitz
noise, composition, bass, computer
http://www.sleazeArt.com
At 8:50 PM +0200 4/7/07, Kasper T Toeplitz wrote:
>>can we get the reaktor patch?
>
>
>as I remember it is _somewhere_ on the reaktor patches (ensembles)
>page. You have to be a registred user to access those (even if the
>patches were made by users)
Yeah, I don't have it, but I'm pretty sure it's available on the NI site...
Dan
--
Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X / Major
Malfunction
http://www.defectiverecords.com
http://www.jackosx.com
in regards to normilization, I dont suggest doing that in your patch, this was to have an equal comparision. Thats VERY important when A/Bing things. in a typical situation you would multiply by hand
feeding back the biquads doesn't seem to work, as soon as I plug in any sort of fed back signal it blanks, and then when I unplug it turns back on.. wierd. Though I guess a biquad is actually technically a feedback loop already right?
RE: the MS20 USB patch bay
I plugged my headphones into one of the jack plugs on the front to see what would happen (I think it was the "headphone" jack to see if it actually was outputting audio) and it output little clicks. I checked each jack and they were all outputting these little click metronomes.. I would think each one outputs a different click and when they are plugged into each other, they detect each others clicks..?? maybe the click is amplitude = a certain cc# and when its plugged into 2 it outputs the start and destination ccs together? I did notice I could controll the patchbay from my other midi sliders on the novation so its definately cc data.
On 08-avr.-07, at 09:07, Nicholas C. Raftis III wrote:
>
> feeding back the biquads doesn't seem to work, as soon as I plug in
> any sort of fed back signal it blanks, and then when I unplug it turns
> back on.. wierd.
Try with a [send]/[receive] pair.
p
oh yeah I forgot that trick, works cause its delayed by 1 sample when sent and received.
Sounds like ass though so Ill continue with the 3 filter version, its almost perfected, Ill post when done.
000.MS20HP~
-----requires a limiter or clip~ after it to keep it safe!
Thanks Yall!
nice filter
sorry i was completely wrong, overdrive~ does clip between -1 to 1. i hadn't tried the arctan distortion with values outside that range, it gives a very nice response, gradually distorting and compressing the signal toward the range -1 to 1.
>
>RE: the MS20 USB patch bay
>I plugged my headphones into one of the jack plugs on the front to
>see what would happen (I think it was the "headphone" jack to see if
>it actually was outputting audio) and it output little clicks. I
>checked each jack and they were all outputting these little click
>metronomes.. I would think each one outputs a different click and
>when they are plugged into each other, they detect each others
>clicks..?? maybe the click is amplitude = a certain cc# and when
>its plugged into 2 it outputs the start and destination ccs
>together? I did notice I could controll the patchbay from my other
>midi sliders on the novation so its definately cc data.
of course there is no audio running in thgis USB controller !! (so
you can use the "output" jack for feeding back the synth)
all jacks from the patch bay respond send CC's - 2 of them for each jack
best
kasper
...I am just sleuthing around and found this. I love the patch. Thanks! I added some stereo random action to it, plus I'm controlling both the random speed (via metro) and the filter behavior with two MIDI expression pedals. It's really bubbly now. :)
Cheers,
Kris
Hello All,
Many thanks for this thread.
Here's the link for the MS20 from Roman
Belavkin, for reaktor :
best
Damien
I would consider the re-emergence of this thread to be a well thrown-down gauntlet to the gen gurus, no?
Cheers
Roger
yes, a very strange way to bring back this well trodden and very famous thread, damiensko - a link to a well known, bad quality, years old, reaktor patch; hmmm.
i built a pretty great filter in Max4/5 years ago after reading this thread, but what i ended up with had little resemblance to an ms20 and was super cpu intensive.
one of the first things i looked in to when i got my hands on gen~ was this ms20 problem. the ms20 is a lot harder to emulate than the moog 4 poles etc. also, there is far less useful info about it in the public domain. and not being a scientist myself this is problematic.
there are some basics which are reasonably easy to make a start with: you need a sallen & key filter emulation (quite easy) with a nod towards the 1974 Nyle Steiner paper of modifications. then work on a vactrol emulation. then you need to get tweaking...
the simplest and easiest to understand implementation is in the Doepfer documentation for their A-101-1 and A-106 modules. really helpful.
I think this is all doable with gen~ and i am going to have another go when i find the time, which may be never of course.
anyone else made a start?
Analog filter models are decidedly non-trivial in nature, unfortunately, but there is some literature about them (if not a ton on the MS20)
Paper on the electrical design of the filter:
http://www.timstinchcombe.co.uk/synth/MS20_study.pdf
Not the MS20, but maybe could be modified? It already has multiple modes (which I added to the original)
https://cycling74.com/tools/pm-ladder-moog-ladder-filter/
Papers about filters and analog-style oscillators. Filter algorithm for PM.Ladder~ is from here:
http://www.icst.net/research/download/digital-sound-generation/
Update: looks like Antti Huovilainen got to it:
(Page 28)
Looks like he started from the Moog filter designs, so this is worth a shot.
After reading through all this I can't help but wonder why you don't just plunk down $50 and buy the MS20 VST from Korg and load it through a [vst~] object?