Wave-TabShaper
Winfried Ritsch, Thomas Musil
01.01.1996 - 31.12.1998
Wissenschaftliches Projekt
Information zu Wave TabShaper
Dieses Programm wurde am
INSTITUT FÜR ELEKTRONISCHE MUSIK UND AKUSTIK
AN DER UNIVERSITÄT FÜR MUSIK UND DARSTELLENDE KUNST IN GRAZ
Jakoministr. 3 - 5, A - 8010 Graz, Austria
geschrieben.
Winfried Ritsch
Thomas Musil
Programmierung: Thomas Musil (email: musil(at)iem.at)
WaveTabShaper ist ein Wavetable-Editor, mit dem Sie 512 Samples lange Soundfiles ( Wavetables ) bearbeiten bzw. generieren können. WaveTabShaper kommuniziert optional mit einem grafisch bedienbaren Echtzeit-Klangverarbeitungs-Programm namens MAX, vorausgesetzt Sie besitzen dazu eine ISPW-Karte (Ircam Signal Processing Workstation).
Die mittels WaveTabShaper generierten Soundfiles können Sie in ein Oszillator-Objekt "osc1~" laden. "osc1~" erzeugt nun aus dieser Wavetable entweder eine periodische Schwingung, oder es verzerrt ein Signal anhand dieser Wavetable-Kennlinie. Mit WaveTabShaper können Sie auch Wavetables in Echtzeit entwickeln, indem Sie statt dem "osc1~"-Objekt entsprechend programmierte Externals verwenden.
waveshape2~ , waveshape4~: das sind 2 Verzerrungs-Prozessoren mit 2-Punt- bzw. 4-Punkt-Interpolation;
oscillator2~, oscillator2_I~ : das sind 2 Wavetable-Oszillatoren mit 2-Punt-Interpolation.
WaveTabShaper
Inhaltsverzeichnis
- Allgemeines
- Installation von Wave TabShaper
- Starten von Wave TabShaper
- Arbeiten mit Wave TabShaper
4.1 Sounds öffnen und speichern
4.2 Waveshaping
4.3 Fourier Synthesis
4.4 Mathematical Calculation
4.5 Manual Editing - Die Kommunikation zwischen Wave TabShaper und MAX
- Beispiele
- Theoretische Abhandlung von Waveshaping
- Anhang
1. Allgemeines
Dieses Programm wurde amINSTITUT FÜR ELEKTRONISCHE MUSIK
AN DER UNIVERSITÄT FÜR MUSIK UND DARSTELLENDE KUNST IN GRAZ
Jakoministr. 3 - 5, A - 8010 Graz, Austria
geschrieben.
Konzeption: Winfried Ritsch und Thomas Musil
Programmierung: Thomas Musil (email: musil@iem.kug.ac.at)
WaveTabShaper ist ein Wavetable-Editor, mit dem Sie 512 Samples lange Soundfiles ( Wavetables ) bearbeiten bzw. generieren können. WaveTabShaper kommuniziert optional mit einem grafisch bedienbaren Echtzeit-Klangverarbeitungs-Programm namens MAX, vorausgesetzt Sie besitzen dazu eine ISPW-Karte (Ircam Signal Processing Workstation).
Die mittels WaveTabShaper generierten Soundfiles können Sie in ein Oszillator-Objekt "osc1~" laden. "osc1~" erzeugt nun aus dieser Wavetable entweder eine periodische Schwingung, oder es verzerrt ein Signal anhand dieser Wavetable-Kennlinie. Mit WaveTabShaper können Sie auch Wavetables in Echtzeit entwickeln, indem Sie statt dem "osc1~"-Objekt entsprechend programmierte Externals verwenden.
waveshape2~ , waveshape4~: das sind 2 Verzerrungs-Prozessoren mit 2-Punt- bzw. 4-Punkt-Interpolation;
oscillator2~, oscillator2_I~ : das sind 2 Wavetable-Oszillatoren mit 2-Punt-Interpolation.
2. Installation von WaveTabShaper
Zuerst kopieren Sie das Paket "WaveTabShaper.compressed" in einen Ordner, wo sich auch andere Sound-Tools befinden. Dann klicken Sie dieses Paket an und dekomprimieren es (Workspace->File->Decompress. Der nun entstandene Ordner "WaveTabShaper" soll enthalten:- einen Ordner names "Documentation",
- einen Ordner names "MaxPatches",
- die Applikation "WaveTabShaper.app",
- und das Icon ".dir.tiff".
In "MaxPatches" finden Sie den Ordner "sounds" (mit einigen vorgefertigten Wavetables ) und den Ordner "wavelib" (Bibliothek von MAX-Objekte für WaveTabShaper .
3. Starten von WaveTabShaper
Folgende 3 Möglichkeiten stehen Ihnen zur Verfügung, das Programm WaveTabShaper in Betrieb zu nehmen:- Falls Sie eine ISPW-Karte besitzen, starten Sie das Programm "Max.app" und öffnen den Patch "WaveShape2.pat " in "MaxPatches".
Anschließend starten Sie "WaveTabShaper.app", es erscheint nun die Arbeitsoberfläche von WaveTabShaper und nach ca. 4 Sekunden die Mitteilung, daß der Kommunikations-Kanal zwischen MAX und WaveTabShaper geöffnet wurde.
Nachdem Sie "OK" angeklickt haben, erscheint in der untersten Zeile des MAX-Konsole-Fensters die Nachricht "<TT>(1): print: WaveTabShaper has been started!</TT>". Sie brauchen nur mehr im Patch "WaveShape2.pat" die Message-Box ";max dsp 1" anzuklicken und die 3 Sliders aufzuziehen.
Ab diesem Zeitpunkt können Sie in WaveTabShaper (Betriebsart WaveShaping Ihre gewünschten Oberwellen-Anteile einstellen und anhören. - Falls Sie eine ISPW-Karte besitzen und das Programm "Max.app" läuft noch nicht, starten Sie das Programm "WaveTabShaper.app". Es erscheint nun die Arbeitsoberfläche von WaveTabShaper und diese Warnung, daß das Programm "Max.app" noch nicht gestartet wurde.
Sie können nun auf "START MAX" klicken, und WaveTabShaper startet für Sie die MAX-Applikation samt dem Patch "WaveShape2.pat". Nach ca. 6 Sekunden erscheint die Mitteilung, daß der Kommunikations-Kanal zwischen MAX und WaveTabShaper geöffnet wurde.
Nachdem Sie "OK" angeklickt haben, verfahren Sie wie unter 1.). - Falls Sie keine ISPW-Karte besitzen, starten Sie das Programm "WaveTabShaper.app". Es erscheint nun die Arbeitsoberfläche von WaveTabShaper und diese Warnung, daß das Programm Max.app noch nicht gestartet wurde.
Hier sollen Sie nur auf "no Max" klicken, und WaveTabShaper arbeitet nur als grafische Applikation.
4. Arbeiten mit WaveTabShaper
Im obersten Bereich der Arbeitsoberfläche befindet sich ein Pop-Up-Menü. Mit Hilfe dieses Pop-Up-Menüs können Sie eine der folgenden 4 Betriebsarten von WaveTabShaper auswählen:
Waveshaping dient ausschließlich zur Verzerrung eines Signals.
Fourier Synthesis dient ausschließlich zur Erzeugung eines periodischen Signals.
Mathematical Calculation und Manual Editing können Sie sowohl zur Erzeugung von periodischen Signalen (Oszillatoren) als auch zur Erzeugung aperiodischer Signale (Hüllkurven), sowie zur Verzerrung von Signalen heranziehen.
Da jede Betriebsart über einen eigenen Wavetable-Speicher verfügt, können Sie beliebig zwischen den Betriebsarten wechseln, ohne die in anderen Betriebsarten erstellten Wavetables zu löschen. Sobald Sie die Betriebsart gewechselt haben, wird die aktuelle Wavetable optional in das MAX-Extrernal-Objekt übertragen.
Im Hauptmenü von WaveTabShaper finden Sie in der ersten Zeile den Eintrag "Info".
Im Eintrag "Info Panel" werden Sie über die Urheberrechte bzw. über die E-Mail-Adresse des Instituts informiert. Im Eintrag "About WaveTabShaper" finden Sie den gesamten Hilfe-Text.
Der Eintrag "Edit" des Hauptmenüs bietet Ihnen Kopier-Funktionen für Text-Felder.
Abschließend gibt es noch die Einträge "Hide" und "Quit" zum Verstecken bzw. zum Beenden des Programms.
4.1 Sounds öffnen und speichern
Hinter dem Hauptmenü-Eintrag "Wave" finden Sie die beiden Einträge "Open..." und "Save As...".
Wenn Sie den Eintrag "Save As..." anklicken, öffnet sich ein Save-Panel, mit dessen Hilfe Sie die momentan angezeigte Wavetable als Soundfile speichern können ( wavename.snd ). In Abhängikeit der gewählten Betriebsart wird noch ein zweites File mit Zusatz-Information gespeichert (In den Betribsarten Waveshaping und Fourier Synthesis wird die angezeigte Liste als ASCII-File gespeichert, in der Betriebsart Mathematical Calculation werden die beiden Grenzen in x-Richtung gespeichert, in der Betriebsart Manual Editing wird kein Zusatz-File gespeichert).
MAX unterscheidet 2 Arten von Soundfiles (Wavetables ), die das Max-Objekt "osc1~" laden kann:
"filename.snd" und "nowrap-filename.snd". Beide Wavetables haben eine Länge von 512 Samples. Die erste Art wird für Wavetables verwendet, die periodisch stetige Verläufe aufweisen, die zweite Art wird verwendet für Wavetables, die eine Unstetigkeit (Sprung in der Amplitude) zwischen 512. und 1. Sample aufweisen.
Diese Unstetigkeit wird auch bei langsamen Durchlaufen der Wavetable immer als senkrechter Sprung beibehalten ( "osc1~" verwendet eine 2-Punkt-Interpolation). Unter den Betriebsarten Waveshaping und Fourier Synthesis ist es sinnvoll, die Wavtables als normale Soundfiles zu speichern; unter den Betriebsarten Mathematical Calculation und Manual Editing kommt es darauf an, wie Sie diese Wavetables verwenden wollen.
Dient hier die Wavetable als Hüllkurve oder als Oszillator mit einer Unstetigkeit zwischen Beginn und Ende, sollen Sie sie auf jeden Fall mit dem Präfix "nowrap-" speichern; dient sie als Verzerrungs-Kennlinie mit einer Unstetigkeit zwischen Beginn und Ende, speichern Sie sie auch mit dem Präfix "nowrap-". In den beiden zuletzt genannten Betriebsarten bleibt nur mehr die Anwendung als Oszillator-Wavetable mit stetigen Übergängen übrig, bei der Sie die Wavetable als normales Soundfile speichern können.
Wenn Sie "Open..." anklicken, öffnet sich ein Open-Panel, mit dessen Hilfe Sie ein Soundfile als Wavetable laden können. Diese Wavetable wird dann in der zugehörigen Betriebsart zur Anzeige gebracht.
4.2 Waveshaping
Im Waveshaping-Modus konstruieren Sie eine Wavetable, die als Verzerrungs-Kennliniedient. Ein MAX-Objekt (entweder osc1~ oder waveshape2~, waveshape4~) berechnet diese Verzerrung und formt ein sinusförmiges Eingangssignal mit der Amplitude von 1.0 in ein Ausgangssignal mit den gewünschten Oberwellen-Anteilen um (siehe Theorie). Die gewünschten Oberwellen-Anteile können Sie entweder mit den 3 Slidern (rechts) einstellen oder in die Liste (links) eintragen.
Mit diesem Slider können Sie die gewünschte Harmonische (von 0 bis 100) auswählen;
die genaue Zahl erscheint im Textfeld darunter darunter.
Daneben befinden sich 2 weitere Slider, mit denen Sie die Amplitude der gewählten Harmonischen einstellen können: Der größere dient zur Grobeinstellung von -1.0 bis +1.0 (mit einer Schrittweite von 0.01); der kleinere zur relativen Feinabstimmung von -0.0098 bis +0.0098 (mit einer Schrittweite von 0.0002 ). Im Textfeld darunter wird die Amplitude als Summe der beiden Slider angezeigt. Sie können den gewünschten Amplitudenwert aber auch direkt in dieses Textfeld eintragen.
Sobald Sie den großen Slider neuerlich bewegen, wird der kleine Slider automatisch wieder in Null-Stellung gebracht.
Um den editierten Amplitudenwert zur jeweiligen Harmonischen in die Verzerrungs-Kennlinie zu übertragen, klicken Sie den Button "Plot Slider" an.
Dadurch bewirken Sie drei Dinge:
- Die graphische Kennlinie wird aktualisiert und neu angezeigt.
- Die Kennlinie wird optional in das MAX-External-Objekt übertragen.
- Der neue Amplitudenwert der Harmonischen wird in das Listen-Feld eingetragen.
Um die Amplitude einer Harmonischen genau auf 0.0 zu setzen, klicken Sie auf den Button "Set 0.0".
Wollen Sie die gesamte Verzerrungs-Kennlinie löschen, so klicken Sie auf den Button "Erase All".
Vorsicht: Diesen Schritt können Sie nicht mehr rückgängig machen!
Den gewünschten Oberwellen-Gehalt der Verzerrungs-Kennlinie können Sie auch direkt in die Liste eingeben. Dabei halten Sie sich an folgende Syntax:
- eine Ganzzahl (Harmonische)
- ein Doppelpunkt (zur Trennung)
- eine Gleitkommazahl (Amplitude)
- ein Strich-Punkt (Ende der Zeile)
Zur besseren Lesbarkeit können Sie auch Leer- und Return-Zeichen einfügen.
Dieses Beispiel erzeugt eine rechteckförmige Verzerrung eines Sinus-Signals mit beschränktem Oberwellengehalt (bis zur 21. Harmonischen).
Sobald Sie den Button "Plot List" anklicken, berechnet WaveTabShaper aus der eingegebenen Liste eine neue Kennlinie.
Genauso wie der Button "Plot Slider" bewirkt auch "Plot List" drei weitere Dinge:
- Die graphische Kennlinie wird aktualisiert und neu angezeigt.
- Die Kennlinie wird optional in das MAX-External-Objekt übertragen.
- Der Amplitudenwert des Sliders wird entsprechend korrigiert.
Begrenzungen:
Die Grenzen der y-Richtung sind -1.0 und +1.0; die der x-Richtung zwischen -1.02 und +1.02. Würde man auch die x-Richtungs-Grenzen mit +/- 1.0 festlegen und die Verzerrungs-Kennlinie als i.) "filename.snd" bzw. als ii.) "nowrap-filename.snd" abspeichern, käme es bei höheren Harmonischen zu hörbaren Interpolations-Fehlern. Das MAX-Objekt osc1~ interpoliert zwischen den 512 Werten eines geladenen Soundfiles.
ad i):
Hier würde osc1~ zwischen dem 512. Sample und dem 1. Sample interpolieren. Das heißt, daß für die negative Halbwelle 256 Samples, für die positive Halbwelle aber nur 255 Samples für eine fehlerfreie Interpolation zur Verfügung stehen.
ad ii):
osc1~ extrapoliert zwischen dem 512. Sample und dem 1. Sample die Interpolations-Funktion vom Wert des 511. und des 512. Sample. Dies führt bei höheren Harmonischen zu hörbaren Rechenfehlern. Daher wurden die Kennlinien-Grenzen erweitert (-1.02 .... + 1.02), damit eine fehlerfreie Interpolation innerhalb der erlaubten Grenzen ( -1.0 .... + 1.0 ) möglich ist.
Wenn die Kennlinie in y-Richtung über die Begrenzungswerte von -1.0 bzw. +1.0 hinausgeht oder diese stark unterschreitet, klicken Sie auf "Normalize".
Achtung: "Normalize" verändert auch die Amplituden-Werte in der Liste! Wenn Sie eine analytisch formulierbare Verzerrung weiter entwickeln wollen, sollten Sie die Verzerungs-Kennlinie speichern, bevor Sie diesen Befehl geben.
4.3 Fourier Synthesis
In diesem Modus können Sie die Sinus-bzw. Cosinus-Anteile einer Wavetable für eine Fourier-Synthese eingeben. Diese Wavetable wird dann im MAX-Objekt (entweder osc1~ oder oscillator2~, oscillator2_I~) zyklisch ausgelesen. Die gewünschten Harmonischen können Sie entweder mit den 5 Slidern (rechts) einstellen oder in die Liste (links) eintragen.
Mit diesem Slider können Sie die gewünschte Harmonische ( von 0 bis 100 ) auswählen;
die genaue Zahl erscheint im Textfeld darunter.
Daneben befinden sich 4 weitere Slider, mit denen Sie die Amplitude der gewählten Harmonischen einstellen können: Die beiden großen dienen zur Grobeinstellung der Sinus- bzw. Cosinus-Amplitude von -1.0 bis +1.0 (mit einer Schrittweite von 0.01); die beiden kleineren zur relativen Feinabstimmung von -0.0098 bis +0.0098 (mit einer Schrittweite von 0.0002 ). Im Textfeld darunter wird jeweils die Sinus- bzw. Cosinus-Amplitude als Summe der beiden Slider angezeigt. Sie können den gewünschten Amplitudenwert aber auch direkt in diese beiden Textfelder eintragen.
Sobald Sie einen der beiden großen Slider neuerlich bewegen, wird der dazugehörige kleine Slider automatisch wieder in Null-Stellung gebracht.
Um die beiden editierten Amplitudenwerte zur jeweiligen Harmonischen in die Wavetable zu übertragen, klicken Sie den Button "Plot Slider" an.
Dadurch bewirken Sie drei Dinge:
- Die graphische Wavetable wird aktualisiert und neu angezeigt.
- Die Wavetable wird optional in das MAX-External-Objekt übertragen.
- Der beiden neuen Amplitudenwerte der Harmonischen werden in das Listen-Feld eingetragen.
Um die beiden Amplitudenwerte einer Harmonischen genau auf 0.0 zu setzen, klicken Sie auf den Button "Set 0.0".
Es erfolgen die gleichen 3 Reaktionen wie beim Anklicken von "Plot Slider".
Wollen Sie die gesamte Verzerrungs-Kennlinie löschen, so klicken Sie auf den Button "Erase All".
Vorsicht: Diesen Schritt können Sie nicht mehr rückgängig machen!
Die gewünschten Harmonischen der Wavetable können Sie auch direkt in die Liste eingeben. Dabei halten Sie sich an folgende Syntax:
- Eine Ganz-Zahl (Harmonische)
- Ein Doppel-Punkt (zur Trennung)
- Ein "s" bzw. ein "c" (für Sinus bzw. Cosinus)
- Ein Doppel-Punkt (zur Trennung)
- Eine Gleit-Komma-Zahl (Amplitude)
- Ein Strich-Punkt (Ende der Zeile)
Zur besseren Lesbarkeit können Sie auch Leer- und Return-Zeichen einfügen.
Dieses Beispiel erzeugt eine rechteckförmige Wavetable mit beschränktem Oberwellengehalt (bis zur 21. Harmonischen).
Sobald Sie den Button "Plot List" anklicken, berechnet WaveTabShaper aus der eingegebenen Liste eine neue Wavetable.
Genauso wie der Button "Plot Slider" bewirkt auch "Plot List" drei weitere Dinge:
- Die graphische Kennlinie wird aktualisiert und neu angezeigt.
- Die Kennlinie wird optional in das MAX-External-Objekt übertragen.
- Die Amplitudenwerte der Slider werden entsprechend korrigiert.
Begrenzungen:
Die Grenzen der x- und der y-Richtung sind -1.0 und +1.0.
Wenn die Wavetable in y-Richtung über die Begrenzungswerte von -1.0 bzw. +1.0 hinausgeht oder diese stark unterschreitet, klicken Sie auf "Normalize".
Achtung: "Normalize" verändert auch die Amplituden-Werte in der Liste! Wenn Sie eine analytisch formulierbare Wavetable weiter entwickeln wollen, sollten Sie sie abspeichern, bevor Sie diesen Befehl geben.
4.4 Mathematical Calculation
In diesem Modus können Sie Wavetables mit Hilfe mathematischer Operationen berechnen. Diese Operationen bzw. Zuweisungsvorschriften unterteilen sich in vier Bereiche:- Register initialisieren bzw. kopieren (Operation1)
- Operationen mit einem Register als Argument (Operation2)
- Operationen mit zwei Registern als Argumente (Operation3)
- Operationen mit einem Register und einer bzw. zwei Konstanten als Argumente (Operation4)
Außerdem besitzt Mathematical Calculation 4 Register (Wavetables):
Die 3 Register "Mem1", "Mem2" und "Mem3" können Sie als Hilfsregister verwenden; nur das Register "Reg" können Sie speichern bzw. in ein MAX-External-Objekt übertragen.

