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

## vincr

vincr — Accumule des signaux audio.

## Description

vincr incrémente une variable audio avec un autre signal, c-à-d qu'il accumule les valeurs dans sa sortie.

## Syntaxe

    vincr accum, aincr

## Exécution

accum -- variable accumulateur de taux-a à incrémenter

aincr -- signal d'incrémentation

vincr (variable increment) et clear sont prévus pour être utilisés ensemble. vincr stocke la somme de deux variables audio dans la première variable (qui joue ainsi le rôle d'un accumulateur en polyphonie). L'accumulateur est habituellement une variable globale qui est utilisée pour combiner des signaux provenant de plusieurs sources (différents instruments ou instances d'intruments) pour un traitement ultérieur (par exemple via un effet global qui lit l'accumulateur) ou pour sortir le signal composé par un autre moyen que les opcodes out (par exemple via l'opcode fout). Après son utilisation, la variable accumulateur doit être remise à zéro au moyen de l'opcode clear (sinon elle sera saturée).

## Exemples

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

Exemple 1033. Exemple de l'opcode vincr.

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 RT audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o vincr.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    gaReverb init 0

    instr 1

    idur	= p3
    kpitch	= p4
    a1	diskin2	"fox.wav", kpitch
    a1	= a1*.5			;reduce volume
    	vincr	gaReverb, a1
    endin

    instr 99 ; global reverb
    al, ar	reverbsc gaReverb, gaReverb, .8, 10000
    	outs	gaReverb+al, gaReverb+ar

    clear	gaReverb

    endin

    </CsInstruments>
    <CsScore>

    i1  0 3 1
    i99 0 5
    e

    </CsScore>
    </CsoundSynthesizer>

Voici un autre exemple de l'opcode vincr. Il utilise le fichier vincr-complex.csd.

Exemple 1034.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    -odac     ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o vincr-complex.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    gaReverbSend init 0

    instr 1

    iamp   = p4
    ifreq  = p5
    aenv   linseg  0.0, 0.1*p3, iamp, 0.6*p3, iamp, 0.3*p3, 0.0
    aosc   poscil aenv, ifreq, 1
           vincr   gaReverbSend, aosc
    endin

    instr 2	; global reverb instrument

    al, ar reverbsc gaReverbSend, gaReverbSend, 0.85, 12000
           outs     gaReverbSend+al, gaReverbSend+ar
           clear    gaReverbSend
    endin

    </CsInstruments>
    <CsScore>
    f1 0 4096 10 1

    { 4 CNT
      { 8 PARTIAL
          ;   start time     duration            amplitude          frequency
          i1  [0.5 * $CNT.]  [1 + ($CNT * 0.2)]  [.04 + (~ * .02)]  [800 + (200 * $CNT.) + ($PARTIAL. * 20)]
      }
    }

    i2 0 6
    e
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

clear

## Crédits

Auteur : Gabriel Maldonado
Italie
1999

Nouveau dans la version 3.56 de Csound

Précédent | Niveau supérieur | Suivant
vibrato | Sommaire | vlimit