Title:
Generating source audio data - feeding analog or digital output signal to comb filter and passing only basic frequency and its harmonic oscillations
Kind Code:
B4


Abstract:
In the generating process, an analog or digital input signal is fed to a comb filter, passing only the basic frequency and its harmonic oscillations for generating analog or digital output signals. The reflating signal sections are separated from the output signal and recorded. To determine an interval of uniform analog signal portions, the analog signal is converted into a digital one by a Fourier transformation for generating second Fourier components. The phases of the latter are mutually matched, and another Fourier transformation is carried out. The periods of the peaks in the output data values are then determined.



Inventors:
Furuhashi, Makoto (Tokio/Tokyo, JP)
Suzuoki, Masakazu (Tokio/Tokyo, JP)
Kutaragi, Ken (Tokio/Tokyo, JP)
Application Number:
DE3943800A
Publication Date:
09/16/2004
Filing Date:
11/17/1989
Assignee:
Sony Computer Entertainment Inc. (Tokio/Tokyo, JP)
International Classes:



Foreign References:
46415641987-02-10
46355201987-01-13
44296091984-02-07
Attorney, Agent or Firm:
Müller - Hoffmann & Partner Patentanwälte (München)
Claims:
Verfahren zum Erzeugen von Quelltondaten, bei dem zum Ermitteln der Lage sich wiederholender Signalformen innerhalb eines Signales ein Bereich vorgegebener Länge über das Signal verschoben wird, bei dem untersucht wird, ob einander entsprechende Bereiche in der Nachbarschaft der Anfangs- und Endpunkte des verschobenen Bereichs zueinander ähnlich sind und bei dem richtige Lage entschieden wird, wenn Ähnlichkeit gefunden wird, dadurch gekennzeichnet, daß der Bereich vorgegebener Länge bis Erreichen einer vorgegebenen Anzahl von Verschiebungen über dem Signal verschoben wird, und aus den durch diese Verschiebungen erhaltenen berechneten Werten derjenige Satz von Werten ausgewählt wird, der die größte Korrelation der Anfangs- und Endpunkte zeigt.

Description:

Die Erfindung betrifft ein Verfahren zum Erzeugen von Quelltondaten nach dem Oberbegriff des Patentanspruches. Bei einem solchen Verfahren ist es erforderlich, verschiedenene Daten aus einem Eingangssignal zu erzeugen. Auch müssen Daten komprimiert und aufgezeichnet werden. Bei Musiktondaten müssen Intervalldaten ermittelt werden. Komprimieren erfolgt z. B. blockweise. Das Komprimieren und auch das Gewinnen von Wiederholperioden in einem Signal erfolgt z. B. durch einen digitalen Signalprozessor.

Tonquellen, wie sie in elektronischen Musikinstrumenten verwendet werden, sind z.B. analoge Tonquellen, die z. B. aus VCO, VCA und VCF bestehen und digitale Tonquellen, die einen programmierbaren Tongenerator oder einen ROM aufweisen, aus dem Tondaten ausgelesen werden. Als digitale Tonquelle wird auch eine solche verwendet, die aus den Tönen von Musikinstrumenten Quelltondaten durch Abtasten ermittelt und diese Daten in einem Speicher ablegt.

Da zum Speichern von Quelltondaten in der Regel ein Speicher großer Kapazität erforderlich ist, bestehen umfangreiche Bemühungen, Verfahren so zu gestalten, daß Speicherplatz eingespart wird. Hierzu gehört insbesondere eine Schleifenbildung d. h. ein Verfahren, das die Periodizität der Musiktonsignale ausnutzt und eine Bitkompression z. B. durch nichtlineare Quantisierung.

Die Schleifenbildung dient auch dazu, Töne zu erzeugen, die länger sind als der ursprünglich abgetastete Ton. Ein Musikton besteht typischerweise aus einer Nichttonkomponente, wie sie z. B. beim Anschlagen einer Klaviertaste oder beim Anblasen eines Blasinstruments erfolgt, und einer periodischen Tonkomponente. Die Nichttonkomponente stellt einen Formantenteil mit nicht festliegender Periodizität dar. In der Tonkomponente weist das Signal ein bestimmtes Signalintervall auf. Durch Wiederholen von n (ganzzahlig) des Intervalls als Schleifendomäne kann ein verlängerter Ton unter Nutzung geringen Speicherplatzes erzeugt werden.

Bei der Schleifenbildung besteht ein Problem, das als Schleifenrauschen bekannt ist. Zum Schleifenrauschen kommt es aufgrund einer besonderen Verteilung der Frequenzen. Das Rauschen fällt auch dann auf, wenn sein Pegel geringer ist als der des weißen Rauschens. Mehrere Faktoren sind wahrscheinlich für das Schleifenrauschen verantwortlich.

Einer der Faktoren ist der, daß die Schleifenperiode nicht genau mit der Signalperiode eines Quelltonsignals übereinstimmt. Wenn z. B. ein Quellton von 401 kHz einer Schleifenbildung mit einer Periode von 400 Hz unterworfen wird, weist das durch Schleifenbildung gewonnene Signal nur noch Frequenzen auf, die einem ganzzahligen Vielfachen der Schleifenperiode entsprechen. Die Grundfrequenz des Quelltons wird nach 400 Hz verschoben, mit harmonischen Oberschwingungen mit Frequenzen von 800 Hz, 1600 Hz, ... Es kann gezeigt werden, daß dann, wenn ein Versatz von 1 % zwischen der Quelltonfrequenz und der Schleifenfrequenz besteht, bei der Schleifenbildung eine Harmonische n-ter Ordnung wie folgt gebildet wird, die man als Schleifenrauschen hört: Cn = (sin(n – 0.01))/(π(n – 0.01)) (a)

Ein anderer Faktor besteht darin, daß nichtgeradzahlige Harmonische erzeugt werden, d. h. Harmonische k-ter Ordnung, wobei k nichtgeradzahlig ist. Das Quellsignal, das auf den ersten Blick periodisch erscheint, ist strenggenommen nicht periodisch mit mehreren Harmonischen, die nichtgeradzahliger Ordnung sind. Bei der Schleifenbildung werden diese harmonischen Oberschwingungen zwangsweise zu benachbarten geradzahligen Harmonischen verschoben. Diese bei der Schleifenbildung erzeugte Verzerrung hört man als Schleifenrauschen. Wenn die harmonischen Schleifen-Oberschwingungen eine Frequenzkomponente aufweisen, die das a-fache der Schleifenfrequenz ist, wobei a nicht notwendigerweise ganzzahlig ist, ist der Verzerrungsfaktor, wie er bei der Schleifenbildung gebildet wird, eine Funktion von a, die durch die folgende Gleichung gegeben ist:

wobei m diejenige ganze Zahl ist, die am dichtesten bei a liegt. Der Verzerrungsfaktor wird für a = 0,5; 1,5; 2,5; ... am größten und für 1,0; 2,0; 3,0 ... am kleinsten.

Es wird angenommen, daß die genannten zwei Faktoren die hauptsächlichen für das Schleifenrauschen sind. Auf jeden Fall wird das Schleifenrauschen erzeugt, wenn die Schleifenperiode ein ganzzahliges Vielfaches der Quelltonperiode ist.

Die Frequenzkomponenten des Schleifenrauschens weisen eine spektrale Verteilung auf, das in der Wiedergabe unerwünscht ist, so daß es so weit wie möglich entfernt werden sollte.

Andererseits sind die abgetasteten und gespeicherten Quelltondaten diejenigen, die direkt digitalisiert wurden, so daß die Tonqualität von der Qualität beim Abtasten abhängt. Wenn der Ton beim Abtasten viele Rauschkomponenten aufweist, enthält auch das ausgelesene und wiedergegebene Signal diese Rauschkomponenten. Wenn ein Musikton mit sogenanntem Vibrato abgetastet wird, ist dieser Ton leicht frequenzmoduliert. Bei der Schleifenbildung führt das bei der Frequenzmodulation erzeugte Seitenband zu nichtgeradzahligen Oberschwingungen, was als Schleifenrauschen wiedergegeben wird.

Zum Beginnen und Beenden der Schleifenbildung werden üblicherweise zwei Punkte gleichen Pegels, insbesondere des Pegels 0 verwendet.

