ia -- starting value. Zero is illegal for exponentials.
ib, ic, etc. -- value at tim1 seconds, etc. For exponentials, must be non-zero and must agree in sign with ia.
itim1 -- time in seconds of end of first segment.
itim2, itim3, etc. -- time in seconds of
subsequent ends of segments.
Performance
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-defined segment to continue on in the same direction.
Note that the expsegb opcode does not operate correctly at audio rate when segments are shorter than a k-period. Try the expsegba opcode instead.
Examples
Here is an example of the expsegb opcode. It uses the file expsegb.csd.
<CsoundSynthesizer><CsOptions>; Select audio/midi flags here according to platform; Audio out Audio in-odac-iadc;;;RT audio I/O; For Non-realtime ouput leave only the line below:; -o expseg.wav -W ;;; for file output any platform</CsOptions><CsInstruments>; Initialize the global variables.sr=44100kr=4410ksmps=10nchnls=1; Instrument #1.instr1; p4 = frequency in pitch-class notation.kcps=cpspch(p4); Create an amplitude envelope.kenvexpsegb0.01,p3*0.25,1,p3,0.01kamp=kenv*30000a1oscilkamp,kcps,1outa1endin</CsInstruments><CsScore>; Table #1, a sine wave.f1016384101; Play Instrument #1 for a half-second, p4=8.00i100.58.00; Play Instrument #1 for a half-second, p4=8.01i110.58.01; Play Instrument #1 for a half-second, p4=8.02i120.58.02; Play Instrument #1 for a half-second, p4=8.03i130.58.03e</CsScore></CsoundSynthesizer>