vtablewa

vtablewa — Ecrit des vecteurs (dans des tables, ou tableaux de vecteurs).

Description

Cet opcode écrit des vecteurs dans des tables au taux-a.

Syntaxe

vtablewa  andx, kfn, ixmode, ainarg1 [, ainarg2, ainarg3 , .... , ainargN ]

Initialisation

ixmode - mode d'indexation. La valeur par défaut est 0.

== 0, l'index est traité comme une position brute dans la table,

== 1, l'index est normalisé (entre 0 et 1).

Exécution

andx - Index dans la ftable, soit un nombre positif inférieur à la longueur de la table (ixmode = 0) soit un nombre compris entre 0 et 1 (ixmode != 0).

kfn - numéro de la table.

ainarg1...ainargN - Composantes du vecteur d'entrée.

Cet opcode est utile dans tous les cas où il faut écrire des ensembles de valeurs associés à des indices uniques (par exemple, des échantillons multi-canaux, des trames de bin de TFCT, des formants spectraux, des partitions basées sur des p-champs, etc). Le nombre de composantes de chaque vecteur (longueur du vecteur) est déterminé par le nombre d'arguments facultatifs à droite (ainarg1, ainarg2, ainarg3, ..., ainargN).

vtablewa permet aussi de changer le numéro de table au taux-k (mais ceci n'est possible que si les trames de vecteur de chaque table utilisée ont le même nombre d'éléments, sinon il peut y avoir des résultats imprévisibles), ainsi que de choisir le style d'indexation (brute ou normalisée, voir aussi l'argument ixmode de l'opcode table).

Noter qu'aucun mode de repliement ou de limitation d'indexation n'est implémenté. Si l'index tente d'accéder à une zone non allouée par la table, il est probable que Csound plante. Cependant on peut facilement éviter cet écueil en utilisant des opcodes de repliement ou de limitation appliqués à l'index avant l'utilisation de vtablewa, afin de corriger d'éventuelles valeurs hors-limites.

Exemples

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

Exemple 1208. Exemple de l'opcode vtablewa.

<CsoundSynthesizer>
<CsOptions>
-odac -b441 -B441
</CsOptions>
<CsInstruments>


sr=44100
kr=4410
ksmps=10
nchnls=2
0dbfs = 1

	instr 1
vcopy 2, 1, 262144
ar random 0, 1
vtablewa ar,2,1,ar
out ar,ar
	endin    


</CsInstruments>
<CsScore>
f1  0 262144   -1 "beats.wav" 0 4 0
f2  0 262144   2  0

i1 0 4

</CsScore>
</CsoundSynthesizer>


Crédits

Ecrit par Gabriel Maldonado.

Exemple écrit par Andrés Cabrera.

Nouveau dans Csound 5 (Auparavant seulement disponible dans CsoundAV)