gendy

gendy — Approche dynamique stochastique de la synthèse de forme d'onde conçue par Iannis Xenakis.

Description

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.

Syntaxe

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]

Initialisation

initcps (facultatif, 12 par défaut) -- nombre maximum de points de contrôle.

Exécution

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.

[Une répétition de la forme d'onde générée avec knum=12.]

Une répétition de la forme d'onde générée avec knum=12.

Exemples

Voici un exemple de l'opcode gendy. Il utilise le fichier gendy.csd.

Exemple 337. 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 338. 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>


Références

  1. I. Xenakis. Formalized Music (1992, Stuyvesant, NY: Pendragon Press), pp. 246 - 254, 289 - 322.

Voir aussi

gendyc gendyx

Crédits

Basé sur le générateur unitaire Gendy1 de Nick Collins (SuperCollider)
Auteur : Tito Latini
Janvier 2012

Nouveau dans la version 5.16 de Csound.