Re: [LAD] What KvR didnīt understand.

From: Ove Karlsen <ove.karlsen@email-addr-hidden>
Date: Mon Jan 07 2013 - 14:57:58 EET

What KvR didnīt understand 10 yrs ago, and still donīt understand.

Why does digital synths often sound so bad? Either stale, or harsh etc.

Let me tell you in complete truth and honesty, is has got nothing to do
with digital. It has something to do with the engineers making the
algorithms.

When I was a newbie DSP engineer, the first thing I tried was making a
TB-303 filter. Which is what a lot of people do first. I talked to the
people on #musicdsp, and they had little clue, some had tried and said
it was difficult or impossible, some say they had succeded but their
filters didnīt sound too good.

On a few days, not having touched code, since I was 12 years old, I did
a resonance filter, that screamed and shreaked. Some engineers in the
KvR forum, said it was a bad thing to do, because their job now got so
much more difficult.

When in reality, it was not difficult at all. And this is typical for
those kinds of engineers. They donīt get into the algorithm. They donīt
understand what is going on. Instead very unecesary high-level theorems,
they try to fit into what is simple analog feedback paths.

One of the guys even worked with supposedly professor for many years,
and they did not come up with anything good.

They argue it is something to do with frequency-response, for instance,
why the analog filters sound the way they do, and it cannot completely
be done in digial.

All this is just crazy trash.

Later I actually looked at the schematics for the 303, and realized
there was just four feedback-paths with one negative feedback-path
around. It is as simple as that. That is all "analog vintage"
synth-filters. There is absolutely no obscurity going on, it is as
simple as it can be.

Knowing that analog has a certain headroom, and that components are a
bit inaccurate, and there is often some highpassing going on, due to the
frequency-response of the components, you can model that, VERY SIMPLY,
and without much cpu use. Some of the stuff released on KvR uses extreme
cpu, and even sounds bad.

Try this ok, in your synth, and you will realizing that digital can
sound just as good as analog, and without the inaccuracies. And analog
often has characteristics you DONīT want. So it is even better.

Released under The Beneficient Open-source licence. Please google it.
Since this licence allows for functions alone, to be released as
opensource you can make it a function, and use it alongside whatever
else you use.

//licenced under The Beneficient Open-source Licence.
         // Osc lo-emph.
         b_lo = b_lo + ((-b_lo + b_v) * b_lfr); // for emulating the
analog-charateristic of more saturation in the low-freq. (due to
saturated buffers)
         b_v = b_v - b_lo;
         b_v = b_v + (b_lo * b_lgn);

         int i_cnt = 0;
         while (i_cnt < b_os) {
             double b_rez = ((b_aflt4 - b_insh) * (b_filres)); //
removes attenuation by rez, and makes a smoother rez thru clip.
             if (b_rez > 1) {b_rez = 1;} else if (b_rez < -1) {b_rez =
-1;} // clip res, for analogstyle resonance.
// you can also do clipping at 0.0001 for instance, and mix, and get a
little resonance buildup, before resonance hits the audible range. A bit
similar to how some zero-cross distortion works.

         if (i_ftype == 1) { // 24dB lowpass ("ladder")
             double b_rez = b_aflt5 - b_v; // sub = no attenuation with rez.
             b_v = b_v - (b_rez*b_fres); // negative feedback for resonance.
             b_v = b_v * b_off2; // gain offset
             b_v = b_v + ((fvar90-0.5)*2); // bias
             if (b_v > 1) {b_v = 1;} else if (b_v < -1) {b_v = -1;} // clip

             //sat/soften clip.
             double b_vr = b_v; if (b_vr < 0) {b_vr = -b_vr;}
             b_vr = 1-b_vr;
             b_vr = pow(b_vr,fvar91*10); // something I tested at the
time, this is a filter from my synth "Abdullah", and work in progress.
             b_vr = 1-b_vr;
             if (b_v < 0) {b_vr = -b_vr;}

             b_v = b_vr;
             b_v = b_v - ((fvar90-0.5)*2); // bias
             b_v = b_v / b_off2;

// you can also do clipping at 0.0001 for instance, and mix, and get a
little resonance buildup, before resonance hits the audible range. A bit
similar to how some zero-cross distortion works.

             b_aflt1 = b_aflt1 + ((-b_aflt1 + b_v) * b_fenva);
             b_aflt2 = b_aflt2 + ((-b_aflt2 + b_aflt1) * b_fenva);
             b_aflt3 = b_aflt3 + ((-b_aflt3 + b_aflt2) * b_fenva);
             b_aflt4 = b_aflt4 + ((-b_aflt4 + b_aflt3) * b_fenva);
             b_v = b_aflt4;

             b_hp = b_hp + ((-b_hp + b_v) * b_fhp); // highpass to
emulate analog, and get nice resonance, and also remove DC.
             b_v = b_v - b_hp;
             b_aflt5 = b_v;
         }

That is the ultimate "analog" filter, completely digital, and without
inaccuracies, and ofcourse with perfect keytracking etc.

Forget all the obfuscating arrogant atheist KvR-nerds. This is the real
deal.

And all my DSP is just as perfect, and they never did anything of that
either.

And Unix-philosophy is really close to my philosophy of "least
obscurity". So it would be natural for this to develop and etablish
itself on Linux. I was a "hacker" in my teens, and I guess many who have
been into hacking, and brilliant programming, really celebrates God, and
ofcourse comes to the same idea of least obcurity, which is also very
much like (non-idolaterous) religion.

Instead ofcourse KvR bans the brilliant, who even talks about a
peacebringing religion, and peaceful meditation, according to Gods
praises, and the highest of intelligence, infinite human unfolding and
rights, if you wish. And that is the incoherent idolater/faithless.

Peace Be With You.

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Mon Jan 7 16:15:03 2013

This archive was generated by hypermail 2.1.8 : Mon Jan 07 2013 - 16:15:03 EET