Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

Synthmaker bundle

Post any examples or modules that you want to share here

Re: Synthmaker bundle

Postby k brown » Wed Feb 08, 2017 2:51 am

Well, I took another look at my earlier stab at the 2500 switch-matrix patching and was able to relieve enough of the sluggishness to make it not-bothersome (it only affected the outputs, not the inputs); now I kind of like it!

This is a much more complete emulation of the operation and functions of a small 2500. Added the Noise/SloRandom module to System 6, plus the switch-martix patching and a panel of 10 drop-downs standing in for one of the 2500's jack panels. The all drop-down patching has some advantages; the switch-matrix has others. Let me know which you prefer.

tonus Nineteen70 :

tonus Nineteen70_copy.jpg
tonus Nineteen70_copy.jpg (168.88 KiB) Viewed 27538 times


Folder also contains two alternate versions:
- tonus Nineteen70 b, that has a three-output Step LFO in place of the Dual Sample & Hold.

tonus Nineteen70 b_copy.jpg
tonus Nineteen70 b_copy.jpg (166.02 KiB) Viewed 27538 times

- tonus Nineteen70 fm, that has a dual FM oscillator in place of the 'analog' one.

tonus Nineteen70 fm copy.jpg
tonus Nineteen70 fm copy.jpg (218.19 KiB) Viewed 27538 times
Last edited by k brown on Thu Feb 09, 2017 2:10 am, edited 5 times in total.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
k brown
 
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA

Re: Synthmaker bundle

Postby DrewDale » Wed Feb 08, 2017 7:49 pm

k brown wrote:Thanks, - any chance you would share some of your patches?


Indeed I will share them, I will be busy for a few days, but will create some over the coming weekend :D
FL Studio 12.4 Using - Arturia / TAL / XILS / K. Brown plugins.
User avatar
DrewDale
 
Posts: 30
Joined: Sat Nov 26, 2016 8:21 pm

Re: Synthmaker bundle

Postby k brown » Fri Feb 10, 2017 11:42 am

Polished-up an oldie that I don't think was in the original Bundle -

spirit of Spirit :

spirit of Spirit copy.jpg
spirit of Spirit copy.jpg (132.07 KiB) Viewed 27520 times


A fairly complete emulation of the Crumar Spirit. Designed by three ex-Moog people, including Dr. Bob himself.
Very interesting filter, modulation and mixer paths on this crazy thing.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
k brown
 
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA

Re: Synthmaker bundle

Postby k brown » Sat Feb 11, 2017 4:41 am

Spogg, or any other 'stoners out there who might be willing to help - I'm at my wits end with this; on spirit of Spirit I can't for the life of me figure out why filter modulation by oscillator B (thru the Mod X path) is completely out of tune. The oscillators themselves remain perfectly in tune with this patch set up, but the filter beats crazily with Osc A, when OscB is modulating it !

https://www.dropbox.com/sh/eh0xrbsqnao1 ... eH0na?dl=0

To do ths, the Mod X destination is set to 'Filt U+L' (or 'Filt U', if the Lower filter is switched-out), and the Mod Source in Mod X is set to Osc B. Filter needs to be to turned down some to hear the modulation of course, and Osc B set to Tri. Beats like crazy as you play up and down the keyboard - never had filter modulation at audio frequencies do this, and I just can't figure it out!

Sorry in advance for my messy schematics; probably not much fun to root around in.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
k brown
 
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA

Re: Synthmaker bundle

Postby martinvicanek » Sat Feb 11, 2017 12:31 pm

Not sure what you mean exactly, but if you really want to modulate that filter at audio rate, you need to update the coefficients more often than hop(128), eslse I'd expect some nasty aliasing (not exactly beating). Try this slightly modified SVF3 filter code:

Code: Select all
streamin input;
streamin cut;
streamin resonance;
streamout lowpass;
streamout highpass;
streamout bandpass;
streamout notch;
streamout peak;

float lp1=0;
float bp1=0;
float f=0;
float nrez=0;

float MULTI=0.33333333;
float MINCUT=0.00045351474;
float TSF7=-0.00039682539;
float TSF5=0.016666667;
float TSF3=-0.33333333;
float TSF1=0.51945286;
float F1=1;
float F2=2;
float DENORM=1e-009;

mov eax,ecx; and eax,15; cmp eax,0; jnz hopend;   // hop(128)
   movaps xmm0,MINCUT;
   maxps xmm0,cut;
   minps xmm0,F1;
   //xmm0 -> cutoff
   mulps xmm0,TSF1;
   movaps xmm7,xmm0; // x
   mulps xmm0,xmm7;  // x2

   movaps xmm1,TSF7;
   mulps xmm1,xmm0;
   addps xmm1,TSF5;
   mulps xmm1,xmm0;
   addps xmm1,TSF3;
   mulps xmm1,xmm0;
   addps xmm1,F2;
   mulps xmm1,xmm7;
   movaps f,xmm1;
   
   movaps xmm0,resonance;
   subps xmm0,F1;
   movaps nrez,xmm0;
