expon
Trace an exponential curve between specified points.
Syntax
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