oscil1 — Accède aux valeurs d'une table par échantillonnage incrémentiel.
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.
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.
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