[0001] Die Erfindung betrifft ein Verfahren zur synthetischen Erzeugung eines digitalen
Audiosignals durch periodische Abtastung einer Wellenform.
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] Entsprechend können auch noch weitere Parameter zur Beeinflussung des jeweiligen
Teilwellenverlaufs, vorzugsweise in der Art von vorgebbaren Randbedingungen, vorgesehen
sein.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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
[0037] 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
[0038] 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
[0039] 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
[0040] 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
[0041] Diese Komponente beinhaltet vorzugsweise einen Parameter zur Amplitudenskalierung
und/oder einen Parameter zur Spezifikation des so genannten ClippingVerhaltens des
final zusammengemischten Signals.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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".
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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:
[0052] 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).
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] Somit ist die Möglichkeit gegeben, anhand zweidimensionaler Texturen, jede erdenkliche
dreidimensionale Form und Färbung zu generieren.
[0059] 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.
[0060] Gleiches gilt grundsätzlich auch für die Farbkanäle.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] Gleiche Teile sind in allen Figuren mit denselben Bezugszeichen versehen.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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.
[0080] 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
[0081]
- 1
- Synthesizer
- 2
- Zentraleinheit
- 4
- Speicher
- 10
- Digital-Analog-Wandler
- 12
- Lautsprechereinheit
- 20
- Bearbeitungseinheit
- 22
- Anzeigeeinheit
- 30
- Amplitudenlinie
- 32
- Wellensegment
- 34
- Segmentrand
- 36
- Anfasspunkt