-
Die Erfindung betrifft ein Verfahren zur synthetischen Erzeugung eines digitalen Audiosignals durch periodische Abtastung einer Wellenform.
-
Die synthetische Erzeugung von digitalen Audiosignalen wird im Rahmen der Klangsynthese zur elektronischen Erzeugung von Klängen eingesetzt. Zu diesem Zweck werden digitale Audiosignale unmittelbar nach ihrer Erzeugung direkt zur Klangsynthese eingesetzt oder alternativ auch zur späteren Verwendung in einer Speichereinheit hinterlegt. Zur eigentlichen Klangerzeugung wird das digitale Audiosignal sodann, beispielsweise mittels eines Digital-Analog-Wandlers, zur Ansteuerung einer Lautsprechereinheit oder dergleichen herangezogen.
-
Die Klangsynthese wird dabei üblicherweise zum Zweck der Erzeugung von Klängen eingesetzt, die nicht in der Natur vorkommen. Ein anderer Anwendungsfall betrifft die Imitation von Naturklängen oder Naturinstrumenten wie Klavier, Gitarre oder dergleichen. Darüber hinaus erlaubt die Klangsynthese auch die gezielte oder zufällige Verfremdung von Naturklängen, zum Beispiel durch deren Überlagerung und Bearbeitung mit elektronischen Effekten, zur kreativen Musikgestaltung. Im Rahmen der synthetischen Erzeugung von digitalen Audiosignalen wird üblicherweise die periodische Abtastung einer geeignet gewählten oder vorgegebenen Wellenform oder eines algorithmisch erzeugten Signals vorgenommen, die als Ergebnis einen Wertestrom pro Kanal ("Ergebniswellenform") mit einer festen Ausgaberate (sogenannte sample rate) und einer festen Wertauflösung (sogenannte bit-Tiefe) liefert. Dabei wird ein Wert pro Ausgabenraten-Taktschritt generiert.
-
Bezüglich dieser Parameter können im Allgemeinen folgende grundsätzlichen Einflüsse auf den Charakter des digitalen Audiosignals festgestellt werden:
- Die Form der Ergebniswellenform bestimmt die Klangfarbe
- Die Frequenz der Wiederholungen der Ergebniswellenform bestimmt die Tonhöhe
- Wenn die Ergebniswellenform sich von Wiederholung zu Wiederholung ändert, ändert sich die Klangfarbe
- Wenn die Frequenz der Wiederholungen sich ändert, ändert sich die Tonhöhe.
-
Zur Bereitstellung der als Basis für die Abtastung vorgesehenen Wellenform wird üblicherweise ein sogenannter Oszillator verwendet, der je nach der gewünschten Anpassung hinsichtlich Tonhöhe, Klangfarbe oder sonstigen musikalischen Effekten bedarfsweise modifiziert werden kann. Typischerweise erzeugen Oszillatoren Wellenformen mit vielen Teiltönen, so dass nachfolgende Prozessoren sowie typischerweise ein Tiefpass-Filter diese Teiltöne entsprechend der Wünsche des Sound-Designers abschwächen oder verstärken kann ("Subtraktive Synthese"). Im Kontext des physical modellings übernimmt der Oszillator z.B. die Rolle einer vibrierenden Seite eines Klaviers. Der dem entsprechende Klangkörper wird dann beispielsweise durch einen Filter emuliert. Im Kontext der additiven Synthese ist der Oszillator hingegen eine Sinuswelle einer bestimmten Frequenz, Amplitude und Phase. Die additive Synthese erzeugt komplexe Wellenformen durch die Addition vieler solcher einfachen Oszillatoren. Weitere und eine Mischung dieser Vorgehensweisen zur Klangerzeugung werden typischerweise im Kontext eines Synthesizers genutzt.
-
Die gängigen Methoden zur synthetischen Klangerzeugung basieren auf der Nutzung von Algorithmen, die von durch die Nutzer gesetzten Parametern gesteuert werden. Diese Algorithmen erzeugen die für die Abtastung zugrunde gelegte Wellenform, ihre Veränderung über die Zeit, sowie über die Frequenz und deren Veränderung über die Zeit. Die Beschaffenheit der resultierenden Wellenform ist dabei für den Nutzer üblicherweise nicht oder allenfalls begrenzt auf die OszillatorGrundform ersichtlich und nicht nachvollziehbar. Die herkömmlichen Methoden können somit als "Blackbox"-Verfahren angesehen werden. Die Blackbox stellt in diesem Sinne dem Nutzer lediglich einige Parameter zur Verfügung, anhand welcher, im Rahmen der Möglichkeiten der gestellten Parameter, dieser den entstehenden Ton definieren oder modifizieren kann. Einsichten oder Einflüsse über die inneren Vorgänge im Entstehungsprozess des Tons hat der Nutzer nicht. Er kann lediglich per Oszilloskop oder per Sampling das Ergebnis sichtbar machen.
-
Dem gegenüber liegt der Erfindung die Aufgabe zugrunde, ein Verfahren zur synthetischen Erzeugung eines digitalen Audiosignals anzugeben, das dem Nutzer einen besonders einfach gehaltenen und intuitiven Zugang zur Veränderung und kreativen Umgestaltung der der Abtastung zugrunde gelegten Wellenform ermöglicht.
-
Diese Aufgabe wird erfindungsgemäß gelöst, indem die für die Abtastung zugrunde gelegte Wellenform aus einer Anzahl von zeitlich aufeinanderfolgenden, jeweils durch eine segmentspezifische Linearkombination aus einer Anzahl von Basisfunktionen definierten Wellensegmenten zusammengesetzt wird, wobei die Linearkoeffizienten für jedes Wellensegment derart gewählt werden, dass das jeweilige Wellensegment an seinen Segmenträndern jeweils vorgebbare, veränderbare Amplitudenrandwerte aufweist.
-
Mit anderen Worten wird die für die Abtastung zugrunde gelegte Wellenform somit segmentweise aus einer Anzahl von zeitlich aufeinanderfolgenden Wellensegmenten zusammengesetzt, wobei innerhalb jedes Wellensegments die entsprechende "Teilwellenform" konstruktiv oder additiv durch lineare Überlagerung einer Anzahl von Basis-Wellenfunktionen erzeugt wird. Unter Rückgriff auf standardisierte, vorzugsweise in einer Bibliothek oder dergleichen hinterlegte Sätze von Basis-Wellenfunktionen wie beispielsweise die besonders bevorzugt vorgesehenen Polynome, Bezier- Funktionen oder dergleichen, kann das jeweilige Segment somit anhand der bei der konstruktiven Überlagerung der Basisfunktion verwendeten Linearkoeffizienten eindeutig definiert und bestimmt werden. Damit kann die Beschreibung und Definition auch vergleichsweise unkonventioneller oder komplexer Wellenformen unter Rückgriff auf eine begrenzte Anzahl von Parametern erfolgen, und die Erzeugung und damit auch spätere Modulation oder Modifikation der Wellenform durch Editierung dieser Parametersätze wird ermöglicht. Durch ein derartiges, in der Art einer "konstruktiven Synthese" ausgestaltetes Konzept ist insbesondere auch die Variation der Wellenform in Echtzeit möglich, so dass neue kreative Spielräume für den Benutzer geschaffen werden.
-
Die Linearkoeffizienten der für die konstruktive Überlagerung verwendeten Basisfunktionen werden besonders bevorzugt derart gewählt, dass im jeweiligen Wellensegment eine gewünschte (Ausgangs-)Teilwelle weitgehend exakt oder zumindest näherungsweise approximiert wiedergegeben wird. Die Ausgangs-Teilwelle, die von einem Benutzer spezifiziert oder vorgegeben oder auch aus in einer Bibliothek hinterlegten Wellenformen ausgewählt werden kann, wird somit in eine Superposition aus den Basisfunktionen zerlegt.
-
Des Weiteren werden die Linearkoeffizienten derart gewählt, dass die Wellenform in ihrer Amplitude im jeweiligen Segment an dessen Segmenträndern vorgebbare Amplitudenrandwerte annimmt. Durch eine vom Nutzer vorgenommene Veränderung dieser Amplitudenrandwerte kann somit eine Veränderung der Teilwellenform im jeweiligen Segment vorgenommen werden, da diese durch die über die Amplitudenrandwerte vorgebbaren Randbedingungen definiert ist.
-
Eine besonders bevorzugte, noch weiter führende Möglichkeit zur Einflussnahme auf die Veränderung der Wellenform durch den Benutzer ist erreichbar, indem in vorteilhafter Weiterbildung die Linearkoeffizienten für jedes Wellensegment derart gewählt werden, dass das jeweilige Wellensegment an seinen Segmenträndern jeweils eine vorgebbare, veränderbare Randsteigung aufweist. Damit werden als Randbedingungen für die Zerlegung der Teilwellenform des jeweiligen Segments in die Basisfunktionen nicht nur die Amplitudenwerte an den Segmenträndern, sondern auch deren Randsteigungen vorgegeben. Durch Modifikation dieser Parameter kann der Benutzer mit besonders einfach gehaltener Handhabung auch vergleichsweise komplexe Sound- oder Musikeffekte erzeugen. Bei einem stetigen Übergang der Wellenform zwischen zwei benachbarten Segmenten, also wenn der ausgangsseitige Amplitudenwert ohne Sprung in den eingangsseitigen Amplitudenwert des Nachbarsegments übergeht, kann dies auch vereinfacht zur Editierung durch den Benutzer zur Verfügung gestellt werden, indem als veränderbarer Parameter der Winkel zwischen den beiden am Segmentrand aufeinandertreffenden Steigungen bereitgestellt wird.
-
Als Basisfunktionen zur konstruktiven Erzeugung der Wellenform-Segmente können bevorzugt Funktionensätze wie beispielsweise Bézier-Funktionen, B-Splines, NURBS oder dergleichen vorgesehen sein. Besonders bevorzugt werden als Basisfunktionen aber Polynomial-Funktionen verwendet; es handelt sich somit bevorzugt um eine Polynomial-Zerlegung der Wellenformsegmente. In ganz besonders bevorzugter Weiterbildung werden dabei als Basisfunktionen Polynome dritten Grades oder kubische Polynome verwendet. Diese haben den ganz besonderen Vorteil, dass damit innerhalb der jeweiligen Segmente eine vergleichsweise gute Approximation gewünschter funktionaler Verläufe selbst mit einer besonders geringen Anzahl an Linearkoeffizienten darstellbar ist. Zudem kann durch eine Ausrichtung auf Polynome dritten Grades oder kubische Polynome auf besonders einfache Weise ein funktionales Verhalten generiert werden, für das lediglich auf die genannten Randbedingungen des jeweiligen Segments (Amplitudenrandwerte, Randsteigungen) ohne das Erfordernis weiterer Parametrierung zurückgegriffen werden muss.
-
Um eine besonders benutzerfreundliche, vorzugsweise auch echtzeittaugliche Modifikation der Wellenform zu ermöglichen und damit besonders große Spielräume für musikalische Kreativität zu eröffnen, ist für die Modifikation der Wellenform und damit auch für die Erzeugung des digitalen Audiosignals besonders bevorzugt ein graphisches Benutzer-Interface vorgesehen. Die wie vorstehend erläutert ausgestaltete "konstruktive Synthese" macht nämlich insbesondere, indem in besonders bevorzugter Ausgestaltung das Resultat, also die Wellenform, auf einem geeigneten Anzeigemittel wie beispielsweise einem Bildschirm oder Display dargestellt wird, die Wellenform und die Effekte ihrer Modifikation für den Nutzer transparent, weil der Nutzer, ohne den Umweg über Algorithmen, direkt die resultierende Wellenform und deren zeitliche Veränderung spezifiziert. Hierbei werden die durch Algorithmen gegebenen Begrenzungen der möglichen resultierenden Wellenformen aufgehoben. Das Ergebnis ist ein Exemplar aus dem Universum aller denkbaren, durch die genutzten Basisfunktionen abbildbaren Wellenformen.
-
Zweckmäßigerweise wird dabei ein zugeordnetes Eingabegerät bereitgestellt, über das die Amplitudenrandwerte und/oder die Randsteigungen veränderbar sind. In der Art von so genannten Kontrollpunkten oder "Anfasspunkten" kann der Benutzer somit direkt auf die Amplitudenwerte in den Segment-Randbereichen und auf deren Steigungen zugreifen. Alternativ oder zusätzlich werden besonders bevorzugt die Amplitudenrandwerte und/oder die Randsteigungen entsprechend einer in einer Speichereinheit hinterlegten Modulationsfunktion zeitlich verändert. Damit kann vom Benutzer die zeitliche Entwicklung vorgegeben werden, mit der die Wellenform und/oder ihre Segmente von einem Ausgangszustand in einen Endzustand überführt werden.
-
Entsprechend können auch noch weitere Parameter zur Beeinflussung des jeweiligen Teilwellenverlaufs, vorzugsweise in der Art von vorgebbaren Randbedingungen, vorgesehen sein.
-
In weiterer vorteilhafter Ausgestaltung wird die Modulationsfunktion dabei ihrerseits aus einer Anzahl von zeitlich aufeinanderfolgenden, jeweils durch eine segmentspezifische Linearkombination aus einer Anzahl von Basisfunktionen definierten Wellensegmenten zusammengesetzt, wobei die Linearkoeffizienten für jedes Wellensegment derart gewählt werden, dass das jeweilige Wellensegment an seinen Segmenträndern jeweils vorgebbare, veränderbare Amplitudenrandwerte und/oder Randsteigungen aufweist. Mit anderen Worten wird vorzugsweise das Konzept der konstruktiven Synthese auch auf die Modulationsfunktion an sich angewendet.
-
Vorteilhafterweise werden nach einer Veränderung eines Amplitudenrandwerts und/oder einer Randsteigung die Linearkoeffizienten für das von diesem begrenzte Wellensegment neu berechnet. Dies ist insbesondere bei der bevorzugten Nutzung von kubischen Polynomen oder Polynomen dritten Grades als Basisfunktionen vorteilhaft, da diese durch die Parameter "Randwert" und "Randsteigung" eindeutig definiert werden können. Bei der Verwendung von Polynomen höheren als des dritten Grades können hingegen auch Koeffizienten verändert werden, ohne dass die Randsteigung und/oder der Amplitudenrandwert beeinflusst werden. In diesem Fall stehen weitere Parameter zur Beschreibung und Definition des Wellensegments zur Verfügung, beispielsweise die Kurvenkrümmung am Segmentrand.
-
Die Anzahl der Segmente, in die die Wellenform aufgeteilt wird, wird vorzugsweise bedarfsgerecht ausgewählt. Insbesondere kann dabei direkt beim Bearbeiten oder Editieren der Wellenform die Anzahl der Segmente durch Einfügen oder Eliminieren von Segmentgrenzen oder Kontrollpunkten verändert werden. Außerdem können insbesondere auch diejenigen Abschnitte der Wellenform zu einem gemeinsamen Segment zusammengefasst werden, in denen einheitliche oder gemeinsame Veränderungen oder Modifikationen durch den Benutzer vorgesehen sind. Vorteilhafterweise ist die Anzahl der Segmente ebenfalls ein vom Benutzer vorgebbarer und/oder durch den Nutzer veränderbarer Parameter.
-
Da das Endergebnis auch als Wertestrom ausgegeben wird, kann dessen Weiterverarbeitung - auf Wunsch - auch auf konventionelle Weise, z.B. mit konvolutionsbasierten Verfahren, erfolgen. Viele dieser konventionellen Prozesse können allerdings auch direkt und explizit in der konstruktiven Synthese spezifiziert werden. Deswegen ist die Möglichkeit der konventionellen Weiterverarbeitung als Zugeständnis an Nutzergewohnheiten und nicht als technische Notwendigkeit zu verstehen.
-
Die "konstruktive Synthese" beschreibt ihrem Grunde nach die Wellenform als ein System, welches grundsätzlich jede Form annehmen kann. Anders als bei algorithmischen Vorgehensweisen wird die Wellenform durch die Superposition aus Basisfunktionen anhand der Linearkoeffizienten eindeutig und explizit definiert. Ein besonderer Vorteil ist, dass das Ergebnis ohne die Einschränkungen des Algorithmus beliebig veränderbar ist. Es können Effekte, wie z.B. ein Filter auf einer Ausgangswelle, direkt "konstruiert" und auf ungewöhnliche Weise verändert werden.
-
Das beschriebene Verfahren der "konstruktiven Synthese" erstellt im Ergebnis jede erdenkliche Wellenform mit Hilfe von stückweisen Polynomen, vorzugsweise kubischen Polynomen, oder anderen Basisfunktionen, also ähnlichen mathematischen Konstrukten, die über veränderbare Kontroll- oder "Anfasspunkte" miteinander verknüpft sind. Diese Polynome oder Basisfunktionen sind in der Lage, für alle typischen Audiosignale ausreichend präzise Approximationen zu liefern, die effizient zu berechnen sind. Eine zeitliche Veränderung der Konstruktion und damit der resultierenden Wellenform kann erreicht werden, indem die Kontroll- oder Anfasspunkte, also die Amplitudenrandwerte, ggf. ihre Steigungen und darüber hinaus möglicherweise auch noch weitere Parameter wie beispielsweise die zweite Ableitung, an den Verbindungen der stückweisen Polynome oder Basisfunktionen bewegt werden. Bei kubischen Polynomen umfassen die Bewegungsmöglichkeiten insbesondere das Verschieben der Kontrollpunkte auf der x- (= Zeit-) und y-(=Amplituden-) Achse und das Verändern des Ein- und Ausfallwinkels der Kurve, welche durch den jeweiligen Kontrollpunkt verläuft. Im musikalischen Kontext ist es vorteilhaft, den Ein- und Ausfallwinkel im gleichen Verhältnis spezifizieren zu können (durch - bildlich gesehen - eine Rotation des Kontrollpunkts), um keine ungewünschten Diskontinuitäten am Kontrollpunkt einzubringen. Bei gewünschten Diskontinuitäten kann am jeweiligen Kontrollpunkt zusätzlich ein gewünschter Winkel spezifiziert werden.
-
Durch die Konstruktion von Wellenformen anhand von stückweisen Polynomen (oder anderen Basisfunktionen) und die zeitliche Veränderung von deren Randwerten oder Kontrollpunkten kann der Nutzer also, ohne den Umweg über Algorithmen und Parameter zu nehmen, die von ihm gewünschte resultierende Wellenform direkt definieren.
-
Auf der Grundlage der konstruktiven Synthese nach dem vorstehend erläuterten Konzept können folgende weitere als besonders vorteilhaft angesehene Ausgestaltungen in beliebiger Kombination miteinander vorgesehen sein:
- Synthese konstruktiver Komponenten
Eine komplexe Wellenform kann mitunter eine komplizierte Struktur an Kontrollpunkten und/oder deren Veränderungen benötigen. Die Aufsplittung der gewünschten Wellenform in einzelne Komponenten, welche konstruktiv erzeugt und später addiert werden, erlaubt es eine solche Struktur zu vereinfachen. - Konstruktive Modulatoren
Eine konstruktive Wellenform kann dazu benutzt werden um seine eigenen und/oder andere Parameter und/oder Kontrollpunkte zu verändern. - Konstruktive Prozessoren
Eine konstruktive und veränderbare Wellenform kann dazu benutzt werden, um Eingangswerte auf Ausgangswerte abzubilden, wie z.B. in einem Waveshaper. Des Weiteren kann eine konstruktive Wellenform auch als veränderbarer Kernel einer Konvolution benutzt werden etc. - Konstruktives Sampling
Ein als Wertestrom vorliegendes Signal kann durch (Auto-)Vektorisierung in stückweise Polynome umgewandelt werden, welche in einer Approximation des Signals resultieren. Im Unterschied zum konventionellen Sampling wird im konstruktiven Sampling das Ergebnis in Form von Polynomen und deren Kontrollpukten explizit bereitgestellt, welche dann ihrerseits der weiteren Veränderung und Anpassung unterzogen werden können. - Spektrale Konstruktive Synthese
Die Wellenformen, welche in der konstruktiven Synthese erstellt werden, können direkt in der Zeitdomäne als Signal ausgegeben werden. Alternativ können diese Wellenformen auch als Signale in der Frequenzdomäne interpretiert werden. Durch Fourier Transformation oder additive Synthese kann dieses Signal wieder in die Zeitdomäne umgewandelt werden.
-
Bei der apparativen Umsetzung des genannten Verfahrens kommt besonders bevorzugt eine Benutzeroberfläche zum Einsatz, welche es erlaubt in verschiedenen Schichten zu arbeiten. Diese Schichten sind vorteilhaft eine direkte Anwendung der oben erläuterten Synthese konstruktiver Komponenten.
- Die tiefste Schicht stellt hierbei die konstruktive Erstellung von Wellenelementen dar. Diese bestehen bevorzugt aus einer "konstruktiv synthetisierten" Wellenform wie oben beschrieben, die vorzugsweise aus stückweisen Polynomialfunktionen zusammengesetzt wird. Solche Wellenelemente können Bestandteil einer Wellenform sein oder eigenständig als Waveshaper, Steuersignalshaper oder Konvolutions-Kernel fungieren.
- Die nächst höhere Schicht stellt Komponenten dar, welche konstruktive Wellenelemente zusammen mit bestimmten Parametern und Interaktionsmöglichkeiten kapseln.
- Die nächst höhere Schicht stellt Wellenformen dar, welche aus mehreren zusammengemischten Komponenten bestehen. Diese Komponenten stellen, wie vorstehend beschrieben, bevorzugt in der Art standardisierter Bestandteile Wellenelemente in in eine Superposition aus den Basisfunktionen zerlegter Form dar, aus denen auf besonders einfache Weise komplexere Wellenformen zusammengesetzt werden können. Diese Wellenformen werden als Oszillator zur Generierung des Audiosignals und als Modulator zur Generierung von Kontrollsignalen genutzt. Die Parameter der Komponenten und die Kontrollpunkte der Wellenelemente können von Kontrollsignalen und von externen Steuersignalen beeinflusst werden.
-
Die Wellenelemente sowie sämtliche vorgenannten Parameter können pro Kanal separat spezifiziert werden. Kontrollpunkte können eingefügt, entfernt, verschoben, rotiert und gewinkelt werden.
-
Die Flexibilität in der Erstellung der Wellenformen und die Möglichkeit, sämtliche Kontrollpunkte und Parameter der Wellenelemente mit Hilfe der gleichen oder anderer Wellenformen zu modulieren, erlaubt es, Resultate wie z.B. eine Sägezahn-Wellenform mit einem resonanten Tiefpass-Filter-Sweep direkt als Ergebniswellenform vorzulegen. Der Vorteil besteht insbesondere darin, dass dieses konstruierte Ergebnis und die zu seiner Erzeugung verwendeten Parameter explizit verfügbar und damit komplett veränderbar sind. Somit ist eine weiterführende Bearbeitung und Modifikation der Ergebniswellenform auf eine bisher nicht realisierbare Weise ermöglicht.
-
Da der Prozess der konstruktiven Synthese grundliegend nicht-linear ist und beliebige nicht bandlimitierte Ergebnisse erzeugt werden können, selbst wenn die Ausgangswellenform bandlimitiert ist, wird vorteilhafterweise internes Oversampling der Oszillatoren oder wahlweise des gesamten Systems genutzt. Hiermit werden die Aliasing Effekte, abhängig von der Oversampling-Rate, attenuiert. In der Praxis zeigt sich eine Oversampling-Rate von 8x ausreichend für gute Ergebnisse, wobei hier eine Erhöhung der Oversampling-Rate (und dabei Verbesserung des Ergebnisses insbesondere bei sehr hohen Frequenzen) nur von der Rechenleistung abhängt.
-
Eine besonders interessante und bevorzugte Weiterentwicklung des Konzepts der "konstruktiven Synthese" besteht im so genannten "konstruktiven Sampling". Ausgehend vom Verfahren der Erzeugung von sich verändernden Wellenformen durch veränderbare stückweise Polynome kann nämlich vorgesehen sein, vom Ergebnis her rückwärts zu gehen. In diesem Fall wäre ein automatisches Abbild einer schon bestehenden, sich zeitlich verändernden Wellenform als Polynomial-Approximation durch Algorithmen herzuleiten.
-
Die ermittelten Polynome werden anschließend bevorzugt in einer Anzeigeeinheit oder einem Display dargestellt und können von dort aus regulär weiterbearbeitet werden. Das bedeutet, dass in einer ersten Phase die automatisch erstellten Polynome überarbeitet werden können bzw. der zugrundeliegende (Auto-) Vektorisierungsalgorithmus re-parametriert werden kann, um das gemessene Ergebnis möglichst präzise zu reproduzieren. Darüber hinaus, und das ist der eigentliche Vorteil im Vergleich zum konventionellen Sampling, lässt sich in nachfolgenden Phasen das Ergebnis gezielt verändern, um ausgehend vom gehörten Tonerlebnis neue Klangfarben zu erzeugen. Aus der Mischung von Sampling und konstruktiver Synthese ergibt sich somit ein neuartiges Werkzeug zum Sound-Design.
-
Eine weitere bevorzugte Weiterentwicklung ist die spektrale konstruktive Synthese. Dabei wird berücksichtigt, dass es verschiedene Möglichkeiten zur Interpretation der Wellenformen gibt. Die Zeitdomäne bildet die Wellenform analog zur Bewegung der Lautsprechermembran ab. Das heißt, sie zeigt den Ausschlag der Membran (negativ oder positiv) in Relation zur Zeit - diese Darstellung beschreibt das Aussehen der Wellenform. Hiermit kann man präzise Aussagen über Transienten, aber nur generelle Aussagen über die beinhalteten Frequenzen (Teiltöne) machen.
-
Alternativ kann man auch Signale in der Frequenzdomäne betrachten, welche das Signal in Teiltöne und dessen Amplituden aufsplittet. In der Frequenzdomäne kann man präzise Aussagen über die beinhalteten Teiltöne machen. Per DFT (Discrete Fourier Transform) oder additiver Synthese kann man aus der Frequenzdomäne ein Signal in die Zeitdomäne transformieren, welches dann wieder direkt die Lautsprechermembran steuern kann.
-
Im Falle der Konstruktiven Synthese kann man eine konstruktiv synthetisierte Wellenform nutzen, um Teiltöne einer DFT abzubilden. Je nach auszugebender Tonhöhe braucht die DFT eine Anzahl x an Amplitudenwerten, wobei jeder Amplitudenwert eine Frequenz mit einem Vielfachen der Tonhöhe repräsentiert. Da die konstruktive Wellenform in kontinuierlicher Form vorliegt, kann sie in beliebigen Abständen gesampelt werden, so dass somit jede Tonhöhe abbildbar ist, welche sich durch eine gerade Anzahl von Samples abbilden lässt. Für Tonhöhen, welche keine gerade Anzahl von Samples enthalten, wird dann vorzugsweise mit Oversampling, Interpolations- oder Fenster-Verfahren gearbeitet.
-
Durch diese Vorgehensweise, also die konstruktive Synthese in der Frequenzdomäne, erhält der Nutzer ein konstruktives System, mit welchem die Verteilung von Teiltönen und dessen zeitlichen Veränderungen innerhalb eines Signals präzise spezifiziert werden kann. Dies kann situationsbedingt vorteilhaft gegenüber der Zeitdömänen-Representation sein, da der Nutzer mit einem Werkzeug arbeitet, welches die Wellenform aus musikalisch verständlichen Teiltönen zusammensetzt.
-
Eine ganz besonders bevorzugte und auch als eigenständig erfinderisch angesehene Ausgestaltung des genannten Konzepts ist die Erzeugung der Wellenform bzw. der Wellenformsegmente durch additive oder konstruktive Überlagerung einzelner Komponenten, die ihrerseits bevorzugt nach dem genannten Konzept der Erzeugung durch Linearkombination aus geeigneten Basisfunktionen erzeugt werden. Diese können in weiterer vorteilhafter Ausgestaltung zusätzlich mit Parametern bestückt werden, die es erlauben, einzelne Komponenten in Relation mit anderen Komponenten zu setzen. Bei einer derartigen komponentenbasierten Synthese werden die genannten Komponenten bevorzugt in der Art standardisierter Bestandteile oder Bausteine bereitgestellt, aus denen die Wellenformen zusammengesetzt werden können. Die Komponenten stellen somit ihrerseits Bausteine oder Wellenelemente für die Synthese der Wellenform dar und werden ihrerseits in der Art einer Superposition aus den Basisfunktionen zusammengesetzt. Die aus den Komponenten zusammengesetzten Wellenformen werden sodann bevorzugt als Oszillator zur Generierung des Audiosignals und als Modulator zur Generierung von Kontrollsignalen genutzt. Die genannten Komponenten werden zweckmäßigerweise so gewählt, dass mit Ihnen auf einfache Weise Ergebnisse geformt werden können, welche typischerweise in synthetisch erzeugten digitalen Audiosignalen vorkommen.
-
Nachfolgend werden die besonders bevorzugten Komponenten beschrieben, die in einer apparativen Umsetzung des erfindungsgemäßen Konzepts bevorzugt benutzt werden. Je nach Anwendungszweck können aber auch andere Komponenten, ggf. ergänzend, vorteilhaft sein. Bevorzugt kommen die unten folgenden Komponenten zum Einsatz, wobei jede Komponente (bis auf die Rausch- und die Masterkomponente) eine unabhängige Frequenz, Phase und Amplitude hat. Die Frequenz ist hierbei immer relativ zu einer Grundfrequenz, welche durch ein Steuersignal vom Nutzer angegeben wird. Als Wellenelemente der Komponenten werden besonders bevorzugt für einen erleichterten Zugriff bereitgehalten (vorzugsweise in der Art einer Bibliothek):
1. eine Trägerkomponente
-
Die Trägerkomponente ist als sich veränderndes Wellenelement gedacht, welches die Grundfrequenz und den eher statischen Charakter der sich wiederholenden Wellenform bestimmt. Sie hat typischerweise die tiefste Frequenz (die wiederum üblicherweise gleich der Grundfrequenz ist) und die größte Amplitude.
2. eine Detailkomponente
-
Die Detailkomponente ist als Element gedacht, welches hochfrequente und leisere Details zur Trägerkomponente hinzufügt. Neben der Definition des sich verändernden Grundwellenelements kann man durch ein weiteres, sich veränderndes Verschiebungswellenelement eine von der Phase der Grundfrequenz abhängige Frequenzveränderung der Komponente angeben. Dies erlaubt es, bei hohen Frequenzen (relativ zur Trägerkomponente) das sich wiederholende Detailwellenelement sich über die Zeit verändern zu lassen. Im Ergebnis ist dieser Prozess eine Frequenz-Modulation. Außerdem gibt es ein weiteres, sich veränderndes Hüllkurvenwellenelement, welches von der Phase der Grundfrequenz abhängig die Amplitude der Komponente skaliert. Somit kann beispielsweise eine Hüllkurve erstellt werden, die die Modulation des Detailwellenelements erlaubt, ohne dass Diskontinuitäten an den Rändern der Grundfrequenz entstehen.
3. eine Treppenkomponente
-
Diese Komponente wird ähnlich wie die Detailkomponente gehandhabt. Das Grundwellenelement basiert aber nicht auf einer konstruktiven Wellenform - sie wird durch einen Step-Editor spezifiziert, welcher es erlaubt, Formen mit harten Kanten effizient darzustellen. Ähnlich wie in der Detailkomponente gibt es allerdings die Möglichkeit der von der Grundfrequenz abhängigen Frequenzveränderung durch ein konstruktives Wellenelement. Zusätzlich besitzt sie einen variablen 1-poligen Tiefpassfilter, mit welchem der Grad der Schärfe eingestellt werden kann, welche durch die harten Kanten in das Signal gebracht werden soll.
4. eine Rauschkomponente
-
Diese Komponente erzeugt weißes oder pinkes Rauschen und ergibt damit die Möglichkeit, ein Signal ohne Tonhöhe (ohne sich wiederholendes Muster) hinzuzumischen. Sie verfügt bevorzugt zusätzlich über eine Sample&Hold Funktionalität, welche es ermöglicht, neue Rauschwerte nur in bestimmten Zeitintervallen abzufragen. Das ist insbesondere in Hinsicht auf den Modulator-Kontext interessant. Zu guter Letzt besitzt diese Komponente auch einen 1-poligen Tiefpassfilter, mit welchem z.B. die Sample&Hold-Übergänge weicher gemacht werden können.
5. eine Masterkomponente
-
Diese Komponente beinhaltet vorzugsweise einen Parameter zur Amplitudenskalierung und/oder einen Parameter zur Spezifikation des so genannten ClippingVerhaltens des final zusammengemischten Signals.
-
Das Ergebnis der Komponenten-Summierung ist die Wellenform. Alternativ kann man auch den Wertestrom einzelner Komponenten multiplizieren, um eine Ring-Modulation zu erzeugen. Innerhalb der Komponenten der Wellenform kann das Ausgangssignal der einzelnen Komponenten wiederum genutzt werden, um die Kontrollpunkte und Parameter in den anderen Komponenten zu modulieren. Im Falle des Oszillators erfolgt diese Modulation vorzugsweise in Audioraten und ermöglicht gängige Verfahren wie FM, AM, auch zwischen den Komponenten, etc. Des Weiteren können die Phasen der Komponenten miteinander synchronisiert werden und ermöglichen so z.B. Phase Sync.
-
Ein derartiges komponentenbasiertes Synthesekonzept erlaubt darüber hinaus ein neuartiges, besonders vorteilhaftes und ebenfalls als eigenständig erfinderisch angesehenes Konzept zur Visualisierung von Audiosignalen, das nachfolgend näher erläutert wird.
-
Gängige Visualisierungsverfahren bauen auf der gehörten Ergebniswellenform auf, also auf dem Audio-Signal als Ganzes, wobei keine Differenzierung zwischen einzelnen Bestandteilen des Signalflusses vorgenommen werden kann. Gängige Visualisierungsverfahren erlauben in der Regel nur die Erkennung von Frequenzen, beispielsweise mit Hilfe der Fourier Transformation, sowie die Erkennung von Transienten. Eine Darstellung, die aus den einzelnen Bestandteilen des Signalflusses hergeleitet wird, erlaubt es hingegen, eine Visualisierung unter Berücksichtigung des zugrunde liegenden Signal-Flusses des erzeugten Tons zu "konstruieren". Durch Auswahl der entsprechenden Werteströme innerhalb des Signalflusses kann der Betrachter über das Auge auf gewisse innere Vorgänge des Tons aufmerksam gemacht werden. Somit kann z.B. ein gleichbleibender Audiostrom alleine durch den visuellen Reiz, welcher verschiedene Vorgänge in der Zusammensetzung des Audiostroms hervorhebt, für den Hörer/Betrachter abwechslungsreich gestaltet werden. Daraus resultiert ein genaueres Tonverständnis, welches sowohl im Kontext von Sound-Design als auch im Kontext von Sound-Erfahrung von Vorteil ist.
-
Ein solcher "Konstruktiver Visualisierer" ist nicht als externes und auf einen Audiostrom aufgesetztes Instrument zu verstehen, sondern als in den Audiostrom integriertes Werkzeug, welches "gelenktes Hören" erlaubt. Das ungeübte Ohr hört einen Ton weniger differenziert als ein geschultes, außerdem kann das Ohr auf gewisse Bereiche in einem Ton fokussieren. Durch den visuellen Reiz kann man nun auf Details im Ton aufmerksam machen und die Fokussierung aller Betrachter/Hörer auf ein gewisses Element "lenken".
-
Für eine solche Visualisierung ist besonders bevorzugt vorgesehen:
- 1. Die Möglichkeit auf einzelne Bestandteile innerhalb eines Signal-Flusses zuzugreifen.
- 2. Ein Verfahren, welches aus den abgegriffenen Signalflüssen ein zusammenhängendes visuelles oder anders sensomotorisch wahrnehmbares Ergebnis produziert.
-
Gängige Software-Synthesizer erlauben es nicht, auf einzelne Werteströme innerhalb des Signal-Flusses zuzugreifen. Als Wertestrom erhält man in der Regel nur das finale Signal. Dieses Signal wird dann benutzt, um es zu analysieren und die Erkenntnisse aus der Analyse auf geeignete Weise zu visualisieren. Da diese Analyse das Signal als Ganzes betrachtet, ist es nicht möglich, ein einzelnes Element, welches zur Konstruktion des Audiostroms genutzt wurde, zu extrahieren.
-
Der "Konstruktive Visualisierer" setzt die beiden oben genannten Punkte um. Zunächst werden einzelne Bestandteile innerhalb des Signal-Flusses abgegriffen, bevorzugt unter Rückgriff auf die bei der Synthese des Audiosignals verwendeten Linearkoeffizienten. Im zweiten, vorzugsweise vorgesehenen Schritt formt ein integriertes Visualisierungsverfahren eine komplexe, sich verändernde und farbig getönte Geometrie anhand der abgegriffenen Signalflüsse.
-
Bei der oben beschriebenen komponentenbasierten konstruktiven Synthese ist es möglich, einzelne Bestandteile des Signal-Flusses an beliebigen Komponenten abzugreifen oder anhand der ihnen zugeordneten Linearkoeffizienten zu rekonstruieren. Diese Komponenten enthalten zusätzliche Informationen wie die Frequenz und die Phase der ausgehenden Werteströme. Sie bilden die Basis für die Realisierung der ausdruckstarken Visualisierung, welche nachfolgend beschrieben wird.
-
Generell können einzelne Bestandteile des Signal-Flusses, soweit durch ein Interface zur Verfügung gestellt, in jedem System abgegriffen werden. Durch die komponentenbasierte konstruktive Synthese ist allerdings der besondere Vorteil gegeben, dass die für die Erzeugung der einzelnen Komponenten für die jeweiligen Wellensegmente erforderlichen Parameter, nämlich die Linearkoeffizienten der Basisfunktionen und ggf. die weiteren Parameter der Komponenten, vorliegen und/oder archiviert sind, so dass das Ergebnis der Synthese und dessen zeitlicher Verlauf voll durchdefiniert sind. Somit kann neben dem gehörten Ergebnis auch eine Projektion des noch zu hörendem Ergebnisses, welches sich zu jeder Zeit anhand des aktuellen Modulationsstand anpasst, visualisiert werden. Bei herkömmlichen, beispielsweise konvolutionsbasierten Verfahren ist dies nicht möglich, da ein zukünftiger Schritt von dem vorherigen Input abhängig ist und somit nicht vorausgesagt werden kann.
-
Eine besonders bevorzugte Möglichkeit, die Werteströme ausgewählter Bestandteile innerhalb des Signalflusses zu visualisieren, wird im Folgenden aufgeführt. Diese bevorzugte Visualisierung setzt sich insbesondere als Ziel, eine einheitliche und sich zeitlich verändernde und färbende Geometrie aus den abgegegriffenen und/oder projizierten Signalen der Komponenten zu realisieren. Für die Durchführung der Visualisierung wird dabei vorteilhafterweise wie folgt vorgegangen:
-
Als Ausgangspunkte dienen ein dreidimensionalen Raum und eine definierbare Menge an Vertexen. Jedes Vertex hat eine X-, Y- und Z-Koordinate (Dimensionen) und ist mit einem rot, grün und blau Wert assoziiert (Farbkanäle).
-
Für jede Dimension und für jeden Farbkanal können anhand der vorliegenden Parameter Signale aus dem Signal-Fluss abgegriffen oder ermittelt werden, welche die Werte der ausgewählten Dimension oder des Farbkanals bestimmen. Anstelle eines abgegriffenen oder projizierten Signals kann wahlweise dafür auch ein linearer Verlauf oder ein konstanter Wert vorgegeben werden. Hiermit hat das Mesh, welches anhand der Vertexe erzeugt wird, die theoretische Möglichkeit, jegliche Art von dreidimensionaler Form und Färbung anzunehmen. Die einzelnen Dimensionen/Farbkanäle können unabhängig voneinander skaliert und das komplette Mesh im dreidimensionalen Raum um jede Achse rotiert und verschoben werden. Diese Skalierung, Rotation und Verschiebung kann auch über Kontrollsignale oder Steuersignale zeitlich verändert werden.
-
Bevorzugtes Ziel ist, die Veränderung der abgegriffenen und/oder projizierten Werteströme über die Zeit, unabhängig von deren Grundfrequenzen, zu visualisieren, damit mit einer ganzen Periode in einem Schritt gearbeitet werden kann und somit eine Ermittlung unabhängig von der Frequenz möglich ist. Hierzu wird bevorzugt die Information der Frequenz des Signals in den Komponenten zur Verfügung gestellt. Alternativ, insbesondere für den Fall, dass die Frequenzinformation nicht explizit vorliegt, kann sie auch analytisch ermittelt werden.
-
Um des Weiteren zum momentan Zustand auch die Möglichkeit zu bieten, vergangene und/oder zukünftige Werteströme gleichzeitig zu visualisieren, wird vorteilhafterweise für jede Dimension und für jeden Farbkanal ein zweidimensionaler Puffer benutzt - eine Dimension für die Periode des Wertestroms und die zweite Dimension für die Zeit.
-
Das Mapping des abgegriffenen Signals auf einen Dimensionen/Farbkanal-Puffern kann dabei auf folgende Arten erfolgen:
- 1. Waterfall running
Hierbei wird das abgegriffene Signal in die erste Reihe des Puffers geschrieben. Alle anderen Reihen werden nach hinten verschoben und die letze Reihe entfällt. Das kann effizient in Form eines zirkulären Puffers realisiert werden. - 2. Waterfall stationary
Hierbei wird das abgegriffene Signal in die n-te Reihe des Puffers geschrieben, wobei n jedes Mal hochgezählt wird. Falls n die Anzahl der Reihen überschreitet, wird es wieder auf null gesetzt. - 3. 2D Interpolation
Hierbei wird für jede Dimension des Puffers ein eigenes Signal abgegriffen und die Werte werden durch bilineare Interpolation erzeugt.
-
Um das Mapping von abgegriffenen Signalen auf die einzelnen Dimensionen/Farbkanäle zu realisieren, werden bevorzugt Vertex- und Fragment-Shader genutzt, welche von dem OpenGL-Standard zur Verfügung gestellt werden. Vertex und Fragment Shader können auf zweidimensionale Datenquellen (Texturen) zugreifen. Diese Möglichkeit wird genutzt, um die Geometrie zu erstellen. Für jede Dimension und für jeden Farbkanal wird eine dedizierte Textur erstellt. Jede Textur hat die gleiche Größe (#x-Werte * #y-Werte) und diese bestimmt auch die Anzahl der verfügbaren Vertexe. Die Texturen werden so über die Vertexe gemappt, dass jedes Texel (ein Punkt in der Textur) ein Vertex identifiziert. Der Vertex-Shader kann jetzt für jedes Vertex eine Position anhand des entsprechenden Texels aus der Textur der jeweiligen Dimension auslesen. Gleiches gilt für den Fragment-Shader, wobei dieser die Flächen zwischen den Vertexen mit Farbwerten ausfüllt, welche mittels Interpolation der Farbwerte der Texel aus den umgebenden Vertexen hergeleitet werden.
-
Somit ist die Möglichkeit gegeben, anhand zweidimensionaler Texturen, jede erdenkliche dreidimensionale Form und Färbung zu generieren.
-
Generell kann folgendes über die Dimensionen gesagt werden:
- Wenn alle Dimensionen konstant sind, resultiert ein Punkt.
- Wenn zwei Dimensionen konstant sind kann eine Linie resultieren.
- Wenn eine Dimension konstant und eine linear ist, können x-y Graphen generiert werden.
- Wenn eine Dimension konstant ist, können beliebige Linien/Kurven/Kreise gezeichnet werden.
- Wenn zwei Dimensionen linear sind, können Höhenfelder/Topographien generiert werden.
- Wenn eine Dimension linear ist, können z.B. schlauchartige Gebilde generiert werden.
- Wenn keine Dimension konstant oder linear ist, können z.B. gekrümmte schlauchartige Gebilde (Donuts) generiert werden.
-
Gleiches gilt grundsätzlich auch für die Farbkanäle.
-
Durch die genannte Visualisierung auf Basis der komponentenbasierten konstruktiven Synthese ist es somit möglich, gewisse Merkmale des gehörten Tons zeitlich exakt synchronisiert und visuell hervorgehoben darzustellen. Da visuelle Reize auf bestimmte Details in einen Ton aufmerksam machen können, erlaubt diese Visualisierung ein intensiveres und genaueres Zuhören. Außerdem sind die Ausdrucksmöglichkeiten unbegrenzt, da jede erdenkliche Geometrie erzeugt werden kann. Dieses ist sowohl für den Produzenten als auch den Zuhörer ein attraktiver Nutzen, den nachträgliche und nicht in den Signal-Fluss integrierte Verfahren nicht bieten können.
-
Die mit der Erfindung erzielten Vorteile bestehen insbesondere darin, dass durch die konstruktive Synthese durch den Rückgriff auf die segmentweise Zerlegung der Wellenform in eine Linearkombination aus Basisfunktion besondere Transparenz und auch Handhabbarkeit bezüglich der Beschaffenheit der Wellenform schafft. Dadurch werden unter anderem Veränderungen und Beeinflussungen der Wellenform, auch unter Berücksichtigung von deren zukünftigem Verlauf oder Verhalten, geschaffen, die mit bisherigen Methoden nicht möglich sind. Gegenüber den bisher bekannten, als "Blackbox"-Verfahren anzusehenden Konzepten kann die nun vorgesehen konstruktive Synthese als "Whitebox"-Verfahren aufgefasst werden, bei welchem der Nutzer volle Transparenz bezüglich der entstehenden Wellenform hat und deren Formgebung und zeitliche Veränderung explizit spezifiziert. In der bevorzugten apparativen Umsetzung fungiert der Nutzer darüber hinaus als "Greybox"-Ersteller, indem er Parameter innerhalb der Whitebox definiert, welche ausserhalb der Whitebox zur Verfügung stehen. Somit kann das vom Nutzer definierte Verhalten der Whitebox, wie bei herkömmlichen SyntheseVerfahren, über Parameter gesteuert werden. Allerdings hat der Nutzer dabei die Möglichkeit der Einsicht in die Whitebox und kann die inneren Vorgänge im Entstehungsprozess des Tons und dessen Parameter nachvollziehen und verändern. Der Vorteil dieser Vorgehensweise ist grenzenlose gestalterische Freiheit hinsichtlich der Definition der Wellenform deren zeitlicher Veränderung. Es können Ergebnisse erstellt werden, welche mit den Parametern der Blackbox-Verfahren nicht vorgesehen oder überhaupt möglich sind.
-
Ein Ausführungsbeispiel der Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigen:
- FIG. 1
- einen Synthesizer zur synthetischen Erzeugung eines digitalen Audiosignals, und
- FIG. 2 - 9
- jeweils eine Sequenz einer auf einer Anzeigeeinheit des Synthesizers nach FIG. 1 dargestellten und dort editierten Wellenform.
-
Gleiche Teile sind in allen Figuren mit denselben Bezugszeichen versehen.
-
Der Synthesizer 1 gemäß FIG. 1 umfasst eine Zentraleinheit 2, insbesondere einen Rechner, in dem die Bearbeitung eines sogenannten Oszillators oder einer Wellenform erfolgen kann, der je nach der gewünschten Anpassung hinsichtlich Tonhöhe, Klangfarbe oder sonstigen musikalischen Effekten bedarfsweise modifiziert werden kann. Der Oszillator oder die Wellenform wird aus der Konstruktion von stückweisen Polynomialfunktionen im Kontext des Systems (Komponenten, zeitliche Veränderungen etc), welches als Datensatz in dem Speicher 4 hinterlegt ist, generiert. Da sich die Polynomialfunktionen kontinuierlich evaluieren lassen, ist das resultierende Konstrukt auch kontinuierlich evaluierbar. Daher ist eine Abtastung des grundliegenden Konstrukts in beliebiger Frequenz möglich und somit können beliebige Tonhöhen erzeugt werden. Das Abtasten findet mit einer konstanten Sample-Rate statt, und die abgetasteten Werte werden mit einer konstanten Bit-Tiefe in einem Speicher 4 hinterlegt und/oder als digitales Audiosignal direkt ausgegeben, das in einem nachgeschalteten Digital-Analog-Wandler 10 in ein analoges Audiosignal umgewandelt wird. Das analoge Audiosignal wird dann zur Ansteuerung einer nachgeschalteten Lautsprechereinheit 12 genutzt und dieser zugeführt.
-
Der Synthesizer 1 ist gezielt dafür ausgelegt, dem Nutzer einen besonders einfach gehaltenen und intuitiven Zugang zur Veränderung und kreativen Umgestaltung der der Abtastung zugrunde gelegten Wellenform zu ermöglichen. Dazu ist der Zentraleinheit 2 eine Bearbeitungseinheit 20, also insbesondere ein Editor, zugeordnet, über die eine Modifikation oder Bearbeitung des in die Zentraleinheit eingelesenen Oszillators oder der in der Zentraleinheit 2 vorliegenden Wellenform möglich ist. An die Zentraleinheit 2 ist zudem eine Anzeigeeinheit 22, also insbesondere ein Bildschirm oder ein Display, angeschlossen, über die die Bearbeitung der vorliegenden Wellenform direkt angezeigt und für den Benutzer nachvollziehbar gemacht wird. Im Ausführungsbeispiel ist die Bearbeitungseinheit 20 als von der Anzeigeeinheit getrennte, separate Einheit ausgeführt. Alternativ kann sie aber auch in besonders bevorzugter Ausgestaltung in die Anzeigeeinheit 22 integriert sein, insbesondere durch Ausgestaltung als Touch screen.
-
Um die Bearbeitung der Wellenform besonders zu vereinfachen und auch neuartige Effekte beispielsweise durch Extrapolation von Werten oder dergleichen zu ermöglichen, wird die Wellenform für die Bearbeitung in der Zentraleinheit 2 in einer besonders verarbeitungsfreundlichen Weise bereitgestellt. Dazu wird die Wellenform in eine Anzahl von zeitlich aufeinanderfolgenden Wellensegmenten aufgeteilt, so dass die Wellenform insgesamt durch Zusammensetzung der zeitlich aufeinanderfolgenden Wellensegmente erhältlich ist. Jedes Wellensegment wird dabei in der Art einer mathematischen Zerlegung durch eine segmentspezifische Linearkombination aus einer Anzahl von Basisfunktionen nachgebildet, wobei im Ausführungsbeispiel als Basisfunktionen die besonders bevorzugten kubischen Polynome, oder mit anderen Worten Polynomialfunktionen dritter Ordnung, verwendet werden. Die Linearkoeffizienten für jedes Wellensegment werden derart gewählt, dass das jeweilige Wellensegment an seinen Segmenträndern jeweils vorgebbare, veränderbare Amplitudenrandwerte und Steigungen aufweist.
-
Damit ist eine benutzergeführte Veränderung oder Bearbeitung der Wellenform durch entsprechende Modifikation der jeweiligen Linearkoeffizienten möglich, so dass mit einer vergleichsweise begrenzten Anzahl von Parametern auch Veränderungen hoher Komplexität vorgenommen werden können.
-
Die Anzahl der Segmente bei dieser Zerlegung der Wellenform kann vom Benutzer vorgegeben und auch modifiziert werden. Dabei kann insbesondere berücksichtigt werden, ob und inwieweit innerhalb der Wellenform Abschnitte vorliegen oder vorliegen sollen, die durch eine bestimmte Charakteristik oder ein bestimmtes Verhalten gekennzeichnet sein sollen; es kann für den Benutzer zweckmäßig sein, derartigen individualisierten Abschnitten innerhalb der Wellenform jeweils ein eigenes Wellensegment zuzuordnen, so dass eine gezielte und selektive Modifikation des jeweiligen Abschnitts ermöglicht ist.
-
Beispiele für derartig modifizierbare Wellenformen sind in Form von Sequenzen von Screenshots oder Momentaufnahmen der Anzeigeeinheit 22 in den FIG 2 bis 9 gezeigt. Die dort jeweils als Amplitudenlinie 30 dargestellte Wellenform umfasst die Wellensegmente 32, die an ihren Segmenträndern 34 an so genannten Anfasspunkten 36 in das jeweils benachbarte Wellensegment 32 übergehen. Die Linearkoeffizienten für jedes Wellensegment 32 werden im besonders bevorzugten Ausführungsbeispiel derart gewählt, dass das jeweilige Wellensegment 32 an seinen Segmenträndern 34 jeweils eine vorgebbare, veränderbare Randsteigung aufweist. Die Amplitudenrandwerte und die Randsteigungen sind dabei über die Bearbeitungseinheit 20, also insbesondere über den Touch screen, direkt veränderbar, indem die Anfasspunkte 36 ausgewählt und über ein kontextbezogenes Menü oder einen kontextbezogenen Editor die entsprechenden Werte eingegeben werden.
-
Die Amplitudenrandwerte und die Randsteigungen können zusätzlich zur unmittelbaren Veränderung durch den Benutzer auch entsprechend einer im Speicher 4 hinterlegten Modulationsfunktion zeitlich verändert werden. Dabei könnten beispielsweise eine periodische Veränderung der jeweiligen Parameter in der Art einer Oszillation oder auch eine lineare Veränderung im Sinne einer kontinuierlichen Vergrößerung des jeweiligen Parameters oder beliebige weitere Veränderungen vorgesehen sein.
-
Im Ausführungsbeispiel ist dabei in ganz besonders bevorzugter Ausgestaltung vorgesehen, dass die jeweilige Modulationsfunktion ihrerseits aus einer Anzahl von zeitlich aufeinanderfolgenden, jeweils durch eine segmentspezifische Linearkombination aus einer Anzahl von Basisfunktionen definierten Wellensegmenten zusammengesetzt wird, wobei die Linearkoeffizienten für jedes Wellensegment derart gewählt werden, dass das jeweilige Wellensegment an seinen Segmenträndern jeweils vorgebbare, veränderbare Amplitudenrandwerte und/oder Randsteigungen aufweist. Nach einer Veränderung eines Amplitudenrandwerts und/oder einer Randsteigung die Linearkoeffizienten für das von diesem begrenzte Wellensegment neu berechnet werden.
-
Anhand der in den FIG. 2 bis 9 dargestellten Sequenzen werden einige mögliche Modifikationen beispielhaft dargestellt. Diese können einzeln oder in beliebiger Kombination miteinander zur wunschgemäßen und kreativen Modifikation der Wellenform angewendet werden.
-
In der Sequenz gemäß FIG. 2 ist dabei das Beispiel der Veränderung der Wellenform durch horizontale Verschiebung eines Kontroll- oder Anfasspunkts 36 dargestellt. Im Anfangszustand gem. FIG. 2a ist die in Form der Amplitudenlinie 30 vorliegende Wellenform dabei hinsichtlich der x- oder Zeitachse in der Art einer symmetrischen Ausgestaltung ausgeführt und umfasst zwei Wellensegmente 32, die an ihrem gemeinsamen Segmentrand 34 über den Kontroll- oder Anfasspunkt 36 verbunden sind und ineinander übergehen. In der Zentraleinheit 2 wird in jedem der zeitlich aufeinanderfolgenden Wellensegmente 32, aus denen die Wellenform zusammengesetzt wird, anhand eines segmentspezifischen kubischen Polynoms, also einer segmentspezifischen Linearkombination aus einer Anzahl von als Basisfunktionen verwendeten Polynomen, die Amplitudenlinie 30 im jeweiligen Wellensegment 32 berechnet und auf der Anzeigeeinheit dargestellt. Damit ist in jedem Wellensegment 32 der diesem entsprechende Anteil der Wellenform mathematisch definiert und anhand einer vergleichsweise geringen Anzahl von vier Parametern (d. h. die Linearkoeffizienten für die Polynome bis zur dritten Ordnung) charakterisiert. Mit diesen kann das jeweilige Wellensegment 32 für den aktuellen Zustand beschrieben, bei Bedarf aber auch in die Zukunft extrapoliert werden. Somit wird innerhalb jedes Wellensegments 32 die entsprechende "Teilwellenform" konstruktiv oder additiv durch lineare Überlagerung einer Anzahl von als Basis-Wellenfunktionen vorgesehener Polynome erzeugt.
-
Die Linearkoeffizienten für jedes Wellensegment 32 werden dabei derart gewählt, dass die Amplitudenlinie 30 im jeweiligen Wellensegment 32 an seinen Segmenträndern 34 jeweils vorgebbare, veränderbare Amplitudenrandwerte aufweist. Am durch den in FIG. 2c dargestellten Kontroll- oder Anfasspunkt 36 definierten Übergangspunkt zwischen den benachbarten Wellensegmenten 32 werden diese im dargestellten Beispiel für einen stetigen Übergang zwischen den benachbarten Wellensegmenten 32 geeignet gewählt.
-
Zur Modifizierung der Wellenform, beispielsweise zur Umsetzung künstlerischer oder kreativer Effekte, kann mit Hilfe der Bearbeitungseinheit 20 der Kontroll- oder Anfasspunkt 36 verschoben werden. Entsprechend werden die Linearkoeffizienten der kubischen Polynome in den Wellensegmenten 32 neu berechnet und ermittelt, um die modifizierte Gestaltung korrekt wiederzugeben. Die so modifizierte Wellenform wird anschließend anhand ihrer mathematischen Definition über die konstruktive Synthese für die zur Tonerzeugung vorgesehene Abtastung bereitgestellt.
-
In der Sequenz gem. FIG. 2 ist eine Modifikation der Wellenfunktion durch Verschiebung des Kontroll- oder Anfasspunkts 36 in x-Richtung, entsprechend der Zeitachse der Wellenfunktion, dargestellt. Im Vergleich zu FIG. 2a stellt dabei FIG. 2b die Wellenfunktion nach der Verschiebung des Kontroll- oder Anfasspunkts 36 nach links, FIG. 2c hingegen nach rechts dar. Eine derartige Verschiebung in x-Richtung bedeutet im übrigen auch, dass sich die Grenze zwischen den Wellensegmenten 32 entsprechend verschiebt, d. h. dass in zeitlicher Hinsicht jeweils eines der Wellensegmente 32 nach der Verschiebung einen entsprechend größeren Anteil am zeitlichen Intervall der Wellenfunktion insgesamt einnimmt. Entsprechend ist in der Sequenz gem. FIG. 3 eine Modifikation der Wellenfunktion durch Verschiebung des Kontroll- oder Anfasspunkts 36 in y-Richtung, entsprechend der Amplitude der Wellenfunktion, dargestellt. Im Vergleich zu FIG. 3a stellt dabei FIG. 3b die Wellenfunktion nach der Verschiebung des Kontroll- oder Anfasspunkts 36 nach oben, FIG. 3c hingegen nach unten dar. Eine derartige Verschiebung in y-Richtung bedeutet im Wesentlichen eine entsprechende Veränderung der Amplitude der Wellenfunktion insgesamt.
-
Die Linearkoeffizienten der kubischen Polynome in den Wellensegmenten 32 sind zum Einen derart gewählt, dass das jeweilige Wellensegment 32 an seinen Segmenträndern 34 die jeweils vorgebbaren, ggf. über die Kontroll- oder Anfasspunkte 36 veränderbare Amplitudenrandwerte aufweist. Darüber hinaus sind die Linearkoeffizienten der kubischen Polynome für jedes Wellensegment 32 aber auch derart gewählt, dass das jeweilige Wellensegment 32 an seinen Segmenträndern 34 jeweils eine vorgebbare Randsteigung aufweist. Diese ist vom Benutzer individuell veränderbar, was im Ausführungsbeispiel durch geeignete Konfigurierung des Editors anhand einer Rotation des jeweiligen Kontroll- oder Anfasspunkts 36, in seiner Gesamtheit oder auch für jeden Segmentrand 34 unabhängig, ermöglicht ist. Ein Beispiel für eine derartige Rotation des Kontroll- oder Anfasspunkts 36, bei dem am Segmentrand 34 zwischen den Wellensegmenten 32 beidseitig die Randsteigungen einander entsprechend verändert werden, ist in der Sequenz gemäß FIG. 4 gezeigt. Demgegenüber zeigt die Sequenz gem. FIG. 5 ein Beispiel dafür, dass die Randsteigungen beidseitig des Segmentrands 34 zwischen den Wellensegmenten 32 getrennt voneinander verändert werden. Eine derartige getrennte Änderung der Randsteigungen resultiert in einer Veränderung der Winklung im Kontroll- oder Anfasspunkt 36.
-
Die Anzahl der Kontroll- oder Anfasspunkte 36 und damit die Anzahl der Wellensegmente 32, aus denen die Wellenfunktion zusammengesetzt wird, ist ebenfalls vom Benutzer veränderbar. Ein Beispiel für das Hinzufügen oder Entfernen von Kontroll- oder Anfasspunkten 36 und damit einhergehend die Modifikation der Anzahl der Wellensegmente 32 ist in der Sequenz gem. FIG. 6 dargestellt.
-
Durch geeignete Superposition können auf analoge Weise auch Modulationen einer Wellenfunktion als solche editiert und verändert werden. Beispiele hierfür sind in den Sequenzen gem. FIG. 7 (Amplitudenmodulation einer konstruktiven Wellenform durch Verschiebung eines Kontroll- oder Anfasspunkts 36 einer anderen konstruktiven Wellenform) und FIG. 8 (Frequenzmodulation einer konstruktiven Wellenform durch Rotation eines Kontroll- oder Anfasspunkts 36 einer anderen konstruktiven Wellenform) dargestellt.
Bezugszeichenliste
-
- 1
- Synthesizer
- 2
- Zentraleinheit
- 4
- Speicher
- 10
- Digital-Analog-Wandler
- 12
- Lautsprechereinheit
- 20
- Bearbeitungseinheit
- 22
- Anzeigeeinheit
- 30
- Amplitudenlinie
- 32
- Wellensegment
- 34
- Segmentrand
- 36
- Anfasspunkt