hopend:   // end hop

movaps xmm7,input;
addps xmm7,DENORM;

movaps xmm1,lp1;  // xmm1 -> lp1
movaps xmm2,bp1;  // xmm2 -> bp1

// step 1
movaps xmm0,xmm2; // xmm0 -> bp1
mulps xmm0,f;     // xmm0 -> f*bp1
addps xmm1,xmm0;  // xmm1 -> lp1 = f*bp1+lp1

movaps xmm0,xmm2; // xmm0 -> bp1
mulps xmm0,nrez;  // xmm0 -> -(bp1*rez)
addps xmm0,xmm7;  // xmm0 -> input-(bp1*rez)
subps xmm0,xmm1;  // xmm0 -> hp1 = input-lp1-(bp1*rez)
movaps xmm3,xmm0; // xmm3 -> hp1

mulps xmm0,f;     // xmm0 -> f*hp1
addps xmm2,xmm0;  // xmm2 -> bp1=bp1+f*hp1

movaps xmm4,xmm1; // xmm4 -> lowpass  = lp1
movaps xmm5,xmm2; // xmm5 -> bandpass = bp1
movaps xmm6,xmm3; // xmm6 -> highpass = hp1

// step 2
movaps xmm0,xmm2; // xmm0 -> bp1
mulps xmm0,f;     // xmm0 -> f*bp1
addps xmm1,xmm0;  // xmm1 -> lp1 = f*bp1+lp1

movaps xmm0,xmm2; // xmm0 -> bp1
mulps xmm0,nrez;  // xmm0 -> -(bp1*rez)
addps xmm0,xmm7;  // xmm0 -> input-(bp1*rez)
subps xmm0,xmm1;  // xmm0 -> hp1 = input-lp1-(bp1*rez)
movaps xmm3,xmm0; // xmm3 -> hp1

mulps xmm0,f;     // xmm0 -> f*hp1
addps xmm2,xmm0;  // xmm2 -> bp1=bp1+f*hp1

addps xmm4,xmm1;  // xmm4 -> lowpass  = lowpass  + lp1
addps xmm5,xmm2;  // xmm5 -> bandpass = bandpass + bp1
addps xmm6,xmm3;  // xmm6 -> highpass = highpass + hp1

// step 3
subps xmm7,DENORM;

movaps xmm0,xmm2; // xmm0 -> bp1
mulps xmm0,f;     // xmm0 -> f*bp1
addps xmm1,xmm0;  // xmm1 -> lp1 = f*bp1+lp1

movaps xmm0,xmm2; // xmm0 -> bp1
mulps xmm0,nrez;  // xmm0 -> -(bp1*rez)
addps xmm0,xmm7;  // xmm0 -> input-(bp1*rez)
subps xmm0,xmm1;  // xmm0 -> hp1 = input-lp1-(bp1*rez)
movaps xmm3,xmm0; // xmm3 -> hp1

mulps xmm0,f;     // xmm0 -> f*hp1
addps xmm2,xmm0;  // xmm2 -> bp1=bp1+f*hp1

addps xmm4,xmm1;  // xmm4 -> lowpass  = lowpass  + lp1
addps xmm5,xmm2;  // xmm5 -> bandpass = bandpass + bp1
addps xmm6,xmm3;  // xmm6 -> highpass = highpass + hp1

// scale
mulps xmm4,MULTI;
mulps xmm5,MULTI;
mulps xmm6,MULTI;

// for next loop
movaps lp1,xmm1;
movaps bp1,xmm2;

// output
movaps lowpass,xmm4;
movaps bandpass,xmm5;
movaps highpass,xmm6;
addps xmm7,xmm5;
movaps peak,xmm7;
addps xmm4,xmm6;
movaps notch,xmm4;

