Interview mit Wolfram Franke

Interview mit Wolfram Franke, dem Programmierer des Waldorf PPG Wave 3.V

Xound: Wenn man einen Equalizer oder Kompressor softwaremäßig emuliert, kann ich mir das noch relativ harmlos vorstellen, die typischen Eigenschaften des Originals "nachzubauen". Bei einem softwaremäßigen Abbild eines Synthesizers erscheint mir die Herausforderung wesentlich komplexer. Wie geht man vor?

W. Franke: Zu allererst: hören, und ein Gefühl dafür bekommen, was man hört. Gerade der PPG Wave 2.3 und sein Vorgänger, der 2.2, reagieren nicht immer so, wie man es erwarten würde. Man muss sich vorstellen, dass Anfang der 80er die Analogtechnik zwar auf ihrem vorläufigen Höhepunkt war, die Digitaltechnik aber noch in den Kinderschuhen steckte. Der Prozessor und die anderen digitalen Komponenten waren sehr limitiert in Bezug auf Rechengeschwindigkeit und Registerbreite. Wolfgang Palm musste damals bei der Entwicklung viele Tricks anwenden, um das gewünschte Ergebnis zu erzielen.

Glücklicherweise standen mir bei der Entwicklung zwei wichtige Personen zur Seite: Hermann Seib, ein jahrzehntelanger PPG-Fan, der die Geräte in- und auswendig kennt, und Wolfgang Palm, der mir viele wichtige Antworten zu Detailfragen geben konnte. Anhand der Schaltpläne und den Informationen der beiden konnte ich die beteiligten Komponenten eins zu eins nachbauen.

Das bringt uns zum wichtigsten Schritt: messen - einerseits den Frequenzgang, der im Original durch die D/A-Wandler, Filter und Verstärker erzeugt wird, andererseits aber auch die Zeiten der Hüllkurven und des LFO, die hauptsächlich durch den Prozessor, aber auch durch analoge Bauteile bestimmt werden. Das bedeutet: Audiosoftware auf dem Rechner starten und jede Attack-Einstellung aufnehmen, dann jede Decay-Einstellung, jede Sustain-Einstellung und so weiter. Und diese dann stundenlang anschauen, messen und verstehen.

Gerade die Hüllkurven, die die Filter und die Verstärker steuern, benötigten viel Aufmerksamkeit -diese bestehen aus einer Kombination aus Digital- und Analogtechnik. Zunächst werden die Hüllkurven digital berechnet,  werden danach aber analog geglättet, um die digitalen Stufen zu reduzieren. Da aber die Digitaltechnik damals noch so eingeschränkt war, wurden die extrem kurzen Raten durch unterschiedliche analoge Schaltungen realisiert, damit die Hüllkurven auch ordentlich knackig sind. Erst wenn man längere Raten einstellt, übernimmt nach und nach der Prozessor die Berechnung der Hüllkurvenform. Dabei kommt aber dann die eingeschränkte Bitbreite des Prozessors in die Quere, so dass nicht alle nötigen Hüllkurvenraten in einem Rutsch berechnet werden können. Um das zu vermeiden, kam Wolfgang damals auf die Idee, die Hüllkurve in lineare Segmente zu zerteilen, von denen einige etwas schneller und andere etwas langsamer berechnet werden, bis die Hüllkurve ihren Endpunkt erreicht hat. Dadurch ergibt sich die gewünschte exponentielle Hüllkurvenform, die aber mit jeder Ratenänderung unterschiedlich aussieht. Das nachzubauen hat mich einige schlaflose Nächte gekostet.

Einfach hingegen war der Filter. Die im PPG Wave 2.2/2.3 arbeitenden SSM-Filter ähneln dem Klangcharakter unserer digitalen Waldorf-Filter sehr. Im PPG Wave 2.V hatte ich diese schon so überzeugend simuliert, dass ich sie für den PPG Wave 3.V ohne Änderung übernehmen konnte. Einzig ein paar neue Regler für die acht Cutoff- und Resonanz-Offsets kamen hinzu, die die leichten Kalibrierungsunterschiede der acht Filter des Originals simulieren.


Xound:  Die digitalen Oszillatoren des Originals können ja sicherlich beim Software-Synthe nach einem ähnlichen Prinzip den Sound generieren. Wie sieht es mit den analogen Komponenten des originalen PPGs aus. Wie bekommt man diese "nachgestellt" ?

W. Franke: So einfach ist es nicht. Der PPG Wave 2.2/2.3 arbeitete mit 8-Bit-Wellenformen bzw. 16-Bit-Samples und gab diese direkt als Ganzzahlwerte an die 12-Bit- bzw. 16-Bit-Wandler aus, während Audioverarbeitung in modernen Prozessoren hauptsächlich mit Gleitkommaarithmetik passiert. Viel wichtiger aber ist, dass der PPG Wave 2.2/2.3 diese Wellenformen ohne jegliche Interpolation zur Vermeidung von Aliasing ausgab, dafür aber mit einer sehr hohen Samplingrate weit jenseits der 200 kHz, um genau dieses Aliasing zu mindern. Und zu allem Überfluss sind diese Samplingraten beim PPG Wave 2.2 und 2.3 auch noch unterschiedlich. Das habe ich im PPG Wave 3.V genau so nachgebaut. Die Oszillatoren arbeiten mit den hohen Samplingraten und Bitbreiten des PPG Wave 2.2 bzw. 2.3 und werden danach von Sampleratenkonvertern höchster Qualität auf die Zielsamplingrate umgerechnet. Den Unterschied kann man sehr schön hören, wenn man bei gespielter Note den PPG Wave Mode zwischen 2.2 und 2.3 umschaltet. Zusätzlich kann man dort auch zur alten Emulation, dem PPG Wave 2.V umschalten, um zu hören, wie die erste Version des Plug-Ins klang.

Xound: Kann man bei der Entwicklung auf die Sound-Parameter des Originals zurückgreifen oder mussten sämtliche Sounds von Sounddesignern neu programmiert werden?

W. Franke: Der PPG Wave 3.V lädt alle Sounds und Samples des PPG Wave 2.2, 2.3 und Waveterm B. Ebenso sind alle Werkssounds inklusiv der berühmten Sample Library im Lieferumfang enthalten. Die Sounddesigner mussten also keine klassischen Sounds nachprogrammieren, sie werden vom PPG Wave 3.V eins zu eins wiedergegeben. Wenn man selber einen 2.2 oder 2.3 mit der Firmware V8.3 besitzt, die unter anderem von Hermann Seib entwickelt wurde und über ihn bzw. eine befreundete Firma käuflich erworben werden kann, kann man seine Sounds per MIDI Sysex übertragen und diese Dateien im PPG Wave 3.V laden. Bei Waveterm-Samples wird es etwas komplizierter, da man die alten 5 1/4"-Disketten erstmal irgendwie in den Rechner bekommen muss. Aber auch dazu gibt es Hilfestellung auf Hermanns Internetseite http://www.hermannseib.com/,  so man denn einen alten DOS-Rechner mit passendem Diskettenlaufwerk sein Eigen nennt.

Xound: Vielen Dank für die interessanten Infos.



Add this page to your favorite Social Bookmarking websites
 
Kommentare (0)add comment

Kommentar schreiben
kleiner | groesser

busy