gendyc — Dynamic stochastic approach to waveform synthesis using cubic interpolation.
Implementation with cubic interpolation of the Génération Dynamique Stochastique (GENDYN), a dynamic stochastic approach to waveform synthesis conceived by Iannis Xenakis.
ares gendyc kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
kampscl, kdurscl [, initcps] [, knum]
kres gendyc kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
kampscl, kdurscl [, initcps] [, knum]
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.
knum (optional, default=initcps) -- current number of utilized control points.
The waveform is generated by knum - 1 segments 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.
Here is an example of the gendyc opcode. It uses the file gendyc.csd.
Example 352. Example of the gendyc opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o oscil.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 aout gendyc 0.5, 1, 1, 1, 1, 220, 440, 0.5, 0.5 outs aout, aout endin </CsInstruments> <CsScore> i1 0 10 e </CsScore> </CsoundSynthesizer>