Um nun langsam von den etwas langweiligen statischen Klängen wegzukommen, benötigen wir Steuersignale, die bestimmte Parameter unserer Klänge dynamisch verändern. Beispiele wären: Lautstärkekurven (Hüllkurven), Glissandi, dynamische Klangfarbenveränderungen.
Ein einfaches solches Signal wird von dem Generator line
erzeugt. line
erhält als Eingang einen Anfangswert, eine Dauer
und einen Endwert. Er interpoliert nun über die angegebene Dauer
linear zwischen diesen Werten. Ist die Note kürzer als die Dauer,
wird das Signal einfach abgebrochen, ist sie länger, wird die Gerade
einfach fortgesetzt.
Aus der Mathematik ist bekannt, daß Geraden durch die Angabe zweier Punkte hinreichend genau bestimmt werden können. Da es sich bei allen CSound Signalen um Funktionen über der Zeit handelt, wird hier eine Geradenfunktion aufgrund der beiden Punkte mit und errechnet, i.e. jedes Sample ist die Summe aus vorigem Sample und einem konstanten Wert .
Ein ähnlicher Generator ist der Generator expon
, der dieselben
zwei Punkte durch exponentielle Interpolation verbindet, i.e. jedes
Sample ist das Produkt aus vorigem Sample und
, die zugehörige Funktion lautet:
Die Abbildung 3.3 zeigt den Unterschied dieser beiden Linientypen.
Eine erweiterung dieser beiden Generatoren sind die Generatoren
linseg
und expseg
, die ein Signal aus verschiedenen
linearen oder exponentiellen Segmenten erzeugen (daher der Name). Der
Endpunkt der einen Linie ist dabei der Anfangspunkt der folgenden Die
Angaben sind dabei
Anfangswert, dauer1, wert1, dauer2, ... dauer n, Endwert