-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht
sich auf Steuerstrukturen für
computergesteuerte Klangsynthese.
-
2. Stand der
Technik
-
Die Anwendung von Computern auf die
Klangsynthese ist seit vielen Jahren untersucht und praktiziert worden.
Während
die Computersynthese einfacher Töne
unkompliziert ist, stellte das Problem des Synthetisierens komplexer,
realistischer Klänge
wie etwa der menschlichen Stimme, des Klangs eines gespielten Klavierakkords,
eines Vogelrufs usw. eine ständige
Herausforderung dar.
-
Eine wohlbekannte Technik des Synthetisierens
komplexer Klänge
ist die additive Synthese. Bei der herkömmlichen additiven Synthese
wird eine Schar von Sinusteiltönen
zusammensetzt, um einen komplexen Klang zu erzeugen. Um einen komplexen,
realistischen Klang zu erzeugen, kann es erforderlich sein, bis
zu 1000 Sinusteiltöne
zusammenzusetzen. Jeder Sinusteilton muss wenigstens durch eine
Frequenz und eine Amplitude sowie gegebenenfalls durch eine Phase
spezifiziert werden. Zweifellos sind die sich bei der Erzeugung
komplexer, realistischer Klänge
in Echtzeit stellenden rechnerischen Anforderungen groß.
-
Ferner wird der größte Nutzen
erzielt, wenn die additive Synthese verwendet wird, um komplexe,
realistische Klänge
in Echtzeit zu erzeugen. Dies bedeutet, dass das Synthesesystem
in der Lage sein sollte, eine Folge von Datensätzen, wovon jeder die Parameter
für eine
große
Anzahl von Teiltönen
spezifiziert, anzunehmen und aus jenen Datensätzen einen komplexen, interessanten,
realistischen Klang ohne eine vom Anwender wahrnehmbare Verzögerung zu
erzeugen.
-
Zwei Lösungswege der additiven Synthese
wurden verfolgt. Bei der ersten Lösung (der Zeitbereichs- oder
Wellentabellenlösung)
wurde das Äquivalent
einer Oszillatorbank verwendet, um Sinusteiltöne direkt zu erzeugen. Die
Frequenz- und Amplitudenwerte aller Teiltöne wurden an die Oszillatoren
der Oszillatorbank angelegt, wobei die resultierenden Teiltöne zusammengesetzt
wurden, um den end gültigen
Klang zu erzeugen. Die Anforderung, jeden Teilton einzeln direkt
zu berechnen, begrenzte die Anzahl von Teiltönen, die in einem Klang enthalten
sein können,
um diesen in einer vernünftigen
Zeitspanne erzeugen zu können.
-
Bei der zweiten Lösung (der Frequenzbereichslösung) wurden
Teiltöne
im Frequenzbereich spezifiziert und zusammengesetzt, um ein Spektrum
oder eine Frequenzbereichsdarstellung des endgültigen Klangs zu erzeugen.
Danach wird die inverse Fourier-Transformation angewandt, um die
Zeitbereichsdarstellung des endgültigen
Klangs zu berechnen, aus der dann der Klang erzeugt wird.
-
Im US-Patent Nr. 5.401.897 ist eine
additive IFFT-Synthesetechnik (ITTF = inverse schnelle Fourier-Transformation)
beschrieben. In dem beschriebenen additiven Syntheseprozess werden
Musterblöcke
bestimmt, indem die inverse Fourier-Transformation von aufeinander folgenden
Frequenzspektren ausgeführt wird.
Die Musterblöcke
werden zeitlich überlagert
und zusammengesetzt, um eine Folge von Mustern zu bilden, die eine
Schallwelle repräsentieren.
Diese Prozedur ist als Überlappen-Addieren
bekannt.
-
Andere Patente, die sich auf die
additive Klangsynthese beziehen, umfassen: US-Patent Nr. 4.856.068,
US-Patent Nr. 4.885.790, US-Patent Nr. 4.937.873, US-Patent Nr.
5.029.509, US-Patent Nr. 5.054.072 und US-Patent Nr. 5.327.518.
-
Additive Syntheseverfahren des beschriebenen
Typs im Stand der Technik sind jedoch in mancher Hinsicht eingeschränkt. Viele
dieser Einschränkungen
sind in der mit der gleichzeitig anhängigen US-Patentanmeldung Ifd.
Nr. 08/551.889 (Attorney's
Docket No. 028726-008) mit dem Titel "Inverse Transform Narrow Band/Broad
Band Additive Synthesis",
zum gleichen Datum eingereicht wie die vorliegende Anmeldung, angesprochen
und beseitigt worden. Nicht angesprochen wird in der oben genannten
Patentanmeldung das Problem, wie eine geeignete Steuerstruktur,
die zur Steuerung einer additiven Klangsynthese in Echtzeit verwendet
werden kann, aufzubauen ist. Verfahren des Standes der Technik waren üblicherweise
auf das Erzeugen und Abspielen von Tönen, die durch im Voraus gespeicherte,
analysierte Parameter, anstatt durch Werte, die sich während der
Synthese in Echtzeit verändern,
beschrieben wurden, begrenzt.
-
Wie von den Erfindern erkannt wurde,
umfasst das Problem des Aufbaus einer geeigneten Steuerstruktur,
die zur Steuerung der additiven Klangsynthese in Echt zeit verwendet
werden kann, zwei Unterprobleme. Ein Problem besteht darin, eine
Anwenderschnittstelle bereitzustellen, die leicht verständlich ist
und nur ein Minimum an Steuereingangssignalen erfordert. Mit anderen
Worten muss die Anwenderschnittstelle dem Anwender Einfachheit anbieten.
Ein weiteres Problem ist das Umsetzen dieser vom Anwender erfahrenen
Einfachheit in die vom Synthetisieren häufig geforderte Komplexität und zwar
in einer Zeit und Hardware sparenden Weise.
-
Ein wichtiger Beitrag zu dem Anwenderschnittstellenproblem
findet sich in Wessel, "Timbre
Space as a Musical Control Structure", Computer Music Journal 3 (2): 45–52, 1979.
Eine grundlegende Eigenschaft der Musik ist die Klangfarbe, d. h.
der Ton und die Klangqualität,
die von einem bestimmten Instrument erzeugt werden. Eine Geige und
ein Saxofon haben beispielsweise sehr unterschiedliche Klangfarben,
die leicht erkennbar sind. Der oben genannte Artikel beschreibt,
wie ein für
die Wahrnehmung gleichmäßiger Klangfarbenraum
aufzubauen ist.
-
Ein Klangfarbenraum ist eine geometrische
Darstellung, in der bestimmte Töne
mit bestimmten Eigenheiten oder Klangfarben als Punkte dargestellt
werden. Ein Klangfarbenraum wird als für die Wahrnehmung gleichmäßig bezeichnet,
wenn Töne
mit der gleichen Klangfarbe oder Eigenheit im Raum nahe beieinander liegen,
während
Töne mit
einem deutlichen Unterschied in der Klangfarbe oder der Eigenheit
auseinanderliegen. In einem solchen für die Wahrnehmung gleichmäßigen Klangfarbenraum
ist die wahrnehmbare Ähnlichkeit
von Klangfarben umgekehrt proportional zum Abstand.
-
Die Grundidee ist die, dass es durch
das Spezifizieren von Koordinaten in einem besonderen Klangfarbenraum
möglich
ist, die durch jene Koordinaten repräsentierte Klangfarbe (z. B.
einer Geige) herauszuhören.
Falls diese Koordinaten zwischen im Raum vorhandene Töne (z. B.
zwischen eine Geige und ein Saxofon) fallen, ergibt sich eine interpolierte
Klangfarbe, die sich auf die anderen Klänge in einer Weise bezieht,
die mit der Struktur des Raums im Einklang steht. Somit können glatte,
fein abgestufte Klangfarbenübergänge gebildet
werden, wobei der innerhalb des Klangfarbenraums verschobene Abstand
in einem gleichmäßigen Zusammenhang
mit der hörbaren Änderung
der Klangfarbe steht.
-
In dem Artikel wird auch die Notwendigkeit
angesprochen, die große
Datenmenge, die durch eine allgemeine Synthesetechnik wie die additive
Synthese erforderlich ist, zu verkleinern, ohne die Fülle des
Klangergebnisses zu beeinträchtigen.
Die vorgeschlagene Lösung
besteht in der Anwendung von Geradensegmentapproximationen, um nichtlineare
Hüllkurven
zu approximieren.
-
In jüngster Zeit wurden zur Lösung des
zweiten Unterproblems, das im Umsetzen der von dem Anwender erfahrenen
Einfachheit in die vom Synthetisieren häufig geforderte Komplexität und zwar
in einer Zeit und Hardware sparenden Weise besteht, moderne Maschinenlehrtechniken
wie etwa neuronale Netze angewandt. Neuronale Netze können als
repräsentativ
für eine
breitgespanntere Klasse von adaptiven Funktions-Mappern betrachtet
werden, die Musiksteuerparameter in Parameter eines Synthesealgorithmus
abbilden. Der Synthesealgorithmus besitzt üblicherweise eine große Anzahl
von Eingangsparametern. Die Anwenderschnittstelle, die auch als
Befehlsschnittstelle bezeichnet wird, liefert üblicherweise weniger Parameter.
Der adaptive Funktions-Mapper muss deshalb von einem Raum niedriger
Dimension in einen Raum hoher Dimension abbilden.
-
Die Verwendung eines neuronalen Netzes
in einem elektronischen Musikinstrument ist im US-Patent Nr. 5.138.924
beschrieben. Wie in 1 gezeigt
ist, wird in Übereinstimmung
mit dem oben genannten Patent ein neuronales Netz 134 verwendet,
um Anwendereingaben von einem Vorlaufcontroller 135 in
Ausgangssignale umzuwandeln, die von einem Synthetisieren 137 eines
elektronischen Musikinstruments verwendet werden. Der Synthetisierer 137 ist
als Oszillatorbank gezeigt. Im Betrieb bläst der Spieler in das Mundstück 140 und
steuert das Tastensystem 141 mit den Fingern beider Hände, um
das Instrument zu spielen. Jede der Tasten, aus denen das Tastensystem 141 zusammengesetzt
ist, ist ein elektronischer Schalter. Die durch Betätigung hervorgerufenen
EIN/AUS-Signale werden in die Eingabeschicht 142 des neuronalen
Netzes 134 eingegeben. Das neuronale Netz 134 ist
ein hierarchisches neuronales Netz mit vier Schichten, nämlich einer
Eingabeschicht 142, einer ersten Zwischenschicht 143,
einer zweiten Zwischenschicht 144 und einer Ausgabeschicht 145.
-
Die Anzahl von Neuronen der Ausgabeschicht 145 ist
gleich der Anzahl von Oszillatoren 146 und Dämpfern 147.
Jedes Neuronenpaar der Ausgabeschicht 145 gibt das Frequenzsteuersignal
der zu erzeugenden Sinuswelle an den jeweiligen Oszillator 146 und
ein Amplitudensteuersignal an den zugehörigen Dämpfer 147 aus. Die
durch den Oszillator erzeugte Sinuswelle wird auf den spezifizierten
Amplitudenwert gedämpft und
in eine Additionsschaltung 148 eingegeben. In der Additionsschaltung 148 werden
alle Sinuswellen zusammengesetzt, wobei das resultierende Synthesesignal
an den D/A-Umsetzer 149 eingegeben wird. Im D/A-Umsetzer 149 wird
das Synthesesignal geformt, um eine glatte Einhüllende zu erhalten, und danach
als Musikklang ausgegeben, der durch ein (nicht gezeigtes) Klangsystem
verstärkt
wird.
-
In der oben genannten Anordnung ist
es wegen der Anwendung der additiven Synthese möglich, die Ergebnisse der Analyse
durch FFT als Lernmuster für
das neuronale Netz zu verwenden. Dies bedeutet, dass ein zu lehrender
Musikton des Musikinstruments mit einer spezifischen Tonhöhe FFT-analysiert
wird und die Ergebnisse der FFT (denen das zur Erzeugung des betreffenden
Tons verwendete EIN/AUS-Muster entspricht) als Lernmuster in das
neuronale Netz eingegeben werden. Dieser Prozess wird für den gesamten
Bereich von zu erzeugenden Tönen
durchgeführt.
-
Viele Techniken, die bei der additiven
Musiksynthese angewandt werden, wurden von der Arbeit im Bereich
der Sprachanalyse und -synthese übernommen.
Nähere
Informationen hinsichtlich der Anwendung von neuronalen Netzen und
Maschinenlehrtechniken auf die Musiksynthese lassen sich in Rahim, "Artificial Neural
Networks for Speech Analysis/Synthesis", Chapman & Hall, 199? finden.
-
Trotz der bekannten Verwendung von
adaptiven Funktions-Mappern, die Musiksteuerparameter in Parameter
eines Synthesealgorithmus abbilden, bleibt ein Bedarf an einer verbesserten
Steuerstruktur für
Musiksynthese bestehen, bei der 1. die an den adaptiven Funktions-Mappen
gelieferte Klangdarstellung einen stark erhöhten Grad der Steuerung des
erzeugten Klangs ermöglicht
und 2. das Lehren des adaptiven Funktions-Mappers unter Verwendung
eines Fehlermaßes
oder einer Fehlernorm ausgeführt
wird, die das Lehren stark vereinfacht und dennoch eine wahrnehmbare
Identität
des erzeugten Klangs mit dem Lehrbeispiel garantiert. Die vorliegende
Erfindung richtet sich auf diesen Bedarf.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die vorliegende Erfindung bezieht
sich hauptsächlich
auf ein Verfahren zum Erzeugen von Klangdaten, wie es in Anspruch
1 beansprucht ist, und auf eine Vorrichtung zum Erzeugen von Klangdaten,
wie sie in Anspruch 10 beansprucht ist.
-
Die vorliegende Erfindung liefert
allgemein gesagt eine verbesserte Steuerstruktur für Musiksynthese, bei
der 1. die an den adaptiven Funktions-Mapper gelieferte Klangdarstellung
einen stark erhöhten
Grad der Steuerung des erzeugten Klangs ermöglicht und 2. das Lehren des
adaptiven Funktions-Mappers unter Verwendung eines Fehlermaßes oder
einer Fehlernorm ausgeführt
wird, die das Lehren stark vereinfacht und dennoch eine wahrnehmbare
Identität
des erzeugten Klangs mit dem Lehrbeispiel garantiert. In Übereinstimmung mit
einer Ausführungsform
der Erfindung werden Klangdaten erzeugt, indem in einen adaptiven
Funktions-Mapper
Steuerparameter eingegeben werden, die umfassen: wenigstens einen
Parameter, der aus der Menge aus Zeit und Klangfarbenraum-Koordinaten
ausgewählt
ist, und wenigstens einen Parameter, der aus der Menge aus Tonhöhe, ΔTonhöhe, Artikulation
und Dynamik ausgewählt
ist. Durch Verwendung des adaptiven Funktions-Mappers wird das Abbilden
von den Steuerparametern in Syntheseparameter, die in einen Klangsynthetisierer
eingegeben werden, ausgeführt.
In Übereinstimmung
mit einer weiteren Ausführungsform der
Erfindung wird ein adaptiver Funktions-Mapper gelehrt, in Übereinstimmung
mit Informationen, die in einem Abbildungsspeicher gespeichert sind,
Syntheseparameter zu erzeugen, die in einen Klangsynthetisierer eingegeben
werden sollen, in Schritten, die umfassen: Analysieren von Klängen, um
Klangparameter zu erzeugen, die die Klänge beschreiben, ferner Analysieren
der Klangparameter, um Steuerparameter zu erzeugen, Eingeben der
Steuerparameter in den adaptiven Funktions-Mapper, wobei der Amplitude
Funktions-Mapper als Antwort Versuchssyntheseparameter erzeugt,
die den Klangparametern vergleichbar sind, Ableiten eines Fehlermaßes von
den Klangparametern und den Versuchssyntheseparametern in Übereinstimmung
mit einer Norm für
wahrnehmbaren Fehler, in der wenigstens ein Teil der Fehlerbeiträge näherungsweise
in dem Maß,
wie sie durch das menschliche Ohr während der Synthese wahrgenommen
werden, gewichtet werden, und Anpassen der im Abbildungsspeicher
gespeicherten Informationen in Übereinstimmung
mit dem Fehlermaß.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
Die vorliegende Erfindung wird aus
der folgenden Beschreibung in Verbindung mit der beigefügten Zeichnung
verständlicher.
In der Zeichnung sind:
-
1 ein
Diagramm eines herkömmlichen
elektronischen Musikinstruments, das ein neuronales Netz verwendet;
-
2 ein
Gesamtblockschaltplan eines additiven Klangsynthesesystems mit inverser
Transformation, bei dem die vorliegende Erfindung verwendet werden
kann;
-
3A ein
Graph, der die zeitliche Entwicklung von Teiltönen, die einen gegebenen Klang
bilden, zeigt;
-
3B ein
Diagramm eines neuronalen Netzes, das als Steuerstruktur verwendet
werden kann, die die Parameter erzeugt, die bei der Synthese der
Töne von 3A verwendet werden;
-
3C eine
Graphenschar, die die zeitliche Entwicklung von Teiltönen, die ähnliche
Klänge
mit unterschiedlichen Klangfarben innerhalb eines Klangfarbenraums
bilden, zeigt;
-
3D ein
Diagramm eines neuronalen Netzes, das als Steuerstruktur verwendet
werden kann, die die Parameter erzeugt, die bei der Synthese der
Töne von 3C verwendet werden;
-
4A eine
Graphenschar, die die zeitliche Entwicklung von Teiltönen, die ähnliche
Klänge
mit verschiedenen Perkussionsklangfarben innerhalb eines Perkussionsklangfarbenraums
bilden, zeigt;
-
4B ein
Diagramm eines neuronalen Netzes, das als Steuerstruktur verwendet
werden kann, die die Parameter erzeugt, die bei der Synthese der
Töne von 4A verwendet werden;
-
5 ein
Blockschaltplan der Steuerstruktur von 2;
-
6 ein
Blockschaltplan der Steuerstruktur von 2, wie sie während des Lehrens konfiguriert
ist;
-
7 ein
Graph einer frequenzabhängigen
Gewichtsfunktion, die während
des Lehrens verwendet wird;
-
8A ein
Graph der zeitlichen Entwicklung von zwei aufeinander folgenden
Tönen,
die in der abgesetzten Spielweise gespielt werden;
-
8B eine
modifizierte Version des Graphen von 8A,
die zeigt, wie ein sanfter Übergang
zwischen den zwei Tönen
konstruiert werden kann, um das Spielen von Tönen in einer mehr gebundenen
Weise zu simulieren;
-
9A und 9B Graphen der Entwicklung
der Gesamtamplituden von zwei Tönen,
die zeigen, wie die zwei Töne
auf eine gemeinsame Zeitbasis abgebildet werden können.
-
GENAUE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In der folgenden Beschreibung wird
eine klare Trennung zwischen der Klangsynthese als solche und dem
besonderen Problem der Erzeugung von Parametern, die zur Steuerung
der Klangsynthese, um so einen gewünschten Klang zu erzielen,
verwendet werden. Die vorliegende Steuerstruktur erzeugt geeignete
Parameter für
Klangsynthese, die dann von einem geeigneten Klangsynthetisierer
wie etwa jenem, der in der obenerwähnten mit der gleichzeitig
anhängigen
US-Patentanmeldung Ifd. Nr. 08/551.889 beschrieben ist, ausgeführt werden
sollen. Vorzugsweise ist der Synthetisierer für den Echtzeitbetrieb geeignet,
damit er mit einer nahezu nicht wahrnehmbaren Verzögerung auf
Anwendereingaben, etwa von einer Tastatur, einem Fußpedal oder
einer anderen Eingabevorrichtung, reagieren kann. Natürlich ist
die vorliegende Erfindung auf Klangsynthetisierer aller Typen anwendbar.
Folglich sollte die folgende Beschreibung des Klangsynthetisierers
als bloßes
Beispiel für
einen Klangsynthetisierer, bei dem die vorliegende Erfindung verwendet
werden kann, angesehen werden.
-
In 2 ist
eine Steuerstruktur 500 in Verbindung mit einem solchen
Synthetisieren gezeigt. Die Steuerstruktur 500 liefert
Parameter an verschiedene Blöcke
des Klangsynthesesystems, die kurz beschrieben werden. Die Architektur
des Systems ist so entworfen, dass ein extrem vielseitiges Klangsynthesesystem,
das für
eine breite Vielfalt von Anwendungen geeignet ist, verwirklicht
ist. Folglich sind bestimmte Blöcke
vorgesehen, deren Funktionen in einem einfacheren Klangsynthesesystem
entfallen können.
Solche Blöcke
erscheinen in 2 rechts
von der gestrichelten Linie 13. Die Funktion der verbleibenden Blöcke in 2 wird deshalb zuerst beschrieben.
-
Bei dem additiven Klangsynthesesystem
mit inverser Transformation des Standes Technik aus dem US-Patent
Nr. 5.401.897 und bei anderen herkömmlichen additiven Klangsynthesesystemen
wird ein Frequenzspektrum erhalten, indem diskrete spektrale Komponenten,
die in spektrale Hüllkurven
gruppiert sind, addiert werden. Jede spektrale Hüllkurve entspricht einer Sinuskomponente
oder einem Rausch-Spektralband. Rauschbänder sind statistisch unabhängig, d.
h. durch einen Mechanismus erzeugt worden, der unabhängig definiert
ist und der nicht mit dem Mechanismus, durch den die Sinuskomponenten
erzeugt werden, zusammenhängt.
-
Bei dem additiven Klangsynthesesystem
mit inverser Transformation von 2 müssen andererseits Teiltöne nicht
sinusförmig
sein, sondern können
eine von verschiedenen Formen von Schmalbandkomponenten annehmen.
Folglich gelten die Begriffe "Spektrum", "Spektren" und "spektral", die gewöhnlich bei
der Beschreibung von Klangsynthetisierern verwendet werden, nur
in dem Sinne, dass sie eine Klangdarstellung in einem vom Zeitbereich
verschiedenen Bereich und nicht unbedingt eine Darstellung durch
Sinuskomponenten bedeuten. Ferner können Breitbandkomponenten,
anstatt diese unabhängig
von den Schmalbandkomponenten zu definieren, so erzeugt werden,
dass der die Breitbandkomponenten erzeugende Mechanismus mit dem die
Schmalbandkomponenten erzeugenden Mechanismus verknüpft ist.
Folglich sollten die Blöcke 89 und 87 in 2, obwohl sie so betrachtet
werden können,
als beinhalteten sie eine äußerliche
Entsprechung mit dem herkömmlichen
Mechanismus der Erzeugung von Sinus-Teiltönen bzw. Rauschbändern, allgemeiner
als Ausführung
der Schmalbandsynthese (89) und der Breitbandsynthese (87)
ausgelegt werden. Der Schmalbandsyntheseblock 89 und der
Breitbandsyntheseblock 87 werden durch Steuersignale von
der Steuerstruktur 500 gesteuert.
-
Schmalbandkomponenten und Breitbandkomponenten
werden in einem Transformations-Summieren-und-Mischen-Block 83 zusammengesetzt.
Der Transformations-Summieren-und-Mischen-Block 83 wird durch
Steuersignale von der Steuerstruktur 500 gesteuert. Der
Transformations-Summieren-und-Mischen-Block 83 ermöglicht die
wahlweise Verteilung oder das "Dosieren" von Energie in einem
gegebenen Teilton auf getrennte Transformationssummen. Dieses Merkmal
schafft die Fähigkeit
für polyfone
Effekte.
-
Der Transformations-Summieren-und-Mischen-Block
liefert auch Signale an die Steuerstruktur 500. Ein wesentlicher
Vorteil kann beispielsweise dadurch erzielt werden, dass die spektrale
Darstellung, die in einer oder mehreren Transformationssummen gefunden
wird, verwendet wird, um eine Echtzeit-Sichtanzeige des Spektrums
oder anderer Eigenschaften eines Signals zu liefern. Da eine Transformationsbereichsdarstellung
des Signals bereits erzeugt worden ist, ist nur eine minimale zusätzliche
Verarbeitung erforderlich, um die Daten für die Wiedergabe zu formatieren.
Eine Transformationssumme (z. B. ein konstruiertes Spektrum) sowie
die Amplituden und Frequenzen einzelner Teiltöne können eingezeigt werden.
-
Ferner kann die spektrale Darstellung,
die in einer oder mehreren Transformationssummen gefunden wird,
als Echtzeit-Rückkopplung
an die Steuerstruktur 500 verwendet werden, um die Erzeugung
derselben Transformationssumme oder die Erzeugung einer nachfolgenden
Transformationssumme zu beeinflussen.
-
Ein Transformationsbereich-Filterungsblock 79 empfängt Transformationssummen
vom Transformations-Summieren-und-Mischen-Block und ist dazu bestimmt,
im Transformationsbereich verschiedene Arten der Verarbeitung von
Transformationssummen auszuführen.
Der Transformationsbereich-Filterungsblock 79 wird durch
Steuersignale von der Steuerstruktur 79 gesteuert und liefert
Signale an diese. Der Transformationsbereich ist geeignet für die einfache
Ausführung
verschiedener Arten der Verarbeitung, die im Zeitbereich oder im
Signalbereich nur mit wesentlich größerer Schwierigkeit und höheren Kosten
ausgeführt
werden können.
-
Die Transformationsbereichverarbeitung
ermöglicht
die Aufnahme von bekannten Wahrnehmungsmechanismen sowie die Anpassung
an Zwänge,
die durch die Umgebung, in der der synthetisierte Klang gehört wird,
auferlegt werden. Lediglich als Beispiel, die Transformationsbereichverarbeitung
kann verwendet werden, um eine Steuerung mit automatischer Verstärkung oder
eine von der Frequenz unabhängige
Steuerung auszuführen. Ähnlich können Simulationen
der Wahrnehmung von Zuhörern
verwendet werden, um die Klangdarstellung wirklich zu "hören", bevor sie synthetisiert wird und dann
die Klangdarstellung zu verändern,
um unerwünschte
Klänge
zu entfernen oder den Steuerparameterraum für die Wahrnehmung zu orthogonalisieren.
-
Im Anschluss an die Transformationsbereichverarbeitung
wird die Klangdarstellung zur Bildung jeder Transformationssumme
unter Verwendung einer Bank von Operationen der/des inversen Transformation/Überlappen-Addierens
73 synthetisiert. Jede in 2 angegebene
inverse Transformation IT beinhaltet eine näherungsweise Entsprechung zu
der obenbeschriebenen herkömmlichen
inversen Fourier-Transformation. Jedoch muss die inverse Transformation
keine inverse Fourier-Transformation sein, sondern kann eine inverse
Hartley-Transformation oder eine andere geeignete inverse Transformation
sein. Die Anzahl berechneter Transformationen n·t ist nur durch die verfügbare Rechnerleistung
begrenzt.
-
Zeitabgetastete Signale, die durch
die Bank für
inverse Transformation/Überlappen-Addieren 73 erzeugt
werden, werden in einen Ausgabematrix-Mischungsblock 71 eingegeben.
Der Ausgabematrix-Mischungsblock 71, der verwendet wird,
um eine Anzahl n·o
von Ausgangssignalen zu erzeugen, die gleich der Anzahl n·t von
berechneten Transformationen oder von dieser verschieden sein kann,
ist in herkömmlicher Weise
verwirklicht. Die Ausgangssignale werden von digital in analog umgesetzt
und an geeignete Ton-Messwandler ausgegeben.
-
Das beschriebene Klangsynthesesystem
erzeugt Klänge
nach einer parametrischen Beschreibung. Um eine größere Flexibilität zu erreichen,
können
die Blöcke
rechts von der gestrichelten Linie 13 hinzugefügt werden.
Diese Blöcke
ermöglichen
die Eingabe von gespeicherten Klängen,
von Echtzeitklängen
oder von beidem in das System.
-
In einem Block 85 werden
transformationscodierte Klangsignale gespeichert. Diese Signale
können von
der Steuerstruktur 500 gesteuert wiedergewonnen werden,
in einem Transformationsdecodierungsblock 81 transformationsdecodiert
werden und einer oder mehrerer Transformationssummen hinzugefügt werden. Die
gespeicherten Signale können
beispielsweise im Voraus gespeicherte Klänge repräsentieren.
-
Echtzeitsignale können in einen Block 75 eingegeben
werden, wo sie vorwärtstransformiert
werden. Ein Block 77 führt
dann die Transformationsfilterung der Eingangssignale durch. Die
gefilterten, transformierten Signale werden dann von der Steuerstruktur 500 gesteuert
einer oder mehrerer Transformationssummen hinzugefügt.
-
Außerdem können das Echtzeitsignal und
seine Transformierte in einen Block 72 eingegeben werden, der
eine Analyse und eine Systemidentifikation durchführt. Die
Systemidentifikation beinhaltet das Ableiten einer parametrischen
Darstellung des Signals. Ergebnisse aus einem analysierten Spektrum
können
zur Steuerstruktur 500 zurückgeführt werden und im Zuge der
Konstruktion von nachfolgenden Spektren oder der Modifikation des
momentanen Spektrums verwendet werden.
-
Die Funktion der Steuerstruktur 500 von 2 wird mit Bezug auf 3A und die nachfolgenden
Figuren verständlicher.
Um die Synthese eines einzelnen Klangs mit einer gegebenen Klangfarbe
zu steuern, muss eine Steuerstruktur in der Lage sein, die korrekten
Amplituden für
jeden Teilton innerhalb des Klangs (oder wenigstens die wichtigsten
Teiltöne)
an jedem Punkt während
des Klangs rechtzeitig auszugeben. Manche Teiltöne besitzen eine relativ große Amplitude,
während
andere Teiltöne
relativ kleine Amplituden besitzen. Ein Teilton mit verschiedenen
Frequenzen entfaltet sich zeitlich unterschiedlich. Natürlich wird
die Zeit in der wirklichen Praxis diskret gemessen, so dass die
Steuerstruktur die Amplituden für
die Teiltöne
in jedem Zeitschritt im Verlauf des Klangs ausgibt. Ein neuronales
Netz des in 3B gezeigten
allgemeinen Typs kann verwendet werden, um die zeitliche Entwicklung
der Teiltöne
für den
Klang zu "speichern" und Daten zu erzeugen,
die den Klang beschreiben. Insbesondere besitzt das neuronale Netz
von 3B eine Zeiteingabeeinheit,
mehrere versteckte Einheiten und eine Anzahl von Ausgabeeinheiten,
die gleich der Anzahl von Teiltönen in
dem zu synthetisierenden Klang ist. Wenn durch Eingeben eines entsprechenden
Zeitsignals in die Zeiteinheit ein bestimmter Zeitschritt spezifiziert
wird, spezifiziert jede Ausgabeeinheit während dieses Zeitschritts eine
Amplitude einer Frequenzkomponente.
-
Um die Vielseitigkeit der Steuerstruktur
von 3B zu erhöhen, kann
sie so verallgemeinert werden, dass sie Daten erzeugt, die ähnliche
Klänge
in verschiedenen Klangfarben innerhalb eines Klangfarbenraums beschreiben.
In 3C ist der Klang
von 3A als einzelner
Klang innerhalb einer Klangfamilie mit verschiedenen Klangfarben
gezeigt. Die Klänge
sind in einem Klangfarbenraum, einem geometrischen Konstrukt des obenbeschriebenen
Typs, angeordnet. Ein neuronales Netz des in 3D gezeigten allgemeinen Typs ist mit zusätzlichen
Eingängen
X und Y in seiner Eingabeschicht versehen, um die Spezifikation
eines Punkts innerhalb des Klangfarbenraums zu ermöglichen.
Das neuronale Netz kann verwendet werden, um die zeitliche Entwicklung
der Teiltöne
für jeden
Klang zu "speichern" und Daten, die den
betreffenden Klang einer gewählten Klangfarbe
in Übereinstimmung
mit der Zeiteingabe und der Eingabe von Klangfarbenraum-Koordinaten in die Eingangsknoten
beschreiben, zu erzeugen.
-
Die scheinbare Einfachheit, mit der
eine Zeiteingabe geliefert wird, täuscht über die sich ergebende bemerkenswerte
Steigerung der Leistung der Steuerstruktur (gegenüber dem
Stand der Technik) hinweg, die die Fähigkeit zur Steuerung der Synthese
eines weiten Klanguniversums beinhaltet. Im Ergebnis werden einzelne
Klänge
sehr elastisch, wobei sie auf verschiedene Weise gedehnt oder komprimiert
werden können, ohne
die Qualität
des Klangs zu verändern.
Ferner ermöglicht
die Zeiteingabe die Berücksichtigung
von Unterschieden in den Zeitbasen verschiedener Klänge, um
Klänge
durch Interpolation verschiedener anderer Klänge zu erzeugen, ohne Artefakte
hervorzurufen. Dieses Merkmal wird im Folgenden näher erläutert.
-
Bei der obigen Beschreibung wurde
angenommen, dass der zu synthetisierende Klang harmonisch ist. Das
gleiche Verfahren kann jedoch auf Perkussionsklänge angewandt werden, wie in 4A und 4B gezeigt ist. Natürlich können Perkussionsklänge verschiedene
Klangfarben besitzen (z. B. den Klang einer Trommel, der sich vom
Klang einer Glocke unterscheidet). 4A und 4B zeigen deshalb einen
Perkussionston-Klangfarbenraum bzw. ein neuronales Netz mit Klangfarbenraum-Koordinateneingängen. Es
sei angemerkt, dass Teiltöne
mit Beginn des Klangs fast sofort auf jeweilige Spitzenwerte ansteigen
(entsprechend der Zeit, in der der Perkussionsklang angeschlagen
wird). Jeder Teilton kann während
seiner Dauer durch eine Anfangsamplitude und eine Zeitkonstante
beschrieben werden. In dem neuronalen Netz von 4B besitzt die Eingabeschicht deshalb
keinen Zeiteingang. Die Ausgabeschicht erzeugt für jeden Teilton eine Amplitude
und eine Zeitkonstante.
-
Mit Bezug auf 5 wird die Steuerstruktur 500 von 2 näher beschrieben. Die Steuerstruktur 500 ist
in Form eines adaptiven Funktions-Mappers 501 ausgeführt. In
einer bevorzugten Ausführungsform
ist der adaptive Funktions-Mapper 501 ein neuronales Netz.
In einer anderen Ausführungsform
kann der adaptive Funktions-Mapper 501 die
Form eines Fuzzy-Logik-Controllers, eines speicherbasierten Controllers
oder einer Maschine aus einer Vielfalt von Maschinen, die die Fähigkeit
des überwachten
Lernens besitzen, annehmen.
-
Grundlegend dient der adaptive Funktions-Mapper
501 zum Abbilden von Steuerparametern innerhalb eines Steuerparameterraums
mit einer niedrigen Dimension in Syntheseparameter innerhalb eines
Syntheseparameterraums mit einer hohen Dimension. Dieses Abbilden
wird in Übereinstimmung
mit Daten, die in einem Abbildungsspeicher 503 gespeichert
sind, ausgeführt.
Insbesondere enthält
der Abbildungsspeicher 503 Gewichte, die während des überwachten
Lernens auf verschiedene Fehlerausdrücke angewandt werden und in Übereinstimmung
mit einer Prozedur des überwachten
Lernens verändert
werden, bis ein nicht annehmbarer Fehler erreicht ist. Der adaptive
Funktions-Mapper 501 wird dann gelehrt und kann im "Erzeugungsmodus" verwendet werden,
in dem als Antwort auf die Befehle eines Anwenders verschiedene
Kombinationen und Muster von Steuerparametern in den adaptiven Funktions-Mapper 501 eingegeben
werden. Der adaptive Funktions-Mapper 501 bildet von den
Steuerparametern auf Syntheseparameter ab, die in einen Prozess
der spektralen Klangsynthese 70 (wie etwa jenen Prozess,
der in 2 gezeigt ist)
eingegeben werden, um ein entsprechendes Klangmuster zu synthetisieren.
-
In einer bevorzugten Ausführungsform
umfassen die Steuerparameter folgende:
-
-
Die durch die obigen Steuerparameter
repräsentierte
Organisation ist in mancher Hinsicht von fundamentaler Bedeutung.
Erstens in Bezug auf die reinen Musikparameter Tonhöhe, ΔTonhöhe, Artikulation
und Dynamik, wobei in einfacheren Modellen des Standes der Technik
wie etwa dem Modell von 1 nur
die Tonhöhe
und die Dynamik enthalten sind. Implizit in 1 ist der Musikparameter des Instruments,
der einem einzelnen Punkt im Klangfarbenraum oder gegebenenfalls
mehreren Punkten im Klangfarbenraum entspricht, wovon jeder einem
wirklichen Instrument entspricht. Ohne die Berücksichtigung von ΔTonhöhe und Artikulation können nur
sehr einfache musikalische Ausdrücke
einzeln und abgesetzt gespielter Töne oder gegebenenfalls auch
einiger realer Klangfarben ohne Vibrato oder einen ähnlichen
Effekt erzeugt werden. Ferner ist die Art und Weise, in der ΔTonhöhe und Artikulation
berücksichtigt
werden könnten,
bei herkömmlichen
Modellen überhaupt
nicht bekannt.
-
Zweitens sind die Zeit- und Klangfarbenraum-Koordinatenparameter
keine Musik parameter im herkömmlichen
Sinn, da sie Eigenschaften repräsentieren,
die nur bei Verwendung eines Digitalrechners gesteuert werden können. Die
Zeitparameter repräsentieren
Zeitverzögerungsintervalle
von einigen Millisekunden, Intervalle, die kleiner als die Wahrnehmungsfähigkeit
des menschlichen Ohrs sind, und repräsentieren ferner eine kanonische
Zeit und liefern so eine gemeinsame Zeitbasis unter verschiedenen
Klängen.
Anders als die richtige Zeit, die mit einer festen Rate voranschreitet,
kann die kanonische Zeit vorgestellt, nachgestellt oder eingefroren
werden. Durch die Möglichkeit,
die Zeit einzufrieren, kann eine wesentliche Verringerung des erforderlichen
Lerndatenvolumens erzielt werden, da Syntheseparameter, die einem
einzelnen Rahmen aus stationären
Musterdaten entsprechen, unbegrenzt gespeichert werden können. Die
Klangfarbenraum-Parameter spezifizieren nicht nur wirkliche Instrumente,
sondern auch eine unbegrenzte Anzahl an virtuellen Instrumenten,
die alle in der Weise geordnet sind, dass sie durch einen Anwender
intelligent manipuliert werden können.
-
In einer bevorzugten Ausführungsform
werden die vom adaptiven Funktions-Mapper 501 ausgegebenen Syntheseparameter
vom Prozess der spektralen Klangsynthese 70 von 2 verwendet. Dies bedeutet, dass
der adaptive Funktions-Mapper 501 für jeden Teilton aus einer Menge
von Teiltönen
ein Amplitudensignal ausgibt. Der adaptive Funktions-Mappen 501 gibt
außerdem
Signale aus, die einen Rauschanteil des Klangs spezifizieren, der
Signale, die ein Breitbandrauschen spezifizieren, und Signale, die
ein Schmalbandrauschen spezifizieren, umfasst. Für das Breitbandrauschen gibt
der adaptive Funktions-Mapper 501 für jedes Band aus einer Anzahl
von vorgegebenen Rauschbändern
ein Rauschamplitudensignal aus. Für das Schmalbandrauschen gibt
der adaptive Funktions-Mapper 501 drei
Signale für
jede Schmalband-Rauschkomponente aus: die Mittenfrequenz des Rauschens,
die Rauschbandbreite und die Rauschamplitude. Der adaptive Funktions-Mapper 501 kann
so konfiguriert sein, dass er nur eine einzige Schmalband-Rauschkomponente
ausgibt, oder so konfiguriert sein, dass er mehrere Schmalband-Rauschkomponenten
ausgibt. Das Ausgangssignal des adaptiven Funktions-Mappers 510 kann
deshalb wie folgt dargestellt werden:
a1,
a2, ..., an, Rauschanteil
(Breitband) (Schmalband),
wobei, ai die
Amplitude eines Teiltons repräsentiert.
-
Der adaptive Funktions-Mapper 501 wird
anhand von "Live-Beispielen" gelehrt, also anhand
von Klängen,
die aus dem Spielen eines wirklichen Instruments durch einen wirklichen
Ausführenden
erfasst werden. Die Lerndaten werden in systematischer Weise aufbereitet,
um die zufriedenstellendsten Ergebnisse zu garantieren. Die Aufbereitung
der Lerndaten wird deshalb vor dem Beschreiben des eigentlichen
Lehrprozesses beschrieben (6).
-
Ein Lehrgegenstand ist die Belegung
des Klangfarbenraums mit Punkten, die einer Vielzahl von wirklichen
Instrumenten entsprechen. Zwischen diesen Punkten kann der adaptive
Funktions-Mapper dann interpolieren, um eine nahezu unendliche Vielfalt
von synthetischen Klangfarben zu erzeugen. Deshalb werden Aufzeichnungssitzungen
arrangiert, in denen Ausführende
wirkliche Instrumente spielen, die Punkten entsprechen, die im gesamten
Klangfarbenraum angeordnet werden. Das Instrument kann eine Oboe,
ein Waldhorn, eine Geige usw, sein. Das Instrument kann auch ein
Perkussionsinstrument wie etwa eine Glocke oder eine Trommel oder
sogar die menschliche Stimme sein. Während einer Sitzung trägt der Ausführende Kopfhörer und
wird aufgefordert, zusammen mit einer Aufzeichnung über eine
elektronische Tastatur, die das Aufzeichnen nach Tonhöhe, Dauer
und Lautstärke übernimmt,
zu spielen, zu singen oder die Tonleiter (oder irgendeine andere
geeignete Folge) wiederzugeben. Die Tonleiter durchläuft im Wesentlichen
den gesamten Tonumfang des Instruments, beispielsweise drei Oktaven.
-
Durch wiederholtes Ausführen solcher
Sitzungen mit einer Vielzahl von Instrumenten werden Live-Muster
erhalten, die Punkten entsprechen, die über den größten Teil des Steuerparameterraums,
d. h. über den
Abschnitt des Steuerparameterraums, der durch Klangfarbe, Tonhöhe, Lautstärke und ΔTonhöhe gekennzeichnet
ist, verstreut sind. Es sei angemerkt, dass der ΔTonhöheparameter während der
Aufzeichnungssitzung ignoriert wird. Der ΔTonhöheparameter kann während der
Aufzeichnung ignoriert werden, weil er ein abgeleiteter Parameter
ist, der auf den Tonhöheparameter,
der während
dem Vortrag berücksichtigt
wird, bezogen ist. Der ΔTonhöheparameter
muss nach dem Vortrag, jedoch vor dem Lehren berücksichtigt werden. Dieses Berücksichtigen
von ΔTonhöhe erfolgt
näherungsweise
durch Analysieren von Tonhöhenänderungen
während
des Vortrags und "Hinzufügen einer ΔTonhöhenspur" zu der Aufzeichnung,
die die Tonhöhenänderungen beschreibt.
Das explizite Berücksichtigen
von ΔTonhöhe ermöglicht beispielsweise
einem Ausführenden,
während
einer Aufzeichnungssitzung das Vibrato zu verwenden, wie dies erfahrene
Spieler fast unvermeidlich tun, jedoch kann dieses Vibrato nach
Bedarf während
der Synthese entfernt werden.
-
Die in der so weit beschriebenen
Weise erhaltenen Muster sind vereinzelte Muster, d. h. Muster, die
in der abgesetzten Spielweise gespielt werden, in der der vorhergehende
Ton auf null abgeklungen ist, bevor der nächste Ton begonnen wird. Der
andere Hauptartikulationsstil ist das Legato oder die gebundene
Spielweise. Der Spieler wird deshalb aufgefordert, über kleine
Tonintervalle und über
große
Tonintervalle, sowohl in aufsteigender als auch in absteigender
Richtung verschiedene Tonkombinationen als Legato zu spielen. Die
Artikulationsparameterdimension des Steuerparameterraums wird wegen
der unermesslichen Anzahl möglicher Kombinationen üblicherweise
spärlich
mit Mustern belegt. Dennoch kann ein vollständiger Satz von Artikulationslernmustern
erhalten werden, indem in der folgenden Weise unter den Mustern "ausgeschnitten und
eingefügt" wird.
-
Wie in 8A gezeigt
ist, können
Vortragsbeispiele für
zwei verschiedene Töne
erhalten werden, wovon jeder in der abgesetzten Spielweise gespielt
wird. Da die Artikulationsparameterdimension des Steuerparameterraums
spärlich
mit Mustern belegt ist, kann kein Vortragsbeispiel der gleichen
zwei Töne,
die eng aufeinander folgend gespielt wurden, in einer gebundeneren
Spielweise erhalten werden. Ein solches Vortragsbeispiel kann jedoch
aus den Vortragsbeispielen der zwei verschiedenen Töne, wovon
jeder in der abgesetzten Spielweise gespielt wurde, konstruiert
werden. Diese Konstruktion erfordert, dass das Abklingsegment des ersten
Tons an das Einsetzsegment des zweiten Tons in einer glatten, realistisch
klingenden Weise angeschlossen wird.
-
Die Art des Übergangs hängt in erster Linie von der
gewünschten
Artikulation und von der Klangfarbe der Töne ab. Dies bedeutet, dass
die Form des Übergangs
davon abhängt,
ob die Töne
von einer Geige, einer Posaune oder einem andern Instrument stammen.
Durch Betrachten der Analyseergebnisse verschiedener Artikulationsbeispiele
in verschiedenen Klangfarben können
geeignete Übergangsmodelle
für die
Konstruktion von Übergangssegmenten
unter Verwendung der Amplituden von Teiltönen aus dem Abklingsegment
des ersten Tons und der Amplituden von Teiltönen aus dem Einsetzsegment
des zweiten Tons abgeleitet werden. Eine weitere Eingabe in das Übergangsmodell
ist der Parameter Δt,
der die gewünschte
Artikulation beschreibt und in 8B als
Zeit vom Aussetzpunkt des ersten Tons bis zum Abklingpunkt des zweiten
Tons gezeigt ist.
-
Nachdem ein ausreichender Satz von
Artikulationsbeispielen entweder durch Live-Vortrag, durch Konstruktion, wie sie
oben beschrieben wurde, oder üblicherweise durch
Kombination derselben erhalten worden ist, wird jeder Klang in der
sich ergebenden Klangbibliothek unter Anwendung einer auf der schnellen
Fourier-Transformation
basierenden Spektralanalyse, wie sie in verschiedenen der oben zitierten
Patente beschrieben ist, umgewandelt. Die Klänge werden so in einer Form,
die für
die Synthese unter Verwendung des Prozesses für spektrale Klanganalyse 70 geeignet
ist, dargestellt. Bevor das Lehren beginnen kann, müssen die
Klangdateien weiterverarbeitet werden, um 1. ΔTonhöheinformationen, wie sie oben
beschrieben wurden, hinzuzufügen,
2. Segmentierungsinformationen, die verschiedene Phasen des Klangs
in Übereinstimmung
mit der Klangmustervorlage identifizieren, hinzuzufügen und
3. Zeitinformationen hinzuzufügen.
Diese Schritte können
bis zu einem gewissen Grad automatisiert werden. Der dritte Schritt,
das Hinzufügen
von Informationen bezüglich
einer kanonischen oder normierten Zeit zu jedem der Klänge, wird
als deutlicher Fortschritt in dieser Technik angesehen.
-
Um die Beziehung zwischen der richtigen
Zeit und der als kanonische Zeit bezeichneten Zeitbasis herzustellen,
muss eine gemeinsame Segmentierung für die verschiedenen beteiligten
Töne spezifiziert
werden. Die Segmentierung beinhaltet das Identifizieren und Markieren
aufeinander folgender Zeitbereiche der Klänge und kann manuell oder mit
entwickelteren Werkzeugen automatisch vorgenommen werden. In 9A und 9B besitzen der Klang A und der Klang
B insofern eine gemeinsame Segmentierung, dass die verschiedenen
Segmente 1, 2, 3 und 4 einander zugeordnet werden können. Eine
kanonische Zeit wird berechnet, indem der Abschnitt der richtigen
Zeit, der in einem gegebenen Segment verstrichen ist, bestimmt wird.
Nach diesem Verfahren ist die kanonische Zeit am Beginn eines Segments
0,0 und am Ende 1,0. Die kanonische Zeit in der Mitte des Segments
ist 0,5. In dieser Weise kann einem in Echtzeit gegebenen Punkt
eine kanonische Zeit gegeben werden, indem zuerst das Segment, das
den Zeitpunkt enthält,
identifiziert wird und dann bestimmt wird, welcher Abschnitt des
Segments verstrichen ist.
-
Nach der Nachverarbeitung der Klangdateien
in der obenbeschriebenen Weise kann das Lehren des adaptiven Funktions-Mappers 501 beginnen.
Dazu werden alle Klangdateien zu einer großen Lerndatei verkettet. Das
Lehren kann in Abhängigkeit
von der Länge
der Lerndatei und der Geschwindigkeit des verwendeten Computers
mehrere Stunden, einen Tag oder mehrere Tage in Anspruch nehmen.
-
Wie in 6 gezeigt
ist, werden während
des Lehrens Steuerparameter für
jeden in einem Speicher 601 gespeicherten Lerndatenrahmen
der Reihe nach in den adaptiven Funktions-Mappen 501 eingegeben. Gleichzeitig
werden die entsprechenden Syntheseparameter, die ebenfalls im Speicher 601 gespeichert
sind, in einen Block für
Norm für
wahrnehmbaren Fehler 603 eingegeben. Die Ausgangssignale
des adaptiven Funktions-Mappers 501, die als Antwort auf
die Steuerparameter erzeugt werden, werden ebenfalls in den Block
für Norm
für wahrnehmbaren
Fehler 603 eingegeben. Eine Norm für wahrnehmbaren Fehler wird
in Übereinstimmung
mit der Differenz zwischen den Ausgangssignalen des adaptiven Funktions-Mappers 501 und
den entsprechenden Syntheseparametern berechnet. Informationen im
Abbildungsspeicher werden in Übereinstimmung
mit der Norm für
wahrnehmbaren Fehler verändert.
Danach wird ein nächster
Rahmen verarbeitet. Das Lehren wird fortgesetzt, bis für jeden
Klangrahmen innerhalb der Lerndaten ein wahrnehmbarer Fehler erreicht
worden ist.
-
In einer beispielhaften Ausführungsform
ist der adaptive Funktions-Mapper 501 als neuronales Netz, das
auf einem Computer von Silicon Graphics IndigoTM simuliert
wird, ausgeführt.
In einem Beispiel besitzt das neuronale Netz sieben Verarbeitungseinheiten
in einer Eingabeschicht, acht Verarbeitungseinheiten in einer Zwischenschicht
und acht Ausgabeeinheiten in einer Ausgabeschicht, wobei das Netz
vollständig
verbunden ist. Im gleichen Beispiel wurde das neuronale Netz unter
Anwendung des wohlbekannten rückwärtsschreitenden
Lernalgorithmus gelehrt. Natürlich
können
andere Netztopologien und Lernalgorithmen gleichwertig oder geeigneter
sein. Ferner können
neben neuronalen Netzen verschiedene andere Typen von Lernmaschinen
zur Verwirklichung des Funktions-Mappers 501 verwendet
werden.
-
Zu 6 sei
angemerkt, dass die durch den Block 603 berechnete Fehlernorm
eine Norm für
wahrnehmbaren Fehler ist, d. h. eine Fehlernorm ist, bei der wenigstens
einige Fehlerbeiträge
annähernd
in dem Maß,
in dem sie während
der Synthese vom menschlichen Ohr wahrgenommen werden, gewichtet
werden. Nicht alle Fehler werden vom menschlichen Ohr gleichmäßig wahrgenommen.
Folglich war das Lehren zur Beseitigung von Fehlern, die vom menschlichen
Ohr kaum wahrgenommen werden, bestenfalls vergebliche Mühe und konnte,
was schlimmer war, die Leistung des Funktions-Mappers 501 in
anderer Hinsicht beeinträchtigen.
Aus dem gleichen Grund ist das Beseitigen von Fehlern, die vom menschlichen
Ohr ohne weiteres wahrgenommen werden, wichtig und muss effizient
und gut ausgeführt
werden.
-
In einer bevorzugten Ausführungsform
ahmt die durch den Block 603 berechnete Norm für wahrnehmbaren
Fehler die Wahrnehmung des menschlichen Hörers in zweierlei Art nach.
Erstens werden Fehler während
Perioden einer deutlichen Änderung
stärker
gewichtet und während
Perioden einer geringen Änderung schwächer gewichtet.
Zweitens werden Fehler angesichts der Tatsache, dass das menschliche
Ohr Fehler im Bereich hoher Frequenzen feiner wahrnimmt, bei hohen
Frequenzen stärker
als bei niedrigen Frequenzen gewichtet. Ersteres wird als Fehlergewichtung
durch zeitliche Hüllkurve
bezeichnet, während
Letzteres als frequenzabhängige
Fehlergewichtung bezeichnet wird. Im Hinblick auf die frequenzabhängige Fehlergewichtung wurden
in einer Untersuchung beispielsweise zuerst in einem Niederfrequenzbereich
und dann in einem Hochfrequenzbereich Teiltöne nacheinander in einem festgelegten
Frequenzintervall addiert, so dass sie eine resultierende Folge
von Klängen
bildeten, wovon jeder vom vorhergehenden immer weniger unterscheidbar
war. Im Niederfrequenzbereich waren die aufeinander folgenden Klänge nach
nur wenigen Teiltönen
nicht unterscheidbar. Im Hochfrequenzbereich wurden mehrere zehn
Teiltöne
addiert, bevor die aufeinander folgenden Klänge nicht mehr unterscheidbar
waren, was zeigt, dass das Ohr für
feine Strukturen im Hochfrequenzbereich sehr empfindsam ist.
-
Genauer, in einer bevorzugten Ausführungsform
wird der Fehler in Bezug auf jedes Ausgangssignal des adaptiven
Funktions-Mappers 501 in Übereinstimmung mit der folgenden
Gleichung berechnet: Wobei ai der gesuchte
Syntheseparameter ist, âi das entsprechende Ausgangssignal des adaptiven
Funktions-Mappers 501 ist, RMS die Fehlerhüllkurve
ist und f und g monoton steigende Funktionen repräsentieren.
Die genaue Form der Funktionen f und g ist unkritisch. Der Graph
eines Beispiels einer Funktion f, von der festgestellt wurde, dass
sie gute Ergebnisse liefert, ist in 7 gezeigt.
-
Fachleuten ist klar, dass die Erfindung
in anderen spezifischen Formen ausgeführt werden kann, ohne von ihrem
Leitgedanken oder eigentlichen Charakter abzuweichen. Die hier offenbarten
Ausführungsformen sind
deshalb in jeder Hinsicht als veranschaulichend und nicht als einschränkend anzusehen.
Der Umfang der Erfindung ist durch die beigefügten Ansprüche und nicht durch die oben
stehende Beschreibung angegeben.