This is completely off topic but are you mental?<br><br><div class="gmail_quote">On Mon, Jan 7, 2013 at 3:01 PM, Ove Karlsen <span dir="ltr"><<a href="mailto:ove.karlsen@paradoxuncreated.com" target="_blank">ove.karlsen@paradoxuncreated.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 1/7/2013 1:57 PM, Ove Karlsen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What KvR didnīt understand 10 yrs ago, and still donīt understand.<br>
<br>
Why does digital synths often sound so bad? Either stale, or harsh etc.<br>
<br>
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.<br>
<br>
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.<br>

<br>
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.<br>

<br>
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.<br>

<br>
One of the guys even worked with supposedly professor for many years, and they did not come up with anything good.<br>
<br>
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.<br>
<br>
All this is just crazy trash.<br>
<br>
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.<br>

<br>
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.<br>

<br>
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.<br>
<br>
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.<br>

<br>
<br>
//licenced under The Beneficient Open-source Licence.<br>
        // Osc lo-emph.<br>
        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)<br>
        b_v = b_v - b_lo;<br>
        b_v = b_v + (b_lo * b_lgn);<br>
<br>
</blockquote></div>
// there was some earlier code here that was not intended in the paste.<div class="HOEnZb"><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        if (i_ftype == 1) { // 24dB lowpass ("ladder")<br>
            double b_rez = b_aflt5 - b_v; // sub = no attenuation with rez.<br>
            b_v = b_v - (b_rez*b_fres); // negative feedback for resonance.<br>
            b_v = b_v * b_off2; // gain offset<br>
            b_v = b_v + ((fvar90-0.5)*2); // bias<br>
            if (b_v > 1) {b_v = 1;} else if (b_v < -1) {b_v = -1;} // clip<br>
<br>
            //sat/soften clip.<br>
            double b_vr = b_v; if (b_vr < 0) {b_vr = -b_vr;}<br>
            b_vr = 1-b_vr;<br>
            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.<br>
            b_vr = 1-b_vr;<br>
            if (b_v < 0) {b_vr = -b_vr;}<br>
<br>
            b_v = b_vr;<br>
            b_v = b_v - ((fvar90-0.5)*2); // bias<br>
            b_v = b_v / b_off2;<br>
<br>
// 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.<br>
<br>
            b_aflt1 = b_aflt1 + ((-b_aflt1 + b_v) * b_fenva);<br>
            b_aflt2 = b_aflt2 + ((-b_aflt2 + b_aflt1) * b_fenva);<br>
            b_aflt3 = b_aflt3 + ((-b_aflt3 + b_aflt2) * b_fenva);<br>
            b_aflt4 = b_aflt4 + ((-b_aflt4 + b_aflt3) * b_fenva);<br>
            b_v = b_aflt4;<br>
<br>
            b_hp = b_hp + ((-b_hp + b_v) * b_fhp); // highpass to emulate analog, and get nice resonance, and also remove DC.<br>
            b_v = b_v - b_hp;<br>
            b_aflt5 = b_v;<br>
        }<br>
<br>
<br>
That is the ultimate "analog" filter, completely digital, and without inaccuracies, and ofcourse with perfect keytracking etc.<br>
<br>
Forget all the obfuscating arrogant atheist KvR-nerds. This is the real deal.<br>
<br>
And all my DSP is just as perfect, and they never did anything of that either.<br>
<br>
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.<br>

<br>
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.<br>

<br>
Peace Be With You.<br>
<br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Linux-audio-dev mailing list<br>
<a href="mailto:Linux-audio-dev@lists.linuxaudio.org" target="_blank">Linux-audio-dev@lists.<u></u>linuxaudio.org</a><br>
<a href="http://lists.linuxaudio.org/listinfo/linux-audio-dev" target="_blank">http://lists.linuxaudio.org/<u></u>listinfo/linux-audio-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><span style="clear:both">"Cheshire-Puss," she began, "would you tell me, please,<br>
                which way I ought to go from here?"<br>
"That depends a good deal on where you want to get to," said the Cat.<br>
"I don't care much where--" said Alice.<br>
"Then it doesn't matter which way you go," said the Cat.</span><br>