gendyx
Variation of the dynamic stochastic approach to waveform synthesis conceived by Iannis Xenakis.
gendyx (gendy eXtended) is an implementation of the Génération Dynamique Stochastique (GENDYN), a dynamic stochastic approach to waveform synthesis conceived by Iannis Xenakis, using curves instead of segments.
Syntax
ares gendyx kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]
kres gendyx kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]
Initialization
initcps (optional, default=12) -- max number of control points.
Performance
kamp -- amplitude.
kampdist -- choice of probability distribution for the next perturbation of the amplitude of a control point. The valid distributions are:
- 0 - LINEAR
- 1 - CAUCHY
- 2 - LOGIST
- 3 - HYPERBCOS
- 4 - ARCSINE
- 5 - EXPON
- 6 - SINUS (external k-rate signal)
If kampdist=6, the user can use an external k-rate signal through kadpar.
kdurdist -- choice of distribution for the perturbation of the current inter control point duration. See kampdist for the valid distributions. If kdurdist=6, the user can use an external k-rate signal through kddpar.
kadpar -- parameter for the kampdist distribution. Should be in the range of 0.0001 to 1.
kddpar -- parameter for the kdurdist distribution. Should be in the range of 0.0001 to 1.
kminfreq -- minimum allowed frequency of oscillation.
kmaxfreq -- maximum allowed frequency of oscillation.
kampscl -- multiplier for the distribution's delta value for amplitude (1.0 is full range).
kdurscl -- multiplier for the distribution's delta value for duration.
kcurveup -- controls the curve for the increasing amplitudes between two points; it has to be non negative.
- 0: step function (like a sample & hold)
- <1: concave
- 1: linear (like gendy)
- >1: convex
kcurvedown -- controls the curve for the decreasing amplitudes between two points; it has to be non negative.
- 0: step function
- <1: convex
- 1: linear
- >1: concave
knum (optional, default=initcps) -- current number of utilized control points.
The waveform is generated by knum - 1 curves and is repeated in the time. The vertexes (control points) are moved according to a stochastic action and they are limited within the boundaries of a mirror formed by an amplitude barrier and a time barrier.
![[Extract of a waveform generated with _gendyx_.]](../../images/gendyx.png)
Examples
Here is an example of the gendyx opcode. It uses the file gendyx.csd.
Here is an example of the gendyx opcode with some modulations. It uses the file gendyx-2.csd.
References
- Formalized Music (1992, Stuyvesant, NY: Pendragon Press), pp. 246 - 254, 289 - 322.
See Also
Models and Emulations, gendyc, gendy
Credits
Variation of the Nick Collins's Gendy1 ugen (SuperCollider)
Author: Tito Latini
January 2012
New in Csound version 5.16