Diese Auswahl von Schleifenpunkten ist schwierig und zeitaufwendig, da es nach einem Trial-and-Error-Verfahren erfolgt. Punkte mit in etwa gleichem Pegel werden als Start und Endpunkte festgelegt.

Für die Schleifenbildung ist es erforderlich, die Grundfrequenz der Quelltondaten zu erfassen. Herkömmlich wird so vorgegangen, daß die Musiktondaten ein Tiefpaßfilter (LPF) durchlaufen, um Rauschkomponenten hoher Frequenz auszufiltern. Es wird dann die Anzahl von Nulldurchgängen durch das Tiefpaßfilter ermittelt, um das Intervall zu ermitteln. Bei diesem Verfahren ist es erforderlich, daß der Musikton für längere Zeit aufrechterhalten wird, da das Intervall des Grundtones nur gemessen werden kann, wenn eine größere Anzahl von Nulldurchgängen gezählt wird. Das Verfahren läßt sich also nicht auf schnell abklingende Töne anwenden.

Als anderes Verfahren zum Ermitteln des Intervalls soll hier ein solches erwähnt werden, das darin besteht, daß schnelle Fourier-Transformation ausgeführt wird, um die Spitzenpegel der Musiktondaten zu erfassen. Wenn jedoch die Grundfrequenz tiefer ist als die Abtastfrequenz fS, ist es mit diesem Verfahren nicht möglich, die Grundfrequenz zu ermitteln, was zu geringer Wiedergabetreue führt. Darüber hinaus gibt es Töne, bei denen der Grundton erheblich schwächer ist als die Oberschwingungen, wodurch es ebenfalls schwierig ist, die Spitzen des Grundtons zuverlässig zu ermitteln.

Außer der Schleifenbildung wird zum Einsparen von Speicherkapazität auch noch die eingangs genannte Bitkompression der Quelltondaten verwendet. Praktisch erfolgt dies z. B. dadurch, daß aus mehreren vorgegebenen Filtern jeweils das ausgewählt wird, das auf blockweiser Grundlage zur höchsten Kompression führt, wobei jeder Block aus mehreren Abtastungen besteht.

Für eine solche Filterwahl werden jedem Block mit 16 Abtastungen der Signalamplitude Kopf- oder Paramterdaten vorangestellt, wie z. B. Bereichs- oder Filterdaten. Die Filterdaten dienen dazu, ein Filter auszuwählen, das zur höchsten Kompression führt oder bei dem die Kompression so gewählt ist, daß sie zum Kodieren optimal ist. Es werden z. B. Filter mit drei Betriebsarten genutzt, nämlich direkt mit PCM, mit erster Ordnung und mit zweiter Ordnung. Die Differentialfilter erster und zweiter Ordnung wirken beim Dekodieren oder Wiedergeben als IIR-Filter, so daß beim Dekodieren oder Wiedergeben der ersten Abtastung eines Blocks eine oder zwei Abtastungen, die dem Block vorausgehen, als Anfangswerte erforderlich sind.

Wenn Differentialfilter erster oder zweiter Ordnung für den ersten Block der Quelltondaten ausgewählt werden, fehlt jedoch eine vorhergehende Abtastung, was dazu führt, daß ein oder zwei Daten als Anfangswerte in einem Speicher abgelegt werden müssen. Die Hardware für den Dekoder wird also umfangreicher, was zur Schaltungsintegration und Kostenerniedrigung nicht erwünscht ist.

In der US 4,641,564 ist ein Verfahren zum Erzeugen von Quelltondaten beschrieben, bei dem Bereiche vorgegebener Längen einer Wellenform eines Musiktonsignales erzeugt werden. Hierzu werden Änderungen an Abtastpunkten einer gegebenen Periode ermittelt und mit entsprechenden Werten einer benachbarten Periode verglichen. Aus diesem Vergleich werden Differenzen zwischen einzelnen Abtastwerten gewonnen, die an sich klein sind. Die Differenzen einer gegebenen folgenden Periode werden sodann zu den ermittelten Werten einer unmittelbar vorangehenden Periode addiert, um so ein genaues und hochqualitatives Tonsignal zu gewinnen. Als Vorteil dieses bekannten Verfahren ist anzusehen, daß die Differenzen zwischen Amplituden der Wellenformen der benachbarten Blöcke sehr klein sind, so daß auch die Anzahl der Bits der Differenzdaten niedrig ist und ein Wellenformspeicher mit verringerter Kapazität eingesetzt werden kann. Bei dem bekannten Verfahren ist aber die Differenzbildung zwischen den verschiedenen Anfangspunkten und Endpunkten relativ aufwendig.

Weiterhin ist in der US 4,635,520 eine Vorrichtung zur Tonquellenformung beschrieben, bei der eine Interpolation vorgenommen wird, um den Endteil einer Wellenform mit dem Anfangsteil einer folgenden Wellenform zu verbinden. Damit wird ein glatter Übergang zwischen den jeweiligen Wellenformen erhalten.

Schließlich beschreibt die US 4,429,609 ein Verfahren zum Messen des Abstandes von Tonsignalen, bei dem eine hohe Korrelation zwischen aufeinander folgenden Signalen durch Einführen bestimmter Zeitverzögerungen gewonnen wird.

Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren zum Erzeugen von Quelltondaten zu schaffen, das mit möglichst geringem Aufwand Quelltondaten guter Tonqualität zu liefern vermag.

Diese Aufgabe wird erfindungsgemäß durch ein Verfahren gemäß dem Patentanspruch gelöst.

Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, daß ausgenutzt wird, daß in Tondaten regelmäßig wiederkehrende Muster vorhanden sind. Es wird dabei die Länge eines regelmäßig wiederkehrenden Musters bestimmt, sei es nach einem noch zu beschreibenden Verfahren oder nach einem anderen Verfahren. Es wird dann nämlich ein Bereich der ermittelten Länge solange im Gesamtsignal hin- und hergeschoben, bis festgestellt wird, daß benachbarte Bereiche ähnlich sind. Die Ähnlichkeit wird dabei nur durch Vergleich von Anfangs- bzw. Endbereichen ermittelt.

Das automatische Ermitteln der Intervall-Länge erfolgt mit hoher Genauigkeit auch dann, wenn nur wenige Abtastdaten zur Verfügung stehen. Auch das Verfahren zum automatischen Festlegen der richtigen Lage eines wiederkehrenden Musters arbeitet mit hoher Präzision. Die Komprimierverfahren führen aufgrund der genannten Anpassung zu hoher Integration, ohne daß es erforderlich ist, spezielle Hardware zur Verfügung zu stellen. Auch kann Schleifenrauschen verringert werden.

Die Erfindung wird im folgenden anhand eines durch Figuren veranschaulichten Ausführungsbeispiels erläutert. Es zeigen:

1 ein Blockdiagramm einer Vorrichtung zum Erzeugen von Quelltondaten;

2 ein Musiktonsignal

3 ein Flußdiagramm zum Erläutern, wie eine Intervall-Länge ermittelt wird;

4 ein Blockdiagramm zum Erläutern, wie Spitzenwerte festgestellt werden;

5 ein Musiktonsignal samt Hüllkurve;

5 ein Diagramm zum Erläutern der Abklingkurve für ein Musiktonsignal;

7 ein Blockdiagramm zum Erläutern einer Hüllkurvenbildung;

8 eine Charakteristik eines FIR-Filters;

9 ein Signal nach Hüllkurvenkorrektur des Musiktonsignals;

10 ein Diagramm zum Veranschaulichen der Charakteristik eines Kammfilters;

11 ein Flußdiagramm zum Erläutern eines Aufzeichnungsverfahrens mit Hilfe eines Kammfilters;

12 ein Diagramm zum Erläutern, wie Anfang und Ende eines Schleifenbereichs festgelegt werden;

13 ein Flußdiagramm zum Erläutern, wie Signale mit Hilfe optimaler Schleifenlage geformt werden;

14A und B ein Musiktonsignal vor bzw. nach Zeitbasiskorrektur;

15A und B Diagramme zum Erläutern von Blöcken für Bitkompression;

16 ein Signal, wie es durch mehrfaches Aneinanderfügen von Schleifensignalen erhalten wird;

17 einen Formantenbereich nach Hüllkurvenkorrektur;

18 ein Diagramm zum Erläutern der Signalverarbeitung vor und nach der Wahl eines Schleifenbereichs;

19 ein Blockdiagramm zum Erläutern der Funktion von Bitkompression und Kodierung;