4.4.1 Operation1
Mit diesem Pop-Up-Menü wählen Sie das Ergebnis-Register der Operation1:
Als Argument können Sie auswählen:
- eines der vier Register
- die "y = x"-Gleichung über den Bereich von x-min bis x-max
- eine Konstante Zahl über den Bereich von x-min bis x-max
- eines der drei Anzeige-Register der Betriebsarten Waveshaping, Fourier Synthesis bzw. Manual Editing
Die Konstante "const" können Sie mit 4 vordefinierten Werten belegen; Sie können den Wert aber auch direkt in das Textfeld eintragen.
Durch Anklicken des Buttons "Plot Operation1" bewirken Sie 3 Dinge:
- Das Ergebnis-Register wird laut Zuweisungs-Vorschrift berechnet.
- Die graphische Darstellung des Ergebnis-Registers wird aktualisiert und neu angezeigt.
- Falls Sie "Reg" als Ergebnisregister eingestellt haben, wird es optional in das MAX-External-Objekt übertragen.
4.4.2 Operation2
Das Ergebnis-Register der Operation2 wählen Sie wieder mit diesem Pop-Up-Menü:
Die gewünschte mathematische Funktion wählen Sie aus diesem Pop-Up-Menü:
| sin( x )<td>Sinus von Register x; <tr><td>asin( x )<td>ArcusSinus von Register x; <tr><td>cos( x )<td>Cosinus von Register x; <tr><td>acos( x )<td>ArcusCosinus von Register x; <tr><td>tan( x )<td>Tangens von Register x; <tr><td>1 / x<td>1.0 dividiert durch Register x; <tr><td> atan( x )<td>ArcusTangens von Register x; <tr><td>xý <td>Register x zum Quadrat; <tr><td>sqrt( x )<td>QuadratWurzel aus Register x; <tr><td>xþ<td>Register x zur 3. Potenz; <tr><td>cbrt( x )<td>KubikWurzel aus Register x; <tr><td>log( x )<td>Logarithmus zur Basis e von Register x; <tr><td>exp( x )<td>e hoch Register x; <tr><td>log10( x )<td>Logarithmus zur Basis 10 von Register x; <tr><td>exp10( x )<td>10.0 hoch Register x; <tr><td>abs( x )<td>Betrag von Register x; <tr><td>- x<td>0.0 minus Register x; |
| pow( x, y )<td>potenziert Register x hoch Argument y; <tr><td>rot_l( x, y )<td>rotiert Register x um den ganzzahligen Anteil von y in Samples Richtung links (d.h. die Samples, die links herausfallen, werden rechts wieder hinein-rotiert); <tr><td>rot_r( x, y )<td>wie rot_l nur Richtung rechts; <tr><td>sh_l( x, y )<td>schiebt Register x um den ganzzahligen Anteil von y in Samples Richtung links (von rechts wird das Argument z hineingeschoben); <tr><td>sh_r( x, y )<td>wie sh_l nur Richtung rechts; <tr><td>( x > y )? x : z<td>wenn der Wert von Register x größer als y ist, dann bleibt x = x, sonst wird x ersetzt durch x = z; <tr><td>( x >= y )? x : z <td>der Vergleich findet hier mit "x größer oder gleich als y" statt; <tr><td>( x < y )? x : z<td>der Vergleich findet hier mit "x kleiner als y" statt; <tr><td>( x <= y )? x : z <td>der Vergleich findet hier mit "x kleiner oder gleich als y" statt; <tr><td>( x == y )? x : z <td>der Vergleich findet hier mit "x gleich y" statt; <tr><td>( x != y )? x : z <td>der Vergleich findet hier mit "x ungleich y" statt; |
| Distortion2.pat<td> (Verzerrungs-Kennlinien in den Betriebsarten Mathematical Calculation und Manual Editing) <tr><td>Envelope2.pat<td> (Hüllkurven in den Betriebsarten Mathematical Calculation und Manual Editing) <tr><td>Oscillator2.pat<td> (stetige Oszillator-Wavetablesin der Betriebsart Fourier Synthesis) <tr><td>Oscillator2_I.pat<td> (unstetige Oszillator-Wavetables in den Betriebsarten Mathematical Calculation und Manual Editing) <tr><td>WaveShape2.pat<td> (Verzerrungs-Kennlinien in der Betriebsart Waveshaping mit 2-Punkt-interpolation) <tr><td>WaveShape4.pat<td> (Verzerrungs-Kennlinien in der Betriebsart Waveshaping mit 4-Punkt-interpolation) |
| Tab1Distortion.pat<td> (Verzerrungs-Kennlinien, erzeugt in den Betriebsarten Mathematical Calculation und Manual Editing) <tr><td>Tab1Envelope.pat<td> (Hüllkurven, erzeugt in den Betriebsarten Mathematical Calculation und Manual Editing) <tr><td>Tab1Oscillator.pat<td> (stetige und unstetige Oszillator-Wavetables, erzeugt in den Betriebsarten Fourier Synthesis, Mathematical Calculation und Manual Editing) <tr><td>Tab1WaveShape.pat<td> (Verzerrungs-Kennlinien, erzeugt in der Betriebsart Waveshaping) |

