Die Erfindung betrifft ein Verfahren zum Erzeugen von Quelltondaten nach
dem Oberbegriff des Patentanspruchs 1. Bei einem solchen Verfahren ist es
erforderlich, verschiedene 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 Musikin
strumenten 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 Be
mühungen, Verfahren so zu gestalten, daß Speicherplatz einge
spart 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 Musik
ton besteht typischerweise aus einer Nichttonkomponente, wie
sie z. B. beim Anschlagen einer Klaviertaste oder beim Anbla
sen eines Blasinstruments erfolgt, und einer periodischen
Tonkomponente. Die Nichttonkomponente stellt einen Formanten
teil mit nicht festliegender Periodizität dar. In der Tonkom
ponente weist das Signal ein bestimmtes Signalintervall auf.
Durch Wiederholen von n (ganzzahlig) des Intervalls als
Schleifendomäne kann ein verlängerter Ton unter Nutzung ge
ringen Speicherplatzes erzeugt werden.
Bei der Schleifenbildung besteht ein Problem, das als Schlei
fenrauschen bekannt ist. Zum Schleifenrauschen kommt es auf
grund einer besonderen Verteilung der Frequenzen. Das Rau
schen fällt auch dann auf, wenn sein Pegel geringer ist als
der des weißen Rauschens. Mehrere Faktoren sind wahrschein
lich für das Schleifenrauschen verantwortlich.
Einer der Faktoren ist der, daß die Schleifenperiode nicht
genau mit der Signalperiode eines Quelltonsignals überein
stimmt. Wenn z. B. ein Quellton von 401 kHz einer Schleifen
bildung mit einer Periode von 400 Hz unterworfen wird, weist
das durch Schleifenbildung gewonnene Signal nur noch Frequen
zen auf, die einem ganzzahligen Vielfachen der Schleifenpe
riode entsprechen. Die Grundfrequenz des Quelltons wird nach
400 Hz verschoben, mit harmonischen Oberschwingungen mit Fre
quenzen 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 Har
monische erzeugt werden, d. h. Harmonische k-ter Ordnung, wo
bei k nichtgeradzahlig ist. Das Quellsignal, das auf den er
sten Blick periodisch erscheint, ist strenggenommen nicht
periodisch mit mehreren Harmonischen, die nichtgeradzahliger
Ordnung sind. Bei der Schleifenbildung werden diese harmoni
schen Oberschwingungen zwangsweise zu benachbarten geradzah
ligen Harmonischen verschoben. Diese bei der Schleifenbildung
erzeugte Verzerrung hört man als Schleifenrauschen. Wenn die
harmonischen Schleifen-Oberschwingungen eine Frequenzkompo
nente aufweisen, die das a-fache der Schleifenfrequenz ist,
wobei a nicht notwendigerweise ganzzahlig ist, ist der Ver
zerrungsfaktor, 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 Schleifen
periode 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 Quell
tondaten 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, ent
hä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 er
zeugte Seitenband zu nichtgeradzahligen Oberschwingungen, was
als Schleifenrauschen wiedergegeben wird.
Zum Beginnen und Beenden der Schleifenbildung werden übli
cherweise zwei Punkte gleichen Pegels, insbesondere des Pe
gels 0 verwendet.
Diese Auswahl von Schleifenpunkten ist schwierig und zeitauf
wendig, da es nach einem Trial-and-Error-Verfahren erfolgt.
Punkte mit in etwa gleichem Pegel werden als Start und End
punkte festgelegt.
Für die Schleifenbildung ist es erforderlich, die Grundfre
quenz der Quelltondaten zu erfassen. Herkömmlich wird so vor
gegangen, daß die Musiktondaten ein Tiefpaßfilter (LPF)
durchlaufen, um Rauschkomponenten hoher Frequenz auszufil
tern. 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 Ver
fahren 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 Ober
schwingungen, wodurch es ebenfalls schwierig ist, die Spitzen
des Grundtons zuverlässig zu ermitteln.
Außer der Schleifenbildung wird zum Einsparen von Speicher
kapazität auch noch die eingangs genannte Bitkompression der
Quelltondaten verwendet. Praktisch erfolgt dies z. B. da
durch, daß aus mehreren vorgegebenen Filtern jeweils das aus
gewählt wird, das auf blockweiser Grundlage zur höchsten Kom
pression führt, wobei jeder Block aus mehreren Abtastungen
besteht.
Für eine solche Filterwahl werden jedem Block mit 16 Abta
stungen der Signalamplitude Kopf- oder Parameterdaten voran
gestellt, wie z. B. Bereichs- oder Filterdaten. Die Filter
daten 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 Differentialfil
ter 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, dass ein oder zwei Daten als Anfangswerte in einem Speicher
abgelegt werden müssen. Die Hardware für den Dekoder wird also umfang
reicher, was zur Schaltungsintegration und Kostenerniedrigung nicht
erwünscht ist.
Aus der US 4,044,204 ist ein Verfahren zum Abtrennen von gesprochenen und
ungesprochenen Teilen aus einem Sprachsignal bekannt. Bei diesem Verfahren
wird ein Sprache und Rauschen enthaltenes Eingangssignal über ein
Verzögerungsglied verschiedenen Filtern zugeführt, denen ein Tiefpassfilter
nachgeschaltet ist. Sich wiederholende Intervalle werden mit einer speziellen
Schaltung ermittelt, bei der ein Spitzenwertdetektor Spitzenwerte eines von
dem Verstärker abgegebenen Signales feststellt. Diesem Verstärker ist ein
Toneingangssignal über parallele Kanäle mit entsprechenden Filtern zugeführt.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, das auf
einfache Art ein Erzeugen von Quelltondaten mit guter Tonqualität erlaubt.
Diese Aufgabe wird bei einem Verfahren der eingangs genannten Art
erfindungsgemäß durch die im kennzeichnenden Teil des Patentanspruchs 1
enthaltenen Merkmal gelöst. Vorteilhafte Weiterbildungen der Erfindung
ergeben sich aus den Patentansprüchen 2 und 3.
Gemäß der Lösung von Anspruch 1 wird ein Kammfilter eingesetzt, das nur
Signale einer Grundfrequenz und von harmonischen Oberschwingungen
derselben durchlässt, wodurch das Signal/Rausch-Verhältnis verbessert, und
es werden insbesondere sich wiederholende Signalbereiche mittels Schleifen
startpunkten und Schleifenendpunkten abhängig von einem ganzzahligen Viel
fachen des Intervalles der Grundfrequenz des Eingangssignals ermittelt.
Anspruch 2 gibt ein Verfahren an, wie die Länge eines regelmäßig wieder
kehrenden Musters ermittelt werden kann.
Anspruch 3 beschreibt ein Verfahren, das zum Einsatz kommt, wenn die Länge
eines regelmäßig wiederkehrenden Musters bestimmt ist, sei es nach dem
Verfahren von Anspruch 2 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, dass benachbarte Bereiche ähnlich sind.
Die Ähnlichkeit wird dabei nur durch Vergleich von Anfangs- bzw. End
bereichen ermittelt.
Die Erfindung wird im folgenden anhand eines durch Figuren
veranschaulichten Ausführungsbeispiels erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm einer Vorrichtung zum Erzeugen
von Quelltondaten;
Fig. 2 ein Musiktonsignal;
Fig. 3 ein Flußdiagramm zum Erläutern, wie eine Intervall
länge ermittelt wird;
Fig. 4 ein Blockdiagramm zum Erläutern, wie Spitzenwerte
festgestellt werden;
Fig. 5 ein Musiktonsignal samt Hüllkurve;
Fig. 6 ein Diagramm zum Erläutern der Abklingkurve für ein
Musiktonsignal;
Fig. 7 ein Blockdiagramm zum Erläutern einer Hüllkurven
bildung;
Fig. 8 eine Charakteristik eines FIR-Filters;
Fig. 9 ein Signal nach Hüllkurvenkorrektur des Musikton
signals;
Fig. 10 ein Diagramm zum Veranschaulichen der Charakteri
stik eines Kammfilters;
Fig. 11 ein Flußdiagramm zum Erläutern eines Aufzeichnungs
verfahrens mit Hilfe eines Kammfilters;
Fig. 12 ein Diagramm zum Erläutern, wie Anfang und Ende
eines Schleifenbereichs festgelegt werden;
Fig. 13 ein Flußdiagramm zum Erläutern, wie Signale mit
Hilfe optimaler Schleifenlage geformt werden;
Fig. 14A und B ein Musiktonsignal vor bzw. nach Zeitbasis
korrektur;
Fig. 15A und B Diagramme zum Erläutern von Blöcken für Bit
kompression;
Fig. 16 ein Signal, wie es durch mehrfaches Aneinanderfügen
von Schleifensignalen erhalten wird;
Fig. 17 einen Formantenbereich nach Hüllkurvenkorrektur;
Fig. 18 ein Diagramm zum Erläutern der Signalverarbeitung
vor und nach der Wahl eines Schleifenbereichs;
Fig. 19 ein Blockdiagramm zum Erläutern der Funktion von
Bitkompression und Kodierung;
Fig. 20 ein Diagramm zum Veranschaulichen des Inhalts eines
Datenblocks, wie er durch Bitkompression und Ko
dierung erhalten wird;
Fig. 21 ein Diagramm zum Veranschaulichen des Inhalts der
Anfangsblöcke eines Musiksignals; und
Fig. 22 ein Blockdiagramm eines Systems mit Audioverarbei
tungseinheit.
Anhand der Fig. 1 werden verschiedene Funktionen erläutert,
die zwischen dem Abtasten eines Musikquellsignals und dem
Speichern in einem Speicher erfolgen. Das Musikquelldaten
signal wird an einem Anschluß 10 eingegeben. Es kann ein Sig
nal 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äß Fig. 1 gebildeten Quelldaten
haben eine sogenannte Schleifenbildung erfahren, die nun an
hand des Musiktonsignals gemäß Fig. 2 erläutert wird. Direkt
nach dem Start der Erzeugung eines Tones, sind im Ton Nicht
tonkomponenten 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 Musik
intervall (Abstand oder Tonhöhe) des Musiktons entspricht.
Eine Anzahl n von Perioden dieser sich wiederholenden Signal
form wird als Schleifendomäne LP verwendet. Sie liegt zwi
schen einem Schleifenstartpunkt LPS und einem Schleifenend
punkt 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 Zeitspan
ne 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 ana
loger Eingangssignale.
In einem folgenden Intervalldetektor 12 wird die Grundfre
quenz, 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ß ledig
lich die Spitzen im Musikton entlang der Frequenzachse abge
tastet 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 wer
den:
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 umge
schrieben werden:
Die Spitzen des so angepaßten Signales f(t) entsprechen ganz
zahligen 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 Fig. 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 In
tervall 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
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 be
rechnet.
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 Frequenzkompo
nenten 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 Ein
gang 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 ge
wonnenen 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 Frequenz
komponenten zusammenfallen. In einem folgenden Block 38 wer
den die Spitzenwerte nach absteigenden Werten geordnet. Das
Intervall folgt durch Messen der Perioden der ermittelten
Spitzen.
Fig. 4 veranschaulicht eine Anordnung des Spitzendetektor
blocks 37 von Fig. 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äß Fig. 4 wird eine Folge von Musiktondaten, die aus der
inversen Fourier-Transformation folgen, über einen Eingangs
anschluß 41 einem (N + 1)-stufigen Schieberegister 42 zuge
fü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 Maximal
wertdetektor 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 Inter
valldaten gewonnen. Das Einhüllendensignal, das in Fig. 5 mit
B 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) beschrie
ben. 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 Laut
stä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 Ände
rungsgrößen für die Lautstärke verstanden werden. Es können
auch andere Hüllenparameter außer den vorgenannten vier Para
metern 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äh
rend der Anschlagszeit TA an und fallen dann gleichmäßig ab,
wie durch Fig. 6 veranschaulicht.
Die Funktion des Hüllkurvendetektors 13 gemäß Fig. 1 wird nun
anhand des Flußdiagramms von Fig. 7 veranschaulicht.
Das verwendete Prinzip ist demjenigen ähnlich, das beim Er
mitteln der Hüllkurve eines amplitudenmodulierten (AM)-Sig
nals verwendet wird. Die Einhüllende wird ermittelt, indem
angenommen wird, daß das ermittelte Intervall der Trägerfre
quenz für ein AM-Signal entspricht. Die Hüllkurvendaten wer
den beim Wiedergeben von Musiktönen benutzt, die auf Grund
lage der Hüllkurvendaten und der Intervalldaten gebildet wer
den.
Die Musiktondaten werden über einen Eingangsanschluß 51 einem
Absolutwertausgabeblock 52 zugeführt, der den Absolutwert der
Signalhöhedaten der Musiktöne ermittelt. Diese Absolutwert
daten 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 zu
nächst in einem LPF-Koeffizientengenerator 54 auf Grundlage
von Intervalldaten erzeugt wurden, die über einen Eingangsan
schluß 53 zugeführt werden.
Die Filtercharakteristik gemäß dem Beispiel von Fig. 8 weist
null Punkte bei Vielfachen der Grundfrequenz (f0) auf. Die
in Fig. 5 mit B veranschaulichten Hüllkurvendaten können aus
dem Musiktondatensignal A in Fig. 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 Musik
tonsignals darstellt.
Anhand von Fig. 1 wird nun erläutert, wie Tonhöhendaten für
den Formantenteil FR und die Schleifendomäne LP aus den Ton
höhendaten des abgetasteten Musiktonsignals erzeugt werden.
In einem ersten Block 14 zum Erzeugen der Schleifendaten wer
den die abgetasteten Musiktondaten geteilt, die mit Hilfe der
zuvor ermittelten Hüllkurve B gemäß Fig. 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 Fig. 9 darge
stellt ist. Dieses korrigierte Signal, genauer gesagt die
entsprechenden Signalhöhendaten werden gefiltert, um eben
falls Tonhöhendaten zu erzeugen, in denen andere Komponenten
neben den Tonkomponenten geschwächt sind, oder anders gesagt,
in denen die Tonkomponenten hervorgehoben sind. Tonkomponen
ten sind hierbei Frequenzkomponenten mit ganzzahligen Viel
fachen der Grundfrequenz f0. Die Daten werden durch ein Hoch
paß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 Fig. 10 angedeutet ist, d. h. mit
einer Frequenzcharakteristik mit Frequenzbändern, die ganz
zahlige Vielfache der Grundfrequenz f0 sind. Dadurch werden
nur die im HPF-Signal vorhandenen Signale durchgelassen, wo
durch Nichttonkomponenten oder Rauschkomponenten geschwächt
werden. Falls erforderlich, werden die Daten auch durch ein
Tiefpaßfilter (LPF) gesandt, um Rauschkomponenten zu entfer
nen, die dem Ausgangssignal vom Kammfilter überlagert sind.
Da Musiktondaten in der Regel ein konstantes Intervall, d. h.
eine konstante Grundfrequenz aufweisen, tritt Energiekonzen
tration in der Nähe der Grundfrequenz f0 und ganzzahligen
Vielfachen derselben auf. Rauschkomponenten weisen demgegen
über eine gleichmäßige Frequenzverteilung auf. Beim Bearbei
ten der eingegebenen Musiktondaten mit Hilfe eines Kammfil
ters mit der Frequenzcharakteristik, wie sie in Fig. 10
strichpunktiert dargestellt ist, gelangen demgemäß nur Fre
quenzkomponenten der Grundfrequenz oder ganzzahliger Vielfa
chen 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 Fig. 10 dar
gestellte 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 Ein
gangssignals ist, d. h. die Frequenz des Grundtons mit einem
bestimmten Intervall. N ist die Zahl der Stufen des Kammfil
ters.
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äß Fig. 2 wird abgetrennt
und der verbliebene Teil wird aufgezeichnet, z. B. in einem
Halbleiterspeicher. Das gespeicherte Musiktondatensignal ent
hält die Nichttonkomponente und einen Teil des Rauschens. Da
durch wird dafür gesorgt, daß beim Wiedergeben des wiederhol
ten 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 gewon
nen werden.
Ein Verfahren zum Signalaufzeichnen, bei dem das genannte
Filtern benutzt wird, wird nun anhand von Fig. 11 veranschau
licht. In einem Schritt S1 wird die Grundfrequenz f0 des ein
gegebenen Analogsignals oder des zugehörigen digitalen Ein
gangssignals ermittelt. In einem Schritt S2 wird das eingege
bene analoge Signal durch ein Kammfilter der oben beschriebe
nen Art gefiltert, um ein analoges oder digitales Ausgangs
signal 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 Schleifen
bildung werden Musiktondaten mit abgeschwächten Rauschkompo
nenten 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 her
vorgehoben wurden, zu ermitteln. Mit diesen werden der
Schleifenstartpunkt LPS und der Schleifenendpunkt LPE gebil
det.
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 Schleifen
punktabstand 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 vorbe
stimmt ist, werden zwei Punkte ausgewählt, die um den genann
ten Abstand voneinander entfernt sind. Dann werden die Sig
nale 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 Produk
ten 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 ermit
teln. 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 Kon
volution maximal wird, wird als Satz des richtigen Schleifen
startpunktes LPS und des richtigen Schleifenendpunktes LPE
angesehen.
In Fig. 12 ist mit a0 ein Kandidatenpunkt für den Schleifen
startpunkt LPS eingezeichnet. b0 ist entsprechend ein Kandi
dat 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, wer
den 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 Schlei
fenpunkte kann immer eingesetzt werden, wenn analoge Signale
mit wiederholten Perioden digitalisiert werden, um Schleifen
daten zu bilden. Das Verfahren wird im folgenden anhand des
Flußdiagramms von Fig. 13 weiter veranschaulicht.
Gemäß Fig. 13 wird ein analoges Signal mit wiederholter Sig
nalform in einem Schritt S11 in ein digitales Signal mit meh
reren Abtastpunkten umgewandelt. In einem Schritt S12 werden
Abtastpunkte ausgewählt, die voneinander um die Wiederho
lungsperiode 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 ausge
wä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 berechne
ten Werten derjenige Satz ausgewählt, der die größte Korrela
tion zeigt. In einem Schritt S16 werden dann diejenigen Ab
tastdaten zwischen den ausgewählten Punkten als Abtastdaten
für das wiederholte Signal herausgezogen.
Im Schleifenpunktermittlungsblock 16 gemäß Fig. 1 werden also
der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE auf
Grundlage des Intervalls ermittelt. Aus dem Abstand der Punk
te, der mehrere Intervalle des Grundtons umfassen kann, folgt
ein Intervall-Wandelverhältnis, das in einem Zeitbasis-Kor
rekturblock 17 verwendet wird.
Die Zeitbasiskorrektur erfolgt, um die Intervalle verschiede
ner Quelltondaten aneinander anzupassen, wenn diese Daten in
einem Speicher abgelegt werden. Statt dem Intervall-Wandel
verhältnis können für diesen Zweck die Intervalldaten genutzt
werden, wie sie der Intervalldetektor 12 liefert.
Das im Zeitbasis-Korrekturblock ausgeführte Intervallnorma
lisierungsverfahren wird nun anhand von Fig. 14 erläutert.
Fig. 14A stellt das Musiktonsignal vor dem Kompandieren der
Zeitbasis dar, während Fig. 14B das entsprechende Signal da
nach zeigt. Die Zeitachsen sind in Blöcke für Quasidirekte-
Bitkompression und Kodierung unterteilt, wie weiter unten er
läutert.
Beim Signal A vor der Zeitbasiskorrektur steht die Schleifen
domäne LP in der Regel nicht in direkter Relation mit einem
Block. Beim Signal gemäß Fig. 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 verscho
ben, so daß der Schleifenstartpunkt LPS und der Schleifenend
punkt 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 Mu
siktonsignals kann ein Tonhöhensignalwert "0" eingefügt wer
den. 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 an
hand einer durch Fig. 21 veranschaulichten blockweisen Kom
pression erläutert.
Fig. 15 zeigt die Struktur für einen Block für Signalampli
tudenwerte 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 vorliegen
den Fall besteht die Intervallnormalisierung in einem Zeit
basiskompandieren, bei dem die Anzahl von Worten innerhalb
von n Perioden (der konstanten Zeitdauer TW gemäß Fig. 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 je
weils auf Blockgrenzen verschoben werden. Ist dies der Fall,
wird es möglich, Fehler beim Schalten von Blöcken zu vermei
den, was beim Dekodieren mit Hilfe eines Bitkompressions- und
Kodiersystems der Fall ist.
In Fig. 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 ver
schoben wird, fallen die genannten Start- und Endpunkte nicht
notwendigerweise mit den Blockgrenzen zusammen, so daß, wie
dies in Fig. 15B dargestellt ist, die Worte 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 Inter
vall normalisiert ist.
Das Kompandieren der Zeitbasis eines Musiksignals mit der
eben genannten Normalisierung kann auf verschiedene Arten er
folgen. Z. B. kann es dadurch erfolgen, daß die Amplituden
werte der abgetasteten Signale interpoliert werden, wobei ein
Filter für übergeordnetes Abtasten verwendet wird.
Wenn die Schleifenperiode für ein Musiksignal nicht ein ganz
zahliges Vielfaches der Abtastperiode ist, so daß ein Versatz
der Amplitudenwerte im Schleifenstartpunkt LPS und im Schlei
fenendpunkt LPE besteht, kann die mit dem Amplitudenwert im
Startpunkt übereinstimmende Amplitude benachbart zum Schlei
fenendpunkt gefunden werden, und zwar dadurch, daß z. B.
übergeordnetes Abtasten verwendet wird, um die Schleifen
periode 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 er
folgt. 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 Zeit
basis korrigiert ist, werden Schleifendomänen LP aneinander
gehängt, wie dies durch Fig. 16 veranschaulicht ist, um
Schleifendaten zu erzeugen. Das Signal gemäß Fig. 16 ist da
durch erhalten, daß eine einzige Schleifendomäne LP gemäß
Fig. 14B herausgegriffen ist und diese eine Domäne mehrfach
aneinandergehängt ist. Das Aneinanderhängen von Schleifendo
mänen erfolgt in einem Schleifensignal-Erzeugungsblock 21
(Fig. 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 abgespei
chert sein. Allgemeiner gesprochen, müssen zum Zeitpunkt
einer Bitkompression und Kodierung auf Blockbasis die Para
meter für den Startblock, d. h. die Daten für Bitkompression
und Kodierung für jeden Block, z. B. Bereichs- oder Filter
auswahldaten, 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 wer
den, 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 wer
den 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 Start
block vorhanden.
Für die Signalerzeugung für den Formantenbereich FR wird eine
Hüllkurvenkorrektur in einem Block 18 (Fig. 1) ausgeführt,
entsprechend der Korrektur für Schleifendaten im Block 14.
Die Hüllkurvenkorrektur wird dadurch ausgeführt, daß die ab
getasteten Musiktondaten durch Hüllkurvendaten (Fig. 6) ge
teilt werden, die nur aus den Daten für abfallende Signale
bestehen, wodurch Amplitudenwerte für ein Signal erhalten
werden, wie es in Fig. 17 dargestellt ist. Beim Ausgangssig
nal gemäß Fig. 17 macht sich demgemäß nur die Hüllkurve wäh
rend der Zeitspanne TA bemerkbar, während in den anderen Be
reichen konstante Amplitude vorliegt.
Das hüllkurvenkorrigierte Signal wird, falls erforderlich,
in einem Block 19 gefiltert. Dies erfolgt mit einem Kammfil
ter mit einer Frequenzcharakteristik, die z. B. derjenigen
entspricht, wie sie mit der strichpunktierten Linie in Fig. 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 Quellton
daten 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 normalisie
ren, daß die Zeitbasis auf Grundlage des Intervall-Wandelver
hä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 Schlei
fendaten, 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 Musikton
signal zu erzeugen, das die Quelltondaten darstellt. Als ab
zuspeichernde 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 Quell
tonsignals erzeugt, das über einen Formantenbereich (Nicht
tonkomponenten) und Schleifendaten (wiederholte, regelmäßige
Daten) verfügt.
Der Startpunkt für das Schleifendatensignal kann auch mit dem
Schleifenstartpunkt für das formantenbildende Signal verbun
den sein.
Zum Ermitteln der Schleifendomäne und zum Mischen des Forman
tenbereichs und der Schleifendaten wird zunächst von Hand ge
mischt. Man hört sich dann das Ergebnis an, und es wird dann
auf Grundlage der Schleifenstart- und -endpunkte genauer ver
arbeitet.
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 fol
genden Fig. 18 erläutert. Danach wird das oben beschriebene
genauere Verfahren ab einem Schritt S26 in Fig. 18 ausgeführt.
Im Flußdiagramm gemäß Fig. 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 Schlei
fenbildung 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 For
mantensignal gemischt wird. In einem Schritt S25 wird über
prü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örein
druck gut, folgt ein Schritt S26, in dem das Ermitteln der
Schleifenpunkte gemäß dem Block 16 mit hoher Genauigkeit er
folgt. Es erfolgt Abtasten z. B. mit einer Auflösung von
1/256 über die Abtastperiode mit z. B. 256-fachem übergeord
netem Abtasten. In einem folgenden Schritt S27 wird das In
tervall-Wandelverhältnis für die Intervallnormalisierung be
rechnet. In einem Schritt S28 erfolgt die Zeitbasiskorrektur
gemäß der Blöcke 17 oder 20. In einem Schritt S29 wird die
Schleifenbildung gemäß Block 21 (Fig. 1) ausgeführt. Das Mi
schen gemäß Block 22 erfolgt in einem folgenden Schritt S30.
Der Ablauf ab Schritt S26 erfolgt mit Hilfe der Schleifen
punkte, 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 Formantenbe
reich 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
und JP-62-003516 vorgeschlagen ist. Dort wird eine vorgegebe
ne Anzahl von h Abtastworten mit Amplitudenwerten in einem
Block gruppiert, und blockweise wird Bitkompression ausge
führt. Dieses hochwirkungsvolle System wird im folgenden an
hand von Fig. 19 kurz erläutert.
Im Blockschaltbild gemäß Fig. 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 Ampli
tudenwert 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 Vor
hersagefehlersignal oder ein Abweichungssignal d(n) zu er
zeugen. Das Vorhersageglied 72 berechnet den Vorhersagewert
x(n) aus einer Primärkombination der letzten p Eingangs
werte 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 Bitkompres
sion 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 ausge
wählt. Das Kodierfilter 74 hat hierfür optimale Charakteri
stik. Es kann dadurch gebildet sein, daß mehrere, im Bei
spielsfall vier, verschiedene Charakteristiken vorab festge
legt werden und dann die optimale Charakteristik ausgewählt
wird, d. h. diejenige, mit der das höchste Kompressionsver
hä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 Bitkompres
sor zugeführt, der einen Pegelschieber 75(G) und einen Quan
tisierer 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är
kung G entspricht. Dadurch wird der Bereich verschoben, und
eine vorgegebene Anzahl von Bits der bitverschobenen Daten
wird durch den Quantisierer 76 herausgenommen. Eine Rausch
formschaltung 77 dient dazu, den quantisierten Fehler zwi
schen dem Ausgangssignal und dem Eingangssignal des Quanti
sierers 76 an einem Summierpunkt 78 zu bilden und dieses Sig
nal ü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 (n) erhalten.
Das Ausgangssignal d'(n) vom Summierpunkt 81 ist die Diffe
renz d(n) vom Summierpunkt 73, vermindert um das Vorhersage
signal (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 (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 aus
gegeben wird. Nach Durchlaufen des G-1-Pegelschiebers 79 und
des Vorhersageglieds 80, wobei die Primärkombination der
letzten r Eingangssignale verwendet wird, ist der Quantisie
rungsfehler e(n) in das Vorhersagesignal (n) für den Quanti
sierungsfehler umgewandelt.
Nach dem vorstehend beschriebenen Kodieren sind die Quellton
daten in das Ausgangssignal (n) vom Quantisierer 76 umgewan
delt, 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 Bestim
men der Bitschiebezahl oder der Verstärkungen G und G-1 wer
den auch an die Pegelschieber 75 und 79 und an einen Aus
gangsanschluß 86 gegeben.
Der wiedergabeseitige Dekodierer 90 weist einen Eingangs
anschluß 91 auf, dem ein Signal '(n) zugeführt wird, das
durch Übertragen oder Aufzeichnen und Wiedergeben des Aus
ganssignals (n) vom Ausgangsanschluß 82 vom Kodierer 70 ge
bildet 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 zuge
führt und dabei in ein Vorhersagesignal (n) umgewandelt, das
dann auf einen Summierpunkt 93 gegeben wird, wo zu ihm das
Ausgangssignal "(n) vom Schieber 92 addiert wird. Das Sum
mensignal wird als Dekodierer-Ausgangssignal '(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är
kung 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 überein
stimmt.
Bei dem so aufgebauten Dekodierer 90 ist das Ausgangssignal
"(n) vom Schieber 92 das Produkt aus dem Eingangssignal
'(n) und der Verstärkung G-1. Das Ausgangssignal '(n) vom
Summierpunkt 93 ist die Summe aus dem genannten Ausgangssig
nal vom Schieber 92 und vom Vorhersagesignal '(n).
Fig. 20 zeigt einen Block von Ausgangsdaten vom bitkomprimie
renden 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 Filter
wahldaten und zwei 1-Bit-Flaggendaten, wie z. B. ein Daten
wert 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 Amplitu
dendaten ist nach Bitkompression durch vier Bits wiedergege
ben, während 16 Abtastwerte von 4-Bit-Daten DA0H-DB3L in
den Daten DA0-DB3 enthalten sind.
Fig. 21 zeigt einen Block von bitkomprimierten und kodierten
Amplitudendaten, die dem Anfang des in Fig. 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 Fig. 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 Kompressions
verhältnis führt.
Wenn Musiktöne von einem Speicher abgetastet und gelesen wer
den, beginnt das Eingeben des Musiktonsignals in einem Ton
erzeugungs-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 abzu
speichern. Es ist jedoch erwünscht, daß dies nicht erforder
lich ist. Aus diesem Grund werden in der Anfangsperiode nach
dem Tonerzeugungs-Startpunkt KS Pseudoeingangssignale er
zeugt, die dazu führen, daß der unmittelbare PCM-Modus ge
wählt wird. Es erfolgt das Datenverarbeiten dann so, daß mit
diesen Pseudosignalen die Eingangssignale bearbeitet werden.
Dies erfolgt z. B. dadurch, daß, wie in Fig. 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 bitkompri
miert. Dies kann dadurch erfolgen, daß ein Block mit den Wer
ten "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 Pseudoein
gangssignalen ist erforderlich.
Die Musiktondaten einschließlich der so gebildeten Pseudoein
gangssignale werden durch das anhand von Fig. 19 veranschau
lichte 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 Ver
zö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). Fig. 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 Spielge
rä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 Mikropro
zessor, 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 ge
speichert. 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 Ab
schluß der verschiedenen, von der DSP 101 ausgeführten Abläu
fe 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 Ver
binden des Formantenbereichs und der Schleifendomäne mitein
ander 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 Ver
fahren sind nicht nur auf das Erzeugen von Musiktönen anwend
bar, sondern auch auf Spracherzeugung.