-
1. Gebiet
der Erfindung
-
Die vorliegende Erfindung bezieht
sich auf die computergesteuerte Tonsynthese, speziell auf die additive
Synthese unter Verwendung einer inversen Transformationstechnik.
-
2. Stand der
Technik
-
Die Anwendung von Computern auf die
Tonsynthese ist seit vielen Jahren untersucht und praktiziert worden.
Während
die Computersynthese einfacher Töne
unkompliziert ist, stellte das Problem des Synthetisierens komplexer,
realistischer Töne
wie etwa der menschlichen Stimme, des Tons eines gespielten Klavierakkords,
eines Vogelrufs usw. eine ständige
Herausforderung dar.
-
Eine wohl bekannte Technik des Synthetisierens
komplexer Töne
ist die additive Synthese. Bei der herkömmlichen additiven Synthese
wird eine Schar von Sinusteiltönen
zusammensetzt, um einen komplexen Ton zu erzeugen. Um einen komplexen, realistischen
Ton 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 Töne in Echtzeit
stellenden rechnerischen Anforderungen groß.
-
Ferner wird der größte Nutzen
erzielt, wenn die additive Synthese verwendet wird, um komplexe, realistische
Töne 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 Ton 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
Ton zu erzeugen. Die Anforderung, jeden Teilton einzeln direkt zu
berechnen, begrenzte die Anzahl von Teiltönen, die in einem Ton 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 Tons zu erzeugen. Danach
wird die inverse Fourier-Transformation angewandt, um die Zeitbereichsdarstellung
des endgültigen
Tons zu berechnen, aus der dann der Ton 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.
-
Um die Tonwiedergabe in Studioqualität zu erreichen,
werden Ausgangs-Abtastwerte mit einer Rate von 44,1 oder 48 kHz
erzeugt, d. h., ein Abtastwert etwa jede 20 Mikrosekunden. Weil
das menschliche Ohr Hörereignisse
nicht leicht unterscheiden kann, die weniger als einige Hundertstel
einer Sekunde voneinander beabstandet sind, können die Parametersätze, die
die Steuerinformationen enthalten, die die aufeinander folgenden
Frequenzspektren beschreiben, mit einer niedrigen Frequenz (der
Aktualisierungsfrequenz), z. B. 200 Hz, geliefert werden. Dann wird
die Interpolation zwischen zwei aufeinander folgenden Parametersätzen ausgeführt, die
den Zeitpunkt umgeben, der einem gegebenen Abtastwert entspricht,
um den Abtastwert zu berechnen. In dieser Weise wird die Erzeugung
einer Folge plötzlicher
Variationen der Werte vermieden, die zu Geräuschen oder Knacken führen würden, die
bei der Aktualisierungsfrequenz auftreten.
-
In 1 sind
die Steuerinformationen, die die aufeinander folgenden Spektren
des zu synthetisierenden Tons beschreiben, in einer Tabelle TAB1 gespeichert.
Jeder Teilton ist anhand der Parameterfrequenz (fi),
der Amplitude (Ai) und der Phase (Φj) beschrieben. Außerdem ist in einer Tabelle
TAB3 eine Beschreibung der spektralen Rauschenergie, die in das
synthetisierte Signal einzufügen
ist (die Rauschkomponenten Bi), außerdem gespeichert.
-
Unter Verwendung einer Fenstertechnik-Funktion
wird ein Spektrum in Übereinstimmung mit
wohl bekannten Kurzzeit-Fourier-Techniken aufgebaut. Jede aus einer
Anzahl geeigneter Fenstertechnik-Funktionen kann verwendet werden,
z. B. die Hanning-Fenstertechnik-Funktion. Die Fenstertechnik-Funktion
im Zeitbereich wird mit Nullen aufgefüllt und unter Verwendung der
diskreten Fourier-Transformation transformiert, wobei dadurch ein überabgetastetes "Fenster im Zeitbereich" erzeugt wird, das eine
vergrößerte Frequenzauflösung besitzt
und das in einer Tabelle TAB2 gespeichert wird.
-
Die Stufe 10 in 1 tastet das Fenster im Frequenzbereich
ab, wie es in Übereinstimmung
mit der Frequenz fi bestimmt ist. Die Abtastwerte
werden dann mit der Amplitude Ai, die in Übereinstimmung mit
einem Phasenfaktor ejφi gewichtet ist, multipliziert, wobei
ein Muster erzeugt wird (das durch die Kurve 12 M in 1 dargestellt ist), das
den spezifizierten Teilton darstellt. Die resultierenden Werte werden
zu diskreten Frequenz-"Behältern" hinzugefügt, die
verwendet werden, um das Spektrum darzustellen, das aufgebaut wird.
Die Frequenz fi wird verwendet, um die Werte
auf die Frequenzgrenzen der Frequenzbehälter in der Darstellung des
Spektrums auszurichten. Die spektrale Darstellung jedes aufeinander
folgenden Teiltons Si wird zu der vorausgehenden
Summe Si-1 der akkumulierten Teiltöne hinzugefügt, bis alle
Teiltöne
in einem Datensatz hinzugefügt
worden sind.
-
Das resultierende Spektrum besteht
aus einer großen
Anzahl sinusförmiger
Teiltöne.
Außer
den periodischen Komponenten ist jedoch das Vorhandensein nicht
periodischer Komponenten, d. h. Rauschen, für die Erzeugung der am meisten
interessierenden realistischen Töne,
einschließlich
musikalischer Töne,
wesentlich. Deshalb wird eine aus der in der Tabelle TAB3 gespeicherten
Rauschbeschreibung erzeugte Rauschkomponente Bi in
der Stufe 40 zum Spektrum hinzugefügt. Diese Rauschbeschreibung
kann z. B. erhalten werden, indem die spektrale Dichte weißen Rauschens
mit dem Frequenzgang eines ausgewählten Filters gefaltet und
die Ergebnisse tabelliert werden.
-
Das Hinzufügen der Rauschkomponente Bi zum Spektrum ist der letzte Schritt beim
Aufbauen einer spektralen Darstellung eines komplexen realistischen
Tons. Die folgenden Schritte transformieren diese spektrale Darstellung
in eine Zeitdarstellung. Sobald das Spektrum gebildet worden ist,
wird die diskrete inverse Fourier-Transformation durch die Stufe 50 ausgeführt. Das
Bilden der inversen Fourier-Transformation des Spektrums ermöglicht,
dass eine Abtastfolge erhalten wird.
-
Um die endgültige Signaldarstellung des Tons
zu erzeugen, werden die durch die IFFT-Stufe 50 berechneten
aufeinander folgenden Abtastblöcke unter
Verwendung einer in einer Tabelle TAB4 gespeicherten Gewichtungskurve
geformt. Die geformten Abtastblöcke
werden dann in der Stufe 70 überlappt und addiert, wie in 2 graphisch gezeigt ist. Die Überlagerung
der aufeinander folgenden Blöcke lindert
die Wirkungen der Berechnungsfehler an den Grenzen der Blöcke.
-
Um die Gewichtungskurve zu bilden,
wird eine Funktion gewählt,
die die Eigenschaft besitzt, dass, wenn sie um eine bestimmte Anzahl
der Abtastwert verschoben und zu sich selbst addiert wird, im ganzen Überlappungsintervall
ein konstanter Wert erhalten wird. Die Funktion kann z. B. eine
Dreiecksfunktion oder eine trapezförmige Funktion sein. Die Abtastwerte
der gewählten
Funktion werden durch die entsprechenden Abtastwerte des Fensters
im Frequenzbereich dividiert. Die Ergebnisse werden in der Tabelle
TAB4 gespeichert und verwendet, um die aufeinander folgenden Abtastblöcke als
Vorbereitung auf die in der Stufe 70 ausgeführte Überlappungs-Additionsoperation
zu multiplizieren (2).
Die Überlappungs-Additionsoperation
erzeugt eine Abtastfolge, die die Tonwelle darstellt, und die gefiltert,
geglättet,
in einem D/A-Umsetzer 75 in ein analoges Signal umgesetzt und verstärkt werden
kann, um ein kontinuierliches elektrisches Signal zu erzeugen, dass
für die
Eingabe in einen Tonwandler, wie z. B. einen Lautsprecher, geeignet
ist.
-
Die Erzeugung der in der Tabelle
TAB1 gespeicherten Teilton-Parametersätze wird typischerweise unter
Verwendung der Steuerstruktur 90 ausgeführt, obwohl dies im vorangehenden
Patent nicht spezifisch angesprochen worden ist. Die Steuerstruktur 90 erzeugt
Datenblöcke,
wobei jeder Block verschiedene Teiltöne anhand ihrer Amplituden
und Phasen spezifiziert. Eine Interpolationseinrichtung 100 wird
oft verwendet, um eine vergrößerte Anzahl von
Datensätzen
zu erzeugen, in denen die Übergänge glatter
auftreten, die Interpolationseinrichtung ist in einer derartigen
Art konstruiert, um die Artefakte in der Tonausgabe zu minimieren.
Die Interpolationseinrichtung 100 arbeitet mit einer Rate,
die durch einen Raten-Controller 80 bestimmt wird, die
Rate wird wenigstens teilweise durch die Rate des Betriebs der Steuerstruktur 90 und
die Abtastrate des D/A-Umsetzers 75 gesteuert.
-
Andere Patente, die sich auf die
additive Tonsynthese 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. Die
diskrete Fourier-Transformation allein wird verwendet, um eine spektrale
Darstellung der Tonsignale zu erzeugen. Die meiste Forschung ist
auf eine effiziente Berechnung der diskreten Fourier-Transformation konzentriert
worden. Dennoch begrenzt die Komplexität der beteiligten Berechnungen
in einem beträchtlichen Grad
die Anzahl der Teiltöne,
die in Echtzeit berechnet werden kann.
-
Teilweise infolge der gerade erwähnten Rechenkomplexität ist in
den Verfahren des Standes der Technik typischerweise nur ein einzelner
komplexer Ton erzeugt worden. Das heißt, die Verfahren des Standes
der Technik haben die gleichzeitige Erzeugung verschiedener Töne (polyphoner
oder Mehrkanaltöne)
nicht enthalten. Außerdem
sind die im Stand der Technik verwendeten Rauscherzeugungsverfahren
typischerweise auf das Hinzufügen
von Breitbandrauschen eingeschränkt
gewesen, das durch eine Enveloppen-Funktion geformt wird, die im
Wesentlichen unabhängig
von dem Ton ist, der erzeugt wird. Dieses Verfahren der Rauschsynthese
funktioniert in Situationen, in denen zur Tonhöhe synchrones Rauschen erforderlich
ist, nicht gut.
-
Außerdem sind die Verfahren des
Standes der Technik typischerweise auf das Erzeugen und Abspielen
von Ton eingeschränkt
gewesen, der anstatt durch Werte, die sich während der Synthese in Echtzeit ändern, durch
im Voraus gespeicherte analysierte Parameter beschrieben wird. Diese
Verfahren haben typischerweise die Zwischenverarbeitung der Tondarstellung
nicht betroffen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die vorliegende Erfindung bezieht
sich hauptsächlich
auf ein Verfahren zum Erzeugen einer zeitabgetasteten Tondarstellung,
wie es im Anspruch 1 beansprucht ist.
-
Die vorliegende Erfindung überwindet
allgemein gesagt die vorangehenden Nachteile und erlaubt die Verwirklichung
eines additiven Tonsyntheseprozesses zum Erzeugen komplexer realistischer und
steuerbarer Töne
in einer für
die Berechnung effizienten Weise. Gemäß einem Aspekt der Erfindung wird
die Polyphonie effizient erreicht, indem die Energie eines gegebenen
Teiltons zwischen separaten Transformationssummen, die verschiedenen
Kanälen
entsprechen, dosiert wird. Gemäß einem
weiteren Aspekt der Erfindung wird Rauschen durch zufälliges Stören der
Phase des Tons, entweder auf einer Grundlage pro Teilton oder auf
einer Grundlage der Transformationssumme, eingefügt. Im letzteren Fall wird
die Phase in verschiedenen Bereichen des Spektrums in einem Grad
gestört,
der durch die Menge der Energie bestimmt ist, die in den entsprechenden
Bereichen des Spektrums vorhanden ist. Gemäß einem noch weiteren Aspekt
der Erfindung wird eine Transformationssumme, die einen Ton darstellt,
im Transformationsbereich verarbeitet, um mit großer Wirtschaftlichkeit
Wirkungen zu erhalten, die außerhalb
des Transformationsbereichs nur mit viel größeren Aufwand erreichbar sind.
Es können
andere Transformationen außer
der Fourier-Transformation vorteilhaft verwendet werden. Die Verwendung
der Hartley-Transformation erzeugt z. B. vergleichbare Ergebnisse,
erzeugt aber eine regelmäßigere Struktur,
die sich für
einen größeren Maschinenwirkungsgrad
eignet.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
1 ist
eine Blockschaltplan/Signaldarstellungs-Kombination eines herkömmlichen
Tonsyntheseprozesses;
-
2 ist
eine Signaldarstellung, die eine herkömmliche Überlappungs-Additionsoperation
veranschaulicht, die nach den Operationen nach 1 ausgeführt wird;
-
3 ist
ein Gesamtblockschaltplan eines additiven Tonsynthesesystems mit
inverser Transformation gemäß der vorliegenden
Erfindung;
-
4 ist
ein vereinfachter Blockschaltplan, der einem einzelnen Kanal des
Tonsynthesesystems nach 3 entspricht;
-
5 ist
ein Blockschaltplan eines Breitbandsyntheseabschnitts des Tonsynthesesystems nach 3 gemäß einer Ausführungsform
der Erfindung;
-
6 ist
ein Blockschaltplan eines Breitbandsyntheseabschnitts des Tonsynthesesystems nach 3 gemäß einer weiteren Ausführungsform der
Erfindung;
-
7 ist
ein vereinfachter Blockschaltplan, der mehreren Kanälen des
Tonsynthesesystems nach 3 gemäß einer
ersten Ausführungsform entspricht;
-
8 ist
ein vereinfachter Blockschaltplan, der mehreren Kanälen des
Tonsynthesesystems nach 3 gemäß einer
zweiten Ausführungsform entspricht;
und
-
9 ist
ein Blockschaltplan, der einem einzelnen Kanal des Tonsynthesesystems
nach 3 entspricht und
der eine Art veranschaulicht, in der die Vorfilterung des Tonausgangssignals
im Transformationsbereich ausgeführt
wird.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGS-FORMEN
-
In der folgenden Beschreibung wird
eine klare Trennung zwischen der Tonsynthesesystems per se und dem
selbstständigen
Problem des Erzeugens der Parameter, die zu verwenden sind, um die
Tonsynthesesysteme zu steuern, um eine Erzeugung eines gewünschten
Tons zu erhalten, eingehalten. Es wird angenommen, dass die geeigneten
Parameter für
die Tonsynthese durch eine geeignete Steuerstruktur erzeugt und
von dieser verfügbar
sind, wie sie z. B. in der gleichzeitig anhängigen US-Anmeldung, Seriennummer
08/551.890 (Aktenzeichen des Anwalts 028726-007), mit dem Titel "Control Structure
for Sound Synthesis",
zum gleichen Datum eingereicht wie die vorliegende Anmeldung, beschrieben ist.
Vorzugsweise ist die Steuerstruktur zum Echtzeitbetrieb fähig, um
mit fast nicht wahrnehmbarer Verzögerung auf Anwendereingaben,
wie z. B. von einer Tastatur, einem Fußpedal oder einer anderen Eingabevorrichtung,
zu reagieren.
-
In 3 ist
eine derartige Steuerstruktur 91 gezeigt. Die Steuerstruktur 91 stellt
den verschiedenen Blöcken
eines Tonsynthesesystems die Parameter bereit. Die Architektur des
Systems ist so entworfen, dass ein extrem vielseitiges Tonsynthesesystem, das
für eine
breite Vielfalt von Anwendungen geeignet ist, verwirklicht ist.
Folglich sind bestimmte Blöcke vorgesehen,
deren Funktionen in einem einfacheren Tonsynthesesystem entfallen
können.
Solche Blöcke erscheinen
in 3 rechts von der
gestrichelten Linie 13. Die Funktion der verbleibenden
Blöcke
in 3 wird deshalb zuerst
beschrieben.
-
Bei dem additiven Tonsynthesesystem
mit inverser Transformation des Standes der Technik aus dem US-Patent
Nr. 5.401.897 und bei anderen herkömmlichen additiven Tonsynthesesystemen
wird ein Frequenzspektrum erhalten, indem diskrete spektrale Komponenten,
die in spektrale Enveloppen gruppiert sind, addiert werden. Jede
spektrale Enveloppe 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.
-
Im vorliegenden additiven Tonsynthesesystem
mit inverser Transformation müssen
andererseits Teiltöne
nicht sinusförmig
sein, sondern können eine
von verschiedenen Formen von Schmalbandkomponenten annehmen. Obwohl
die Begriffe "Spektrum", "Spektren" und "spektral" für die Zweckmäßigkeit
bei der Beschreibung der vorliegenden Erfindung verwendet werden
können,
sollte es folglich verständlich
sein, dass diese Begriffe in dem umfassenden Sinn verwendet werden,
dass sie eine Tondarstellung in einem vom Zeitbereich verschiedenen
Bereich und nicht notwendigerweise eine Darstellung anhand sinusförmiger Komponenten
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 91 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 91 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 polyphone
Effekte in einer Weise, die im Folgenden in Be zug auf 7 und 8 ausführlicher beschrieben ist.
-
Der Transformations-Summieren-und-Mischen-Block
liefert auch Signale an die Steuerstruktur 91. 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 angezeigt werden.
-
Ferner kann die spektrale Darstellung,
die in einer oder mehreren Transformationssummen gefunden wird,
als Echtzeit-Rückkopplung
an die Steuerstruktur 91 verwendet werden, um die Erzeugung derselben
Transformationssumme oder die Erzeugung einer nachfolgenden Transformationssumme zu
beeinflussen.
-
Ein Block 79 für die Filterung
im Transformationsbereich empfängt
Transformationssummen vom Transformations-Summieren-und-Mischen-Block und
ist dazu bestimmt, im Transformationsbereich verschiedene Arten
der Verarbeitung von Transformationssummen auszuführen. Der
Block 79 für
die Filterung im Transformationsbereich 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 Ton gehört wird,
auferlegt werden. Lediglich als Beispiel, die Transformationsbereichverarbeitung
kann verwendet werden, um eine automatische Verstärkungssteuerung
oder eine von der Frequenz unabhängige
Verstärkungssteuerung
auszuführen. Ähnlich können Simulationen
der Wahrnehmung von Zuhörern
verwendet werden, um die Tondarstellung wirklich zu "hören", bevor sie synthetisiert wird, und dann
die Tondarstellung zu verändern,
um unerwünschte
Töne zu
entfernen oder den Steuerparameterraum für die Wahrnehmung zu orthogonalisieren.
-
Im Anschluss an die Transformationsbereichverarbeitung
wird die Tondarstellung zur Bildung jeder Transformationssumme unter
Verwendung einer Bank von Operationen der/des inversen Transformation/Überlappen-Addierens
73 synthetisiert. Jede in 3 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 Fachleute auf dem Gebiet werden die Praxis der Erfindung leicht
an irgendeine der bekannten Transformationen anpassen können, die
z. B. Fourier-, Hartley-, Wavelet-, Haar-, Walsh-, Zak-Transformationen
usw. enthalten. Die Anzahl der berechneten Transformationen n·t ist
nur durch die verfügbare Rechenleistung
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 Tonsynthesesystem
erzeugt Töne
nach einer parametrischen Beschreibung. Um eine größere Flexibilität und Allgemeingültigkeit
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 Tönen,
von Echtzeittönen
oder von beidem in das System.
-
In einem Block 85 werden
transformationscodierte Tonsignale gespeichert. Diese Signale können von
der Steuerstruktur 91 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 Töne
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 91 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 91 zurückgeführt werden und im Zuge der
Konstruktion von nachfolgenden Spektren oder der Modifikation des
momentanen Spektrums verwendet werden.
-
Ein ausführlicheres Verständnis des
vorliegenden additiven Tonsynthesesystems mit inverser Transformation
kann durch das Betrachten des Falls des Erzeugens eines monophonen
Tons aus einer parametrischen Beschreibung ohne irgendwelche zusätzliche
Toneingaben erhalten werden. In 4 empfängt eine
Steuerstruktur 191 die Anwendereingaben (z. B. von einer
Computer-Tastatur oder einer anderen Computer-Eingabevorrichtung
oder von einem Musikinstrument), wobei sie in Reaktion darauf zwei
Mengen von Signalen 192 und 184 erzeugt. Die erste
Menge der Signale 192 beschreibt die Schmalbandeigenschaften
des zu erzeugenden Tons anhand der Amplituden Ai
n, der Phasen Φin
und der Rauschkomponenten Ni
n einer
Anzahl vorgegebener Teiltöne.
Die einzelnen Teiltöne
sind durch den unteren Index "i" angegeben. Die aufeinander
folgenden Mengen der Teiltöne
sind durch den oberen Index "n" angegeben. Die zweite
Menge der Signale 184 beschreibt die Breitbandeigenschaften
des zu erzeugenden Tons anhand einer oder mehrerer Rauschamplituden
aj
n und der entsprechenden
Frequenzbänder
bi
n. Die Anzahl
der Rauschkomponenten kann unabhängig
von der Anzahl Teiltöne
spezifiziert werden. In einer bevorzugten Ausführungsform liegt die Anzahl
der Rauschkomponenten typischerweise zwischen 12 und 20. Ein weiteres
Signal B ist ein globaler Geräuschparameter.
Die Parameter Ni
n und
B, die im Folgenden ausführlicher
beschrieben sind, werden verwendet, um durch das zufällige Stören der
Phase des Tons auf einer Grundlage pro Teilton bzw. auf einer Grundlage
der Transformationssumme Rauschen in den Ton einzufügen.
-
Die zwei Mengen der Signale 192 und 184 werden
in einen Interpolationsblock 181 eingegeben. Der Interpolationsblock 181 gibt
eine Menge von Signalen 174 und 194 mit einer
höheren
Rate aus. Die erste Menge der Signale 174 beschreibt die
Schmalbandeigenschaften des zu erzeugenden Tons anhand der interpolierten
Amplituden A
i
m , der interpolierten Phasen Φ
im und der interpolierten Rauschkomponenten N
i
m der vorgegebenen Teiltöne. Die einzelnen Teiltöne sind
abermals durch den unteren Index "i" angegeben.
Die aufeinander folgenden Mengen der Teiltöne (die im Vergleich zu den
aufeinander folgenden Mengen der Teiltöne, die durch den oberen Index "n" angegeben sind, eine vervielfachte Rate
besitzen) sind durch den oberen Index "m" angegeben.
Die zweite Menge der Signale 194 beschreibt die Breitbandrauscheigenschaften
des zu erzeugenden Tons anhand der interpolierten Rauschamplituden a
j
m und der entsprechenden interpolierten Frequenzbänder b im.
-
Die Interpolationseinrichtung 181 arbeitet
mit einer durch einen Raten-Controller 176 bestimmten Rate,
wobei die Rate wenigstens teilweise durch die Rate des Betriebs
der Steuerstruktur 91 und die Abtastrate des D/A-Umsetzers
177 gesteuert wird.
-
Die Signale 174 und 194 werden
in einen Block 183 für
den Aufbau des Spektrums eingegeben. Ein Spektrum ist einfach eine
Menge von Zahlen, die die Energie innerhalb jedes einer vorgegebenen
Anzahl von Frequenz-"Behältern" darstellen. Im Block
für den
Aufbau des Spektrums wird das Fenster im Frequenzbereich wie in
herkömmlichen
additiven Synthesesystems mit inverser Transformation abgetastet,
skaliert und in einer geeigneten Ausrichtung zu den entsprechenden
Behältern
im Spektrum hinzugefügt.
Das Rauschen wird in einer Weise zum Spektrum hinzugefügt, die
im Folgenden ausführlich beschrieben
ist. Das Spektrum wird dann in einen Block 185 für die Filterung
im Transformationsbereich eingegeben. In diesem Block kann das Spektrum
in irgendeiner gewünschten
Weise gefiltert oder verarbeitet werden, wie vorausgehend beschrieben worden
ist. Das gefilterte Spektrum wird dann durch einen Block 173 für die inverse
Transformation, gefolgt von einem Überlappen-Addieren-Block 175,
in eine zeitabgetastete Darstellung des spezifizierten Tons rekonstruiert.
Die Operation dieser beiden Blöcke
ist in der Technik wohl bekannt.
-
Das Verständnis des Tonerzeugungsprozesses
kann durch das Erzeugen einer visuellen Anzeige des Tons unterstützt werden.
Eine derartige Anzeige wird z. B. im Allgemeinen durch Graphik-Entzerren
erzeugt. Es wird jedoch in 4 angemerkt, dass
die mit dem zu erzeugenden Ton im Zusammenhang stehenden Informationen
angezeigt werden können,
bevor die tatsächlichen
Tonabtastwerte erzeugt worden sind, entweder während der Steuerbeschreibungsphase
durch das Anzeigen der Ausgaben der Steuerstruktur 191 oder
im Transformationsbereich durch das Anzeigen der Ausgabe des Block 185 für die Filterung
im Transformationsbereich. Während
das letztere Informationen über
das Spektrum darstellt, das zu hören
ist, stellt das Erstere speziellere Informationen über die
Prozesse dar, die den Ton steuern, der gehört wird.
-
Die Signale 194 in 4 beschreiben die Breitband-Rauscheigenschaften
des zu erzeugenden Tons anhand der interpolierten Rauschamplituden ajm und
der entsprechenden interpolierten Frequenzbänder b jm, wobei sie verwendet
werden können,
um das Rauschen auf der Grundlage des Frequenzbandes in das Spektrum
einzufügen.
Dies wird unabhängig
vom Aufbauen des Schmalbandspektrums auf der Grundlage der Teiltöne ausgeführt. Insbesondere
wird für
jedes interpolierte Frequenzband bi
m eine zufällige Phase erzeugt, die mit
einer entsprechenden interpolierten Rauschamplitude a
j
m , umgesetzt
in kartesische Koordinaten, paarweise angeordnet und zu jedem Frequenzbehälter innerhalb des
Spektrums, das innerhalb des Frequenzbandes enthalten ist, hinzugefügt wird.
Diese Weise der Rauscheinfügung
ist in der Technik bekannt, z. B. aus dem US-Patent 5.029.509 und aus Lemke u. a., "Synthesis Of Time-dependent
Signals For Simulation Experiments" (VDI-Zeitschrift, Mai 1978, Bd. 120 (Nr.
10): 475–82).
-
In den Fällen jedoch, in denen das Rauschen mit
dem Teilton im Zusammenhang steht oder mit dem Teilton synchronisiert
ist, kann ein weiteres Rauscheinfügungsverfahren ausgeführt werden,
wie in 5 gezeigt ist.
Ein Teilton ist anhand der Frequenz Fj,
der Amplitude ( A
i )
und der Phase ( Φ
i) spezifiziert. Die Frequenz bestimmt, welche
Abtastwerte des gespeicherten Fensters 201 im Frequenzbereich im
Abtastblock 110 ausgewählt
werden, um zum Spektrum hinzugefügt
zu werden. Die Amplitude und die Phase werden verwendet, um die
ausgewählten
Abtastwerte in einem Multipliziererblock 120 zu multiplizieren. Die
Frequenz (Fi) wird verwendet, um die Abtastwerte im Block 125 auszurichten,
bevor sie in das durch einen Akkumulatorblock 130 gebildete
Spektrum eingefügt
werden.
-
Die Phase wird jedoch zufällig gestört, wodurch
Geräusche
auf das Spektrum innerhalb des Teilton-Bandes übertragen wird. Für diesen
Zweck wird ein Pseudo zufallsphasengenerator 193 verwendet,
um eine verschiedene Zufallsphase für jeden Teilton zu erzeugen.
Die Zufallsphase für
diesen Teilton wird dann in einem Verstärker 195 mit einem
vom Anwender spezifizierten Geräuschparameter N
i (der null
sein kann) multipliziert. Die resultierende Größe wird dann unter Verwendung
eines Addierers 197 zur ursprünglichen Phase hinzugefügt. Weil
eine verschiedene Zufallsphase verwendet wird, um die Phase jedes
Teiltons zu stören,
werden die Klickgeräusche,
die sich ansonsten aus dem Stören
der Phase in regelmäßigen Intervallen
ergeben könnten,
vermieden.
-
In anderen Fällen kann es erwünscht sein, das
Rauschen in ein vorausgehend konstruiertes Spektrum unter Verwendung
des Spektrums selbst, um eine Rausch-Enveloppe zu beschreiben, einzufügen. Diese
Art der Rauscheinfügung
(die in der Tat ein Spezialfall der Filterung im Transformationsbereich
ist), kann ausgeführt
werden, wie in 6 gezeigt
ist. Eine vorausgehend berechnete Transformationssumme wird vom
Block 130 in einen Block 131 geschrieben, die
eine neue Transformationssumme enthält. Die Amplitude innerhalb
jedes Behälters
der alten Transformationssumme wird in einem Kartesisch-Polar-Umsetzer 203 berechnet
und (in einem Verstärker 196)
mit einem vom Anwender spezifizierten "globalen Geräusch"-Parameter B multipliziert. Das Ergebnis
ist eine Rausch-Enveloppe, die die gleiche Form wie das ursprüngliche
Spektrum besitzt. Infolge dieser Eigenschaft kann das resultierende
Rauschen als "reflektiertes
Rauschen" bezeichnet werden.
Wie in der vorhergehenden Rauscheinfügungstechnik wird ein Pseudozufallsphasengenerator 193 verwendet,
um die Phase des Spektrums zufällig
zu stören.
In 6 wird jedoch ein
einzelner Zufallswert in einen Polar-Kartesisch-Umsetzer 205 eingegeben
und dadurch zur Phase innerhalb jedes Behälters der neuen Transformationssumme
hinzugefügt.
-
Es wird angemerkt, dass, wenn Zufalls-, Pseudozufalls-
und Rauschsignale beschrieben werden, die Fachleute auf dem Gebiet
die statistische Verteilung und/oder das Spektrum dieser Signale
anpassen können,
um weitere Dimensionen der Steuerung über die unter Verwendung derartiger
Signale erzeugten Töne
zu erlangen.
-
Die vorangehenden Rauscheinfügungstechniken
sind anhand des Hinzufügens
von Rauschen zu einem einzelnen Spektrum beschrieben worden. Durch
das Erzeugen mehrerer im Zusammenhang stehender Spektren können zahlreiche
nützliche
Effekte erreicht werden. In 7 entsprechen
die Blöcke
auf der linken Seite der gestrichelten Linie 115 den gleich
nummerierten Blöcken
in 5. Anstatt den gewünschten
Ton anhand einer einzelnen Teilton-Amplitude A
i zu spezifizieren,
werden jedoch zwei Amplituden spezifiziert, Ai (links),
die einem linken Lautsprecherkanal entspricht, und Ai (rechts),
die einem rechten Lautsprecherkanal entspricht. Durch Erweiterung
kann irgendeine Anzahl von Amplituden Ai1,
Ai2, ..., Ain spezifiziert
werden, um n Ausgangskanäle
zu synthetisieren.
-
In der beispielhaften Ausführungsform
nach 7 wird der linke
Amplitudenparameter Ai (links) an den Multiplizieren 120 auf
der linken Seite der gestrichelten Linie angelegt, um im Block 13 eine
Transformationssumme zu erzeugen, die dem Ausgangssignal OUTL eines linken Kanals entspricht. Die Multiplikations-,
Ausrichtungs- und Transformationssummenblöcke auf der linken Seite der
gestrichelten Linie 115 (die Blöcke 120, 125 bzw. 130)
sind auf der rechten Seite der gestrichelten Linie als die Blöcke 120', 125' bzw. 130' dupliziert.
Der rechte Amplitudenparameter Ai (rechts)
wird an den Multiplizieren 120' auf der rechten Seite der gestrichelten
Linie angelegt, um im Block 130' eine Transformationssumme zu erzeugen,
die dem Ausgangssignal OUTR eines rechten Kanals
entspricht.
-
Es wird angemerkt, dass sowohl die
Speicher- und Abtastblöcke 201 und 110 für Fenster
im Frequenzbereich als auch die Elemente 183, 195 und 197 des
Rauscheinfügungsmechanismus
durch beide Kanäle
gemeinsam verwendet werden. Es ist jedoch ein Addieren 197' vorgesehen,
um verschiedene Phaseneinstellungswirkungen zu erreichen. Der Addieren 197' wird verwendet,
um die Phase des rechten Kanals in Bezug auf die Phase des linken
Kanals in Übereinstimmung
mit einem Parameter Φi(mod) zu modulieren.
-
Im Gegensatz zu herkömmlichen
Verfahren des Mischens der Ausgangssignale erlaubt das System nach 7, dass die Beiträge jedes
Teiltons effizient zwischen mehreren Ausgängen verteilt werden, dies
erweitert die praktischen Anwendungen der additiven Synthese im
hohen Maße.
Unter Verwendung mehrerer Lautsprecher kann z. B. ein breites Tonfeld
wie das eines Klaviers mit verschiedenen Frequenzen, die an Punkten
entstehen, die im Raum verteilt sind, effektiver als durch die Verwendung
der herkömmlichen
Schwenktechniken erzeugt werden. Außerdem können die Signale nach der Frequenz gefiltert
und zu Lautsprechern geleitet werden, die für einen speziellen Frequenzbereich
optimiert sind, wobei dies den Bedarf an einer Frequenzweiche beseitigt.
Im System nach
-
7 ist
keine Frequenzweiche notwendig – die
Teiltöne
werden einfach entsprechend ihrer Frequenz in der Synthesestufe
gewichtet.
-
Außerdem kann unter Verwendung
von Addierern, die dem Addierer 197' in 7 entsprechen, jeder
Teilton effizient und einzeln phasenmoduliert werden, wenn er zu
jedem Ausgangskanal geleitet wird. Diese Fähigkeit kann verwendet werden,
um spezielle Phaseneinstellungswirkungen zu erzeugen, den Phasengang
der Lautsprecher zu kompensieren oder die räumliche Wahrnehmung eines Tons
zu manipulieren.
-
In 7 sind
die Rauschkomponenten der zwei Tonkanäle die gleichen, wobei die
Phase des zweiten Tonkanals durch einen Versatz bezüglich der Phase
des ersten Tonkanals spezifiziert wird. In einem allgemeineren Fall
kann die Phase jedes Kanals unabhängig spezifiziert werden, wobei
das Rauschen in verschiedenen Kanälen entweder unabhängig spezifiziert
werden kann oder, falls gewünscht,
in sich verändernden
Graden korreliert werden, bis zu dem Grad, dass es im Grenzfall
vollständig
korreliert ist. In 8 sind
die Pseudozufallsphasengenerator- und Verstärkerblöcke (die Blöcke 193 bzw. 195)
als die Blöcke 193' bzw. 195' dupliziert.
Es ist ferner ein Korrelator 220 und ein Verstärker 221 vorgesehen. Der
Korrelator 220 empfängt
die durch die Pseudozufallsphasengeneratoren 193 und 193' erzeugten Pseudozufallsphasen
und korreliert diese Pseudozufallsphasen in einem sich ändernden
Grad, wie er durch ein Korrelationssteuersignal Corr gesteuert wird,
das in den Verstärker 221 eingegeben
wird. Es wird angenommen, dass das Ausgangssignal des Verstärkers 221 einen
Bereich von null bis eins besitzt. Der Korrelator 220 gibt
in Reaktion auf das Ausgangssignal des Verstärkers 221 zwei Pseudozufallsphasen
aus, die von unkorreliert (null), moderat korreliert, in hohem Grade
korreliert bis vollständig
korreliert (eins) reichen können.
Die zwei Pseudozufallsphasen werden in die entsprechenden Verstärker 195 und 195' eingegeben,
deren entsprechende Ausgangssignale verwendet werden, um die Phaseneingaben Φi(links) und Φi(rechts)
zu stören.
-
Im vorangehenden Prozess muss, nachdem die
Tonabtastwerte durch D/A-Umsetzung
in ein analoges Tonsignal umgesetzt worden sind, typischerweise
das resultierende Audiosignal trotzdem unter Verwendung eines relativ
teuren analogen Filters gefiltert werden, um Artefakte zu beseitigen,
die z. B. durch Spektrumüberlappung
der Energie von "negativen" Frequenzen verursacht
werden. Eine Alternative ist, vor der D/A-Umsetzung den Abtaststrom
zu einer höheren
Abtast rate unter Verwendung eines digitalen Interpolationsfilters überabzutasten
oder seine Rate umzusetzen. Dann muss ein schnellerer D/A-Umsetzer
verwendet werden, um das Signal mit höherer Rate umzusetzen, das
für die
endgültige
Filterung erforderliche analoge Filter kann jedoch sehr einfach
und preiswert sein. Ein Problem bei einem derartigen Zugang ist,
dass die Überabtastung
bis zu einige Millisekunden einer zusätzlichen Verzögerung einfügen kann.
In einer Echtzeitumgebung kann diese zusätzliche Verzögerung nicht
tolerierbar sein.
-
Ein weiteres Merkmal der vorliegenden
Erfindung verwendet die Filterung im Transformationsbereich, um
die gleiche Wirkung wie die Überabtastung zu
erreichen, ohne die zusätzliche
Verzögerung
einzufügen.
In 9 wird, während sich
ein Spektrum Sn immer noch im Transformationsbereich
befindet, das Spektrum in einem Nullauffüllblock 301 mit Nullen
aufgefüllt,
wobei danach eine größere inverse Transformation
in einem IFFT-Block 303 ausgeführt wird, als vorausgehend
erörtert
worden ist. Um Verarbeitungsverzögerungen
zu vermeiden, kann der IFFT-Block 303 unter Verwendung
einer spezialisierten integrierten IFFT-Schaltung verwirklicht sein. Eine Überlappungs-Additions-Operation
wird dann durch einen Block 305 ausgeführt, um einen Abtaststrom zu
erzeugen, der durch einen D/A-Umsetzer 307 zu einer höheren Rate
umgesetzt wird, als vorausgehend erörtert worden ist. Ein Ratenumsetzungsblock 311 steuert
die zeitliche Abstimmung der inversen Transformation und der digitalen
Umsetzung. Das Auffüllen
mit Nullen wird so ausgeführt, dass
das durch den D/A-Umsetzer 307 erzeugte resultierende Audiosignal
keine signifikante Energie über
einer Frequenz von 44 kHz besitzt. Das Audiosignal wird dann unter
Verwendung eines preiswerten analogen Filters 309 gefiltert
und an einen Lautsprecher angelegt.
-
Die beschriebenen Verfahren der Tonsynthese
ermöglichen,
dass komplexe realistische Töne
in Echtzeit synthetisiert und gesteuert werden. Es werden verschiedene
alternative Verfahren zum Einfügen
von Rauschen, oft der am problematischsten zu modellierende und
zu synthetisierende Teil eines Tons, in ein Spektrum geschaffen.
Diese Verfahren sind effizient zu berechnen und vermeiden viele
der künstlichen
Beschränkungen,
die den früheren
Verfahren zugeordnet sind. Es werden außerdem verschiedene Anwendungen
der Filterung im Transformationsbereich geschaffen, die in einigen
Fällen
ermöglichen,
dass externe Hardware-Komponenten in die Synthesestufe verlegt werden,
und die in anderen Fällen
ermöglichen,
dass gänzlich
neue Typen der Echtzeitsteuerung der Tonsynthese ausgeführt werden.
Die Polyphonie wird außerdem
in einer effizient zu berechnenden Weise geschaffen.
-
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.