First time here? Check out the FAQ!

Which is more computationally efficient: Scale and offset or the SetRange prototype

0 votes

I've been exploring some tweaks to the standard ADSR prototype and I quite like the way !KeyVelocity is used to scale the AD & R rates but I'd like to add some 'amount' to the scaling, to trim it back from the full range of !KeyVelocity, and also include options for positive and negative amounts of scaling.

Currently my approach has been modifying the code in individual parameter fields but the SetRange prototype appears to provide a ready-made solution.

I'm thinking of getting fairly tricky with this; with separate scaling options for A, D, R and Scale parameters; so was wondering which approach is more computationally efficient?: scale and offset coding in each of these fields or perhaps a SoundToGlobalController with just !KeyVelocity in the Value field, with the STGC options Slient and ShowInVCS both unchecked and the STGC feeding directly into four separate SetRange prototypes which are pasted into the various parameter fields eg:
(!ADSR_Attack * SetRange L vmax: 0.0002) s.
asked Apr 13, 2019 in Using Kyma by sean-flannery (Adept) (1,490 points)
I think I've just answered my question - I tested the two options described above and the 'code in individual fields' approach seems to be much more computationally efficient.

Dropping a midivoice set to 32 Poly on the 'code in the fields' model uses circa 12% on processor 4 (two bars of DSP).

The same 32 poly midivoice on the 'STGC feeding 4 separate SetRange protoypes' model uses approx 50% of processing on Processor 4.

Please log in or register to answer this question.