next up previous contents
Next: Beispiele Up: Syntax und Semantik der Previous: Tendency

Intervals

...schränkt nicht, wie in den anderen Algorithmen, die ausyuwählenden Werte ein, sondern läßt nur bestimmte Abstände zwischen zwei aufeinanderfolgenden Werten zu, und zwar in Abhängigkeit Wiederum des Abstands des letzten Wertes zu seinem Vorgänger. Der Abstand zweier Werte, die in der Parameterdeklaration hintereinander auftreten ist dabei unabhängig ihrer numerischen Werte immer 1.

In Analogie zu den Intervallen temperierter Tonhöhen wird auch der Abstand des letzten Wertes zum ersten als 1 definiert, aus dem linearen, offenen Wertebereich wird also ein geschlossener Kreis.

Die Richtung des Intervalls (,,aufwärts`` oder ,,abwärts``) wird dem Zufall überlassen.

In der Eingabe wird zunächst der Wertebereich angegeben, der den o.g. ,,Kreis`` bilden soll, so ist es möglich, bestimmte Extremwerte von dem Algorithmus auszuschließen. Dann wird zu jedem gegebenen Intervall eine Anzahl möglicher erlaubter Folgeintervalle angegeben (die alle natuerlich irgendwann wieder als ,,gegebene`` Intervalle auftauchen müssen. Ist das nicht der Fall, gib das Programm eine Fehlermeldung aus).

Intervals ::= intervals Modulobereich Intervallfolge {Intervallfolge}
Modulobereich ::= between Bezeichner Bezeichner
Intervallfolge ::= given Zahl permitted Zahlenfolge

Im folgenden Beispiel:

intervals between c h
        given 3 permitted 5 7
        given 5 permitted 3
        given 7 permitted 3 : 50

würden 50 Tonhöhen zwischen c und h erzeugt. Dabei dürfte auf eine kleine Terz (3) nur eine Quart(5) oder ien Quint(7) folgen, auf eine Quart oder Quint wiederum nur eine kleine Terz.


next up previous contents
Next: Beispiele Up: Syntax und Semantik der Previous: Tendency

Example user SuSE Linux 6.1
Tue Oct 19 23:39:11 MEST 1999