oscil1i

oscil1i — Accède aux valeurs d'une table par échantillonnage incrémentiel avec interpolation linéaire.

Description

Accède aux valeurs d'une table par échantillonnage incrémentiel avec interpolation linéaire.

Syntaxe

kres oscil1i idel, kamp, idur [, ifn]

Initialisation

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

idur -- durée en secondes de l'unique passe d'échantillonnage dans la table d'oscil1i. 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. oscil1i nécessite un point de garde. Vaut -1 par défaut ce qui indique une onde sinus.

Exécution

kamp -- facteur d'amplitude

oscil1i est une unité avec interpolation dans laquelle la partie fractionnaire de l'index est utilisée pour interpoler entre les entrées adjacentes de la table. La régularité apportée par l'interpolation se paie par une légère augmentation du temps d'exécution (voir aussi oscili, etc.), mais sinon les unités avec ou sans interpolation sont interchangeables.

Exemples

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

Exemple 590. Exemple de l'opcode oscil1i.

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>


Voir aussi

table, tablei, table3, oscil1, osciln