gendyx — Variation de l'approche dynamique stochastique de la synthèse de forme d'onde conçue par Iannis Xenakis.
gendyx (gendy eXtended) est une implémentation de la Génération Dynamique Stochastique (GENDYN), une approche dynamique stochastique de la synthèse de forme d'onde conçue par Iannis Xenakis, en utilisant des courbes au lieu de segments.
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]
kamp -- amplitude.
kampdist -- choix de la distribution de probabilité pour la perturbation d'amplitude suivante d'un point de contrôle. Les distributions valides sont :
0 - LINEAIRE
1 - CAUCHY
2 - LOGISTIQUE
3 - COSINUS HYPERBCOLIQUE
4 - ARCSINUS
5 - EXPONENTIELLE
6 - SINUS (signal externe de taux-k)
Si kampdist=6, on peut utiliser un signal externe de taux-k via kadpar.
kdurdist -- choix de la distribution de probabilité pour la perturbation de la durée courante entre points de contrôle. Voir kampdist pour les distributions valides. Si kdurdist=6, on peut utiliser un signal externe de taux-k via kddpar.
kadpar -- paramètre pour la distribution kampdist. Doit être compris entre 0.0001 et 1.
kddpar -- paramètre pour la distribution kdurdist. Doit être compris entre 0.0001 et 1.
kminfreq -- fréquence d'oscillation minimale autorisée.
kmaxfreq -- fréquence d'oscillation maximale autorisée.
kampscl -- multiplicateur pour la valeur du delta de la distribution pour l'amplitude (1.0 pour tout l'intervalle).
kdurscl -- multiplicateur pour la valeur du delta de la distribution pour la durée.
kcurveup -- contrôle la courbe de croissance des amplitudes entre deux points ; doit être non négatif.
0 : fonction en escalier (comme dans échantillonneur-bloqueur)
<1 : concave
1 : linéaire (comme gendy)
>1 : convexe
kcurvedown -- contrôle la courbe de décroissance des amplitudes entre deux points ; doit être non négatif.
0 : fonction en escalier
<1 : convexe
1 : linéaire
>1 : concave
knum (facultatif, initcps par défaut) -- nombre courant de points de contrôle utilisés.
La forme d'onde est générée par knum - 1 segments et se répète dans le temps. Les sommets (points de contrôle) bougent par une action stochastique dans les limites de leur réflexion sur un mirroir formé par une barrière d'amplitude et une barrière temporelle.
Voici un exemple de l'opcode gendyx. Il utilise le fichier gendyx.csd.
Exemple 418. Example of the gendyx opcode.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<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 gendyx 0.7, 1, 1, 1, 1, 20, 1000, 0.5, 0.5, 4, 0.13 outs aout, aout endin </CsInstruments> <CsScore> i1 0 10 e </CsScore> </CsoundSynthesizer>
Voici un exemple de l'opcode gendyx avec des modulations. Il utilise le fichier gendyx-2.csd.
Exemple 419. Exemple de l'opcode gendyx avec des modulations.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<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 kenv expseg 0.001, p3*0.05, 0.5, p3*0.9, 0.5, p3*0.05, 0.001 kc1 linseg 1, p3/2, 12, p3/2, 3 kc2 random 0, 4 seed 20120124 asig gendyx kenv, 1, 3, 0.7, 0.8, 120, 4300, 0.2, 0.7, kc1, kc2, 12, kc1 aout dcblock asig outs aout, aout endin </CsInstruments> <CsScore> i1 0 20 e </CsScore> </CsoundSynthesizer>