20 ein Diagramm zum Veranschaulichen des Inhalts eines Datenblocks, wie er durch Bitkompression und Kodierung erhalten wird;

21 ein Diagramm zum Veranschaulichen des Inhalts der Anfangsblöcke eines Musiksignals; und

22 ein Blockdiagramm eines Systems mit Audioverarbeitungseinheit.

Anhand der 1 werden verschiedene Funktionen erläutert, die zwischen dem Abtasten eines Musikquellsignals und dem Speichern in einem Speicher erfolgen. Das Musikquelldatensignal wird an einem Anschluß 10 eingegeben. Es kann ein Signal sein, das direkt von einem Mikrophon aufgenommen wurde oder ein Signal, das in analoger oder digitaler Form von einem Aufzeichnungsmedium für digitale Audiosignale geliefert wird.

Die von der Vorrichtung gemäß 1 gebildeten Quelldaten haben eine sogenannte Schleifenbildung erfahren, die nun anhand des Musiktonsignals gemäß 2 erläutert wird. Direkt nach dem Start der Erzeugung eines Tones, sind im Ton Nichttonkomponenten enthalten, wie sie z. B. vom Anschlagen einer Taste oder vom Anblasen bei einem Blasinstrument herrühren. Daher wird zunächst ein sogenannter Formantenbereich FR mit ungenauer Signalperiodizität erzeugt. Es folgt dann eine mehrfache Wiederholung derselben Signalform, die dem Musikintervall (Abstand oder Tonhöhe) des Musiktons entspricht.

Eine Anzahl n von Perioden dieser sich wiederholenden Signalform wird als Schleifendomäne LP verwendet. Sie liegt zwischen einem Schleifenstartpunkt LPS und einem Schleifenendpunkt LPE. Der Formantenbereich FR und die Schleifendomäne LP werden in einem Speicher aufgezeichnet, und zum Wiedergeben wird zunächst der Formantenbereich abgespielt und dann wird die Schleifendomäne LP mehrfach für eine gewünschte Zeitspanne wiedergegeben.

Das eingegebene Musiktonsignal wird in einem Abtastblock 11 abgetastet, z. B. mit 38 kHz. Vor Abtastung wird ein 16-Bit-Signal erhalten. Das Abtasten entspricht dem A/D-Wandeln analoger Eingangssignale.

In einem folgenden Intervalldetektor 12 wird die Grundfrequenz, d. h. die Frequenz f0 des Grundtones, ermittelt.

Das Prinzip des Intervalldetektors 12 wird nun erläutert. Das Musiktonsignal weist manchmal eine Grundfrequenz auf, die deutlich niedriger ist als die Abtastfrequenz fS, so daß es schwierig ist, das Intervall dadurch zu ermitteln, daß lediglich die Spitzen im Musikton entlang der Frequenzachse abgetastet werden. Daher ist es erforderlich, das Spektrum der harmonischen Obertöne zu verwenden.

Das Musiktonsignal f(t), dessen Intervall ermittelt werden soll, kann durch Fourier-Expansion wie folgt ausgedrückt werden:

wobei a(ω) und ϕ(ω) die Amplitude bzw. Phase der Obertöne bedeuten. Wenn die Phasenverschiebung ϕ(ω) für jeden Oberton auf Null gesetzt wird, kann obige Formel wie folgt umgeschrieben werden:

Die Spitzen des so angepaßten Signales f(t) entsprechen ganzzahligen Vielfachen der Perioden aller Obertöne des Signals bei t = 0. Die Spitzen zeigen nur die Periode des Grundtones.

Auf Grundlage dieses Prinzips wird nun anhand von 3 die Schrittfolge zum Detektieren des Intervalls beschrieben.

Musiktondaten und ein Wert "0" werden einem Realteileingang 31 und einem Imaginärteil 33 eines Transformationsblocks 33 für schnelle Fourier-Transformation zugeführt.

Bei der schnellen Fourier-Transformation gilt, wenn das Intervall mit x(t) bezeichnet wird: ancos(2 π fnt + θ) (3),x(t) kann gegeben sein durch

Dies kann in komplexer Notation geschrieben werden als

wobei die folgende Gleichung n = –∞ cosθ = (exp(j θ) + exp(–j θ))/2 (6)benutzt wird. Durch Fourier-Transformation erhält man die folgende Gleichung:
in der δ(ω – ωn) eine Deltafunktion beschreibt.

In einem folgenden Block 34 wird der absolute Wert, d. h. die Wurzel der Summe der Quadrate des reellen und des imaginären Teils der Daten nach der schnellen Fourier-Transformation berechnet.

Durch Verwenden des Absolutwertes Y(ω) von X(ω) hebt sich die Phasenkomponente heraus, so daß gilt: Y(ω) = [X(ω) X(ω))]1/2 = (1/2)an δ(ω – ωn) (9).

Dies wird zur Phasenanpassung für alle hohen Frequenzkomponenten in den Musiktondaten ausgeführt. Die Phasenkomponenten können durch Setzen der Imaginärteile auf 0 angepaßt werden.

Der so berechnete Normierungswert wird als Realdatenteil einem weiteren Block 36 für schnelle Fourier-Transformation zugeführt, der in diesem Fall als Block für inverse schnelle Fourier-Transformation ausgebildet ist. Während diese Daten an einen Eingang für reelle Daten gelangen, wird einem Eingang für imaginäre Daten der Wert "0" zugeführt. Die inverse schnelle Fourier-Transformation kann ausgedrückt werden durch

Die so nach der inversen schnellen Fourier-Transformation gewonnenen Musiktondaten werden als Signal ausgegeben, das der Synthese der Cosinuswellen entspricht, wobei die Anteile höherer Frequenz in der Phase angepaßt sind.

Die Spitzenwerte der so hergestellten Quelltondaten werden in einem Spitzendetektor 37 ermittelt. Die Spitzenpunkte sind diejenigen Punkte, in denen die Spitzen für alle Frequenzkomponenten zusammenfallen. In einem folgenden Block 38 werden die Spitzenwerte nach absteigenden Werten geordnet. Das Intervall folgt durch Messen der Perioden der ermittelten Spitzen.

4 veranschaulicht eine Anordnung des Spitzendetektorblocks 37 von 3 zum Ermitteln der Spitzen, d. h. der Maximumwerte der Musiktondaten.

Es wird darauf hingewiesen, daß innerhalb von Musiktondaten eine große Anzahl von Spitzen mit unterschiedlichen Werten vorhanden ist. Ein Intervall kann dadurch gefunden werden, daß der Abstand zwischen Spitzen ermittelt wird.

Gemäß 4 wird eine Folge von Musiktondaten, die aus der inversen Fourier-Transformation folgen, über einen Eingangsanschluß 41 einem (N + 1)-stufigen Schieberegister 42 zugeführt, und es wird über Register a-N/2, ..., a0, ..., aN/2 an einen Ausgangsanschluß 43 geliefert. Das Schieberegister 42 wirkt als Fenster der Breite (N + 1)-Abtastwerten in bezug auf die Folge an Musiktondaten. Die Abtastwerte werden über dieses Fenster einem Maximalwertdetektor 44 zugeführt. Da die Musiktondaten zunächst in das Register a-N/2 gelangen und dann bis in das Register aN/2 transportiert werden, werden (N + 1) Abtastmusiktondaten aus den Registern in den Maximalwertdetektor 44 übertragen.

Der Maximalwertdetektor 44 ist so ausgebildet, daß er dann, wenn z. B. der Wert aus dem mittleren Register a0 von allen Werten maximal wurde, diesen Wert als maximalen Wert an den Ausgangsanschluß 45 gibt. Die Breite (N + 1) des Fensters kann beliebig gesetzt werden.

