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

## maxabsaccum

maxabsaccum — Accumule le maximum de la valeur absolue de signaux audio.

## Description

maxabsaccum compare deux variables de taux-audio et écrit le maximum de la valeur absolue des deux dans la première.

## Syntaxe

    maxabsaccum aAccumulator, aInput

## Exécution

aAccumulator -- variable audio dans laquelle la valeur maximale est écrite.

aInput -- signal auquel aAccumulator est comparé.

L'opcode maxabsaccum est conçu pour accumuler la valeur maximale de plusieurs signaux audio qui peuvent provenir de plusieurs instances de note, dans différents canaux, ou qui ne peuvent être comparés en une fois au moyen de l'opcode maxabs. maxabsaccumest identique à maxaccum sauf qu'il prend la valeur absolue de aInput avant la comparaison. Sa sémantique est semblable à celle de vincr car aAccumulator est utilisé à la fois comme variable d'entrée et comme variable de sortie, sauf que maxabsaccum garde la valeur absolue maximale au lieu d'additionner les signaux ensemble. maxabsaccum exécute l'opération suivante sur chaque paire d'échantillons :

if (abs(aInput) > aAccumulator) aAccumulator = abs(aInput)

aAccumulator sera habituellement une variable audio globale. A la fin de chaque cycle de calcul (période-k), après que sa valeur ait été lue et utilisée, la variable accumulateur doit être remise à zéro (peut-être en utilisant l'opcode clear). La remise à zéro est suffisante pour maxabsaccum, à la différence de l'opcode maxaccum.

## Exemples

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

Exemple 494. Exemple de l'opcode maxabsaccum.

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

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

    instr 1	;saw

    asig  vco2 .2, p4
          outs  asig, asig
    gasaw = asig
    endin

    instr 2	;sine

    aout  poscil .3, p4, 1
          outs  aout, aout
    gasin = aout
    endin

    instr 10

    accum init 0
          maxabsaccum  accum, gasaw + gasin		;saw and sine accumulated
    accum dcblock2 accum				;get rid of DC
          outs accum, accum

    clear accum
    endin

    </CsInstruments>
    <CsScore>
    f 1 0 4096 10 1	;sine wave

    i 1 0 7 330
    i 2 3 3 440

    i 1 10 7 330	;same notes but without maxabsaccum, for comparison
    i 2 13 3 440

    i 10 0 6	;accumulation note stops after 6 seconds

    e
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

minabsaccum, maxaccum, minaccum, max, min, maxabs, minabs, vincr, clear

## Crédits

Auteur : Anthony Kozar
Mars 2006

Nouveau dans la version 5.01 de Csound.

Précédent | Niveau supérieur | Suivant
maxabs | Sommaire | maxaccum