envelopes/env-maker [ Functions ]
Name
env-maker
File
envelopes.lisp
Description
Returns a complex envelope as list. Takes a procedure to create e.g. logarithmic or exponential envelope segments.
Parameter
proc: a mathemathical function that is applied on each point of the linear segments. start: first point of the line points-and-steps: a list of lists and numbers indicating the points along the env and the steps between them
Return Value
list
Example
;;; (env-maker (lambda (x) x) 0 '((1 2) (0 3))) --> (0 1/2 1 2/3 1/3 0)
envelopes/expo [ Functions ]
Name
expo
File
envelopes.lisp
Description
Makes an exponential envelope with a power of 2. Can also be called as 'expo2'.
Arguments
start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (expo 0 '(1 3)) --> (0 1/9 4/9 1)
envelopes/expo-n [ Functions ]
Name
expo-n
File
envelopes.lisp
Description
Makes an exponential envelope.
Arguments
power: the power of the exponential function (only positive, negative sign is ignored) start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (expo-n 2 0 '(1 3)) --> (0 1/9 4/9 1)
envelopes/expo3 [ Functions ]
Name
expo3
File
envelopes.lisp
Description
Makes an exponential envelope with a power of 3.
Arguments
start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (expo3 0 '(1 3)) --> (0 1/27 8/27 1)
envelopes/expo4 [ Functions ]
Name
expo4
File
envelopes.lisp
Description
Makes an exponential envelope with a power of 4.
Arguments
start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (expo4 0 '(1 3)) --> (0 1/81 16/81 1)
envelopes/expo5 [ Functions ]
Name
expo5
File
envelopes.lisp
Description
Makes an exponential envelope with a power of 5.
Arguments
start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (expo3 0 '(1 3)) --> (0 1/243 32/243 1)
envelopes/fibo [ Functions ]
Name
fibo
File
envelopes.lisp
Description
Makes an envelope based on the fibonacci series.
Arguments
start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (fibo 0 '(5 5)) --> (0 1 1 2 3 5) ;;; (fibo 0 '(1 5)) --> (0 1/5 1/5 2/5 3/5 1)
envelopes/line [ Functions ]
Name
line
File
envelopes.lisp
Description
Makes a linear envelope.
Arguments
start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (line 0 '(1 3)) --> (0 1/3 2/3 1)
envelopes/linpol [ Functions ]
Name
linpol
File
envelopes.lisp
Description
Interpolates an envelope to a desired length.
Arguments
target-length: a positive integer envelope float (:key, default: nil): if t, all returned values are floats
Return Value
list
Example
;;; (linpol 5 '(1 2 3 4) :float t) --> (1 1.75 2.5 3.25 4.0)
envelopes/loga [ Functions ]
Name
loga
File
envelopes.lisp
Description
Makes an logarithmic envelope with a base of 10.
Arguments
start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (loga 0 '(1 5)) --> (0.0 0.43067658 0.6826062 0.86135316 1.0)
envelopes/loga-n [ Functions ]
Name
loga-n
File
envelopes.lisp
Description
Makes an logarithmic envelope. Ignores negative sign in base-value, as this would produce complex numbers.
Arguments
base: the logarithm base start: starting point points-and-steps: touples of points and steps to go there
Return Value
list
Example
;;; (loga-n 10 1 '(10 3)) --> (1.0 6.6783676 10.0)
envelopes/mix-average [ Functions ]
Name
mix-average
File
envelopes.lisp
Description
stretches all envelopes to the length of the longest one using linear interpolation. the average of all resulting envelopes for each index will be returned. the resulting envelope length equals the length of the longest partial envelope.
Arguments
envelopes (rest)
Return Value
list
Example
;;; (mix-linpol '(1 2 3) '(4 5) '( 6 7 8 9)) -> ???
envelopes/mix-envs [ Functions ]
Name
mix-envs
File
envelopes.lisp
Description
mixes envelopes. the resulting envelope length is the sum of all partial envelopes. all values remain.
Arguments
envelopes (rest)
Return Value
list
Example
;;; (mix '(1 2 3) '(4 5) '( 6 7 8 9)) -> (1 4 6 7 2 5 8 3 9)
envelopes/mix-linpol [ Functions ]
Name
mix-linpol
File
envelopes.lisp
Description
mixes envelopes using linear interpolation. the resulting envelope length is the length of the longest partial envelope times the amount of partial envelopes. values may differ.
Arguments
envelopes (rest)
Return Value
list
Example
;;; (mix-linpol '(1 2 3) '(4 5) '( 6 7 8 9)) -> ???
envelopes/mix-loop [ Functions ]
Name
mix-loop
File
envelopes.lisp
Description
mixes envelopes by looping the values of the shorter ones. resulting length is the length of the longest partial envelope times the amount of partial envelopes. values may differ.
Arguments
envelopes (rest)
Return Value
list
Example
;;; (mix-loop '(1 2 3) '(4 5) '( 6 7 8 9)) ;;; -> (1 4 6 2 5 7 3 4 8 1 5 9)
envelopes/print-env [ Functions ]
Name
print-env
File
envelopes.lisp
Description
prints the relations between envelope values in pulse notation
Arguments
env resize-factor (optional): zoom in or out by factor
Return Value
t
Example
;;; (print-env '(1 2 3 4 5) 1 nil) --> "x.x.x.x.x" ;;; (print-env '(1 2 3 4 5) 2 t) --> nil ("x..x..x..x..x")