Die Einhüllende des abgetasteten digitalen Musiktonsignals wird in einem Einhüllendendetektor 13 mit Hilfe der Intervalldaten gewonnen. Das Einhüllendensignal, das in 5 mit 8 bezeichnet ist, wird dadurch gewonnen, daß die Spitzen im Musiktonsignal A aufeinanderfolgend verbunden werden. Es zeigt eine Änderung in der Lautstärke seit dem Zeitpunkt der Tonerzeugung an. Die Einhüllende wird durch Parameter ADSR (Attack Time/Decay Time/Sustain Level/Release Time) beschrieben. Im Fall eines Klaviertons beschreibt der Teil A (Attack Time TA) die Zeit, die zwischen dem Betätigen einer Taste und demjenigen Zeitpunkt vergeht, bis die gewünschte Lautstärke erreicht ist. Der zweite Anteil D (Decay Time TD) ist diejenige Zeit, die zwischen dem Zeitpunkt des Erreichens der gewünschten Lautstärke und dem Zeitpunkt des Erreichens einer Lautstärke vergeht, die gehalten wird. Der dritte Anteil S (Sustain Level LS) gibt die gehaltene Lautstärke an, während der letzte Anteil R (Release Time TR) die Zeit angibt, die zwischen dem Loslassen einer Taste und dem Ausklingen eines Tons vergeht. Die Zeiten TA, TD und TR können auch als Änderungsgrößen für die Lautstärke verstanden werden. Es können auch andere Hüllenparameter außer den vorgenannten vier Parametern verwendet werden.

Es wird darauf hingewiesen, daß im Hüllkurvendetektor 13 die Gesamtabfallrate des Signals erhalten wird, gleichzeitig mit Einhüllendendaten, wie sie z. B. durch die oben genannten Parameter ADSR gegeben sind. Diese Abfallszeitdaten nehmen einen Bezugswert "1" ab dem Zeitpunkt der Tonerzeugung während der Anschlagszeit TA an und fallen dann gleichmäßig ab, wie durch 6 veranschaulicht.

Die Funktion des Hüllkurvendetektors 13 gemäß 1 wird nun anhand des Flußdiagramms von 7 veranschaulicht.

Das verwendete Prinzip ist demjenigen ähnlich, das beim Ermitteln der Hüllkurve eines amplitudenmodulierten (AM)-Signals verwendet wird. Die Einhüllende wird ermittelt, indem angenommen wird, daß das ermittelte Intervall der Trägerfrequenz für ein AM-Signal entspricht. Die Hüllkurvendaten werden beim Wiedergeben von Musiktönen benutzt, die auf Grundlage der Hüllkurvendaten und der Intervalldaten gebildet werden.

Die Musiktondaten werden über einen Eingangsanschluß 51 einem Absolutwertausgabeblock 52 zugeführt, der den Absolutwert der Signalhöhedaten der Musiktöne ermittelt. Diese Absolutwertdaten werden einem digitalen FIR(Finite Impulse Response)-Filterblock 55 zugeführt. Dieser FIR-Block 55 dient als Tiefpaßfilter, dessen Abschneidecharakteristik dadurch bestimmt wird, daß ihm Filterkoeffizienten zugeführt werden, die zunächst in einem LPF-Koeffizientengenerator 54 auf Grundlage von Intervalldaten erzeugt wurden, die über einen Eingangsanschluß 53 zugeführt werden.

Die Filtercharakteristik gemäß dem Beispiel von 8 weist null Punkte bei Vielfachen der Grundfrequenz (f0) auf. Die in 5 mit B veranschaulichten Hüllkurvendaten können aus dem Musiktondatensignal A in 5 dadurch gewonnen werden, daß die Frequenzen des Grundtons und der Obertöne durch das FIR-Filter abgeschwächt werden. Für die Filtercharakteristik gilt die Formel H(f) = k·(sin(π f/f0))/f (11)in der f0 die Grundfrequenz, d. h. das Intervall des Musiktonsignals darstellt.

Anhand von 1 wird nun erläutert, wie Tonhöhendaten für den Formantenteil FR und die Schleifendomäne LP aus den Tonhöhendaten des abgetasteten Musiktonsignals erzeugt werden.

In einem ersten Block 14 zum Erzeugen der Schleifendaten werden die abgetasteten Musiktondaten geteilt, die mit Hilfe der zuvor ermittelten Hüllkurve 8 gemäß 5 gewonnen wurden (oder es wird mit dem Reziprokwert der Daten multipliziert). Dies dient dazu, eine Hüllkurvenkorrektur zu erzeugen, die für eine konstante Amplitude sorgt, wie dies in 9 dargestellt ist. Dieses korrigierte Signal, genauer gesagt die entsprechenden Signalhöhendaten werden gefiltert, um ebenfalls Tonhöhendaten zu erzeugen, in denen andere Komponenten neben den Tonkomponenten geschwächt sind, oder anders gesagt, in denen die Tonkomponenten hervorgehoben sind. Tonkomponenten sind hierbei Frequenzkomponenten mit ganzzahligen Vielfachen der Grundfrequenz f0. Die Daten werden durch ein Hochpaßfilter (HPF) geschickt, um Komponenten niedriger Frequenz, wie z. B. Vibratofrequenzen, zu entfernen, die in dem mit der Hüllkurve korrigierten Signal vorhanden sind. Anschließend folgt ein Kammfilter mit einer Frequenzcharakteristik, wie sie strichpunktiert in 10 angedeutet ist, d. h. mit einer Frequenzcharakteristik mit Frequenzbändern, die ganzzahlige Vielfache der Grundfrequenz f0 sind. Dadurch werden nur die im HPF-Signal vorhandenen Signale durchgelassen, wodurch Nichttonkomponenten oder Rauschkomponenten geschwächt werden. Falls erforderlich, werden die Daten auch durch ein Tiefpaßfilter (LPF) gesandt, um Rauschkomponenten zu entfernen, die dem Ausgangssignal vom Kammfilter überlagert sind.

Da Musiktondaten in der Regel ein konstantes Intervall, d. h. eine konstante Grundfrequenz aufweisen, tritt Energiekonzentration in der Nähe der Grundfrequenz f0 und ganzzahligen Vielfachen derselben auf. Rauschkomponenten weisen demgegenüber eine gleichmäßige Frequenzverteilung auf. Beim Bearbeiten der eingegebenen Musiktondaten mit Hilfe eines Kammfilters mit der Frequenzcharakteristik, wie sie in 10 strichpunktiert dargestellt ist, gelangen demgemäß nur Frequenzkomponenten der Grundfrequenz oder ganzzahliger Vielfachen derselben im wesentlichen ungeschwächt durch das Filter, während andere Komponenten geschwächt werden, wodurch das Signal/Rausch-Verhältnis verbessert wird. Die in 10 dargestellte Frequenzcharakteristik eines Kammfilters kann durch die Formel H(f) =[(cos(2 π f/f0) + 1)/2]N(12)veranschaulicht werden, in der f0 die Grundfrequenz des Eingangssignals ist, d. h. die Frequenz des Grundtons mit einem bestimmten Intervall. N ist die Zahl der Stufen des Kammfilters.

Das Musiktonsignal, dessen Rauschkomponenten auf die genannte Weise verringert wurden, wird einer Schaltung zugeführt, die wiederholte Signalformen ermittelt. Derartige Signalformen, wie z. B. die Schleifendomäne LP gemäß 2 wird abgetrennt und der verbliebene Teil wird aufgezeichnet, z. B. in einem Halbleiterspeicher. Das gespeicherte Musiktondatensignal enthält die Nichttonkomponente und einen Teil des Rauschens. Dadurch wird dafür gesorgt, daß beim Wiedergeben des wiederholten Signalteils das Schleifenrauschen verringert wird.

Die Frequenzcharakteristiken des HPF, des Kammfilters und des LPF werden auf Grundlage der Grundfrequenz f0 bestimmt, d. h. auf Grundlage der Intervalldaten, wie sie vom Block 12 gewonnen werden.

Ein Verfahren zum Signalaufzeichnen, bei dem das genannte Filtern benutzt wird, wird nun anhand von 11 veranschaulicht. In einem Schritt S1 wird die Grundfrequenz f0 des eingegebenen Analogsignals oder des zugehörigen digitalen Eingangssignals ermittelt. In einem Schritt S2 wird das eingegebene analoge Signal durch ein Kammfilter der oben beschriebenen Art gefiltert, um ein analoges oder digitales Ausgangssignal zu erzeugen. In einem Schritt S3 wird dafür gesorgt, daß nur Daten aus dem Grundfrequenzband und Frequenzbändern von harmonischen Vielfachen durchgelassen werden. In einem Schritt S4 wird das Ausgangssignal abgespeichert.

