min — Produces a signal that is the minimum of any number of input signals.
The min opcode takes any number of a-rate, k-rate or i-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. For a-rate signals, the inputs are compared one sample at a time (i.e. min does not scan an entire ksmps period of a signal for its local minimum as the max_k opcode does).
amin min ain1, ain2 [, ain3] [, ain4] [...]
kmin min kin1, kin2 [, kin3] [, kin4] [...]
imin min iin1, iin2 [, iin3] [, iin4] [...]
ain1, ain2, ... -- a-rate signals to be compared.
kin1, kin2, ... -- k-rate signals to be compared.
iin1, iin2, ... -- i-rate signals to be compared.
Here is an example of the min opcode. It uses the file min.csd.
Example 510. Example of the min 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 min.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 min 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 around 600 Hz outs asig, asig endin </CsInstruments> <CsScore> f1 0 32768 10 1 i1 0 5 e </CsScore> </CsoundSynthesizer>