minabs

minabs — Produces a signal that is the minimum of the absolute values of any number of input signals.

Description

The minabs opcode takes any number of a-rate or k-rate signals as input (all of the same rate), and outputs a signal at the same rate that is the minimum of all of the inputs. It is identical to the min opcode except that it takes the absolute value of each input before comparing them. Therefore, the output is always non-negative. For a-rate signals, the inputs are compared one sample at a time (i.e. minabs does not scan an entire ksmps period of a signal for its local minimum as the max_k opcode does).

Syntax

amin minabs ain1, ain2 [, ain3] [, ain4] [...]
kmin minabs kin1, kin2 [, kin3] [, kin4] [...]

Performance

ain1, ain2, ... -- a-rate signals to be compared.

kin1, kin2, ... -- k-rate signals to be compared.

Examples

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

Example 618. Example of the minabs opcode.

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

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

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

instr 1

k1   oscili 1, 10.0, 1			;combine 3 sinusses
k2   oscili 1, 1.0, 1			;at different rates
k3   oscili 1, 3.0, 1
kmin minabs   k1, k2, k3
kmin = kmin*250				;scale kmin
printk2 kmin				;check the values

aout vco2 .5, 220, 6			;sawtooth
asig moogvcf2 aout, 600+kmin, .5 	;change filter above 600 Hz		
     outs asig, asig

endin

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

i1 0 5
e
</CsScore>
</CsoundSynthesizer>


See also

Comparators and Accumulators

Credits

Author: Anthony Kozar
March 2006

New in Csound version 5.01