Beim beschriebenen Aufzeichnungsverfahren wird also das Musiktonsignal durch ein Kammfilter geschickt, das nur die Grundschwingung und harmonische Oberschwinungen durchläßt, dagegen Nichttonkomponenten und Rauschkomponenten abschwächt, um das Signal/Rausch-Verhältnis zu verbessern. Bei Schleifenbildung werden Musiktondaten mit abgeschwächten Rauschkomponenten wiederholt, um das Rauschen zu unterdrücken.

In einem Block 16 zum Erkennen der Schleifendomäne wird das Musiktonsignal auf wiederholte Signalformen hin untersucht, um aus Tonkomponenten, die sich von den zuvor genannten Tonkomponenten, die durch das beschriebene Filterverfahren hervorgehoben wurden, zu ermitteln. Mit diesen werden der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE gebildet.

Im Ermittlungsblock 16 werden Schleifenpunkte ausgewählt, die voneinander um ein ganzzahliges Vielfaches des Intervalls des Musiktonsignals entfernt liegen. Das Auswahlprinzip wird im folgenden erläutert. Wie eben genannt, muß der Schleifenpunktabstand ein ganzzahliges Vielfaches des Intervalls sein, wie es durch die Grundfrequenz des Musiktonsignals gegeben ist. Durch genaues Ermitteln des Intervalls kann also der Schleifenpunktabstand ermittelt werden.

Da nach Ermitteln des Intervalls der Schleifenabstand vorbestimmt ist, werden zwei Punkte ausgewählt, die um den genannten Abstand voneinander entfernt sind. Dann werden die Signale in der Umgebung dieser Punkte untersucht, und es wird eine Korrelation gebildet. Es wird nun eine Auswertefunktion erläutert, die die Konvolution oder Summenbildung von Produkten in bezug auf Abtastpunkte im Bereich der genannten zwei Punkte benutzt. Die Konvolution wird mehrfach für Sätze aller Punkte ausgeführt, um die Korrelation der Signale zu ermitteln. Die Musiktondaten werden dabei aufeinanderfolgend einer Einheit zum Aufsummieren von Produkten zugeführt, z. B. einer digitalen Signalverarbeitungseinrichtung, was weiter unten beschrieben wird. Die Konvolution wird dort berechnet und ausgegeben. Derjenige Satz von zwei Punkten, für den die Konvolution maximal wird, wird als Satz des richtigen Schleifenstartpunktes LPS und des richtigen Schleifenendpunktes LPE angesehen.

In 12 ist mit a0 ein Kandidatenpunkt für den Schleifenstartpunkt LPS eingezeichnet. b0 ist entsprechend ein Kandidat für den Schleifenendpunkt LPE. Weitere Amplitudendaten a-N, ..., a-2, a-1, a0, a1, a2, ..., aN in mehreren Punkten, hier (2N + 1) Punkten vor und hinter dem Kandidatenpunkt a0 sind außerdem dargestellt. Entsprechend sind Amplitudenpunkte b-N, ..., b-2, b-1, b0, b1, b2, ..., bN vor und hinter dem Kandidatenpunkt b0 vorhanden. Die Abschätzfunktion E (a0, b0) wird dann:

Die Konvolution um die Punkte a0 und b0 folgt aus Gleichung (13). Die Sätze von Kandidaten a0 und b0 werden schrittweise geändert, bis alle Schleifenpunktkandidaten untersucht sind. Diejenigen, für die die Auswertefunktion E maximal wird, werden als Schleifenpunkte angesehen.

Neben der Konvolutionsmethode kann z. B. auch das Verfahren mittlerer Fehlerquadrate verwendet werden, um Schleifenpunkte aufzufinden. Es gilt dann die folgende Gleichung:

In diesem Fall liegen dann die richtigen Punkte vor, wenn die Auswertefunktion minimal wird.

Das oben beschriebene Auswahlverfahren für optimale Schleifenpunkte kann immer eingesetzt werden, wenn analoge Signale mit wiederholten Perioden digitalisiert werden, um Schleifendaten zu bilden. Das Verfahren wird im folgenden anhand des Flußdiagramms von 13 weiter veranschaulicht.

Gemäß 13 wird ein analoges Signal mit wiederholter Signalform in einem Schritt S11 in ein digitales Signal mit mehreren Abtastpunkten umgewandelt. In einem Schritt S12 werden Abtastpunkte ausgewählt, die voneinander um die Wiederholungsperiode getrennt sind. In einem Schritt S13 werden Werte für eine vorgegebene Auswertefunktion auf Grundlage von Abtastpunkten berechnet, die sich in der Nähe der beiden ausgewählten Punkte befinden. Die ausgewählten Punkte werden dann in einem Schritt S14 bei aufrechterhaltenem Abstand solange verschoben, bis eine vorgegebene Anzahl von Verschiebungen erreicht ist. Ist letzteres der Fall, wird aus den berechneten Werten derjenige Satz ausgewählt, der die größte Korrelation zeigt. In einem Schritt S16 werden dann diejenigen Abtastdaten zwischen den ausgewählten Punkten als Abtastdaten für das wiederholte Signal herausgezogen.

Im Schleifenpunktermittlungsblock 16 gemäß 1 werden also der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE auf Grundlage des Intervalls ermittelt. Aus dem Abstand der Punkte, der mehrere Intervalle des Grundtons umfassen kann, folgt ein Intervall-Wandelverhältnis, das in einem Zeitbasis-Korrekturblock 17 verwendet wird.

Die Zeitbasiskorrektur erfolgt, um die Intervalle verschiedener Quelltondaten aneinander anzupassen, wenn diese Daten in einem Speicher abgelegt werden. Statt dem Intervall-Wandelverhältnis können für diesen Zweck die Intervalldaten genutzt werden, wie sie der Intervalldetektor 12 liefert.

Das im Zeitbasis-Korrekturblock ausgeführte Intervallnormalisierungsverfahren wird nun anhand von 14 erläutert.

14A stellt das Musiktonsignal vor dem Kompandieren der Zeitbasis dar, während 14B das entsprechende Signal danach zeigt. Die Zeitachsen sind in Blöcke für Quasidirekte-Bitkompression und Kodierung unterteilt, wie weiter unten erläutert.

Beim Signal A vor der Zeitbasiskorrektur steht die Schleifendomäne LP in der Regel nicht in direkter Relation mit einem Block. Beim Signal gemäß 14B ist die Schleifendomäne LP in der Zeitbasis kompandiert, so daß sie ein ganzzahliges Vielfaches (m-faches) einer Blocklänge oder Blockperiode ist. Die Schleifendomäne ist auch entlang der Zeitachse verschoben, so daß der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE mit den Grenzen von Blöcken übereinstimmen. Die Zeitbasiskorrektur, d. h. das Kompandieren der Zeitbasis und das Verschieben in der genannten Weise, sorgt dafür, daß Schleifenbildung für eine ganzzahlige Anzahl (m) von Blöcken erfolgen kann, wodurch das Normalisieren des Intervalls der Quelltondaten beim Aufzeichnen erfolgt.

Mit einem Versatz ΔT von der vordersten Blockgrenze des Musiktonsignals kann ein Tonhöhensignalwert "0" eingefügt werden. Dieser Datenwert "0" dient als Pseudodatenwert, damit Filter, die einen Anfangswert für die Datenkompression benötigen, ausgewählt werden können. Dies wird weiter unten anhand einer durch 21 veranschaulichten blockweisen Kompression erläutert.

15 zeigt die Struktur für einen Block für Signalamplitudenwerte nach der Zeitbasiskorrektur, welche Daten dann einer Bitkompression und einem Kodieren unterworfen werden, wie später erläutert. In einem Block (Anzahl von Abtastwerten oder Worten) sind h Amplitudendaten vorhanden. Im vorliegenden Fall besteht die Intervallnormalisierung in einem Zeitbasiskompandieren, bei dem die Anzahl von Worten innerhalb von n Perioden (der konstanten Zeitdauer TW gemäß 2), d. h. innerhalb der Schleifenperiode LP, ein ganzzahliges Vielfaches (m-faches) der Zahl der Worte h im Block sind. Vorzugsweise besteht die Intervallnormalisierung darin, daß der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE jeweils auf Blockgrenzen verschoben werden. Ist dies der Fall, wird es möglich, Fehler beim Schalten von Blöcken zu vermeiden, was beim Dekodieren mit Hilfe eines Bitkompressions- und Kodiersystems der Fall ist.

