jazzmutant lemur User Manual

Page of 107
 
83 
•  Click the disclosure triangle on the Default interface in the JazzEditor Project Browser 
to see the objects in the patch. Then click on the disclosure triangles of each of the 
two objects resfader and trig to see what’s lurking inside of them. You may want to 
expand the width of the Project Browser to see everything. 
 
We’ve added a variable called rezzo to the resfader object. Rezzo has a checkbox next to 
it, indicating that we transmit this variable to the computer when it changes. We do not 
transmit the x variable of the fader (its 0 to 1 value), but as you can see, the rezzo variable 
uses the value of x and transforms it: 
 
rezzo = 0.79 + (pow(resfader.x, 1.3) * .18) 
Using this technique, we can make a fader that transmits values in any range we want. 
As you can see, rezzo also uses a math function called pow(). The pow() function takes 
two arguments—the first is a base value and the second is an exponent. For example, 
pow(2,3) is 2 raised to the third power, or 8.  
In the rezzo case, we’re using pow() with an exponent between 1 and 2 to “non-linearize” 
the resonance fader. The output value will still be between 0 and 1, but the values will 
curve upward in a convex shape. That means that more of the fader will be devoted to 
controlling the lower end of the variable’s range. As the exponent gets closer to 2, the 
curve is more like a square in most all of the values are close to 0. An exponent closer to 1 
is more linear. 
Non-linear scaling is used everywhere in music synthesis—in many cases, 
to create the perceptual illusion of aural “linearity.” For example, our 
ability to distinguish numerical differences in frequency decreases as 
frequency increases: the difference between 440 and 460 Hz is much more 
obvious than the difference between 5000 and 5020 Hz, yet the two 
frequencies are 20 Hz apart in both cases.