GEN25

GEN25 — Construit des fonctions à partir de morceaux de courbes exponentielles avec des points charnière (breakpoints).

Description

Ces sous-programmes sont utilisés pour construire des fonctions à partir de morceaux de courbes exponentielles avec des points charnière (breakpoints).

Syntaxe

f # date taille 25 x1 y1 x2 y2 x3  ...

Initialisation

taille -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1 (voir l'instruction f).

x1, x2, x3, etc. -- positions dans la table auxquelles la valeur y suivante devra être atteinte. Doivent être en ordre croissant. Si la dernière valeur est inférieure à la taille, les positions restantes seront mises à zéro. Ne doivent pas être négatives mais peuvent être nulles.

y1, y2, y3, etc. -- Valeurs charnière atteintes à la position spécifiée par la valeur x précédente. Elles doivent être non nulles et toutes du même signe.

[Note] Note

Si p4 est positif, les fonctions sont post-normalisées (reproportionnées à une valeur absolue maximale de 1 après génération). Un p4 négatif empêchera cette opération.

Exemples

Voici un exemple de la routine GEN25. Il utilise le fichier gen25.csd.

Exemple 1298. Exemple de la routine GEN25.

Voir les sections Audio en Temps Réel et Options de 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 gen25.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

gisin ftgen 1, 0, 32768, 10, 1
gienv ftgen 2, 0, 1025, 25, 0, 0.01, 200, 1, 400, 1, 513, 0.01	; y value must be >= 0
   
  
instr 1

kcps init 3/p3			;play 3x over duration of note
kndx phasor kcps
ixmode = 1			;normalize to 0-1
kval table kndx, gienv, ixmode
kval =kval*100			;scale up to 0-100
asig poscil 1, 220+kval, gisin	;use table for amplitude
     outs asig, asig
  
endin
</CsInstruments>
<CsScore>

i 1 0 4

e
</CsScore>
</CsoundSynthesizer>


Voici le diagramme de la forme d'onde de la routine GEN25 utilisée dans l'exemple :

f 2 0 1025 25 0 0.01 200 1 400 1 513 0.01 - une fonction qui commence à 0.01, monte jusqu'à 1 à la position 200 de la table, trace un segment de droite jusqu'à la position 400, et revient à 0.01 à la fin de la table

f 2 0 1025 25 0 0.01 200 1 400 1 513 0.01 - une fonction qui commence à 0.01, monte jusqu'à 1 à la position 200 de la table, trace un segment de droite jusqu'à la position 400, et revient à 0.01 à la fin de la table

Voir aussi

Instruction f, GEN27

Crédits

Auteur : John ffitch
University of Bath/Codemist Ltd.
Bath, UK

Nouveau dans la version 3.49 de Csound