SM Bass - Completed and released

Special collaborative projects managed by SynthMaker users

Moderators: electrogear, exonerate

SM Bass - Completed and released

Postby Nu Audio Science on Sun May 08, 2005 12:10 pm

OSM+VST+EXE available here



I'm going to try and convert some of the source code from Creakbox into code components, If anyone wants to help they are more than welcome ;)
I think this would be a great kick in the teeth to anyone who trys disrespect SM.
A multitude of C++ heads have tried to get that badboy going and failed dismally, The only person who came close was Jackle&Hyde and he never bothered finishing it.
Then again i may crash and burn yet :) :)
Last edited by Nu Audio Science on Fri Feb 08, 2008 1:19 am, edited 8 times in total.
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby Tom7777 on Sun May 08, 2005 6:05 pm

what is Creakbox?
Tom7777
smychopath
 
Posts: 3936
Joined: Wed Mar 16, 2005 10:46 pm

Postby Nu Audio Science on Sun May 08, 2005 6:08 pm

http://www.kvraudio.com/get/733.html

Let me know if you want the source code, It comes with the source for turnablist and drumbox aswell.

Creakbox is one of the better sounding 303 emulators and i love crappy little synths with built in sequencers, In fact i absolutly love step sequencers :)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby unkargherth on Sun May 08, 2005 8:11 pm

I want it and will try to help
User avatar
unkargherth
smanatic
 
Posts: 605
Joined: Fri Apr 08, 2005 8:46 pm

Postby Nu Audio Science on Sun May 08, 2005 8:22 pm

Unk you the Man

http://www.bioroid.com/bmd_source.zip

Theres the Source dude

This i supposedly the messiest sourcecode in the history of programming
Hopefully it isn't that bad though :)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby Nu Audio Science on Sun May 08, 2005 11:09 pm

I'm gonna have a flyer at some of this code now see if understand any of it :) lol
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby Nu Audio Science on Mon May 09, 2005 1:00 am

Unkargherth have you looked at that code at all, I'm not too sure what all these doubles are ?

Would i be right in thinking that we just need to utilise the mathematics stuff that is at the bottom of most of these pages ? , For instance in the IIR.cpp

It looks like its going through a 3 pole first IIR_IIRlp3pole
Then i think it may be processed again to get a cleaner sound IIR_doIIRCycle2 ?
Then it goes through a high pass filter to brighten the sound IIR_doIIRhigh
But i haven't got a clue what those Wwelti hacks are at the bottom, Its something to do with reading tables but tha means nothing to me ?

Is this a virtual function table ?
If so is it relevant to us at all ?
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby unkargherth on Mon May 09, 2005 1:32 am

After A first sight, here hare my inital appreciation

.- Distorsion is as easy as it can be. Can be implemented in a few lines in code component. Beta done, includeing the mini HP at end. On testing

.- Filter ( in fact i dicovered at leats 2 diferent filters) is a bit tricky. A 3pole low pass with a very strange non-linear function to calculate the resonance. to make it more complex, the resonance depends on a kind of crude keyboard tracking modulation. The non linear function is dificult to optimize ( 5 nested sin calls)

.- Oscillator: still didn't find it, but remembering original TB-303, shouldn't be so hard. Accents should be fairly easy. Still to find how to implement slides correctly

.- Envelope: A simple AD envelope should suffice ( perhaps with exponential response)

.- Patterns: This need a completely rethinking One Pattern is easy ( think in graphic LFO of exaple.osm), but having more than one isn't clear. And a song mode is beyond my imagination in current SM status

.- Monophony. At this moment, no idea on how to implement it in SM. I think it isn't posible by now
User avatar
unkargherth
smanatic
 
Posts: 605
Joined: Fri Apr 08, 2005 8:46 pm

Postby unkargherth on Mon May 09, 2005 1:36 am

Nu Audio Science wrote:Unkargherth have you looked at that code at all, I'm not too sure what all these doubles are ?

Think in doubles simply as a "more precise floats"

Nu Audio Science wrote:It looks like its going through a 3 pole first IIR_IIRlp3pole
Then i think it may be processed again to get a cleaner sound IIR_doIIRCycle2 ?
Then it goes through a high pass filter to brighten the sound IIR_doIIRhigh

No.No. diferent filters are called in diferent situations. For example Distorsion calls a HP filter at end
Nu Audio Science wrote:But i haven't got a clue what those Wwelti hacks are at the bottom, Its something to do with reading tables but tha means nothing to me ?

Is this a virtual function table ?
If so is it relevant to us at all ?


Wwelti Hacks are optimizations of the above noted non-linear functions. instead of calulating it , he construct a small float table and read the results using linear interpolation. Outside of our scope since no Tables in SM by now
User avatar
unkargherth
smanatic
 
