mirror
Reflects the signal that exceeds the low and high thresholds.
Syntax
ares mirror asig, klow, khigh
ires mirror isig, ilow, ihigh
kres mirror ksig, klow, khigh
Initialization
isig -- input signal
ilow -- low threshold
ihigh -- high threshold
xsig -- input signal
klow -- low threshold
khigh -- high threshold
mirror “reflects” the signal that exceeds the low and high thresholds.
This opcode is useful in several situations, such as table indexing or for clipping and modeling a-rate, i-rate or k-rate signals.
Examples
Here is an example of the mirror opcode. It uses the file mirror.csd.
Example of the mirror opcode. |
---|
| <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 mirror.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
0dbfs = 1
nchnls = 2
instr 1 ; Limit / Mirror / Wrap
igain = p4 ;gain
ilevl1 = p5 ; + level
ilevl2 = p6 ; - level
imode = p7 ;1 = limit, 2 = mirror, 3 = wrap
ain soundin "fox.wav"
ain = ain*igain
if imode = 1 goto limit
if imode = 2 goto mirror
asig wrap ain, ilevl2, ilevl1
goto outsignal
limit:
asig limit ain, ilevl2, ilevl1
goto outsignal
mirror:
asig mirror ain, ilevl2, ilevl1
outsignal:
outs asig*.5, asig*.5 ;mind your speakers
endin
</CsInstruments>
<CsScore>
; Gain +Levl -Levl Mode
i1 0 3 4.00 .25 -1.00 1 ;limit
i1 4 3 4.00 .25 -1.00 2 ;mirror
i1 8 3 4.00 .25 -1.00 3 ;wrap
e
</CsScore>
</CsoundSynthesizer>
|
See also
Signal Limiters
Credits
Author: Gabriel Maldonado
Italy
New in Csound version 3.49