In 15A sind Worte WLPS und WLPE in jeweils einem Block die Abtastwerte an den Schleifenstart- bzw. -endpunkten LPS bzw. LPE, genauer die Abtastwerte jeweils direkt vor einem Schleifenendpunkt LPE im korrigierten Signal. Wenn nicht verschoben wird, fallen die genannten Start- und Endpunkte nicht notwendigerweise mit den Blockgrenzen zusammen, so daß, wie dies in 15B dargestellt ist, die Warte WLPS und WLPE an beliebigen Positionen innerhalb der Blöcke liegen. In jedem Fall ist jedoch die Anzahl von Worten zwischen den Worten WLPS und WLPE ein m-faches der Anzahl von Worten h in einem Block, wobei m ganzzahlig ist, was bedeutet, daß das Intervall normalisiert ist.

Das Kompandieren der Zeitbasis eines Musiksignals mit der eben genannten Normalisierung kann auf verschiedene Arten erfolgen. Z. B. kann es dadurch erfolgen, daß die Amplitudenwerte der abgetasteten Signale interpoliert werden, wobei ein Filter für übergeordnetes Abtasten verwendet wird.

Wenn die Schleifenperiode für ein Musiksignal nicht ein ganzzahliges Vielfaches der Abtastperiode ist, so daß ein Versatz der Amplitudenwerte im Schleifenstartpunkt LPS und im Schleifenendpunkt LPE besteht, kann die mit dem Amplitudenwert im Startpunkt übereinstimmende Amplitude benachbart zum Schleifenendpunkt gefunden werden, und zwar dadurch, daß z. B. übergeordnetes Abtasten verwendet wird, um die Schleifenperiode zu realisieren.

Eine solche Schleifenperiode, die nicht ein ganzzahliges Vielfaches der Abtastperiode ist, kann so festgelegt werden, daß sie ein ganzzahliges Vielfaches der Blockperiode ist, was durch das oben beschriebene Zeitbasiskorrekturverfahren erfolgt. Wenn Zeitbasiskompandieren durch z. B. 256-faches übergeordnetes Abtasten erfolgt, kann der Amplitudenfehler zwischen den Werten für den Startpunkt LPS und den Endpunkt LPE auf 1/256 verringert werden.

Nachdem die Schleifendomäne LP ermittelt ist und in der Zeitbasis korrigiert ist, werden Schleifendomänen LP aneinandergehängt, wie dies durch 16 veranschaulicht ist, um Schleifendaten zu erzeugen. Das Signal gemäß 16 ist dadurch erhalten, daß eine einzige Schleifendomäne LP gemäß 14B herausgegriffen ist und diese eine Domäne mehrfach aneinandergehängt ist. Das Aneinanderhängen von Schleifendomänen erfolgt in einem Schleifensignal-Erzeugungsblock 21 (1).

Da die Schleifendaten dadurch gebildet werden, daß eine Schleifendomäne LP mehrfach wiederholt wird, folgt auf einen Startblock mit dem Wort WLPS direkt ein Endblock mit dem Wort WLPE, das dem Schleifenendpunkt WLPE, genauer gesagt dem Punkt direkt vor diesem Punkt, entspricht. Damit ein Kodieren für Bitkompression erfolgen kann, muß zumindest der Endblock direkt vor dem Startblock der Schleifendomäne LP abgespeichert sein. Allgemeiner gesprochen, müssen zum Zeitpunkt einer Bitkompression und Kodierung auf Blockbasis die Parameter für den Startblock, d. h. die Daten für Bitkompression und Kodierung für jeden Block, z. B. Bereichs- oder Filterauswahldaten, was weiter unten beschrieben wird, nur auf Grundlage von Daten des Start- und des Endblocks gebildet werden. Diese Technik kann auch in dem Fall angewendet werden, in dem Musikdaten nur aus Schleifendaten ohne Formante bestehen.

Bei dieser Vorgehensweise stehen dieselben Daten für mehrere Abtastpunkte vor und nach dem Schleifenstartpunkt LPS und dem Schleifenendpunkt LPE zur Verfügung. Daher sind die Parameter für Bitkompression und Kodierung in den Blöcken direkt vor diesen Punkten dieselben, wodurch Fehler und Rauschen beim Wiedergeben der Schleifen nach dem Dekodieren verringert werden können. Die Musikdaten beim Wiedergeben sind dann stabil und frei Übergangsrauschen. Bei der Ausführungsform sind etwa 500 Abtastdaten in einem Schleifenbereich LP vor dem Startblock vorhanden.

Für die Signalerzeugung für den Formantenbereich FR wird eine Hüllkurvenkorrektur in einem Block 18 (1) ausgeführt, entsprechend der Korrektur für Schleifendaten im Block 14. Die Hüllkurvenkorrektur wird dadurch ausgeführt, daß die abgetasteten Musiktondaten durch Hüllkurvendaten (6) geteilt werden, die nur aus den Daten für abfallende Signale bestehen, wodurch Amplitudenwerte für ein Signal erhalten werden, wie es in 17 dargestellt ist. Beim Ausgangssignal gemäß 17 macht sich demgemäß nur die Hüllkurve während der Zeitspanne TA bemerkbar, während in den anderen Bereichen konstante Amplitude vorliegt.

Das hüllkurvenkorrigierte Signal wird, falls erforderlich, in einem Block 19 gefiltert. Dies erfolgt mit einem Kammfilter mit einer Frequenzcharakteristik, die z. B. derjenigen entspricht, wie sie mit der strichpunktierten Linie in 10 dargestellt ist. Die Kammfilterdaten werden auf Grundlage der Intervalldaten für die Grundfrequenz gebildet, welche Daten vom Intervalldetektor 12 geliefert werden. Die Daten dienen dazu, Signaldaten aus dem Formantenbereich in den Quelltondaten zu erzeugen, die schließlich in einem Speicher abgelegt werden.

In einem folgenden Zeitbasis-Korrekturblock 20 erfolgt eine Zeitbasiskorrektur, entsprechend wie sie weiter oben anhand des Blocks 17 beschrieben wurde. Die Zeitbasiskorrektur dient dazu, die Intervalle für die Tondaten dadurch zu normalisieren, daß die Zeitbasis auf Grundlage des Intervall-Wandelverhältnisses kompandiert wird, wie es im Block 16 gefunden wurde, oder auf Grundlage der Intervalldaten, wie sie vom Block 12 geliefert werden.

In einem Mischer 22 werden die Formantendaten und die Schleifendaten, die mit denselben Intervalldaten oder Intervall-Wandelverhältnissen korrigiert wurden, gemischt. Hierzu wird ein Hamming-Fenster auf das Formantenbereichs-Bildungssignal vom Block 20 angewandt. Es wird ein mit den Schleifendaten zu mischendes Signal vom Ausblendtyp erzeugt, das abklingt. Auf die Schleifendaten vom Block 21 wird ein ähnliches Hamming-Fenster angewandt. Ein mit den Formantendaten zu mischendes Signal vom Ausblendtyp wird erzeugt, das anwächst. Die beiden Signale werden gemischt (oder überblendet), um ein Musiktonsignal zu erzeugen, das die Quelltondaten darstellt. Als abzuspeichernde Schleifendaten können Daten herausgegriffen werden, die von einer Schleifendomäne herrühren, die etwas vom überblendeten Bereich entfernt ist, um dadurch das Schleifenrauschen beim Wiedergeben von Schleifensignalen zu verringern. Auf diese Weise werden Tonhöhendaten eines Quelltonsignals erzeugt, das über einen Formantenbereich (Nichttonkomponenten) und Schleifendaten (wiederholte, regelmäßige Daten) verfügt.

Der Startpunkt für das Schleifendatensignal kann auch mit dem Schleifenstartpunkt für das formantenbildende Signal verbunden sein.

Zum Ermitteln der Schleifendomäne und zum Mischen des Formantenbereichs und der Schleifendaten wird zunächst von Hand gemischt. Man hört sich dann das Ergebnis an, und es wird dann auf Grundlage der Schleifenstart- und -endpunkte genauer verarbeitet.

Es wird also, bevor die genauere Schleifenbereichsermittlung in Block 16 erfolgt, diese Ermittlung und das Mischen von Hand genommen, und es erfolgt ein Probehören, wie in der folgenden 18 erläutert. Danach wird das oben beschriebene genauere Verfahren ab einem Schritt S26 in 18 ausgeführt.

