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
Re: Synthmaker bundle
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 :
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 fm, that has a dual FM oscillator in place of the 'analog' one.
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 :
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 fm, that has a dual FM oscillator in place of the 'analog' one.
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
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
FL Studio 12.4 Using - Arturia / TAL / XILS / K. Brown plugins.
-
DrewDale - Posts: 30
- Joined: Sat Nov 26, 2016 8:21 pm
Re: Synthmaker bundle
Polished-up an oldie that I don't think was in the original Bundle -
spirit of Spirit :
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.
spirit of Spirit :
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
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.
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
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;*/
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Synthmaker bundle
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!
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
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.
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.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Synthmaker bundle
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.
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
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.
// mov eax,ecx; and eax,15; cmp eax,0; jnz hopend;
and all will be good. Do it in all instances of the filter.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Synthmaker bundle
Thanks for that -
But why is it working fine in Multipoly and so many others using the same fliter?
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
Who is online
Users browsing this forum: No registered users and 15 guests