gendy — Approche dynamique stochastique de la synthèse de forme d'onde conçue par Iannis Xenakis.
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.
ares gendy kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
kampscl, kdurscl [, initcps] [, knum]
kres gendy kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
kampscl, kdurscl [, 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.
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 gendy. Il utilise le fichier gendy.csd.
Exemple 415. Exemple de l'opcode gendy.
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 gendy 0.7, 1, 1, 1, 1, 20, 1000, 0.5, 0.5 outs aout, aout endin </CsInstruments> <CsScore> i1 0 10 e </CsScore> </CsoundSynthesizer>
Voici un exemple de l'opcode gendy avec des modulations. Il utilise le fichier gendy-2.csd.
Exemple 416. Exemple de l'opcode gendy 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.01, p3*0.1, 1, p3*0.8, 1, p3*0.1, 0.001 kosc oscil 0.1, 3/p3, 1 seed 20120123 kdis bexprnd kosc knum linseg 3, p3*0.75, 10, p3*0.20, 12, p3*0.05, 5 asig gendy 0.2, kosc*60, 6, 0.7, kdis, 500*kenv, 4800, 0.23, 0.3, 12, knum aflt resonz asig, 1400, 400 aout comb kenv*aflt*0.1, 0.9, 0.1 outs aout, aout endin </CsInstruments> <CsScore> f1 0 8192 10 1 0 .8 0 0 .3 0 0 0 .1 i1 0 20 e </CsScore> </CsoundSynthesizer>