Im Flußdiagramm gemäß 18 werden die Schleifenpunkte in einem Schritt S21 mit geringer Genauigkeit festgelegt, indem Nullpunktsüberkreuzungen ermittelt werden oder das Signal optisch überprüft wird. In einem Schritt S22 wird das Signal zwischen den Schleifenpunkten mehrfach wiedergegeben. In einem Schritt S23 wird durch Hören beurteilt, ob die Schleifenbildung ordnungsgemäß erfolgt. Ist dies nicht der Fall, folgt Schritt S21, um erneut Schleifenpunkte zu ermitteln. Dieser Ablauf erfolgt solange, bis ein zufriedenstellendes Ergebnis erhalten wird. Ist dies der Fall, folgt ein Schritt S24, in dem das Signal z. B. durch Überblenden mit dem Formantensignal gemischt wird. In einem Schritt S25 wird überprüft, ob der Höreindruck beim Übergang von der Formante zu den Schleifen gut ist. Ist dies nicht der Fall, wird der Schritt S24 zum erneuten Mischen wiederholt. Ist der Höreindruck gut, folgt ein Schritt S26, in dem das Ermitteln der Schleifenpunkte gemäß dem Block 16 mit hoher Genauigkeit erfolgt. Es erfolgt Abtasten z. B. mit einer Auflösung von 1/256 über die Abtastperiode mit z. B. 256-fachem übergeordnetem Abtasten. In einem folgenden Schritt S27 wird das Intervall-Wandelverhältnis für die Intervallnormalisierung berechnet. In einem Schritt S28 erfolgt die Zeitbasiskorrektur gemäß der Blöcke 17 oder 20. In einem Schritt S29 wird die Schleifenbildung gemäß Block 21 (1) ausgeführt. Das Mischen gemäß Block 22 erfolgt in einem folgenden Schritt S30. Der Ablauf ab Schritt S26 erfolgt mit Hilfe der Schleifenpunkte, wie sie in den Schritten S21 – S25 erhalten werden. Die Schritte S21 – S25 können für volle Automatisierung der Schleifenbildung weggelassen werden.

Die so erhaltenen Amplitudenwerte, die aus dem Formantenbereich FR und der Schleifendomäne LP bestehen, werden in einem auf den Mischer 22 folgenden Block 23 bitkomprimiert und kodiert.

Zum Komprimieren und Kodieren können verschiedene Systeme verwendet werden. Geeignet ist eines, wie es in JP-62-008629 A und JP-62-003516 A vorgeschlagen ist. Dort wird eine vorgegebene Anzahl von h Abtastworten mit Amplitudenwerten in einem Block gruppiert, und blockweise wird Bitkompression ausgeführt. Dieses hochwirkungsvolle System wird im folgenden anhand von 19 kurz erläutert.

Im Blockschaltbild gemäß 19 ist aufzeichnungsseitig ein Kodierer 70 und wiedergabeseitig ein Dekodierer 90 vorhanden. Die Amplitudenwerte x (n) des Quelltondatensignals werden einem Eingangsanschluß 71 des Kodierers 70 zugeführt.

Die Amplitudenwerte x (n) des Eingangssignals werden einem FIR-Digitalfilter 74 zugeführt, das durch ein Vorhersageglied 72 und ein Addierglied 73 gebildet ist. Ein jeweiliger Amplitudenwert x (n) des Vorhersagesignals vom Vorhersageglied 72 wird dem Addierglied 73 als Subtraktionssignal. zugeführt. Dort wird es vom Eingangssignal x (n) abgezogen, um ein Vorhersagefehlersignal oder ein Abweichungssignal d (n) zu erzeugen. Das Vorhersageglied 72 berechnet den Vorhersagewert x (n) aus einer Primärkombination der letzten p Eingangswerte x(n – p), x(n – P + 1), ..., x(n – 1). Das FIR-Filter 74 wird im folgenden als Kodierfilter bezeichnet.

Mit dem oben angegebenen hochwirksamen System zur Bitkompression und Kodierung werden die in eine vorgegebene Zeitspanne fallenden Quelltondaten, d. h. eine vorgegebene Anzahl h von Worten, die in Blöcken gruppiert sind, für jeden Block ausgewählt. Das Kodierfilter 74 hat hierfür optimale Charakteristik. Es kann dadurch gebildet sein, daß mehrere, im Beispielsfall vier, verschiedene Charakteristiken vorab festgelegt werden und dann die optimale Charakteristik ausgewählt wird, d. h. diejenige, mit der das höchste Kompressionsverhältnis erzielbar ist. Im Vorhersageglied 72 wird hierzu ein Satz von Koeffizienten in mehreren, im Beispielsfall vier, Sätzen von Koeffizientenspeichern abgelegt. Im Zeitmultiplex wird jeweils ein Koeffizientensatz angewählt.

Das Abweichungssignal d(n), das einen vorhergesagten Fehler darstellt, wird über einen Summierpunkt 81 einem Bitkompressor zugeführt, der einen Pegelschieber 75 (G) und einen Quantisierer 76 aufweist. Dort erfolgt das Komprimieren so, daß der Indexteil und die Mantisse bei Fließkommanotation der Verstärkung G bzw. dem Ausgangssignal vom Quantisierer 76 entsprechen. Es wird also eine Requantisierung ausgeführt, bei der die Eingangsdaten durch den Pegelschieber 75 um eine Anzahl von Bits verschoben werden, welche Anzahl der Verstärkung G entspricht. Dadurch wird der Bereich verschoben, und eine vorgegebene Anzahl von Bits der bitverschobenen Daten wird durch den Quantisierer 76 herausgenommen. Eine Rauschformschaltung 77 dient dazu, den quantisierten Fehler zwischen dem Ausgangssignal und dem Eingangssignal des Quantisierers 76 an einem Summierpunkt 78 zu bilden und dieses Signal über einen G-1-Pegelschieber 79 an ein Vorhersageglied 80 zu geben. Das vorhergesagte Signal für den Quantisierfehler wird als Subtraktionssignal auf den Summierpunkt 81 gegeben, um dadurch eine sogenannte Fehlerrückkopplung zu erhalten. Nach diesem Requantisieren durch den Quantisierer 76 und die Fehlerrückkopplung durch die Rauschformschaltung 77 wird an einem Ausgangsanschluß 82 ein Ausgangssignal d(n) erhalten.

Das Ausgangssignal d'(n) vom Summierpunkt 81 ist die Differenz d(n) vom Summierpunkt 73, vermindert um das Vorhersagesignal e(n) für den Quantisierungsfehler, wie es von der Rauschformschaltung 77 gebildet wird. Das Ausgangssignal d''(n) vom G-Pegelschieber 75 entspricht dem Ausgangssignal d'(n) vom Summierpunkt 81 multipliziert mit der Verstärkung G. Das Ausgangssignal d(n) vom Quantisierer 76 ist die Summe der Ausgangssignale d''(n) vom G-Pegelschieber 75 und des Quantisierfehlersignals e(n), wie es vom Summierpunkt 78 ausgegeben wird. Nach Durchlaufen des G-1 -Pegelschiebers 79 und des Vorhersageglieds 80, wobei die Primärkombination der letzten r Eingangssignale verwendet wird, ist der Quantisierungsfehler e(n) in das Vorhersagesignal e(n) für den Quantisierungsfehler umgewandelt.

Nach dem vorstehend beschriebenen Kodieren sind die Quelltondaten in das Ausgangssignal d(n) vom Quantisierer 76 umgewandelt, und sie werden an einem Ausgangsanschluß 82 ausgegeben.

Betriebsartauswahldaten für die optimale Filterwahl werden von einer adaptiven Bereichsvorhersageschaltung 84 ausgegeben und z. B. an das Vorhersageglied 72 des Kodierfilters 74 und einen Ausgangsanschluß 87 gegeben. Bereichsdaten zum Bestimmen der Bitschiebezahl oder der Verstärkungen G und G-1 werden auch an die Pegelschieber 75 und 79 und an einen Ausgangsanschluß 86 gegeben.