Indem Sie den Button "Plot Operation2" anklicken, bewirken Sie wieder die bereits bekannten 3 Dinge:
Das Ergebnis-Register sowie das 1. und 2. Argument der Operation3 wählen Sie jeweils aus diesem Pop-Up-Menü:
Aus diesem Pop-Up-Menü wählen Sie eine der 4 Grundrechnungsarten:
Indem Sie den Button "Plot Operation3" anklicken, bewirken Sie wieder die bereits bekannten 3 Dinge:
Die beiden Argumente "y" und "z" tragen Sie direkt in die Zahlen-Anzeige ein.
Die Funktion bzw. den Vergleich von Operation4 wählen Sie mit diesem Pop-Up-Menü:
Die Grenzen in x-Richtung können Sie mit diesen 2 mal 4 Buttons setzen oder sie direkt in die beiden Textfelder eintragen.
Die Grenzen in x-Richtung wirken sich eigentlich nur für "Plot Operation1" aus, und zwar dann, wenn die Zuweisungs-Vorschrift auf "Register = x" ( die "y = x"-Gleichung ) lautet.
Wenn "Reg" in y-Richtung über die Begrenzungswerte von -1.0 bzw. +1.0 hinausgeht oder diese stark unterschreitet, klicken Sie auf "Normalize".
Achtung: "Normalize" ist nicht mehr rückgängig zu machen! Wenn Sie eine Wavetable weiter entwickeln wollen, sollten Sie sie speichern, bevor Sie diesen Befehl geben.
In der Betriebsart Manual Editing haben Sie 4 verschiedene Möglichkeiten, Wavetables durch Zeichnen mit der Maus zu erstellen bzw. zu editieren:
Möchten Sie die Kennlinie auf eine 45 Grad-Gerade setzen, die als Sägezahn-Funktion bzw. als 1 : 1 Verzerrungs-Kennlinie dienen kann, dann klicken Sie auf "Set y = x".
Die x- und die y-Richtung ist konstant zwischen -1.0 und +1.0 begrenzt.
Um die Wavetable in y-Richtung innerhalb der Grenzen von -1.0 und +1.0 zu normieren, klicken Sie auf "Normalize".
Mit dieser Option wird das Zeichnen von negativen Werten verhindert. Wenn Sie den Switch aktivieren, werden alle negativen Wavetable-Werte auf 0.0 gesetzt .
Wenn Sie eine Wavetable aus einer anderen Betriebsart in diesen Modus importieren wollen (Waveshaping, Fourier Synthesis oder Mathematical Calculation), dann klicken Sie auf einen der 3 Buttons:
Diese beiden Textfelder zeigen die aktuelle Mausposition innerhalb des Zeichenfeldes an (-256.....+255): 