/*streamin input;
streamin cut;
streamin resonance;

streamout lowpass;
streamout highpass;
streamout bandpass;
streamout notch;
streamout peak;
streamout dbg;

float cutoff, rez, f;
float lp1, hp1, bp1;
float multi, x, x2, x3, x5, x7;
multi = 0.33333333333333333333333333333333;

hop(128) {
   rez = 1.0 - resonance;
   // clamp at 1.0 and 20/44100
   cutoff = max(cut, 0.00045351473922902494331065759637188);
   cutoff = min(cutoff, 1.0);
   // f = 2 * sin1((3.141592 * (cutoff / 36.0)));
   // taylor series
   x = cutoff * 0.51945286321522940099128899997997;
   x2 = x*x;
   x3 = x2*x;
   x5 = x3*x2;
   x7 = x5*x2;
   // x3 / 6, x5 /120, x7 / 5040;
   f = x+x
      - x3 * 0.333333333333333333333333333332
      + x5 * 0.016666666666666666666666666666
      - x7 * 0.000396825396825396825396825396;

   dbg = f;}   
input = input + 0.000000001;
lp1 = lp1 + f * bp1;
hp1 = input - lp1 - rez * bp1;
bp1 = f * hp1 + bp1;
lowpass  = lp1;
highpass = hp1;
bandpass = bp1;

lp1 = lp1 + f * bp1;
hp1 = input - lp1 - rez * bp1;
bp1 = f * hp1 + bp1;
lowpass  = lowpass  + lp1;
highpass = highpass + hp1;
bandpass = bandpass + bp1;

input = input - 0.000000001;
lp1 = lp1 + f * bp1;
hp1 = input - lp1 - rez * bp1;
bp1 = f * hp1 + bp1;

lowpass  = (lowpass  + lp1) * multi;
highpass = (highpass + hp1) * multi;
bandpass = (bandpass + bp1) * multi;
peak = input + bandpass;
notch = lowpass + highpass;*/
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Synthmaker bundle

Postby k brown » Sat Feb 11, 2017 7:05 pm

Hi Martin, thanks for the response -
No, not an aliasing prob. Every other build I've done that allows for modulating cutoff at audio frequencies works perfectly; this one goes wildly out of tune for reasons I can't figure. To be musically useful the modulating oscillator needs to be a tri or sine, and it works much better with the stock SM State Variable than with any Bi-Quads I've tried, but given that, it works great - sounds a bit like ring modulation, and like RM if the heard oscillator and the modulating oscillator are tuned to a harmonic interval you'll get an 'in-tune' result - except in this case!
Website for the plugins : http://kbrownsynthplugins.weebly.com/
k brown
 
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA

Re: Synthmaker bundle

Postby martinvicanek » Sat Feb 11, 2017 9:23 pm

Can you post a schematic with settings in place that show the issue?
Edit: I think the problem is really hop(128) for the coefficients update. Have you tried the above filter code? It uses hop(16),might still be too much for what you are after.
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Synthmaker bundle

Postby k brown » Sun Feb 12, 2017 7:04 am

Here's the synth with the problem (spirit of Spirit), saved with it going on. OscB's tri is modulating the 'Filter U' (24dB State Variable LP) thru the 'Mod X' modulation path, controlled by the small knob to the left of the Mod Dest section. If you play up and down the keyboard, you'll hear the sound varying from slightly to wildly out of tune (actually only close to in tune on one note).

And one (Multipoly) with it working just fine; the emulated synth - Multimoog, had a panel switch dedicated specifically to modulating the cutoff with Oscillator B ("Filt Mod by Osc B"). In my implementation, I have osc B's sine dedicated to this task, and have the filter switching from the BiQuads to the SVF when this switch is activated because the SVF sounds better with filter FM.
As I said, I can't see how this has anything to do with hops (or barley) because I've done this in many synths always with the bog standard Synthmaker State Variable, and it works great - till this bugger!
My first suspicion was all the complicated greens in OscB to implement the tuning controls for it's 'Wide' and 'Bass' modes, but as a test I bypassed all that and it made no difference. Also with this filter mod by Osc B set up and you turn the modulation amount (the small panel knob in this case) all the way off, and listen to Osc A and B together, they are perfectly in tune all up and down the keyboard, so the problem must be with the filter, but why not in other synths where I've done the same thing?
I had to do a Dropbox link as the zipped files were still too big.
https://www.dropbox.com/sh/adnlier6bikc ... BTD1a?dl=0

Thanks for having a look.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
k brown
 
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA

Re: Synthmaker bundle

Postby martinvicanek » Sun Feb 12, 2017 10:25 am

k.brown, definitly the hopping. Please remove or comment the line

// mov eax,ecx; and eax,15; cmp eax,0; jnz hopend;

and all will be good. Do it in all instances of the filter.
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Synthmaker bundle

Postby k brown » Sun Feb 12, 2017 6:48 pm

Thanks for that -

But why is it working fine in Multipoly and so many others using the same fliter?
Website for the plugins : http://kbrownsynthplugins.weebly.com/
k brown
 
Posts: 1198
Joined: Tue Aug 16, 2016 7:10 pm
Location: San Francisco, CA USA

PreviousNext

Return to User Examples

Who is online

Users browsing this forum: No registered users and 23 guests