SM Bass - Completed and released

Special collaborative projects managed by SynthMaker users

Moderators: electrogear, exonerate

Postby Nu Audio Science on Sun May 15, 2005 5:28 pm

OK i'll leave that one for now :)
I think Stef has made the LFOs in Nildon host sinced so i will start looking at those but we are being held up by that retriggered env DOH

PS Theres no drive in the 303 either but that baby stays :D
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby JMH on Mon May 16, 2005 3:19 pm

Hello ppl :)

Finally a topic that got me into registering to this forum :)

I started working on a "303 emulator" a while ago, after getting my hands on a Devilfish. I based my work loosely on Creakbox sources and fiddled around, figured out ways to make a simple 16 step sequencer etc... from my experience, here's a few comments regarding Creakbox:

The oscillators are nothing like the real thing. Not bad in itself, but... there was once a good description on how a 303 generates the waveforms, sadly I can't find it with Google anymore. Simple stuff though (basically), as it was just generating the other waveform (square quite likely) from the other one (that'd be saw then ;) - some phase magic should be all you need. But they're not really square and saw, there's some good analysis on these on some of those 303 fanatic sites.

The filter is... useable until someone with good ears and skills gets it done better. It was surprising to hear how far the emulations still are from the real thing. Especially with all that accent brings into the equation.

Accent still seems to be off in all emulations. However, a 'good enough' approximation is more than enough for me, and this is rather easy in SM. Of course once you get down to all the details (such as the way accent affects the amount of resonance with repeated accented notes) there's a lot of painful little additions you have to make.

Anyways... what I've been working on isn't supposed to be an accurate emulation. Instead I'm basing it on Devilfish and the features it offers compared to the original one. I'm also adding some extra things, such as controls that extend it a little further, a sort of second oscillator (I'm not using it in a traditional way, and without going into details I'll mention it will always be synced to the main osc), and faking a self-oscillating filter in order to do what Devilfish does (as it contains modifications to the filter that make it oscillate, and in certain modes, using just the oscillating filter as the only sound source, sounds really freaky!)... oh, and "emulating" the way Devilfish snaps and pops every now and then (because of mods done to the envelopes), except mine will be a fully controllable feature and not just a byproduct of too fast envelopes...

I have to say that it will take a long time and some major additions to SM before I get it all done... thank god the code component is getting better. For me, dealing with stuff that's simple to 'real coders' such as scaling knob values to a certain range etc has been the hard stuff, as I've figured all the structures of the different components a long time ago, with the magic of these ancient devices called pen and paper :P Also, being the anal person that is me, I'll try to get all the nonlinearities and idiosyncracies of the envelopes etc. nailed down at some point. Hopefully I'll also own a Devilfish in the near future, but that's another story.

Without SM this would have never been possible to me, and for that I'm grateful to the people behind it. And to everybody who have been posting stuff on this forum, all the examples and so on are what got me hooked on SM :)

Nice to see that the first collaborative project is something that I myself have been working on. If I have anything of any use to this project, I'll make sure I contribute it to the project.

Keep up the good work, ppl :)

Regards,

JMH

Ps. Yes, I'm that 303 fanatic from KVR forums :P
JMH
essemer
 
Posts: 18
Joined: Mon May 16, 2005 3:01 pm
Location: Finland

Postby Tom7777 on Mon May 16, 2005 3:23 pm

Hi JMH, welcome to the forum :)
Tom7777
smychopath
 
Posts: 3936
Joined: Wed Mar 16, 2005 10:46 pm

Postby Nu Audio Science on Mon May 16, 2005 7:26 pm

Hi JMH
Any help you can give with this is more than welcome
:)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby unkargherth on Tue May 17, 2005 10:32 am

To all Involved/Interested In this Project

I've been asking myself if what we are doing have any worth

I mean. Emulating old equipement is nice, but emulating it to today quality standards of "I want the same glitch on ( put your favorite component here: osc/adsr/filter) that the original produced by discharging the resistance......". all of you know what i mean. I feel trying to this last way is near IMPOSIBLE,and , more important, very boring.