Der wiedergabeseitige Dekodierer 90 weist einen Eingangsanschluß 91 auf, dem ein Signal d(n) zugeführt wird, das durch Übertragen oder Aufzeichnen und Wiedergeben des Ausganssignals d(n) vom Ausgangsanschluß 82 vom Kodierer 70 gebildet wird. Dieses Eingangssignal wird einem Summierpunkt 93 über einen G-1 -Pegelschieber 92 zugeführt. Das Ausgangssignal x'(n) vom Summierpunkt 93 wird einem Vorhersageglied 94 zugeführt und dabei in ein Vorhersagesignal x(n) umgewandelt, das dann auf einen Summierpunkt 93 gegeben wird, wo zu ihm das Ausgangssignal d(n) vom Schieber 92 addiert wird. Das Summensignal wird als Dekodierer-Ausgangssignal x(n) an einen Ausgangsanschluß 95 gegeben.

Die Bereichsdaten und die Betriebsartauswahldaten, die an den Ausgangsanschlüssen 86 und 87 des Kodierers 70 ausgegeben werden, werden an Eingangsanschlüssen 96 bzw. 97 des Dekodierers 90 eingegeben. Die Bereichsdaten vom Eingangsanschluß 96 werden an den Schieber 92 übertragen, um dessen Verstärkung G-1 festzulegen, während die Betriebsartauswahldaten vom Eingangsanschluß 97 an das Vorhersageglied 94 gegeben werden, um die Vorhersagecharakteristik so festzulegen, daß sie mit derjenigen des Vorhersageglieds 72 des Kodierers 70 übereinstimmt.

Bei dem so aufgebauten Dekodierer 90 ist das Ausgangssignal d(n) vom Schieber 92 das Produkt aus dem Eingangssignal d(n) und der Verstärkung G-1. Das Ausgangssignal x(n) vom Summierpunkt 93 ist die Summe aus dem genannten Ausgangssignal vom Schieber 92 und vom Vorhersagesignal x(n).

20 zeigt einen Block von Ausgangsdaten vom bitkomprimierenden Kodierer 70. Es sind 1-Byte-Kopfdaten (Parameterdaten, die die Kompression betreffen, oder Unterdaten) RF und 8-Byte-Abtastdaten DA0 – DB3 vorhanden. Die Kopfdaten RF sind 4-Bit-Bereichsdaten, 2-Bit-Betriebsartwahldaten oder Filterwahldaten und zwei 1-Bit-Flaggendaten, wie z. B. ein Datenwert LI, der das Vorhandensein oder das Fehlen einer Schleife anzeigt, und ein Datenwert EI, der anzeigt, ob der letzte Block des Signals negativ ist. Jeder Abtastwert der Amplitudendaten ist nach Bitkompression durch vier Bits wiedergegeben, während 16 Abtastwerte von 4-Bit-Daten DA0H – DB3L in den Daten DA0 – DB3 enthalten sind.

21 zeigt einen Block von bitkomprimierten und kodierten Amplitudendaten, die dem Anfang des in 2 dargestellten Musiktonsignals entsprechen. Es sind nur die Amplitudendaten ohne den Kopf dargestellt. Der Anschaulichkeit halber besteht jeder Block nur aus acht Abtastdaten, es können aber auch z. B. 16 Abtastdaten vorhanden sein. Dies gilt für den Fall von 15.

Die oben beschriebene quasi-augenblickliche Bitkompression und Kodierung wählt entweder unmittelbaren PCM-Modus aus, der direkt das eingegebene Musiktonsignal ausgibt, oder einen Differentialfiltermodus erster Ordnung oder einen solchen zweiter Ordnung, die jeweils das Musiktonsignal gefiltert ausgeben, was zu Ausgangssignalen mit höchstem Kompressionsverhältnis führt.

Wenn Musiktöne von einem Speicher abgetastet und gelesen werden, beginnt das Eingeben des Musiktonsignals in einem Tonerzeugungs-Startpunkt KS. Wenn ein Differentialfiltermodus erster oder zweiter Ordnung, der einen Anfangswert benötigt, im ersten Block nach dem Tonerzeugungs-Startpunkt KS gewählt wird, wäre es erforderlich, einen Inialisierungswert abzuspeichern. Es ist jedoch erwünscht, daß dies nicht erforderlich ist. Aus diesem Grund werden in der Anfangsperiode nach dem Tonerzeugungs-Startpunkt KS Pseudoeingangssignale erzeugt, die dazu führen, daß der unmittelbare PCM-Modus gewählt wird. Es erfolgt das Datenverarbeiten dann so, daß mit diesen Pseudosignalen die Eingangssignale bearbeitet werden.

Dies erfolgt z. B. dadurch, daß, wie in 21 dargestellt, ein Block mit lauter Werten "0" als Pseudoeingangssignalblock vor dem Tonerzeugungs-Startpunkt KS angeordnet wird. Diese Daten "0" werden als Amplitudenwerte behandelt und bitkomprimiert. Dies kann dadurch erfolgen, daß ein Block mit den Werten "0" in einem Speicher abgelegt wird oder daß beim Beginn des Abtastens von Musiktönen zunächst Werte "0" vor dem Startpunkt KS angeordnet werden, d. h. ein stiller Bereich vor der Tonerzeugung. Mindestens ein Block von Pseudoeingangssignalen ist erforderlich.

Die Musiktondaten einschließlich der so gebildeten Pseudoeingangssignale werden durch das anhand von 19 veranschaulichte System bitkomprimiert und kodiert und dann aufgezeichnet, z. B. in einem Speicher. Das komprimierte Signal wird wiedergegeben.

Beim Wiedergeben von Musiktondaten mit Pseudoeingangssignal wird zunächst der unmittelbare PCM-Modus gewählt, wodurch es nicht erforderlich ist, Anfangswerte für Differentialfilter erster oder zweiter Ordnung vorab festzulegen.

Die Verzögerung im Anfangszeitpunkt der Tonsignale aufgrund des Pseudoeingangssignals führt scheinbar zu einem Stören des Tonsignals, da zunächst Stille herrscht. Dies stört jedoch nicht tatsächlich, da die Abtastfrequenz 32 kHz beträgt, mit jeweils 16 Abtastwerten in einem Block. Dadurch ist die Verzögerung etwa 0,5 msec, was im Höreindruck nicht auffällt.

Die oben beschriebene Bitkompression und Kodierung und andere Signalverarbeitungen erfolgen vorzugsweise mit Hilfe eines digitalen Signalprozessors (DSP). 22 veranschaulicht ein Ausführungsbeispiel für eine Audiosignalverarbeitungseinheit 107 als Tonquelleneinheit, die Quelltondaten verarbeitet. Auch Peripheriegeräte sind dargestellt.

Ein Host-Computer 104, z. B. in Form eines üblichen PCs eines digitalen elektronischen Musikinstruments oder eines Spielgerätes, wird an die Audiosignalverarbeitungseinheit 107 als Tonquelleneinheit angeschlossen, so daß die Quelltondaten vom Host-Computer 104 in die Verarbeitungseinheit 107 geladen werden. Die Audiosignalverarbeitungseinrichtung (APU = Audio Processing Unit) 107 weist eine CPU 103, wie einen Mikroprozessor, einen digitalen Signalprozessor DSP 101 und einen Speicher 102 zum Speichern der Quelltondaten auf. Es werden also zumindest die eben genannten Daten im Speicher 102 gespeichert. Die DSP 101 führt eine Vielzahl von Abläufen aus, einschließlich der Auslesesteuerung für die Quelltondaten, aber auch Schleifenbit-Expansion oder -Restauration, Intervallkonversion, Hüllkurvenwertaddition oder Echoerzeugung. Der Speicher 102 dient auch als Pufferspeicher für Werte, die bei diesen Abläufen erzeugt werden. Die CPU 103 steuert die von der DSP 101 ausgeführten Abläufe.

Die digitalen Musiktondaten, wie sie schließlich nach Abschluß der verschiedenen, von der DSP 101 ausgeführten Abläufe mit Hilfe der Quelltondaten vom Speicher 102 zur Verfügung stehen, werden durch einen D/A-Wandler 105 umgewandelt und an einen Lautsprecher 106 gegeben.

Beim Ausführungsbeispiel werden die Quelltondaten durch Verbinden des Formantenbereichs und der Schleifendomäne miteinander gebildet. Das beschriebene Verfahren kann aber auch auf Quelltondaten angewendet werden, die nur aus Schleifendomänen bestehen. Die dekodierseitigen Einrichtungen und die Speicher können auch extern, auch steckbar, angeordnet sein. Die Verfahren sind nicht nur auf das Erzeugen von Musiktönen anwendbar, sondern auch auf Spracherzeugung.