Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
9. Trajektoriengenerierung<br />
Um eine variable Streichzeit zu kreieren ist es notwendig, die sich <strong>an</strong>schließende Überführungszeit<br />
(ohne Pausennote) zu kennen. Nur so ist es zusammen mit der Überführungszeit<br />
möglich, die <strong>an</strong>gegebene Notenlänge musikalisch korrekt umzusetzen. Die Überführungszeit<br />
wird wie in Paragraph 9.2.2.2 beschrieben berechnet. Allerdings ist es von<br />
Nöten, die Überführungszeit bereits vor der Berechnung der Überführung zu kennen.<br />
Zur Umgehung dieses Problems wurde ein Programm kreiert, das alle laut T Abspiel <strong>an</strong>fallenden<br />
Überführungswege vor Erstellung der Trajektorie berechnet <strong>und</strong> in einer Matrix<br />
namens MLaenge der Trajektorienberechnungen jederzeit zur Verfügung stellt. Aus diesen<br />
Längen, welche in Laenge_Ueberf.m bestimmt werden, k<strong>an</strong>n d<strong>an</strong>n wieder wie in<br />
9.17 die Überführungszeit der folgenden Überführung berechnet <strong>und</strong> von der Streichzeit<br />
abgezogen werden, sofern die Streichzeit größer als die Überführungszeit ist.<br />
Notwendigkeit einer Überführung Überführungen sind im Eigentlichen für Vorgänge<br />
vorgesehen, bei denen der Bogen einen Saitenwechsel vollziehen muss. Wenn nun aber<br />
die Möglichkeit besteht, aufein<strong>an</strong>der folgende Noten auf ein <strong>und</strong> derselben Saite zu spielen,<br />
wäre eine Überführung nach jeder dieser Noten unsinnig. Wenn darüber hinaus auch<br />
noch sehr schnelle Noten gespielt werden sollen (z. B. 32stel), was mit einer entsprechend<br />
kurzen Streichzeit einhergehen würde, könnte die Streichzeit nicht mehr um die Überführungszeit<br />
reduziert werden, was wie schon erwähnt Verfälschungen im Takt <strong>und</strong> ein<br />
allgemein schlechtes Kl<strong>an</strong>gbild zur Folge hätte.<br />
Um diesen Missst<strong>an</strong>d zu umgehen, sollte der Liedgenerator in der Lage sein, selbstständig<br />
überflüssige Überführungsaktionen zu erkennen <strong>und</strong> die Trajektorie demensprechend<br />
<strong>an</strong>zupassen. Um dies zu bewerkstelligen, ist ein Umbau der Algorithmen zur Kreierung<br />
der Matrix der <strong>an</strong>zuspielen Punkte T Matrix von Nöten. Der jetzige Aufbau basiert auf<br />
den Ged<strong>an</strong>ken, dass sich nach jeder Streichaktion eine Überführung <strong>an</strong>schließt. Hierfür<br />
werden in der besagten Matrix für den Beginn sowie dem Ende einer jeden Streichaktion<br />
jeweils in zwei aufein<strong>an</strong>der folgenden Spalten Lage <strong>und</strong> Orientierung als Vektor abgespeichert.<br />
Zusätzlich wird in jeder Spalte <strong>an</strong>gegeben, ob sich ein Streichvorg<strong>an</strong>g oder eine<br />
Überführung <strong>an</strong>schließt. Nach dem von Haase beschrieben Schema, sind die Werte für die<br />
folgende Aktion somit alternierend zugeordnet, da sich Streich- <strong>und</strong> Überführungsvorg<strong>an</strong>g<br />
ein<strong>an</strong>der abwechseln. Dies geschieht auf folgender Weise: In Matrizenberechnungen<br />
werden zu jeder Note (=Streichvorg<strong>an</strong>g) zwei Spalten generiert, welche jeweils Anf<strong>an</strong>gs<strong>und</strong><br />
Endpunkt inne halten. Um zwei Streichvorgänge ohne Überführung generieren zu<br />
können, ist es notwendig, zwei mal hinterein<strong>an</strong>der linear interpolieren zu können. Da<br />
der Endpunkt <strong>des</strong> ersteren Streichvorg<strong>an</strong>ges mit dem Anf<strong>an</strong>gspunkt <strong>des</strong> folgenden zusammenfällt,<br />
ist es nun nicht mehr nötig, bzw. währe es sogar fatal den Endpunkt <strong>des</strong><br />
ersten Streichvorg<strong>an</strong>ges als eigenen Lagevektor in eine eigene Spalte von T Matrix zu<br />
schreiben, da in diesen Falle zwei lagegleiche Punkte aufein<strong>an</strong>derfolgend in der Matrix<br />
generiert wären. Will m<strong>an</strong> eine Überführung vermeiden, so müsste demensprechend zwischen<br />
zwei Punkten mit der euklidischen Länge von Null linear interpoliert werden, was<br />
natürlich nicht möglich ist. Aus diesem Gr<strong>und</strong>e wird in der modifizierten Datei Matrizenberechnungen_II<br />
für Streichvorgänge <strong>an</strong> denen sich keine Überführung <strong>an</strong>schließt nur<br />
der Anf<strong>an</strong>gspunkt generiert, es sei denn, es wird genau <strong>an</strong> besagter Stelle eine Pausen-<br />
69