next up previous contents
Nächste Seite: buzz,gbuzz Aufwärts: Standard Generatoren Vorherige Seite: foscil,foscili   Inhalt

rand

Ein weiterer Standardgenerator ist der Zufallsgenerator rand. Wie sein Name schon sagt, erzeugt er Zufallswerte. Ist jedes Sample in einem Signal ein Zufallswert, so erhält man weisses Rauschen, ein Signal, in dem alle Frequenzen (bei digitalen Signalen alle Frequenzen von 0 Hz bis zur halben Samplerate (Nyquist Frequenz) enthalten sind.

Der rand-Generator hat zwei Eingänge. Der erste gibt die Amplitude des Rauschens an, der zweite den Initialwert. Dazu muss man wissen, daß es nicht möglich ist, ,,echte`` Zufallszahlen im Computer zu erzeugen. Statt dessen nimmt man eine Funktion, die eine Gleichverteilung von Werten innerhalb eines bestimmten Intervalls erzeugt. Diese Sequenz ist immer gleich, man kann aber durch Angabe des Initialwertes angeben, wo die Funktion mit der Sequenz beginnen soll, und so verschiedene Zufallsreihen erzeugen. Bei CSound kommt noch hinzu, daß man sich aussuchen kann, ob der Zufallsgenerator mit jeder Note neu initialisiert werden soll, oder nicht. Dazu gibt man einen initialwert $>0$ oder $<0$ an.

Zu den rand - Generator gibt es noch zwei Variantem, die bandbreitenbegrenztes Rauschen erzeugen:

randh
erzeugt neue Zufallswerte nicht mit jedem Sample, sondern nur mit einer anzugebenden Frequenz, die dazwischenliegenden Samples wiederholen lediglich den letzten Wert.
randi
erzeugt, wie randh ebenfalls nur in einer anzugebenden Frequenz neue Werte, interpoliert aber linear zwischen zwei Werten.

Ich werde im Moment auf ein reines Rauschbeispiel verzichten, wir kommen aber auf den rand-Generator noch in anderen Zusammenhängen zurück.


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