04.11.2013 Aufrufe

Analyse, Modellierung und Programmierung des Geige-spielens an ...

Analyse, Modellierung und Programmierung des Geige-spielens an ...

Analyse, Modellierung und Programmierung des Geige-spielens an ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!