musikinformatik / SuperDirt

Tidal Audio Engine
GNU General Public License v2.0
519 stars 75 forks source link

Scale "freq" and "sustain" with speed in sclang #242

Open ndr-brt opened 3 years ago

ndr-brt commented 3 years ago

This issues comes from a discussion in #241. The necessity is to make sc synth events behaviour more similar to samples.

The proposal is to scale the freq by speed outside the synthdef like this: freq = freq * speed; And, to change also the synth sustain like: sustain = sustain / speed.abs

This would allow to have speed scaling handled out of the boxy in a synthdef definition, but on the other hands would not be possible to continuously modify speed, and would be a breaking change.

telephon commented 3 years ago

Thanks! Let me add:

Independent of how we implement this (in each SynthDef or in superdirt itself, this may be e breaking change unless we make it switchable.