init — Met la valeur de l'expression de taux-i dans une variable de taux-k ou de taux-a, ou dans une variable-t.
ares init iarg
ires init iarg
kres init iarg
ares, ... init iarg, ...
ires, ... init iarg, ...
kres, ... init iarg, ...
tab init isize[, ival]
Met la valeur de l'expression de taux-i iarg dans une variable de taux-k ou de taux-a, ou dans une variable-t, c-à-d., initialise le résultat. Noter que init présente le seul cas d'une instruction de la période d'initialisation autorisée à écrire dans un résultat de la période d'exécution (taux-k ou -a) ; cette instruction n'a aucun effet pendant l'exécution.
Depuis la version 5.13 il est possible d'initialiser jusqu'à 24 variables de la même classe dans une instruction. S'il y a plus de variables en sortie que d'expressions en entrée, la dernière expression est répétée. C'est une erreur d'avoir plus d'entrées que de sorties.
La forme variable-t, introduite dans la version 5.14, alloue de l'espace pour un vecteur de la taille donnée, initialisé avec la valeur donnée (qui vaut zéro par défaut).
Voici un exemple de l'opcode init. Il utilise le fichier init.csd.
Exemple 468. Exemple de l'opcode init.
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 -n ;no sound output </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ;shows what init does kinit init 0 kinit = kinit + 1 printk .1, kinit endin instr 2 ;shows what an assignment does knoinit = 0 knoinit = knoinit + 1 printk .1, knoinit endin </CsInstruments> <CsScore> ;play one second each i1 0 1 i2 2 1 e </CsScore> </CsoundSynthesizer>
Sa sortie contiendra des lignes comme celles-ci :
i 1 time 0.00073: 1.00000 i 1 time 0.10014: 138.00000 i 1 time 0.20027: 276.00000 i 1 time 0.30041: 414.00000 i 1 time 0.40054: 552.00000 i 1 time 0.50068: 690.00000 i 1 time 0.60009: 827.00000 i 1 time 0.70023: 965.00000 i 1 time 0.80036: 1103.00000 i 1 time 0.90050: 1241.00000 i 2 time 2.00054: 1.00000 i 2 time 2.09995: 1.00000 i 2 time 2.20009: 1.00000 i 2 time 2.30023: 1.00000 i 2 time 2.40036: 1.00000 i 2 time 2.50050: 1.00000 i 2 time 2.59991: 1.00000 i 2 time 2.70005: 1.00000 i 2 time 2.80018: 1.00000 i 2 time 2.90032: 1.00000
D'autres informations sur cet opcode dans les Floss Manuals : https://flossmanual.csound.com/csound-language/initialization-and-performance-pass