expon
Trace an exponential curve between specified points.
Syntax
ares expon ia, idur, ib
kres expon ia, idur, ib
Initialization
ia -- starting value. Zero is illegal for exponentials.
ib -- value after idur seconds. For exponentials, must be non-zero and must agree in sign with ia.
idur -- duration in seconds of the segment. A zero or negative value will cause all initialization to be skipped.
These units generate control or audio signals whose values can pass through 2 specified points. The idur value may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the defined segment to continue on in the same direction.
Examples
Here is an example of the expon opcode. It uses the file expon.csd.
Example of the expon 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 expon.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
instr 1
kpitch = p6
;choose between expon or line
if (kpitch == 0) then
kpitch expon p4, p3, p5
elseif (kpitch == 1) then
kpitch line p4, p3, p5
endif
asig vco2 .6, kpitch
outs asig, asig
endin
</CsInstruments>
<CsScore>
i 1 0 2 300 600 0 ;if p6=0 then expon is used
i 1 3 2 300 600 1 ;if p6=1 then line is used
i 1 6 2 600 1200 0
i 1 9 2 600 1200 1
i 1 12 2 1200 2400 0
i 1 15 2 1200 2400 1
i 1 18 2 2400 30 0
i 1 21 2 2400 30 1
e
</CsScore>
</CsoundSynthesizer>
|
See also
Linear and Exponential Generators