minaccum — Accumulates the minimum value of audio signals.


minaccum compares two audio-rate variables and stores the minimum value between them into the first.


minaccum aAccumulator, aInput


aAccumulator -- audio variable to store the minimum value

aInput -- signal that aAccumulator is compared to

The minaccum opcode is designed to accumulate the minimum value from among many audio signals that may be in different note instances, different channels, or otherwise cannot all be compared at once using the min opcode. Its semantics are similar to vincr since aAccumulator is used as both an input and an output variable, except that minaccum keeps the minimum value instead of adding the signals together. minaccum performs the following operation on each pair of samples:

            if  (aInput < aAccumulator)  aAccumulator = aInput

aAccumulator will usually be a global audio variable. At the end of any given computation cycle (k-period), after its value is read and used in some way, the accumulator variable should usually be reset to some large enough positive value that will always be greater than the input signals to which it is compared.


Here is an example of the minaccum opcode. It uses the file minaccum.csd.

Example 495. Example of the minaccum opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; 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 minaccum.wav -W ;;; for file output any platform

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

instr 1	;saw

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

instr 2	;sine

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

instr 10

accum init 0	
      minaccum accum, gasaw + gasin		;saw and sine accumulated		
      outs  accum, accum
clear accum

f 1 0 4096 10 1	

i 1 0 7 330
i 2 3 3 440

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

i 10 0 6	;accumulation note stops after 6 seconds



See Also

maxaccum, maxabsaccum, minabsaccum, max, min, maxabs, minabs, vincr


Author: Anthony Kozar
March 2006

New in Csound version 5.01