What i say this? Because before continue on, it's important to clarify what are we doing

This started as a 303 emulator, but i think that, living in 21 century, we can do something better. I was thinking in something like 303 part of "PropellerHeads Rebirth". ie a full midi, sequentiable, 303-ish monobass

I mean: Pulse and saw is ok, but i don't agree with having to emulate teh errors ( called non-linearities) of it. All of us know what a saw or pulse osc should do to do it well

Same for filter. I'm not completely happy with the current filter. Yes it has some resemblence to the 303 style sound, but nothing more. I'ts crappy
(I prefer the 18lpf SynC port over my own implementation), dificult to maintain, full of mystic mathematics and a bit unstable

Accent it's another one that i never agreed on how it's implemented. Accent is not only Higher volume/velocity,deeper/softer rezy decay,etc
it should be a combination of all of them and posibly something more

I like to be added the distorsion ( another one to take into account when Accenting notes), but for now it's to rude. It's nice it could be rude sometimes , but not always. It needs to be streamlined

Sequencer is one of the importatt part. A implemented by now ( akind of a dawable lFO ) seems not better way, form my POV. I've been busy working on a total new approximation that allows:

.- Be completely independent of MIDI Input if we want
.- Be able to sequence More things than freq ( in alpha version i'm sequencing now accents, but nothing prevent to sequence cutoff, rezo, decay, envmod and dist too)
.-To working modes: Fixed or relative: Fixed has it's own note ( reqd fequency) definition, while relative should out notes relative to MIDI Note Input

Still some problems to solve so expect a few days ETA

Share you thoughts on this please
User avatar
unkargherth
smanatic
 
Posts: 605
Joined: Fri Apr 08, 2005 8:46 pm

Postby infuzion on Tue May 17, 2005 10:45 am

unkargherth wrote:Emulating old equipement is nice, but emulating it to today quality standards of "I want the same glitch on ( put your favorite component here: osc/adsr/filter) that the original produced by discharging the resistance......". all of you know what i mean. I feel trying to this last way is near IMPOSIBLE,and , more important, very boring.
Point well taken; copying may not be the most creative way to spend time.

But I would like to have a free clone of a TB303; it will be years before I can budget in a real used one. Plus it seems a slightly broken/quirky equipment/VST(i) makes tracks more funky. The Kinks invented the fuzz gutair by slashing a speaker in the early 60's, & rock was never the same again.

It would be neat to have 2 modes; relistic clone mode & new funk mode. On the other hand, when free projects like this grow too big, they take years to finsh, if at all...
Need help? First search the forum & WiKi, then post in the help forum with a clear topic, request, & OSM. Then please WiKi the correct solution. If you want my personal assistance, I charge by the hour or for an exchange of services.
infuzion
smstar
smstar
 
Posts: 6163
Joined: Wed May 04, 2005 8:02 pm
Location: Earth, USA, CO, Denver

Postby skOre on Tue May 17, 2005 10:57 am

Remember that this is not SE - you could do both, the original 303 and an enhanced version without worrying about CPU !
Image
Support me and other developers by subscribing to our community at audiooak
User avatar
skOre
smaniac
 
Posts: 1504
Joined: Thu Mar 31, 2005 1:46 pm
Location: Germany

Postby Nu Audio Science on Tue May 17, 2005 10:57 am

As long as it sounds good (Acidic) i dont care :)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby unkargherth on Tue May 17, 2005 11:06 am

Well. I'm not too much interested in the "soudn of tb-303". I'm interested in how it was used, 303 is the mother of near all rolling basses of eighties
and most of middle nineties ( when it gets rediscovered). So it ' isn't important for me that Sounds as 303, is much important it make me able to do "the kind of things that 303 did"

Anywya a "circuit level" emulation is far beyond we can do, so i think a good sounding 303-ish monobass is a good taget for us ( at leats for firts release)

