From the original SynthMaker forum (2004–2014), with its members’ names and dates.
sambean ·
Hi there, just trying this out at the moment.. Very nice bit of software.. think you'll have a new customer soon...
A quick query regarding the maths functions.. Are they called every sample or only when a value changes?
To put you in the picture, I'm just testing this by porting a reverb I was working on some time ago from c++, it involves lots of calculations to get coefficents from room sizes, absorption etc.. The functions only need to be called though when parameters are changed.. Is this going to slow down the plugin when using live?
Thanks in advance..
Sam
unkargherth ·
Firts thing first
Welcome sambean !!!
On your question: it depends
If you implement your math using math modules ( multiplications, adds and so on) they get executed only with any of the inputs change. This means very low cpu usage, but also means you can't modulate inputs at Audio rate
If you implemant your math using the code module,it will be calculated on every sample. meaning higher cpu usage, but allowing you to modulate params at audio rate
If you're porting a reverb, probably would be better do as much math as posible outside the code modules, cause USUALLY you don't connect an LFO to modulate the room size (mmmmm, devilish idea borning here 😀)
Also, without knowing your algo, i suspect you end in calculatingsomething related to delays lengths ( if i'm saying something studpid, tell me and i shut up), whichm, in SM should be specified as Number of samples, so working outside the code module is good on this too, as you forget the hassle of converting Polydata to integers
Im'very interested in knowing more on your reverb
sambean ·
Thanks unkargherth, just what I was hoping to hear! This seems a splendid piece of kit..
I'll post my reverb up in examples to let you have a look, it's based on feedback delay networks (FDNs), I've used the code section to do an matrix multiplication, the rest is just feedback and filters.. it's pretty basic but can definatelty be built upon..
It took me about 3 weeks to code the equivalent in c++, this only took 2 nights..
One niggle I have though is the left->right flow of modules, I find this is fine for apps like SE where you can't have feedback loops, but things can soon get pretty confusing if you use lots in this. The potential with SM for building complex networks is there, it would be good if you could just copy a flow diagram directly into it, without having to work out where all the wires are going..
Nice one guys
Sam
Acolmiztli ·
I'd like to request send and recieve objects. These would basically work as a pair. You'd specific a name for the object, and this name would be uniquely binded to it. Thus any signals you send to it get sent to the recieve version of the object.
So you could have a send object called "LFO 12" and anything you send to it gets send to a recieve object called "LFO12/R" or something.
Would help to stop cluttered wiring.
infuzion ·
Acolmiztli wrote: I'd like to request send and recieve objects....Would help to stop cluttered wiring.
There is this (sortof) for View: Sometimes GUI:ToParent & ToChild will work for you.
Also, if you have several items connecting between sub-modules, you can use the Bus:
Bus tricks & questions
Bus bugs
Sorry, not quite what you're asking for, but then again SM isn't quite like most programming languages 🙂
malc ·
Hi sambean
Let me also add to Unk's welcome! Looking forward to seeing your reverb 🙂
Your flow diagram idea is on our plan. At the moment there are higher priority items to take care of but we do plan to do what you're suggesting at some point in the future.
Acolmiztli, your send/receive idea has been suggested by a few others too. Again, it's on the list but it will have to wait for now.
Thanks,
Malc.
Wrote something here? To have a post removed or your name hidden, write to [email protected].