cossegb
Trace a series of line segments between specified absolute points with
cosine interpolation.
Syntax
ares cossegb ia, itim1, ib [, itim2] [, ic] [...]
kres cossegb ia, itim1, ib [, itim2] [, ic] [...]
Initialization
ia -- starting value.
ib, ic, etc. -- value at tim1 seconds, etc.
itim1 -- time in seconds of end of first segment. A zero or negative value will cause all initialization to be skipped.
itim2, itim3, etc. -- time in seconds at the end of subsequent segments.
These units generate control or audio signals whose values can pass through 2 or more specified points. The last tim 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 last value to be repeated until the end of the note.
Examples
Here is an example of the cossegb opcode. It uses the file cossegb.csd.
Example of the cossegb 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 linseg.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
giSine ftgen 0, 0, 2^10, 10, 1
instr 1
kcps = cpspch(p4)
kenv cossegb 0, 0.25, 1, 1, 0
asig poscil kenv, kcps, giSine
outs asig, asig
endin
instr 2 ; scaling to duration
kcps = cpspch(p4)
kenv cossegb 0, p3*0.25, 1, p3, 0
asig poscil kenv, kcps, giSine
outs asig, asig
endin
</CsInstruments>
<CsScore>
i 1 0 1 7.00 ; = 1 sec, p3 fits exactly
i 1 2 2 7.00 ; = 2 sec, p3 truncated at 1 sec
i 2 4 1 7.00 ; scales to duration
i 2 6 2 7.00 ; of p3
e
</CsScore>
</CsoundSynthesizer>
|
See also
Linear and Exponential Generators
Credits
Author: John ffitch
Aug 2012
New in version 5.18