Posts: 605
Joined: Fri Apr 08, 2005 8:46 pm

Postby Nu Audio Science on Mon May 09, 2005 1:58 am

So this is all there and just called on when needed AAAAAAH
Can we do that ?
Do we need to ?
Ah of course we do to brighten the sound at the end of distortion and to add nuances to the filter and so on yes ?

Yeah i noticed the distortion looked simple but wasn't sure ;)

I found some Osc stuff in the freq files but surely we can just use a standard saw and square (Perhaps add more shapes)

On the song issue i think it would be a lot more useful if we could have a switch to switch between trigger MIDI notes and a host synced sequencer that can be triggered on a single MIDI key something like a sampled loop, With these two ways of playing a song sequencing isn't needed, At a later date we could try to update the sequencer so multiple patterns could be assigned to different keys perhaps ? (Awesome live groove box :) )

Im guessing here but can we disregard
main.cpp
silverboxeditor.cpp+.h
silverboxgui.cpp+.h
knobs.cpp+.h
core.h ?
cpitchslider.cpp+.h

This would leave us
freq
IIR
dist
silverbox

Does this sound right ?
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby Nu Audio Science on Mon May 09, 2005 2:08 am

Should we move this to DSP section or stay here ?
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby unkargherth on Mon May 09, 2005 2:23 am

Nu Audio Science wrote:So this is all there and just called on when needed AAAAAAH
Can we do that ?

yes . code each filter as an independent module and cut and paste where needed

Nu Audio Science wrote:Do we need to ?
Ah of course we do to brighten the sound at the end of distortion and to add nuances to the filter and so on yes ?


Dist + HP already done

Nu Audio Science wrote:I found some Osc stuff in the freq files but surely we can just use a standard saw and square (Perhaps add more shapes)


No need. Really the oscs area basic to the limit of absurd. Example.

Code: Select all
// Pulse osc

if (phase <0.5)
    out=0.5
else
   out=-0.5;
out=lowpass(out);

this is slightly simplified from original code


Standard SM are better by far,and we could forget the lowpass

I think we can forget pattersn and songs until we get some decent sounding monobass

Nu Audio Science wrote:This would leave us
freq
IIR
dist
silverbox


Exact. nothing more needed

Nu Audio Science wrote:Should we move this to DSP section or stay here ?


I requested Malc to create a "Comunity projects forums. There should be the perfect place for this
User avatar
unkargherth
smanatic
 
Posts: 605
Joined: Fri Apr 08, 2005 8:46 pm

Postby Nu Audio Science on Mon May 09, 2005 3:32 am

Cool
Community projects sounds great :)
Im stunned you have the Dist HP going already :)
Yeah i agree forget the sequencer until we have a bangin synth, The sequencer could actually be a V2 or something.

I'll erm file the rest of the source then :)

Shall i model the dials and buttons in 3D or shall we just give it a stonking draw GUI (Possibly a good test bed for the ultimate knob design)

Once i get hold of KLF (NAS Coder) i'll send him the code thats left and see what parts he can convert (He's getting married this month though and has just taken on a huge programming contract, So we may not get him till after his wedding)

I'm sitting here with my copy of Sams C++ in 21 days and it has been quite useful so far, Can you reccomend any books that i could learn C syntax ?
Small sidebar aswell, What text editor do you reccomend ?
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Postby unkargherth on Mon May 09, 2005 11:43 am

Dist: second approximation

I've been testing the 1st approx to dist on creakbox

IT ALIASES LIKE HELL !!!!

That could be expected, in fact it's a very non-linear,non continuous function. Also the distorrion produced is very ugly (kind of negative clamp and near no effect in positive part). and, At the end, it isn't level configurable

as testing purpose, i added a slight lp at the end and reduced aliasing to -30 db ( not much but better than nothing )

On the other side, the HP filter seems to work OK ( at least in freq analisys) but introduces a very heavy DC offset. Posibly a DC Blocker at end could help. The question is. Should i have to add it or leave it without ?
I never analysed/seen original TB-303 waveforms so no idea on waht they should be
User avatar
unkargherth
smanatic
 
Posts: 605
Joined: Fri Apr 08, 2005 8:46 pm

Postby Nu Audio Science on Mon May 09, 2005 4:50 pm

Shall i have a look around for some dry 303 samples ?
Also did you DL the compiled Creakbox ?
I guess everyone was right then, Creakbox sounds loverly but the programmin is shite :)
I haven't had chance to do anything, I'm still going through this C++ book :)
Oh blimey
User avatar
Nu Audio Science
smunatic
 
Posts: 2236
Joined: Thu May 05, 2005 12:29 am

Next

Return to Projects

Who is online

Users browsing this forum: No registered users and 1 guest