next up previous contents
Nächste Seite: a-rate,k-rate,i-rate Aufwärts: Standard Generatoren Vorherige Seite: buzz,gbuzz   Inhalt

lineare Signale und exponentielle Kurven

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 $f(t) = at + b$ aufgrund der beiden Punkte $(0,w1)
(d,w2)$ mit $b = w1$ und $a={w2-w1}\over d$ errechnet, i.e. jedes Sample ist die Summe aus vorigem Sample und einem konstanten Wert ${w2 -
w1}\over{d\times sr}$.

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 ${w2\over w1}^{1\over d\times
sr}$, die zugehörige Funktion lautet: $f(t) = {w2 \over w1}^{t\over
d} \times w1$

Die Abbildung 3.3 zeigt den Unterschied dieser beiden Linientypen.

Abbildung 3.3: Lineare und Exponentielle Linien
\begin{figure}
\epsfxsize =12cm
\epsfbox {linexp.ps}\end{figure}

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


next up previous contents
Nächste Seite: a-rate,k-rate,i-rate Aufwärts: Standard Generatoren Vorherige Seite: buzz,gbuzz   Inhalt
Thomas Neuhaus
2001-01-14