And personally, infuzion, I will never put 1 dollar in for an original tb-303 (for using it - as a collectible or as speculator inversion could be nice - ). Believe me. I've had same idea on a original YAMAHA DX7 and now i'm using it only as a controller keyboard
User avatar
unkargherth
smanatic
 
Posts: 605
Joined: Fri Apr 08, 2005 8:46 pm

Postby Nu Audio Science on Tue May 17, 2005 11:10 am

I think the only person after a TB emu is JMH and he's building his own anyway ;)
I've been doingother stuff because i couldn't learn stuff withoutdoing so :(
I did get the knob finished for this baby last night though (I will post pics in a mo)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby infuzion on Tue May 17, 2005 11:33 am

unkargherth wrote:Anywya a "circuit level" emulation is far beyond we can do, so i think a good sounding 303-ish monobass is a good taget for us ( at leats for firts release)
for a first release, I think that's a good idea. I know some of the old synths (Moogs) started to sound different as the unit warmed up, etc.

One thing I would like to have a return from the origional is the warmer sound the TB303 had, that the emulators don't... perhaps an altered tube emu is in order?
Need help? First search the forum & WiKi, then post in the help forum with a clear topic, request, & OSM. Then please WiKi the correct solution. If you want my personal assistance, I charge by the hour or for an exchange of services.
infuzion
smstar
smstar
 
Posts: 6163
Joined: Wed May 04, 2005 8:02 pm
Location: Earth, USA, CO, Denver

Postby Nu Audio Science on Tue May 17, 2005 11:34 am

Image
The bottom ones are full colorable and only use draw components, The top ones are exactly the same except for a single frame gradient PNG added to create metal.
They have a couple of bugs i'm going to ask about in the GFX section :)


This knob is along Unks thinking, I like the 303 knobs but they are 303 knobs this isn't because its not a 303 (I did model the 303 knob in 3D but prefer this)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby Nu Audio Science on Tue May 17, 2005 11:50 am

OK i have changed the name of the thread, We need a name ?
Come on somebody must have a name, Creakbox is no good because its nothing like Creakbox, No 303 style names because thats all been done.

I'm in this for the Acid not the Authenticity :)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby Shifrin on Tue May 17, 2005 12:08 pm

Ah, looking good (the knobs!). I'm interested in seeing how this project comes along! If I can help out at some point I will :)

Shif.
User avatar
Shifrin
smaniac
 
Posts: 1498
Joined: Sun Mar 06, 2005 1:54 pm
Location: Newcastle, UK

Postby Nu Audio Science on Tue May 17, 2005 1:22 pm

@ Unk
What does the freq polyin do in this code, I can't see anything ?

Code: Select all
polyin i;
polyin freq;
polyin cut;
polyin rez;
polyout o;
float lp0,lp1,lp2;
float c,r,u,f;
f=f*0.5;
c=max(cut,0.01); c=min(c,0.7);
r=max(rez,0.0001);r=min(r,0.79);
// u= 0.8427*tanh(10*x) * (0.23+ 0.42*f)
float a;
a = 20 * c;
a=6+a*(6+a*(3+a));
u=0.8427*(a-6)/(a+6);

//u=sin1(sin1(sin1(sin1(c*0.5)*0.5)*0.5)*0.5) * (0.23+ 0.42*f);
//u=sin1(c*0.5);
//u=sin1(u*0.5);
//u=sin1(u*0.5);
//u=sin1(u*0.5);

u=u*(0.23+ 0.42*f);
r=(r*(0.965-(f*0.975)))+u;
r=r*(r<0.05)&(0.1*c/0.05+0.9)+(r>=0.05)&r;
r=1-r;
//r=0.5;
lp2=i-lp1*r-lp0;
loop(4)
{
  lp1=lp1+lp2*c;
  lp0=lp0+lp1*c;
  lp2=-1*lp1*r;
}
o=lp0/(1+rez);
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

PreviousNext

Return to Projects

Who is online

Users browsing this forum: No registered users and 0 guests