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

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

    instr     1

    ipanfn = p4
    asig   vco2 .3, 220
    kpan   oscil1i 0, 1, p3, ipanfn	;create panning &
    kleft  = sqrt(kpan)		;start right away
    kright = sqrt(1-kpan)
           outs kleft*asig, kright*asig

    endin
    </CsInstruments>
    <CsScore>

    f 1 0  3 -7 .5  3  .5		;remain in center (.5 CONSTANT)
    f 2 0 129 7  1 129 0 		;left-->right
    f 3 0 129 7 .5  32 1 64 0 33 .5 ;center-->left-->right-->center

    i 1  0  2  1			;use table 1
    i 1  3  2  2			;use table 2
    i 1  6  2  3			;use table 3

    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