oscil1

oscil1 — Accède aux valeurs d'une table par échantillonnage incrémentiel.

Description

Accède aux valeurs d'une table par échantillonnage incrémentiel.

Syntaxe

kres oscil1 idel, kamp, idur [, ifn]

Initialisation

idel -- délai en secondes avant que l'échantillonnage incrémentiel d'oscil1 ne commence.

idur -- durée en secondes de l'unique passe d'échantillonnage dans la table d'oscil1. Une valeur négative provoque une lecture de la table de la fin vers le début.

ifn (facultatif) -- numéro de la table de fonction. tablei, oscil1i nécessitent un point de garde. Vaut -1 par défaut ce qui indique une onde sinus.

Exécution

kamp -- facteur d'amplitude.

oscil1 accède aux valeurs en échantillonnant une fois la table de fonction à un taux déterminé par idur. Pendant les premières idel secondes, le point de lecture reste sur la première position de la table ; ensuite il traverse la table à vitesse constante, atteignant la fin au bout de idur secondes ; à partir de ce moment (c-à-d après idel + idur secondes) il reste sur la dernière position. Chaque valeur lue par échantillonnage est multipliée par le facteur d'amplitude kamp avant d'être écrite dans le résultat.

Exemples

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

Exemple 681. Exemple de l'opcode oscil1.

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 oscil1.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

giPan ftgen 0, 0, 8, -2, .5, .2, .8, .1, .9, 0, 1, .5

instr     1   

istay = 2 ;how many seconds to stay on the first table value
asig   vco2 .3, 220
kpan   oscil1 istay, 1, p3-istay, giPan ;create panning 
       printk2 kpan ;print when new value
aL, aR pan2 asig, kpan ;apply panning
       outs aL, aR

endin
</CsInstruments>
<CsScore>                                                                                  
i 1  0  10
e
</CsScore>
</CsoundSynthesizer>


L'exemple produit la sortie suivante :

 i1     0.50000
 i1     0.20000
 i1     0.80000
 i1     0.10000
 i1     0.90000
 i1     0.00000
 i1     1.00000
 i1     0.50000

Voir aussi

table, tablei, table3, oscil1i, osciln