Karplus-Strong-Algorithmus
Der Karplus-Strong-Algorithmus ist ein Verfahren der Klangsynthese, welches besonders geeignet ist, um den Klang von Saiteninstrumenten zu simulieren. Der Algorithmus wurde 1983 im Computer Music Journal von Kevin Karplus und Alex Strong vorgestellt. Ein US-Patent wurde 1987 erteilt.[1]
Der Algorithmus basiert auf einem Kreislauf, in dem Geräuschsamples zirkulieren und dabei einen Filter durchlaufen. In diesen Kreislauf wird initial ein zufälliges Geräusch eingespeist, welches in jedem Durchlauf einmal vom Filter modifiziert und ausgegeben wird. Der Algorithmus gehört zu den sogenannten waveguiding-Verfahren.[2]
Funktionsweise
[Bearbeiten | Quelltext bearbeiten]Die Methode basiert auf dem aus der elektrischen Messtechnik bekannten Speicher-Wellenform-Generator, der um eine Rückkopplung erweitert wurde: Zu Beginn werden einmalig p Samples mit z. B. zufälligen Geräuschen in den Speicher (FIFO) geschrieben. Danach beginnt der Kreislauf: Das erste Sample verlässt den Speicher, wird ausgegeben, durchläuft den Filter und wird in der modifizierten Version wieder in den Speicher zurückgeschrieben. Das Ganze geschieht mit einer Rate von R Samples pro Sekunde. Nachdem alle Samples einmal durchlaufen wurden, beginnt die Sequenz von Neuem, diesmal jedoch in einer leicht veränderten Form.
Bei zufälligen Samples passen die Perioden der darin enthaltenen Frequenzen nicht zu der Länge des Speichers, weshalb es zu Sprüngen in den Amplituden kommt. Durch das ständige Wiederholen entsteht ein Muster. Dem ehemaligen Signal wird so praktisch die Speicherlänge aufgezwungen, was die Einordnung als wave guiding unterstreicht. Aus Sicht der technischen Signalverarbeitung liegt hierbei eine Faltung des Signales mit sich selbst vor, bei der ein dedizierter Ausschnitt, nämlich die sich ergebende Dauer zur Periode des wiedergegebenen Signals wird. Aufgrund eines psychoakustischen Phänomens, dem „Periodicity Pitch“ (periodische Tonhöhe) nimmt man einen Ton wahr, dessen Grundfrequenz dem Verhältnis R/p Hz entspricht.
Die Klangfarbe wird dabei von den gewählten Eingangsgeräuschen und der Beschaffenheit des Filters bestimmt. Um die Abklingcharakteristik einer gezupften Saite zu simulieren, wird ein Tiefpassfilter verwendet. Etwaige Sprünge in den Samples werden dadurch geglättet und so verklingt der im Rauschmuster enthaltene Oberwellenanteil. Der Schwerpunkt der Energie verlagert sich somit zunehmend auf den Grundton. Ferner besitzt die Rückkopplung eine Dämpfung, d. h. dem System wird auf Dauer langsam Energie entzogen. Hochfrequente Komponenten der Geräusche verlieren insgesamt schneller an Energie, als die niederfrequenten Anteile. Damit nähert sich das Signal im Zeitverlauf immer mehr einer Sinuswelle an, ähnlich dem Verhalten einer ausgeklingenden Saite.
Anmerkungen
[Bearbeiten | Quelltext bearbeiten]Als Start-samples eignen sich besonders Geräusche mit dichtem Oberwellenspektrum, wie z. B. ein weißes Rauschen. Möchte man geringere Stärken beim Saitenanschlag simulieren, lässt man die Samples vor der ersten Ausgabe einige Durchläufe zirkulieren ohne sie auszugeben. Dies bewirkt einen realistischeren Effekt, als einfach die Lautstärke abzuschwächen, da weniger stark gezupfte Saiten eine geringere Elongation besitzen und einen geringeren Oberwellenanteil in sich tragen.
Die Genauigkeit der Frequenz ist nicht ganzzahlig an die Speichergröße gebunden, sondern kann durch Interpolation fein eingestellt werden.[3]
Man unterscheidet Oszillatoren erster und zweiter Ordnung.[2]
Es existieren einige Abwandlungen, die mit mehr Rückkopplungen arbeiten.[4]
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Herleitung des Algorithmus und Implementation in LabView (englisch)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Patent US4649783A: Wavetable-modification instrument and method for generating musical sound. Angemeldet am 24. Mai 1984, veröffentlicht am 17. März 1987, Anmelder: The Board of Trustees of the Leland Stanford Junior University, Erfinder: Alexander R. Strong, Kevin J. Karplus.
- ↑ a b The Digital Waveguide Oscillator | Physical Audio Signal Processing. Abgerufen am 31. Januar 2023.
- ↑ Digital Waveguide Oscillator - Octave? Abgerufen am 31. Januar 2023.
- ↑ Tonerzeugung und Klangformung mit wenig Rechenbedarf. Abgerufen am 31. Januar 2023.