[CM] Understanding expl

Landspeedrecord landspeedrecord@gmail.com
Fri, 20 Apr 2007 15:32:20 -0400


Hi... I am trying to figure out what expl is and how it works.  I
checked the common music dictionary and NFTML and they both say
basically the same thing:

    (expl power [:y0 n] [:y1 n] [:base n])

I understand that expl maps a value between 0 and 1 to a new value
between 0 and 1 non-linearly and then rescales to a new value between
:y0 and :y1 etc.  But how is the initial mapping happening?  Expl
doesn't do anything that makes sense to me.  I can't plug in a value
and get a value back so I understand where the output is coming from
algorithmically/mathmatically.

In essence, my confusion is: how do I relate what expl does to an
exponential equation that I actually understand like b^x = y or log
base b of y = x.

If I put in (expl .5 :base 10) why does Common Music return
0.24025308???  10 to the power of .5 = 3.162277.  The log base 10 of
.5 is -0.301029.  What is expl doing to .5 to produce 0.24025308???

Below is the Common Music Dictionary explanation if it helps any:

    (expl power [:y0 n] [:y1 n] [:base n])

Returns an exponential value between y0 and y1 according to power,
which ranges from 0 to 1. When power is 0 y0 is returned, when power
is 1 y1 is returned. y0 and y1 default to 0 and 1, respectively. base
determines the slope of the exponential curve, if it is less than 1
then the exponential curve is concave, otherwise a convex curve is
produced. The default value of base is 2.