Leider ist der Begriff "Wavetable" nicht geschützt. Es werden auch stinknormale Sample-ROMs gerne als solche definiert.
Das sind auch in der Tat alles Wellentabellen, wie man sie außerhalb der Musik auch verwendet(e) und das eben auch bevor Wolfgang Palm damit Musik machte. Die wave table synthesis ist allgemein ein gängiger Mechanismus im Bereich der Signalverarbeitung z.B. im Bereich MRT und Radar, insbesondere wenn es darauf ankommt, bestimmte Sequenzen abzusondern, die man analytisch, also mit Formeln, nicht - oder nur umständlich erzeugen = berechnen kann. Wir legen sogar heute noch vorgefertigte Sinuswellen in RAMs ab, weil der Speicher billig ist, und ...
... man sofort modulieren kann: Das Beispiel "FM" zeigt die Problematik, denn ich brauche z.B. den Sinus von einem Phasenvektor, um ihn als Additiv auf eine andere Phase zu addieren. Y = f( x + k * sin (phi) ). Wenn man nun glasklare FM machen will, brauche ich schlagartig zweimal den Sinus. Je schneller ich den habe, desto höher ist die Frequenz mit der ich arbeiten kann. Wenn ein Prozessor mehr Takte fürs Rechnen als fürs Lesen braucht, habe ich einfach eine höhere maximal Grenzfrequenz oder brauche einen schwächeren Prozessor. Das gilt immer und überall und auch für die schnellen FPGAs, die wir verwenden. Auch Fenster wie Kaiser, die auf Besselfunktionen beruhen, werden oft in RAMs abgelegt. Meine S2-Funktion, eine modifizierte Blackman-Harris, bräuchte 4x Sinus-Berechung+ 3xQuadrate , da nehme ich direkt ein RAM.
Und ....
.... sie werden, wie Wolfgang Palm das machte, in mehreren Versionen abgelegt! Z.B. muss man nicht DDS mit 1024 Punkten machen, um dann bei krummen Phasenwerten zu springen und zu interplieren. Man kann auch weitere Wellen ablegen mit Primzahlen. Das gibt weniger Jitter.
Was nun die wave table synthese (Musik) anbelangt, hat WP einfach auch RAM benutzt, um Rechenzeit zu sparen und dabei die Idee eingeworfen, zwischen den Wellen hin und her zublenden und zu fahren. Dabei wird natürlich die Welle nicht wirklich gestaucht, wie bei einer echten Frequenzänderung, sondern es wird Stück für Stück von einer auf die nächste Welle überblendet. Echte qualitative Zwischenstufen gibt es keine. Man geht von einer Kurve in die nächste über. So machen das praktisch alle Analogsynthesizer, die zwischen z.B. Rechteck und Dreieck hin und her blenden, während sich die beiden Wellen selber nicht verändern. Am Ende spielt die Verfügbarkeit von RAM und Preis auch wieder eine Rolle, weil man nicht tausende ähnliche Wellen für alle Frequenzen hinterlegen kann.
Bei der Wavetablesynthese (Musik) nimmt man halt musikalisch ganz andere Wellen und hat so die Option, mit einer geschickten Startphase einen total anderen Klang abzuspielen. So lassen sich Transienten bauen, die realen Instrumenten gleichkommen, wie der HF-Anteil bei Gitarren, aber man kann auch völlig anderes bekommen, was es nicht gibt. Aus musikalischer Sicht ein klarer Gewinn gegenüber den beschränkten Wellen, die man elektronisch herstellen kann, weil einfach mehr Möglichkeiten bestehen. Was dabei in Sachen elektronischer Musik rauskommt, ist bisweilen sehr interessant, aus technischer Sicht aber ein unsinniges Signal, daher gibt es das oft anderswo nicht. Damit steht die musikalische WTS etwas aus dem Üblichen heraus.
Überlagerte und sich so ändernde Wellensynthesen aus gespeicherten Klängen sind genau so aber schon beim RCA MARK II machbar gewesen. Nur war der halt nicht so gut tragbar wie die PGP.
Aufgrund der beschränkten Speichermöglichkeiten habe ich z.B. in meinem Synth nur 2 user RAMs drin, die für alle Stimmen gleichzeitig unabhängig nutzbar sind, demnächst 4. Eine echte WTS braucht bei mir ein komplettes FPGA Modul.
Daher fahre ich meine WTS dynamisch, d.h. ich verwende keine Wellentabellen, sondern in Echtzeit berechnete Funktionen. D.h. es wird kein Punkt aus dem RAM gelesen, sondern der Wert wird berechnet und existiert nur ganz kurz. Dafür kann ich dann auch beliebig fein und genau werden und habe ein gleichmäßigeres Verhalten, als die echte WTS. Es gleicht dann wieder mehr dem, was wir beim Radar machen, gepart allerdings mit dem Verhalten der musikalischen WTS , diese Wellen stufenförmig zu durchlaufen und hin und her zublenden. D.h. am Ende ist es eine andere Form der Parametervorgabe, wie ein Klang sich verändert. Es braucht dann nur einen LFO (bei mir heissen die Modifier, haben auch ihre eigene ADSR) um einen Wert zu steuern, nämlich Klangnummer , die von der Synthunit in Klang 1 + Klang 2 und Anteil 1 und Anteil 2 umgerechnet wird, um einen sehr lebhaften Klang zu erzeugen.
Hier sieht man die Wellen, wenn man sie der Reihe nach mit abgestuften Parametern über eine Oktave abspielt. Es ändert sich nicht so viel, sodaß der ÜBergang zwischen Phasen und Wellen sehr artefaktarm ist.
A virtual wave table synthesis module in an FPGA
www.96khz.org