oscil1
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## 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 670. 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

Précédent | Niveau supérieur | Suivant
oscbnk | Sommaire | oscil1i