Die Erfindung betrifft eine Vorrichtung zum Erzeugen von Quelltondaten nach
dem Oberbegriff des Patentanspruchs 1.
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 im allgemeinen eine große Speicherkapazität erforderlich
ist, um Quelltondaten abzutasten und zu speichern, wurden
verschiedene Techniken vorgeschlagen, um Speicherkapazität
einzusparen. Hierzu zählt das Bilden von Schleifen, wobei die
Periodizität von Signalmustern in den Musiktönen ausgenutzt
wird, und es zählt dazu eine Bitkompression durch nichtli
neare Quantisierung.
Die erwähnte Schleifenbildung dient auch zum Erzeugen von Tö
nen, die länger als der ursprünglich abgetastete Musikton
dauern. Ein Musikton weist z. B. einen Formantenbereich
direkt nach dem Beginn der Tonerzeugung auf, in dem keine
sich deutlich wiederholenden Signalmuster vorliegen. Daran
schließt sich ein Bereich an, in dem Signalmuster mit einem
Grundintervall wiederholt werden. Durch Anordnen von n Perio
den sich wiederholender Signalmuster, wobei n eine ganze Zahl
ist, als Schleifendomäne, und durch wiederholtes Auslesen der
Schleifendomäne können länger aufrechterhaltene Töne unter
Ausnutzung eines Speichers relativ kleiner Kapazität erzeugt
werden.
Für Bitkompression üblicher Audio-PCM-Signale wird ein Vor
wärtstypfilter kodierseitig allgemein verwendet. Dieses
System überträgt Unterdaten oder untergeordnete Daten, d. h.
Daten, die die Kompression betreffen, zusammen mit den kom
primierten Daten, wobei für den Filter in der Dekodierein
richtung ein IIR(Infinite Impulse Response)-Filter oder ein
rekursives digitales Filter verwendet wird. Ein solches
System wird z. B. auch bei Standards für digitale optische
Platten verwendet.
Das Abtasten von Musiktönen und das Schleifenbilden aus Ton
komponenten entspricht dem wiederholten Aneinanderfügen von
Schleifen von Verbinden der End- und Startpunkte der Schlei
fendomänen. Damit sich nicht aufgrund von Diskontinuitäten
an den Ansatzpunkten Schleifenrauschen einstellt, müssen die
Start- und Endpunkte jeweils in etwa gleichen Pegel aufwei
sen. Es ist jedoch schwierig, den Schleifenstart- und den
Schleifenendpunkt so zu wählen, daß sie im wesentlichen glei
chen Pegel aufweisen, was mit der Abtastperiode zusammen
hängt, die in der Regel nicht genau mit der Schleifenperiode
übereinstimmt. Daher wurde bisher kein zufriedenstellendes
Verfahren für Schleifenbildung mit geringem Schleifenrauschen
aufgefunden.
Verschiedene Töne, insbesondere Schlagzeugtöne, weisen keine
Schleifendomäne auf.
Ein weiteres Problem beim Verarbeiten digitaler Daten mit
Hilfe von Schleifen besteht darin, daß dann, wenn Quellton
daten aus einem Speicher ausgelesen werden, Datenstartadres
sen und Schleifenstartadressen aus einem Inhaltsverzeichnis
ausgelesen werden, das sich in dem Speicher mit den Quellton
daten befindet. Die zwei Adreßdaten weisen üblicherweise un
terschiedlichen Inhalt auf. Wenn die Adreßdaten dauernd in
einem Adreßregister einer Vorrichtung zum Verarbeiten von
Audiosignalen gespeichert sind, ist eine erhöhte Anzahl von
Speicherzugriffen erforderlich, was insbesondere dann zu er
höhter Belastung der Anordnung führt, wenn im Fall von Zeit
multiplexverarbeitung zum Erzeugen mehrerer Töne auf die
Speicher zugegriffen werden muß.
Wie bereits angegeben, existieren digitale Daten ohne Schlei
fendomäne. Daher existieren Quelltondaten sowohl mit wie auch
ohne Schleifendomänen. Das Beenden des Wiedergebens von
Quelltondaten hängt davon ab, ob Schleifendomänen in den
Quelltondaten vorhanden sind oder nicht. Wenn die Wiedergabe von Quellton
daten mit einer Schleifendomäne zu beenden ist, wird üblicherweise hierzu eine
Flagge verwendet, die in den Quelltondaten für die Schleifendomäne enthalten
ist und das Schleifenende anzeigt. Wenn die Wiedergabe eines Tons zu beenden
ist, der keine Schleifendomäne aufweist, muss dies auf andere Art und Weise
erfolgen. Üblicherweise wird hierzu eine gesonderte Adresse für das Wiederga
bebeendigungssignal verwendet.
Wenn also das Wiedergeben von Quelltondaten zu beenden ist, hängt dies da
von ab, ob eine Schleifendomäne vorhanden ist oder nicht. Die Datenverarbei
tung muss abhängig vom jeweils vorliegenden Fall mit unterschiedlichen Adres
sen erfolgen, um die Wiedergabe beenden zu können. Dies führt zu erhöhter er
forderlicher Speicherkapazität und einer komplizierten Struktur der Vorrich
tung.
In der US 4,635,520 ist eine Vorrichtung zum Erzeugen von Quelltondaten be
schrieben, bei der Daten, die eine Startadresse und eine Endadresse von ver
schiedenen Arten von Signalformen bezeichnen, in einem Festwertspeicher ab
gespeichert werden, wobei die Werte dieser Adressen den jeweiligen Signalfor
men zugeordnet sind. Die Adressen für die jeweiligen Signalformen werden in
Zeitteilung ausgelesen, um so Startpunkt und Endpunkt der Signalformen zu
bestimmen.
Der Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung zur Erzeugung von
Quelltondaten bei möglichst geringem Speicherbedarf anzugeben.
Diese Aufgabe wird bei einer Vorrichtung der eingangs genannten Art erfin
dungsgemäß durch die im kennzeichnenden Teil des Patentanspruchs 1 ange
gebenen Merkmale gelöst.
Bei der erfindungsgemäßen Vorrichtung werden Daten in den Endbereichen ei
ner Schleifendomäne interpoliert, und von den ursprünglichen Abtastwerten
und den interpolierten Werten werden diejenige für den Start- und den End
punkt verwendet, die am Pegel am dichtesten beieinander liegen. Dadurch wird
gewährleistet, dass am jedem Übergang von einer Domäne zur nächsten ein
möglichst geringer Pegelsprung und damit möglichst geringes Pegelrauschen
auftritt. Aufgrund der Interpolation ist es möglich, trotz verhältnismäßig weni
ger gespeicherter Abtastdaten zufriedenstellende Übergänge in aufeinanderfol
genden Schleifenbereichen zu erzielen.
Gemäß Anspruch 2 wird ein besonderes Interpolationsfilter verwendet, das zu
besonders rauscharmer Signalverarbeitung führt. Es kann sowohl für die vor
stehend genannte Interpolation verwendet werden, wie auch als Filter in einer
Bitkomprimier-Kodier-Einrichtung.
Die Erfindung wird im folgenden anhand eines durch Figuren
veranschaulichten Ausführungsbeispiels näher beschrieben. Es
zeigen:
Fig. 1 ein Blockdiagramm zum Erläutern einer Vorrichtung
zum Bilden, Aufzeichnen und Wiedergeben von Quell
tondaten;
Fig. 2 ein Musiktonsignal;
Fig. 3 ein Blockdiagramm zum Erläutern einer Ausführungs
form zum Verarbeiten von Quelltondaten;
Fig. 4 ein Blockdiagramm zum Erläutern, wie ein Intervall
ermittelt wird;
Fig. 5 ein weiteres Blockdiagramm zum Erläutern der Inter
vallermittlung;
Fig. 6 ein Musiktonsignal mit Hüllkurve;
Fig. 7 ein Signal, das das Abklingen eines Musiktonsignals
veranschaulicht;
Fig. 8 ein Blockdiagramm zum Erläutern, wie eine Hüllkurve
ermittelt wird;
Fig. 9 eine Charakteristik eines FIR-Filters;
Fig. 10 ein Signal mit konstanter Signalhöhe nach Hüllkur
venkorrektur;
Fig. 11 eine Kammfiltercharakteristik;
Fig. 12 ein Signal zum Veranschaulichen, wie die Lage eines
Schleifenbereichs bestimmt wird;
Fig. 13 Signale, die ein Musiktonsignal vor (A) und nach
(B) Zeitbasiskorrektur darstellen;
Fig. 14A und B Diagramme zum Erläutern, wie ein Bitkompres
sionsblock für Amplitudendaten nach Zeitbasiskor
rektur beschaffen ist;
Fig. 15 ein Signal, das aus aneinandergereihten Schleifen
domänen besteht;
Fig. 16 ein Signal für einen Formantenbereich nach Hüllkur
venkorrektur auf Grundlage von Abklingdaten;
Fig. 17 ein Flußdiagramm zum Erläutern von Schritten, die
vor und nach einer Schleifenbildung ablaufen;
Fig. 18 ein Blockdiagramm zum Erläutern des Ablaufs einer
bitkodierenden Bitkompression;
Fig. 19 ein schematisches Diagramm, das einen Datenblock
darstellt, wie er bei quasi-augenblicklicher Bit
kompression erhalten wird;
Fig. 20 ein schematisches Diagramm, das den Inhalt eines
Blocks im Anfangsbereich eines Musiktonsignals ver
anschaulicht;
Fig. 21 ein Signal zum Veranschaulichen von Abtastwerten an
Schleifenpunkten;
Fig. 22 ein Signal zum Veranschaulichen, wie Schleifen an
einander angehängt werden;
Fig. 23 ein Signal zum Erläutern von Intervallwandlung;
Fig. 24 ein Blockdiagramm zum Veranschaulichen, wie ein In
terpolationsverfahren abläuft;
Fig. 25 ein schematisches Diagramm zum Veranschaulichen der
Lage von Schleifenstart- und Schleifenendadressen;
Fig. 26 ein Blockdiagramm zum Darstellen des Grundaufbaus
eines Interpolationsfilters;
Fig. 27 ein Blockdiagramm für ein Tiefpaßfilter, das dazu
dient, die Koeffizienten für das Interpolationsfil
ter gemäß Fig. 26 zu finden;
Fig. 28 ein Diagramm zum Veranschaulichen, wie unmittelbare
PCM-Daten im Startbereich einer Schleifendomäne an
geordnet werden;
Fig. 29 ein Blockdiagramm zum Veranschaulichen einer Quell
tonwiedergabeseite;
Fig. 30 ein Diagramm zum Veranschaulichen des Inhalts eines
Speichers;
Fig. 31 ein Zeitablaufdiagramm zum Veranschaulichen der
hauptsächlichen Funktion der Schaltung gem. Fig. 29;
Fig. 32 ein Blockdiagramm zum Veranschaulichen des Aufbaus
einer Audioverarbeitungseinheit und von Peripherie
einrichtungen derselben;
Fig. 33 ein funktionelles Blockdiagramm zum Erläutern einer
Quelltonverarbeitungseinrichtung, die verhältnis
mäßig wenig Speicherzugriffe benötigt;
Fig. 34 ein funktionelles Blockdiagramm für eine Tondaten
verarbeitungseinrichtung, die zwischen Tondaten mit
Schleifen und ohne Schleifen unterscheidet;
Fig. 35 ein funktionelles Blockdiagramm für eine Quellton
verarbeitungseinrichtung zum Erzeugen kontinuier
licher Quelltondaten; und
Fig. 36 ein Flußdiagramm für eine Vorrichtung mit anderem
Aufbau der Quelltondatenwiedergabeseite.
Es wird darauf hingewiesen, daß sich die folgende Beschrei
bung zwar auf eine Vorrichtung zum Erzeugen, Aufzeichnen und
Wiedergeben von Quelltondaten bezieht, daß die beschriebene
Vorrichtung jedoch allgemein zum Verarbeiten digitaler Sig
nale einsetzbar ist.
Fig. 1 zeigt in Blockform eine Vorrichtung zum Erzeugen, Auf
zeichnen und Wiedergeben von Quelltondaten. Die Vorrichtung
wird z. B. als Adapter für einen PC in einer abtastenden
Quelltoneinheit verwendet, oder sie bildet den Quelltonbe
reich für ein elektronisches Musikinstrument, wie es teil
weise als "Sampler" bezeichnet wird.
Beim Erzeugen und Speichern von Quelltondaten wird ein ana
loges Audiosignal eines Quelltons über einen Eingangsanschluß
121 einem Vorverstärker 122 und darauffolgenden Tiefpaßfil
ter 123 zugeführt. Von einem anschließenden A/D-Wandler 124
wird es in ein 16-Bit-Abtastsignal Sd mit einer Abtastfre
quenz von 31,5 kHz umgewandelt. Dieses Signal Sd wird durch
einen digitalen Signalprozessor (DSP) 125 verarbeitet, der
Quelltondaten an einen Speicher 126 ausgibt.
Der Speicher 126 weist im Ausführungsbeispiel einen Adreßbe
reich von 2 M Worten auf, wobei 512 K Worte ein 16-Bit/Adreß
pufferbereich sind, während der verbleibende Bereich von
1,5 M Worten einen 12-Bit/Adreßspeicherbereich zum Speichern
der Signale Sd darstellt.
Der DSP 125 führt arithmetische Operationen aus, wobei er den
Pufferbereich des Speichers 126 nutzt. Es wird z. B. die Am
plitude des Signals Sd korrigiert oder normalisiert, so daß
sie konstant wird und den vollen Bereich der genannten 12 Bit
ausfüllt. Das 12-Bit-Signal Sd, das so nach Korrektur erhal
ten wird, wird in einem Teil des Speicherbereichs des Spei
chers 126 abgelegt.
Parameter, wie z. B. Konstanten zum Korrigieren des Signales
Sd oder wie Start- oder Endadressen, die beim Speichern des
Signals Sd im Speicher 126 benutzt werden, werden von dem DSP
125 an eine 8-Bit-CPU 111 der zuvor genannten Tonquellenein
heit geliefert. Die Werte werden in einem RAM 113 für Ar
beitsbereichwerte und Parameter gespeichert. Die Quelltonein
heit weist außerdem einen ROM 112 auf, in dem ein System
steuerprogramm abgelegt ist. Der RAM 113 und der ROM 112 sind
über eine Busleitung 119 mit der CPU 111 verbunden.
Auf diese Art und Weise können z. B. 32 Arten von Musiktönen,
normalisiert auf eine vorgegebene Amplitude, im Speicher 126
abgelegt werden, während Parameter, die diese Signale betref
fen, im RAM 113 abgelegt sind.
Beim Betätigen einer Tastatur 114 für MIDI-Standard, zum Wie
dergeben von Quelltondaten zum Bearbeiten oder musikalischen
Beurteilen werden die zugehörigen Parameter von der CPU 111
aus dem RAM 113 ausgelesen, abhängig von Einstellungen an
einem Bedienpanel 115. Sie werden dann an den DSP 125 über
tragen, und das digitale Signal Sd für den zugehörigen Ton
wird aus dem Speicher 126 ausgelesen. Das ausgelesene Signal
ist jedoch ein 12-Bit-Abtastsignal mit einer Amplitude, die
auf einen konstanten Wert normalisiert ist. Die Abtastfre
quenz für das Signal Sd ist nach wie vor 31,5 kHz, wie beim
Speichern. Die Tastatur 114 und das Bedienpanel 115 sind über
ein Interface 116 mit der Busleitung 119 verbunden, an die
auch eine Anzeigeeinrichtung 118 über einen Treiber 117 ange
schlossen ist.
Wenn der Originalton länger ist, als es der Speicherperiode
entspricht, weist das Signal Sd nur die Dauer der Speicher
periode auf. Es wird dann ein vorgegebener Teil der Periode,
der gegen das Ende des Signales Sd hin liegt, wiederholt. Da
die Amplitude des Signals Sd auf konstanten Wert korrigiert
ist, tritt keine Tonhöhenstufe an Verbindungspunkten zwischen
Signalen Sd auf.
Das Signal Sd wird einem Intervallwandler 131 zugeführt, wäh
rend Tondaten durch Betätigen von Tasten der Tastatur 114
entnommen werden und an den Wandler 131 über die CPU 111 und
den DSP 125 übertragen werden.
Der Intervallwandler 131 weist ein interpolierendes FIR-
Digitalfilter auf, durch das das Signal Sd einem 256-fachen
übergeordneten Abtasten unterworfen wird, dem ein Nachabta
sten folgt. Auf diese Weise wird das Intervall des Analog
signals, das es beim Umwandeln aus dem Signal Sd aufwies, in
das Intervall rückgewandelt, das der betätigten Taste zuge
ordnet ist. Dabei bleibt die Abtastfrequenz des Signals Sd
unverändert.
Das Signal Sd vom Wandler 131 wird an einen DSP 132 übertra
gen, während zugehörige Parameter aus dem RAM 113 ausgelesen
werden und dem DSP 132 zugeführt werden, um das Signal Sd in
seine ursprüngliche Bitlänge rückzuwandeln und so rückzukor
rigieren, daß das digitale Signal Sd für den Originalton er
halten wird. ADSR-Parameter, wie sie weiter unten anhand von
Fig. 6 erläutert und veranschaulicht werden, werden dabei ab
hängig von Einstellungen am Bedienpanel 115 gewählt, so daß
das Signal Sd von dem DSP 132 entsprechend diesen Parametern
verarbeitet wird.
Auf diese Art und Weise gibt der DSP 132 ein digitales Signal
Sd aus, das konstante Frequenz aufweist und bei dem das In
tervall, die Lautstärke und das Timbre so eingestellt ist,
wie es den Einstellungen am Bedienpanel 115 entspricht. Die
ses Signal Sd wird über einen D/A-Wandler 133, ein Tiefpaß
filter 134 und einen Ausgangsverstärker 135 an einen Aus
gangsanschluß 136 gegeben.
Das Signal Sd wird im Zeitmultiplex aus dem Speicher 126 aus
gelesen und dann verarbeitet, und zwar in bis zu 16 Kanälen
gleichzeitig, so daß bis zu 16 Stimmen oder Töne gleichzeitig
am Ausgangsanschluß 136 ausgegeben werden.
Im vorstehenden wurde die Grundfunktion zum Erzeugen, Spei
chern und Wiedergeben von Quelltondaten in einer abtastenden
Tonquelleneinheit beschrieben. Wenn das Eingangsaudiosignal
dem Ton von einem Musikinstrument entspricht, weist das Sig
nal normalerweise Schwingungen mit einer Grundfrequenz auf.
In diesem Fall enthält das Signal sich wiederholende Signal
muster. Mindestens eine Periode des sich wiederholenden Sig
nalmusters wird im Speicher abgelegt und beim Wiedergeben
mehrfach wiederholt, um verlängertes Ausgeben des Musiktons
zu erzielen. Dieses Wiederholen des Signalmusters wird als
Schleifenbildung bezeichnet; es dient dazu, Speicherkapazität
zu sparen. Eine andere Technik zum Sparen von Speicherkapazi
tät ist das Komprimieren von Daten beim Aufzeichnen dersel
ben. Beim Ausführungsbeispiel erfolgt das Komprimieren mit
Hilfe einer Filterwahltechnik, bei der jeweils mehrere Ab
tastwerte in einem Block gruppiert sind und für jeden Block
dasjenige Filter aus mehreren vorgegebenen Filtern ausgegeben
wird, das zu optimaler Datenkompression führt.
Die oben erwähnte Schleifenbildung wird im folgenden anhand
von Fig. 2 kurz erläutert. Direkt nach dem Beginn eines
Musiktones liegt in der Regel eine Nichttonkomponente vor,
wie z. B. ein Rauschen, das durch einen Tastenanschlag in
einem Klavier herrührt oder ein Anblasgeräusch bei einem
Blasinstrument. Dieser Teil im Signal bildet einen Formanten
bereich ohne deutlich erkennbare Signalmusterperiodizität.
Auf den Formantenbereich folgt ein Bereich, in dem ein Sig
nalmuster mit einer Grundfrequenz, d. h. in einem bestimmten
Intervall, wiederholt wird. n Wiederholungen des Signalmu
sters werden als Schleifendomäne LP behandelt, die sich zwischen
einem Schleifenstartpunkt LPS und einem Schleifenend
punkt LPE erstreckt. Ein Musikton kann für jede gewünschte
Länge erzeugt werden, indem zunächst Daten für den Formanten
bereich FR und die Schleifendomäne LP in einem Speicher abge
legt werden und beim Wiedergeben zunächst die Daten für den
Formantenbereich FR und dann wiederholt die Daten für die
Schleifendomäne LP wiederholt werden.
Anhand der Fig. 3-20 wird nun näher erläutert, wie Quell
tondaten erzeugt werden und wie ein aufzeichnungsseitiges
System aufgebaut ist und funktioniert.
Fig. 3 ist ein Blockdiagramm, das veranschaulicht, welche
Funktionen zwischen dem Abtasten von Daten und dem Speichern
derselben ausgeführt werden.
Ein Eingangsmusiksignal, das einem Eingangsanschluß 10 zuge
führt wird, kann entweder ein Signal sein, das direkt von
einem Mikrophon aufgenommen wird, oder es kann ein solches
sein, das in Form digitaler oder analoger Audiosignale von
einem Aufzeichnungsmedium eingegeben wird.
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. 5 veranschaulicht eine Anordnung des Spitzendetektor
blocks 37 von Fig. 4 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. 5 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. 6 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. 7 veranschaulicht.
Die Funktion des Hüllkurvendetektors 13 gemäß Fig. 1 wird nun
anhand des Flußdiagramms von Fig. 8 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. 9 weist
Null Punkte bei Vielfachen der Grundfrequenz (f0) auf. Die
in Fig. 6 mit B veranschaulichten Hüllkurvendaten können aus
dem Musiktondatensignal A in Fig. 6 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. 3 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. 6 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. 10 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. 11 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. 11
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.
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.
Im Schleifenpunktermittlungsblock 16 gemäß Fig. 3 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. 13 erläutert.
Fig. 13A stellt das Musiktonsignal vor dem Kompandieren der
Zeitbasis dar, während Fig. 13B 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. 13B 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. 20 veranschaulichten blockweisen Kom
pression erläutert.
Fig. 14 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. 15 veranschaulicht ist, um
Schleifendaten zu erzeugen. Das Signal gemäß Fig. 15 ist da
durch erhalten, daß eine einzige Schleifendomäne LP gemäß
Fig. 13B 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. 3) 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. 7) 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. 15 dargestellt ist. Beim Ausgangssig
nal gemäß Fig. 16 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. 11
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. 17 erläutert. Danach wird das oben beschriebene
genauere Verfahren ab einem Schritt S26 in Fig. 18 ausgeführt.
Im Flußdiagramm gemäß Fig. 17 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. 3) 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. 18 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. 19 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. 20 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. 14.
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. 20 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. 18 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.
Beim Bilden von Schleifendaten kann es zu verschlechterter
Kontinuität an Übergängen zwischen aufeinanderfolgenden
Schleifen kommen, was dadurch bedingt ist, daß die Abtast
frequenz zu groß ist im Vergleich zur Wiederholperiode des
Signalmusters.
Fig. 21 zeigt eine Schleifendomäne LP' mit einem sich wieder
holenden Signalmuster, das durch Abtasten des Signals mit
vorgegebener Periode (mit Kreisen dargestellt) gewonnen wird.
Abtastungen werden am Schleifenstartpunkt LPS und am Schlei
fenendpunkt LPE ausgeführt. Wenn die Abtastperiode nicht
genau zur Musterwiederholperiode paßt, fällt der beim Abta
sten festgestellte Schleifenendpunkt LPE' nicht mit dem tat
sächlichen Schleifenendpunkt LPE zusammen, was dazu führt,
daß der tatsächliche Schleifenendpunkt und der abgetastete
Schleifenendpunkt in der Regel nicht dieselbe Signalhöhe auf
weisen. Dies führt beim Aneinanderhängen von Schleifen zu
einem Versatz, wie er in Fig. 22 dargestellt ist. Um dem ab
zuhelfen, wird eine Interpolation von Abtastwerten vorgenom
men, um durch die Interpolation den Schleifenstartpunkt LPS
und den Schleifenendpunkt LPE festzustellen und dabei mög
lichst dicht aneinanderliegende Werte zu bilden, die dann als
Verbindungspunkte gewählt werden. Dies kann im Zeitbasiskor
rekturblock 17 ausgeführt werden, um die Intervallnormalisie
rung mit einer Zeitbasisauflösung zu erzeugen, die kürzer ist
als die Abtastperiode. Wenn keine Intervallnormalisierung
ausgeführt wird, können die oben genannten tatsächlichen Ab
tastwerte in einem Speicher abgelegt werden, und Interpolie
ren erfolgt beim Datenauslesen oder beim Wiedergeben, um
durch dieses Interpolieren die Kontinuität an Signalmuster
übergängen zu verbessern. Wenn das Signal eines Musiktons mit
dem Intervall einer gelegentlich auf einer Tastatur betätig
ten Taste auf Basis von Quelltondaten mit vorgegebenem Inter
vall, wie sie in einem Speicher eines sogenannten Samplers
abgelegt sind, wiederzugeben ist, wird es erforderlich, In
tervallwandlung vorzunehmen, um Töne mit unterschiedlichen
Intervallen zu erzeugen. Wenn Interpolieren mit übergeordne
tem Abtasten dafür verwendet wird, kann das oben genannte
technische Konzept ausgeführt werden, ohne daß die Hardware
zu erhöhen ist, um interpolierte Abtastwerte zu erhalten.
Fig. 23 veranschaulicht ein Intervallwandlungssystem, das mit
dieser Interpolation arbeitet. Das Herausgreifintervall für
interpolierte Abtastwerte, das z. B. durch vierfaches überge
ordnetes Abtasten erhalten wird, wird geändert, um Intervall
wandlung zu erzielen. Beim Beispiel gemäß Fig. 23 stellt
Signal A das ursprüngliche Signal dar, bei dem tatsächliche
Abtastwerte durch Punkte dargestellt sind, während interpo
lierte Abtastwerte durch x-Marken gekennzeichnet sind. Die
interpolierten Werte sind durch vierfaches übergeordnetes Ab
tasten für jeden tatsächlichen Abtastwert erzielt. Es werden
dann die mit Kreis gekennzeichneten tatsächlichen Abtastwer
te, die mit der ursprünglichen Abtastperiode Ts aufeinander
folgen, herausgenommen, um ein im Intervall gewandeltes Sig
nal B zu erzeugen. Dadurch wird die Frequenz auf 5/4 der ur
sprünglichen Frequenz geändert. Beim Ausführungsbeispiel
gemäß Fig. 23 wird die Frequenz erhöht, sie kann jedoch auch
erniedrigt werden. Die Auflösung kann auch dadurch verbessert
werden, daß die Zahl von Mehrfachabtastungen beim übergeord
neten Abtasten erhöht wird. Z. B. kann 256-faches übergeord
netes Abtasten für praktische Anwendungen eingesetzt werden.
Fig. 24 veranschaulicht als Blockdiagramm eine Schaltung zum
Wandeln von Intervallen gemäß dem anhand von Fig. 23 erläu
terten Verfahren.
Ein Speicher 101, z. B. ein ROM, in dem Quelltondaten gespei
chert sind, gibt diese Daten auf Grundlage von Adreßdaten
aus, wie sie in einem Adreßgenerator 102 gespeichert sind.
Dieser Adreßgenerator erhält Intervalldaten, wie sie zum Er
mitteln des Intervallwandelverhältnisses benutzt werden, von
einem Intervalldatengenerator 103, und er erhält mittelbar
auch Daten von einem Register 107a für untergeordnete Daten,
einem Schleifenstartadreßregister 107b und einem Schleifen
endadreßregister 107c. Auf Grundlage dieser Daten werden die
oben genannten Zugriffsdaten für den Zugriff auf den Speicher
101 erzeugt. Das Register 107a für untergeordnete Daten, das
Schleifenstartadreßregister 107b und das Schleifenendadreß
register 107c werden mit entsprechenden Daten aus den Quell
tondaten versorgt. Das Register 107a für untergeordnete Daten
dient dazu, die in Fig. 19 veranschaulichten Kopfdaten FR auf
blockweiser Basis zu speichern, während das Schleifenstart
adreßregister 107b und das Schleifenendadreßregister 107c
dazu verwendet werden, die Adressen für den Schleifenstart
punkt LPS bzw. den Schleifenendpunkt LPE zu speichern. Die
Ausgangsdaten von den genannten drei Registern werden dem
Adreßgenerator 102 und einem Koeffizientenadreßwandler 106
zugeführt. Dieser Wandler erhält auch Daten vom Intervall
datengenerator 103. Auf Grundlage von Ausgangsdaten vom Koef
fizientenadreßwandler 106 liefert ein Koeffizienten-ROM 105
in ihm gespeicherte Koeffizientenwerte an ein Interpolationsfilter
104, um die Filtercharakteristik dieses Filters zu be
stimmen. Das Interpolationsfilter besteht beim Ausführungs
beispiel aus n Verzögerungseinheiten DL1-DLn und aus Multi
pliziereinheiten P1-Pn. Es erhält Quelltondaten vom ROM
101. Diese werden durch das Interpolationsfilter 104 im In
tervall gewandelt und von einem D/A-Wandler 108 in ein ana
loges Signal gewandelt, das als Quelltonsignal an einem Aus
gangsanschluß 109 ausgegeben wird.
Fig. 25 veranschaulicht die Schleifenstartadresse und die
Schleifenendadresse, wie sie aus den Registern 107b bzw. 107c
ausgelesen wird. Es ist angenommen, daß ein Block durch meh
rere aufeinanderfolgende Abtastwerte gebildet wird. Wenn der
Abtastwert für den Schleifenstartpunkt LPS zu Beginn eines
Blocks abgelegt wird, reicht die Angabe der Blocknummer als
Startadresse aus. Beginnt eine Schleife jedoch an einem Ab
tastwert innerhalb eines Blocks, muß noch eine Abtastnummer
innerhalb eines Blocks angegeben werden, was durch eine ge
strichelte Linie in Fig. 25 angedeutet ist. Die Schleifenend
adresse enthält nicht nur die Nummer eines Abtastwerts inner
halb eines Blocks, sondern auch Daten, die Interpolations
punkte zwischen Abtastwerten betreffen. Auf diese Weise kann
Schleifenbildung mit hoher Auflösung einschließlich der in
terpolierten Abtastwerte mit einem Verfahren erzielt werden,
das demjenigen der oben erläuterten Intervallwandlung ähnlich
ist. Bei z. B. 256-fachem übergeordnetem Abtasten kann die
Schleifendomäne LP eine Auflösung von 1/256 der Abtastperiode
PS aufweisen, so daß die Auflösung an Ansatzpunkten aufeinan
derfolgender Signalmuster etwa auf 1/256 verbessert werden
kann. Darüber hinaus besteht der Vorteil, daß bei Verwenden
eines Quelltonsystems, das ein Intervallwandeln mit überge
ordnetem Abtasten nutzt, das beschriebene Verfahren im we
sentlichen ohne zusätzliche Hardware ausgeführt werden kann,
aber dennoch weiche Übergänge bei vermindertem Schleifenrau
schen erzielbar sind.
Das oben beschriebene Verfahren zum Erzeugen von Quellton
daten mit verbesserten Eigenschaften an Übergängen von wie
derholten Mustern nutzt beim Interpolieren gemäß Fig. 21 für
die Übergangsstellen solche Interpolationswerte, die mög
lichst dicht beim Wert "0" liegen. In Fig. 21 ist der Schlei
fenstartpunkt LPS einer Schleifendomäne LP ein aktueller Ab
tastwert, während der Schleifenendpunkt LPE derjenige inter
polierte Wert ist, der am dichtesten beim tatsächlichen
Schleifenendpunkt liegt. Dies, weil die Amplitude des genann
ten Interpolationswertes dichter bei der Amplitude des Start
punktes LPS liegt als die Amplitude des tatsächlichen Schlei
fenendpunkts LPE' der Schleifendomäne LP', wie sie bei tat
sächlichem Abtasten erkannt wurde.
Wie bereits erläutert, erfolgt das Anschließen aufeinander
folgender Signalmuster aneinander mit Hilfe der interpolier
ten Werte, wodurch die Übergangsstellen in der Amplitude mit
großer Genauigkeit aneinander anschließen, was durch Fig. 22
veranschaulicht ist.
Die oben beschriebene Verarbeitung wie z. B. die Intervall
wandlung, die Abtastratenwandlung oder das übergeordnete Ab
tasten kann als lineares Wandeln von Signalen erster Ordnung
verstanden werden. Bei solchem linearem Wandeln besteht die
herkömmliche Praxis darin, die Lücke zwischen diskreten Daten
dadurch zu füllen, daß Interpolationsfilter oder FIR-Filter
genutzt werden. Die erforderliche Anzahl von Interpolations
filtern entspricht der Anzahl von Interpolationspunkten zwi
schen Abtastwerten. Für 256-faches übergeordnetes Abtasten
sind demgemäß 256 Filteranordnungen erforderlich. Der Filter
aufbau mit 256 Filtersätzen muß in der Filtercharakteristik
gut abgestimmt sein. Nicht angepaßte Amplitudencharakteristik
zwischen verschiedenen Filtersätzen der Filteranordnung führt
zu Wandlungsrauschen, das dann vom jeweils ausgewählten Fil
tersatz erzeugt wird. Diese Art digitalen Rauschens weist besondere
Frequenzcharakteristik auf, die vom üblichen weißen
Rauschen unterschiedlich ist. Dadurch fällt dieses Rauschen
im Höreindruck selbst bei sehr niedrigem Pegel stark auf. Der
Klangeindruck eines Gesamtsystems hängt daher in vielen Fäl
len besonders vom Intervallrauschen ab. Es ist daher beson
ders wichtig, ein Intervallwandlungsfilter so aufzubauen, daß
das Wandlungsrauschen minimal wird.
Im Audiogebiet wird Intervallwandeln durch übergeordnetes Ab
tasten oder durch Abtastratenwandlung häufig eingesetzt.
Diese Verarbeitungsart gehört zur linearen Transformation von
Signalen erster Ordnung und kann als Version erster Ordnung
von affiner Transformation angesehen werden, wie sie häufig
bei Bildverarbeitung eingesetzt wird. Im Fall von Signalen
erster Ordnung bestehen verschiedene Freiheitsgrade in der
Rechenzeit. Lücken zwischen Einzeldaten werden daher ziemlich
gut durch arithmetisches Berechnen gefüllt. Es ist möglich,
Interpolation von Abtastwerten mit hoher Genauigkeit auszu
führen, z. B. ein übergeordnetes Abtasten mit einer Rate, die
dem 256-fachen der Abtastrate entspricht, z. B. der Abtast
rate einer Quelltoneinheit.
In bezug auf Klangqualität bestehen jedoch höhere Ansprüche
als in bezug auf Bildqualität. Weiterhin ist es zu beachten,
daß es aufgrund von Kostengründen nur schwer möglich ist,
eine Vorrichtung für umfangreiche Interpolation herzustellen,
z. B. mit so vielen Abgriffen, daß 256-faches übergeordnetes
Abtasten erfolgen kann.
Das Intervallwandlungsrauschen stellt also ein besonderes
Problem dar. Es ist jedoch bisher kein besonders brauchbares
Verfahren für ein Intervallwandlungsfilter angegeben worden,
das bei einer vorgegebenen Anzahl von Abzweigungen deutlich
bessere Eigenschaften als ein FIR-Filter aufweist.
Die Erfinder haben versucht, verschiedene Filter zu ent
wickeln, die trotz des Verwendens von Interpolationsfiltern
für die Intervallwandlung frei von digitalem Rauschen sind.
Sie haben dabei Gesichtspunkte herausgefunden, die für gute
Eigenschaften von Interpolationsfiltern zum Intervallwandeln
von besonderer Bedeutung sind.
Durch Trial-and-Error-Verfahren wurde herausgefunden, daß es
wichtiger ist, die Filtercharakteristiken der einzelnen Fil
ter in einer Filteranordnung aufeinander abzustimmen, als ho
hen Wert auf die Charakteristik eines jeden einzelnen der
Filter zu legen. Zweitens haben sie herausgefunden, daß das
Anpassen der Filtercharakteristiken die Eigenschaften im Ab
schneidebereich des FIR-Tiefpaßfilters beeinflußt, d. h. daß
geringere Welligkeit im Cut-Off-Bereich besonders wünschens
wert ist, wenn eine Filteranordnung mit guten Gesamteigen
schaften erhalten werden soll.
Im folgenden wird ein Interpolationsfilter erläutert, das m
Filter n-ter Ordnung aufweist, um digitale Daten in m Inter
polationspunkten innerhalb einer Abtastperiode bei einer Ab
tastperiode fs zu finden, um Interpolationsdaten aus einem
digitalen Eingangssignal einer Abtastfrequenz fs mit m-facher
Auflösung, also der Frequenz m.fs zu erzeugen, wobei die Zahl
m der Filter n-ter Ordnung alle ähnliche Amplitudencharakte
ristik aufweisen.
Während die Interpolationsfilter alle in der Amplituden
charakteristik praktisch gleich sind, sind sie in der Phase
veränderbar, wodurch es möglich ist, Rauschen beim Umschalten
der Filter zu vermeiden.
Der typische Grundaufbau eines Interpolationsfilters mit den
eben genannten Eigenschaften wird nun anhand von Fig. 26 nä
her erläutert.
Fig. 26 zeigt ein Filter n-ter Ordnung, das durch n Koeffi
zientenmultiplizierer 151, (n - 1) Verzögerungseinheiten 152
und eine Summiereinheit 153 zum Aufsummieren von Produkten
gebildet ist. Ein digitales Eingangssignal mit einer Abtast
frequenz fs wird einem Eingangsanschluß 154 zugeführt und
dann abtastwertweise durch die (n - 1) Verzögerungseinheiten
152 verzögert und abtastwertweise durch die Multiplizierer
151 mit Koeffizienten multipliziert. Die Ausgangssignale
werden durch die Summiereinheit 153 summiert und dann an
einen Ausgangsanschluß 156 ausgegeben.
Zum Erzeugen interpolierter Daten aus dem genannten digitalen
Eingangssignal mit einer Auflösung des m-fachen der Abtast
frequenz, also mit m.fs, werden digitale Daten von m Interpo
lationsabtastwerten, wie sie innerhalb einer Abtastperiode
der Abtastfrequenz fs vorliegen, aufgefunden, d. h. die m In
terpolationsfilter n-ter Ordnung werden so gewählt, daß sie
gleiche Amplitudencharakteristik aufweisen, wodurch von die
sen Filtern erzeugte digitale Daten Interpolationsdaten sind,
die frei von digitalem Rauschen sind. Zu den m Filtern gehö
ren m Sätze von Koeffizienten, wobei jeder Satz von Koeffi
zienten m Koeffizienten enthält.
Das Prinzip des Aufbaus eines Interpolationsfilters für In
tervallwandlung wird im folgenden erläutert.
Unter Intervallwandlung wird eine lineare Transformation
eines Signals entlang der Zeitachse verstanden, d. h.
y(t) = x(at + b) (15)
wobei x(t) das Originalsignal und y(t) das im Intervall geän
derte Signal bezeichnet. Die Gleichung (15) kann als Version
erster Ordnung einer affinen Transformation verstanden wer
den. Wenn x(t) und y(t) kontinuierliche Größen sind, ist die
Transformation von x in y durch diese Formel einfach. In der
Praxis sind die Werte von x(t) jedoch diskrete Größen, wobei
diese Werte nicht notwendigerweise mit den Abtastpunkten zu
sammenfallen, die zum Berechnen von y(t) erforderlich sind.
In diesem Fall ist es notwendig, interpolierte Werte aus meh
reren benachbarten Abtastpunkten zu berechnen.
Beim Pegelwandeln werden also Abtastwerte aus mehreren Zwi
schenpunkten interpoliert. Bei 8-fachem übergeordnetem Ab
tasten werden zwei Punkte mit Hilfe von acht dazwischen lie
genden Punkten interpoliert. Bei der oben genannten Quellton
einheit wird 256-faches Interpolieren ausgeführt, um ausrei
chende Intervallfestlegung sicherzustellen. Die Anzahl von
Interpolationen wird im folgenden als Auflösung R bezeichnet.
Im eben beschriebenen Fall ist die Auflösung also R = 256.
Interpolationsdaten der Auflösung R werden also aus digitalen
Eingangsdaten erzeugt, die die Abtastfrequenz fs aufweisen.
Die Interpolationsdaten weisen die Abtastfrequenz m.fs auf.
Die interpolierten Werte können dadurch berechnet werden, daß
ein FIR-Filter oder ein nichtzyklisches Filter n-ter Ordnung
für jeden der m Interpolationspunkte zur Verfügung gestellt
wird. Es liegen also m Sätze von FIR-Filtern fi(t) n-ter Ord
nung vor, mit i = 0, 1, 2, . . ., m - 1. t ist eine Variable, die
sich mit einer Zahl ändern kann, die der Zahl der Ordnung
gleich ist. Für den k-ten Interpolationspunkt wird die Kon
volution mit dem Eingangsquellsignal x(t) wie folgt berech
net:
Dabei wird das k-te FIR-Filter fk(t) aus den vorgenannten m
Sätzen von FIR-Filtern n-ter Ordnung verwendet, um den Wert
für den Interpolationspunkt x(t + k/m) zu finden.
Eine Filteranordnung wird aus m Sätzen von FIR-Filtern fi(t)
n-ter Ordnung gebildet. Das Entwerfen eines Interpolationsfilters
für Intervallkonversion ist gleichbedeutend mit dem
Entwerfen einer Filteranordnung. Die Bedingung, die erforder
lich ist, damit eine Filteranordnung als Intervallwandlungs
filter arbeitet, wird nun erläutert.
Zum Vereinfachen der Erläuterung wird angenommen, daß das
Abtastintervall die Länge Eins aufweist (ts = 1/fs). Damit
das k-te FIR-Filter fk(t) als Interpolationsfilter arbeitet,
muß das Ansprechverhalten dieses Filters der folgenden Formel
genügen:
Durch Fourier-Transformation für beide Seiten dieser Formel
folgt:
Y(ω)exp(jωk/m) = Fk(ω) . X(ω) (18)
Dabei ist die Imaginärzahl (-1)1/2 nicht mit i bezeichnet,
sondern mit j, um gegenüber dem Index i abzugrenzen. Glei
chung (18) ergibt umgerechnet:
Y(ω) = Fk(ω)exp(-jωk/m) . X(ω) (19)
Für jedes einzelne FIR-Filter n-ter Ordnung gilt dann beim
Einsetzen von
F0(ω) = Fk(ω)exp(-jωk/m) (20)
die folgende Gleichung:
Fk(ω) = F0(ω)exp(jωk/m) (21)
Diese Gleichung (21) ist die Grundgleichung für das willkür
lich gewählte k-te Filter der Filteranordnung. Solange die
FIR-Filter n-ter Ordnung der Filteranordnung in ihrer Gesamt
heit der Gleichung (21) genügen, kann kein Intervallwand
lungsrauschen erzeugt werden. Die Charakteristik der Filter
anordnung selbst wie Welligkeit oder Cut-Off-Eigenschaften
hängen von der Eigenschaft von f0(t) ab.
Obige Gleichung (21) wird als Formel auf Zeitbasis umgerech
net. Es wird darauf hingewiesen, daß das k-te FIR-Filter
fk(t) tatsächlich eine diskrete Größe darstellt. Wenn der
Koeffizient des q-ten Abgriffs des k-ten FIR-Filters fk(+)
n-ter Ordnung als fk(q) ausgedrückt wird, gilt
Bei Entwickeln einer Fourier-Transformation erhält man:
Dabei sind Falzeffekte nicht berücksichtigt. Durch Einsetzen
von Gleichung (23) in Gleichung (21) erhält man:
Die Koeffizienten der Abgriffe aller FIR-Filter der Filter
anordnung können durch Lösen dieser Gleichung erhalten wer
den.
Es ist sehr schwierig, die Eigenschaften der Filteranordnung
durch Lösen der Gleichung (24) zu erhalten. Eine tatsächliche
Filteranordnung wird daher aus einem einzigen Prototyp eines
Tiefpaßfilters entwickelt. Es wird ein FIR-Tiefpaßfilter g(t)
von (n × m)-ter Ordnung angenommen mit einer Cut-Off-Fre
quenz, die nicht höher ist als 1/m der Abtastfrequenz, d. h.
nicht größer als fs/m, wie durch Fig. 27 veranschaulicht.
Das Filter gemäß Fig. 27 besteht aus (m × n - 1) Verzögerungs
einheiten 163, (m × n) Multiplizierern 164 und einem summie
renden Verstärker 165. Ein digitales Eingangssignal der Ab
tastfrequenz fs wird einem Eingangsanschluß 161 zugeführt
und dann abtastweise durch die Verzögerungseinheiten 163 ver
zögert. Ebenfalls abtastwertweise wird es mit Koeffizienten
in den Multiplizierern 164 multipliziert. Die Ausgangssignale
der Multiplizierer 164 werden im summierenden Verstärker 165
aufsummiert. So kann ein Satz von m Koeffizienten für die
Filter n-ter Ordnung gemäß Fig. 26 durch das Filter gemäß
Fig. 27 erhalten werden.
Mit dem Filter gemäß Fig. 27 ist es auch möglich, die eben
genannte Zahl m von Sätzen von Filtern n-ter Ordnung dadurch
zu erzeugen, daß m Filter mit jeweils gleichem Koeffizient
herausgegriffen werden und die Filter n-ter Ordnung aus die
sen m Filtern gebildet werden.
Mit den m Sätzen von Filtern fh(t) n-ter Ordnung, die durch
Herausnehmen jedes n-ten Koeffizienten aus dem oben genannten
FIR-Tiefpaßfilter g(t) gebildet sind, mit h = 0,1, . . . (n - 1),
werden m Sätze von Filtern n-ter Ordnung erhalten, die fol
gender Gleichung genügen:
fh(t) = g(mt + h) (25)
Die Filteranordnung mit diesen m Sätzen von FIR-Filtern fh(t)
n-ter Ordnung erfüllt in sich die oben genannten Bedingungen
für ein Intervallwandlungsfilter. Es gilt:
(l/m)G(ω/m) (26)
Ein Intervallwandlungsfilter kann mit Hilfe von Gleichung
(26) relativ einfach realisiert werden. Gelegentlich können
jedoch ausreichende Charakteristiken nicht durch Austesten
eines praktisch entworfenen Filters erhalten werden. Dies
kann darauf zurückzuführen sein, daß es schwierig ist, ein
FIR-Tiefpaßfilter mit einer festen Anzahl von Abgriffen zu
entwerfen. Dieser Fehler wird mit zunehmend höherer Auflösung
R des FIR-Filters kritischer.
Die Frequenzcharakteristik einer Filteranordnung mit FIR-
Tiefpaßfiltern g(t) kann ausgedrückt werden durch:
Fh(ω) = (1/m)G(ω/m)exp(jωh/m) (27)
Hieraus folgt, daß die Charakteristik von f0(ω) diejenige von
g(ω) ist, um das m-fache entlang der Frequenzachse gestreckt.
Daraus folgt, daß dann, wenn die Cut-Off-Frequenz des FIR-
Tiefpaßfilters, das Fourier-Transformation unterzogen wurde,
nicht mehr als der halben Abtastfrequenz entsprechen soll,
d. h. nicht mehr als fs/2, die Cut-Off-Frequenz des FIR-Tief
paßfilters G(ω), das Fourier-Transformation unterworfen wur
de, nicht mehr als 1/2m der Abtastfrequenz entsprechen darf,
d. h. nicht mehr als fs/2m.
Andererseits treten deutlich als Begleiter auf dem Signal
F0(ω) Frequenzkomponenten des FIR-Tiefpaßfilters G(ω) mit
einer Cut-Off-Frequenz auf, die nicht weniger ist als das
1/2m-fache der Abtastfrequenz, d. h. nicht weniger als fs/2m.
Diese Begleitkomponenten weisen unterschiedliche Phasenkompo
nenten von Filter zu Filter auf. Die auf diese Weise hervor
gerufenen Unterschiede können zu Unterschieden in der Filter
charakteristik führen, die zu Intervallwandlungsrauschen füh
ren.
Je höher die Auflösung R der Filteranordnung wird, desto
niedriger wird die Cut-Off-Frequenz, die für die genannten
FIR-Tiefpaßfilter gefordert ist. Mit einer unzureichenden An
zahl von Ordnungen n für die Filter können voll zufrieden
stellende Filtercharakteristiken nicht erhalten werden, wenn
das Filter nicht höchst geistreich entworfen wird, da es in
der Regel schwierig ist, Filter mit extrem niedriger oder
extrem hoher Cut-Off-Frequenz zu entwickeln.
Obwohl der Effekt der Begleitkomponenten bei der oben erläu
terten Filterentwicklung nicht berücksichtigt wurde, können
derartige Komponenten bis zur ersten Ordnung gemäß der fol
genden Erläutertung berücksichtigt werden. Da die Frequenz
charakteristik des FIR-Filters fh(t) üblicherweise eine
geradzahlige Funktion ist, unter Annahme einer reellen Zahl,
ist auch die Frequenzcharakteristik des FIR-Filters F(ω) eine
geradzahlige Funktion, unter Annahme einer reellen Zahl.
Wird der Einfachheit halber nur der Bereich 0 < ω berücksich
tigt, kann die Frequenzcharakteristik des vorstehend genann
ten FIR-Filters fh(t) wie folgt ausgedrückt werden, wenn Be
gleitkomponenten erster Ordnung berücksichtigt sind:
(ω) = Fh(ω) + Fh(ω + 2π) (28)
Einsetzen von Gleichung (27) in Gleichung (28) ergibt:
(ω) = exp(jωh/m)(F0(ω) - R(ω)exp(2πjh/m)) (29)
wobei R(ω) so gewählt ist, daß gilt:
R(ω) = (1/m)G((ω + 2π)/m) (30)
Der Term R(ω)exp(2πjh/m) in Gleichung (29) stellt eine Feh
lerkomponente dar, die nichts anderes ist als die Frequenz
charakteristik des FIR-Tiefpaßfilters. Dieser Term ist für
Rauschen verantwortlich, da er dazu führt, daß sich die Fil
tercharakteristik von Filter zu Filter ändert. Unter der An
nahme, daß die FIR-Filter F(ω) und R(ω) reelle Zahlen dar
stellen, wird der Maximalwert für den Fehler:
Δ = max(A) - min(A) = 2 || R(ω) || (31)
wobei A = F0(ω) + R(ω)exp(2πjk/m) ist. Das heißt, daß der Maxi
malwert für den Fehler das zweifache des Normalwertes für
R(ω) ist. Wird mit Nb die Bitlänge des Filterkoeffizienten
bezeichnet, gilt:
Δ 2 || R(ω) || < 2-Nb (32)
Daraus folgt, daß das Intervallwandlungsrauschen innerhalb
dem Bereich des Quantisierungsrauschens liegen kann. Da
Nb = 12 in der Tonquelleneinheit gemäß dem Ausführungsbei
spiel gilt, ist es erforderlich, daß für die Verstärkung im
Cut-Off-Bereich gilt:
|| R(ω) || < (2-Nb/2) = -78[dB] (33)
Die Maximalverschiebung in Filtercharakteristiken besteht
zwischen zwei Filtersätzen, die um m/2 voneinander entfernt
sind, da sich dann die Phase von R() umdreht. Bei Intervall
wandlung kann dies auftreten, wenn das Intervall um 5 Punkte
erhöht wird oder um eine Oktave erniedrigt wird, so daß es am
wahrscheinlichsten ist, daß die obigen Filter abwechselnd
ausgewählt werden.
Diese Bedingungen für den Inhibitbereich sind ziemlich streng
im Vergleich zu dem, was beim Entwickeln eines gewöhnlichen
Filters eingehalten werden muß. Beim Entwickeln eines gewöhn
lichen Filters wird nicht versucht, Welligkeiten im Inhibit
bereich in diesem Ausmaß zu unterdrücken, aber es wird
gleichzeitig versucht, die Cut-Off-Charakteristik zu verbes
sern. Wenn jedoch ein Signal/Rausch-Verhältnis geschaffen
werden soll, das der Bitlänge der Filterkoeffizienten des
Intervallwandlungsfilters entspricht, müssen die oben genann
ten Bedingungen auf Kosten anderer Bedingungen erfüllt wer
den.
Im folgenden wird die oben beschriebene Entwicklungstechnik
für ein Intervallwandlungsfilter zusammengefaßt erläutert.
Bei einem Intervallwandlungsfilter fh(t) mit der Auflösung R
und mit n Ordnungen muß jedes Filter der Filtereinheit der
folgenden Charakteristik genügen:
Fh(ω) = F0(ω)exp(jωh/m) (34)
Die Filtereinheit muß dadurch erzeugt werden, daß jeder m-te
Koeffizient aus einem Tiefpaßfilter (n × m)-ter Ordnung
herausgenommen wird und die herausgenommenen Koeffizienten
aufeinanderfolgend angeordnet werden.
Für Zusammenfallen der Charakteristiken der Filtersätze und
zum Unterdrücken von Intervallwandlungsrauschen genügt es,
die Verstärkung im Inhibitbereich eines Prototyps eines Tief
paßfilters zu unterdrücken, so daß gilt:
|| R(ω) || < (2-Nb/2) (35)
Wenn dieses Prinzip auf die Quelltoneinheit gemäß Fig. 1 an
gewendet wird, wird für den Intervallwandler 131 ein Interpo
lationsfilter verwendet, das durch das vorstehend angegebene
Entwicklungsverfahren geschaffen ist.
Der Intervallwandler 131 wandelt das Intervall oder die Ton
höhe des analogen Signals dann, wenn es aus dem Signal Sd so
umgewandelt wird, daß das Intervall demjenigen entspricht,
wie es durch die auf einer Tastatur betätigte Taste vorgege
ben ist. Dies erfolgt durch 256-faches übergeordnetes Abta
sten des Signales Sd, gefolgt durch ein Rückabtasten, und
dadurch ohne Ändern der Abtastfrequenz für das Signal Sd.
Das vorstehend beschriebene Interpolationsfilter beinhaltet
ein Filter zum Ausdünnen, das Abtastdaten ausdünnt.
Bei dem vorstehend beschriebenen Interpolationsfilter haben
die Filtersätze der Anordnung gleiche Amplitudeneingenschaf
ten, so daß Rauschen, das sonst durch Umschalten von Filtern
erzeugt wird, ausgeschlossen wird. Es wird also ein Abtast
ton mit sehr hohem Signal/Rausch-Verhältnis wiedergegeben.
Zum Verbessern des Übergangs zwischen den Signalen an einem
Schleifenstartpunkt und einem Schleifenendpunkt werden beim
vorstehend beschriebenen Ausführungsbeispiel die Parameter
für den Schleifenstartpunkt auf Grundlage der Daten für den
Schleifenstartpunkt und den Schleifenendpunkt gebildet.
Stattdessen können direkt PCM-Daten für mehrere Blöcke des
Schleifenstartblocks verwendet werden.
Allgemein gesprochen, besteht ein Verfahren zum Komprimieren
und Kodieren von Tondaten darin, daß komprimierte Datenworte
und Parameter, die für die Kompression gelten, aus digitalen
Daten gebildet werden, die einem analogen Signalmuster für
eine vorgegebene Anzahl von Perioden entsprechen. Dabei ent
hält jeder Block eine vorgegebene Anzahl von Abtastwerten als
Einheit, und es werden ein oder mehrere Kompressionskode
blöcke gebildet, von denen jeder eine vorgegebene Anzahl der
komprimierten Datenworte und der Parameter hierfür enthält.
Diese Kompressionskodeblöcke werden in einem Speichermedium
abgespeichert. Eine Verbesserung liegt darin, daß direkt PCM-
Worte in vorgegebener Anzahl als Anfangsworte mindestens im
ersten Kompressionskodeblock gespeichert werden.
Anhand von Fig. 28 wird veranschaulicht, daß eine Schleifen
domäne LP einer vorgegebenen Anzahl von Perioden des analogen
Signals entspricht. Die Anfangsworte vorgegebener Anzahl im
ersten Kompressionskodeblock BL der Schleifendomäne LP sind
direkte PCM-Worte WST. Die Zahl direkter PCM-Worte soll nicht
niedriger sein als die Zahl von Ordnungen beim komprimieren
den Kodieren.
Zumindest der erste Block zeigt an, daß alle Blöcke in der
oben angegebenen Weise bearbeitet werden sollen.
Wie erläutert, sind zumindest die genannten anfänglichen
Worte direkte PCM-Worte. Wenn dann Schleifen aneinander ge
hängt werden, können diese direkten PCM-Worte direkt als
Schleifenstartpunktdaten verwendet werden, so daß es nicht
erforderlich ist, Vorhersagen aus Daten in der Nachbarschaft
des Schleifenendpunktes zu treffen, wodurch die Effekte aus
geschlossen werden können, die durch vergangene Daten her
vorgerufen werden.
Vorstehend wurde ein Aufbau und eine Funktion beschrieben,
wie sie zum Erzeugen und zum Aufzeichnen von Quelltondaten
erforderlich ist, d. h. zum Ablegen in einem Speicher. Der
Aufbau und die Funktion für die Wiedergabeseite wird im fol
genden erläutert, d. h. die Funktionen zum Auslesen, Dekodie
ren und z. B. Schleifenbilden. Die Wiedergabeseite kann
alleine als Quelltonanordnung verwendet werden.
Fig. 29 ist ein Blockdiagramm, das eine Wiedergabeanordnung
darstellt zum Auslesen von Quelltondaten, die mit dem oben
angegebenen Verfahren erzeugt und dann in einem Quellton
datenspeicher 211 abgelegt wurden. Das Dekodieren erfolgt mit
dem Dekodierer 90 gemäß Fig. 18, oder es erfolgt die oben ge
nannte Schleifenbildung.
Quelltondaten werden von einer Einrichtung 210 zum Liefern
von Quelltondaten einem Speicher 213 zugeführt, der den
Quelltondatenspeicher 211 und einen Adreßdatenspeicher 212
aufweist. Die Einrichtung 210 zum Liefern von Quelltondaten
kann die oben genannte Einrichtung zum Erzeugen und/oder Auf
zeichnen von Quelltondaten insgesamt sein, oder es kann sich
um eine Vorrichtung zum Wiedergeben von Daten von einem Auf
zeichnungsmedium handeln, z. B. von einer optischen Platte,
einer Magnetplatte oder einem Magnetband.
Dem Schieber 92, dem Summierpunkt 93 und dem Vorhersageglied
94 des Dekodierers 90 von Fig. 18 entsprechen ein Schieber
232, ein Summierpunkt 233 und ein Vorhersageglied 234 von
Fig. 29. Die Schaltung von Fig. 29 übt im wesentlichen die
Funktion des Dekodierers 90 von Fig. 18 aus. Die dekodierten
Quelltondaten werden durch Hüllkurvenaddition und z. B. Hall
effekterzeugung verarbeitet und über eine dämpfende Rausch
sperre 236 einem D/A-Wandler 237 zugeführt. Das von diesem
Wandler ausgegebene analoge Signal wird von einem Lautspre
cher 238 als Musiktonsignal wiedergegeben.
Die Schaltung von Fig. 29 weist einen Adreßgenerator 220 auf,
der auf ein Signal Taste-Ein anspricht, um Quelltondaten aus
dem Speicher 213 auszulesen, insbesondere zur Schleifenbil
dung. Der Adreßgenerator 220 weist ein Adreßregister 221 auf,
um die Datenstartadresse SA für den Adreßdatenspeicher 212 zu
halten. Außerdem ist ein Adreßzähler 222 vorhanden, der mit
dem Adreßdatenwert gelesen wird und der mit Takten versorgt
wird, um eine Zählprozedur auszuführen. Ein Multiplexer 223
erhält die Adreßdaten vom Adreßzähler 222.
Der Ladesteuereingang des Adreßzählers 222 wird mit Zeit
steuerungspulsen CPA von einem Anschluß 224 über ein Und-
Glied 225 versorgt, das durch das Ausgangssignal von einem
Oder-Glied 226 gesteuert wird. Im Adreßgenerator 220 ist
außerdem ein Inhaltsverzeichnis-Adreßgenerator 228 vorhanden,
der Ausgangsdaten an den Multiplexer 223 liefert. Der Multi
plexer 223 wählt entweder Adreßdaten vom Adreßzähler 222 oder
Verzeichnis-Adreßdaten aus und steuert mit dem jeweiligen
Adreßwert den Speicher 213 an.
Ein Register 214 für untergeordnete Daten speichert die Kopf
daten, d. h. die Parameterdaten, die die Kompression betref
fen, oder auch Unterdaten. Dies erfolgt dann, wenn ein weiter
unten beschriebener Synchronisierpuls CPB einem Anschluß 215
zugeführt wird. Schleifendaten L1, d. h. Daten, die anzeigen,
ob Schleifendaten in den Unterdaten vorhanden sind, auf die
das Register 214 zugreift, werden über einen Inverter 216 und
ein Und-Glied 217 an ein Flipflop 218 gegeben. Enddaten EI,
d. h. Daten, die anzeigen, ob ein Block ein Endeblock für ein
Signal ist, werden dem Und-Glied 217 und dem Oder-Glied 226
zugeführt. Das Ausgangssignal vom Und-Glied 217 gelangt an
den Setzeingang S des Flipflops 218. Der Rücksetzeingang R
erhält das Tonerzeugungsstartsignal, d. h. das Signal Taste-
Ein KON über einen Anschluß 219. Dieses Taste-Ein-Signal KON
wird außerdem auf das Oder-Glied 226 und den Verzeichnis-
Adreßgenerator 228 gegeben. Es beinhaltet nicht nur Taste-
Ein-Daten für das elektronische Musikinstrument, sondern auch
ein Tonerzeugungs-Starttriggersignal zum Starten der Software
für automatische Musikerzeugung.
Fig. 30 zeigt ein Beispiel für den Inhalt des Speichers 213,
der ein 64 K-Byte-RAM ist. Er ist in den Quelltondatenspeicher
211 und den Adreßdatenspeicher 212 aufgeteilt. Der Adreß
datenspeicher 212 ist ein Teil des sogenannten Verzeichnis
bereichs im Speicher, in dem die vorgenannten Startadreß
daten SA und die Schleifenstartadreßdaten LA gespeichert
sind, auf die mit Hilfe der Verzeichnisadressen vom Verzeich
nisadreßgenerator 228 zugegriffen wird. Der führende Adreß
bereich SDF besteht aus Adressen für aufeinanderfolgende Ab
tastwerte, die dem Formantenbereich FR des Tonsignals ent
sprechen. Führende Adressen eines Datenbereichs SDL sind in
Fig. 28915 00070 552 001000280000000200012000285912880400040 0002003938311 00004 28796 30 mit LSA bezeichnet. Diese Daten entsprechen ebenfalls
aufeinanderfolgenden Abtastwerten, die einem Schleifenbereich
LP zugeordnet sind. Das Beispiel von Fig. 30 zeigt Quellton
daten SDS1, die aus Formantendaten SDF1 und Schleifendaten
SDL2, bezeichnet mit SA1 und LSA1, bestehen, sowie Quellton
daten SD2 aus SDF2 und SDL2, bezeichnet mit SA2 und LSA2, und
Daten SDF2, bezeichnet mit SA3. Es können jedoch auch nur
Daten vorhanden sein, die Werte für Schleifenbereiche aufwei
sen. Die Adreßdaten SA und LSA beim praktischen Ausführungs
beispiel bezeichnen nur die Adressen der Kopfdaten oder
Unterdaten RF von Fig. 19, mit Kompressionskodierblöcken als
Einheiten. Detailliertere Adreßanzeige, wie z. B. Adreßanzei
gen auf Byte-Basis, wird durch den Adreßzähler 222 vollzogen.
Wie die vorstehend beschriebene Anordnung arbeitet, wird aus
gehend vom Zeitablaufdiagramm gemäß Fig. 21 erläutert.
In Fig. 31 ist ein Multiplexvorgang veranschaulicht, wobei
die Abtastperiode mit TS bezeichnet ist. Bei einer Abtastfrequenz
von 32 kHz ist die Abtastperiode TS 1/32 ms. Jede
Abtastperiode TS wird für die Wiedergabe einer vorgegebenen
Anzahl von Stimmen unterteilt. Beim Ausführungsbeispiel sind
es 8 Stimmen (Stimmen 0-7). Die jeder Stimme zugeordnete
Zeitspanne hängt vom Ablauf des Multiplexverfahrens ab. Die
minimale Zeiteinheit für den Multiplexvorgang ist die Zeit
einheit τ. Zeitintervalle τ0 und τ1 dienen dazu, auf die
Adressen SA oder LSA im Verzeichnisbereich zuzugreifen. Zeit
spannen τ2-τ5 dienen dazu, auf Bitkompressionskodierdaten
zuzugreifen. In einem Zeitintervall τ6 wird der Adreßzähler
222 auf den neuesten Stand gebracht. Im Zeitintervall τ2
wird auf die Unterdaten (Kopfdaten RF gemäß Fig. 19) zuge
griffen, während in den Zeitintervallen τ2-τ5 die Abtast
daten (Daten DA0-DB3 von Fig. 19) gelesen werden. Der Syn
chronisierpuls CPA wird in der Zeitspanne τ5 ausgelesen, wäh
ren ein Synchronisierpuls CB in der Zeitspanne τ2 ausgegeben
wird.
Das Signal Taste-Ein KON zum Starten der Tonerzeugung wird
während einer Abtastperiode TS ausgegeben, d. h. es ist im
Intervall zwischen den Zeitpunkten t0 und t1 auf hohem Pegel.
Ein Stand-by-Signal STBY fällt mit der Vorderflanke des Sig
nals KON ab und steigt nach einigen Abtastperioden wieder auf
hohen Pegel, beim dargestellten Beispiel nach fünf Abtast
perioden, also zum Zeitpunkt t5.
Wenn das Signal Taste-Ein KON dem Anschluß 219 zugeführt
wird, erzeugt der Verzeichnisadreßgenerator 228 eine Ver
zeichnisadresse auf Basis der vom CPU angegebenen Offset
adresse für den Speicher. Außerdem wird eine Quellenzahl aus
gegeben, die die Art der Tonquelle anzeigt. Die Verzeichnis
adresse wird an den Multiplexer 223 gegeben. Während der
Zeitmultiplexintervalle τ0 und τ1 greift der Multiplexer 223
auf die Adressen zu, die vom Verzeichnisadreßgenerator 228
geliefert werden, um auf den Speicher 223 zuzugreifen, um aus
diesem vorgegebene Adreßdaten im Adreßdatenspeicher 212 aus
zulesen, d. h. Daten SA, die die Quelltondaten-Startadresse
für die vorgegebene Tonnummer anzeigen. Dadurch wird es mög
lich, die Daten SA in das Adreßregister 221 über einen Daten
bus einzulesen. Das Signal KON wird auch über das Oder-Glied
226 an das Und-Glied 225 geliefert, wodurch dieses durch
schaltet und der Puls CPA zum Zeitpunkt des Zeitfensters τ0
dem Ladesteuereingang des Adreßzählers 222 zugeführt wird.
Dadurch wird der im Adreßregister 221 zwischengespeicherte
Startadressendatenwert SA in den Adreßzähler 222 geladen, um
diesen zu setzen. Der Adreßzähler 222 zählt ab diesem Daten
wert SA, so daß diejenigen Quelltondaten SDF, für die der
Datenwert SA die Anfangsadresse darstellt, in der angegebenen
Adreßreihenfolge ausgelesen werden. Wenn Schleifendaten SDL
auf die Daten SDF folgen, wird auf diese Schleifendaten SDL
automatisch anschließend an die Daten SDF zugegriffen.
Auf die Abtastperiode, die auf diejenige folgt, in der das
Signal KON ausgegeben wird, d. h. nach der Abtastperiode t1,
geht das Signal KON wieder in seinen Ausgangszustand niedri
gen Pegels über. Der Verzeichnisadreßgenerator 228 gibt dann
die Startadresse LSA für die Schleifendaten SDL aus. Der
Adreßgenerator 228 liefert die Schleifenstartadresse LSA.
Solange jedoch dem Adreßzähler 228 kein Eingangssignal an
seinem Ladesteuerungsanschluß zugeführt wird, erhält er die
neue Adresse nicht, sondern zählt weiter. Dies gilt nicht,
wenn die Eingangsdaten nur durch Daten SDF des Formantenbe
reichs gebildet werden.
Wenn die Flagge für Enddaten EI vom Register 214 für unter
geordnete Daten gesetzt wird, d. h. wenn der Endblock für
Schleifendaten SDL oder der Endblock für Daten SDF des For
mantenbereichs erreicht ist, schaltet das Und-Glied 225 über
das Oder-Glied 226 durch, wodurch die Schleifenstartadresse
LSA im Adreßregister 221 an den Adreßzähler 222 mit Auftreten
des Synchronisierpulses CPA geliefert wird. Wie oben erwähnt,
sind die Adressen SA oder LSA Adressen für einen Bitkompres
sionsblock als Einheit, wodurch zunächst auf den Startblock
für Quelltondaten zugegriffen wird, wenn die Signale für den
nächsten Block verarbeitet werden.
Der oben genannte Enddatenwert EI wird auch dem Und-Glied 217
zugeführt. Das negierte Ausgangssignal des Datenwerts LI,
der anzeigt, ob Schleifenbildung erfolgen soll oder nicht,
wird ebenfalls dem Und-Glied 217 zugeführt, so daß das Aus
gangssignal vom Inverter 216 auf hohen Pegel geht, wenn die
Quelltondaten nur die erste Art von Daten SDF3 (Daten ent
sprechend dem Formantenbereich) aufweisen, aber Schleifen
domänendaten SDL fehlen. Wenn der Endblock der Quelltondaten
SD3 erreicht ist, geht das Ausgangssignal vom Und-Glied 217
auf hohen Pegel und setzt das Flipflop 218, wodurch dieses
die dämpfende Rauschsperre so ansteuert, daß diese Audio
signale abschneidet. Dies ist die Funktion der Rauschsperre,
wenn keine Schleifenbildung erfolgt. Erfolgt eine solche je
doch, wird die Schleife wiedergegeben, bis das nächste Signal
Taste-Ein auftritt. Das Tondämpfen erfolgt dann mit Hilfe
einer Hüllkurvencharakteristik. Wird das Signal Taste-Ein KON
eingegeben, gelangt es an den Rücksetzeingang R des Flipflops
218, das dadurch unabhängig vom Vorzustand rückgesetzt wird,
wodurch der Sperreffekt des Dämpfgliedes 236 aufgehoben wird.
Beim Benutzen der zwei Quelltondaten SD1 und SD2 von Fig. 30
und besonders beim Benutzen der Schleifendatenbereiche SDL1,
SDL2 davon, können Quelltondaten von der äußeren Einrichtung
210 zum Liefern von Quelltondaten abwechselnd in die Speicher
bereiche für SDL1 und SDL2 eingelesen und ausgelesen werden,
damit sie in einem Dekodierer 230 dekodiert werden, um das
Dekodieren der Quelltondaten für eine verlängerte Zeitspanne
auszuüben. Dies bedeutet, daß beim Auslesen und Dekodieren
von Quelltondaten aus einem Speicherbereich für SDL1, SDL2
Quelltondaten von der äußeren Quelltondatenliefereinrichtung
210 in andere Speicherbereiche eingeschrieben werden, so daß
das Einschreiben und Lesen in bezug auf diese Speicherberei
che abwechselnd erfolgt.
Dies kann sehr einfach dadurch erzielt werden, daß die Start
adressen LSA1 und LSA2 abwechselnd miteinander zum Ausführen
einer Schleifenfunktion ausgetauscht werden. Im Speicher 213,
wie er durch Fig. 30 veranschaulicht ist, werden die in den
Speicherbereich 212a eingeschriebenen Adreßdaten von den
Schleifenstartadreßdaten LSA1 in die Schleifenstartadreßdaten
LSA2 umgeschrieben. Dadurch wird die Schleifenstartadresse
LSA2 in den Speicherbereich 212 eingeschrieben, während die
Quelltondaten SDL1 ausgelesen und dekodiert werden. Die ein
geschriebene Adresse LSA2 wird in das Adreßregister 221 über
tragen. Mit dem Ende der Daten SDL1, d. h. mit Erreichen des
Schleifenendpunktes, wird auf Quelltondaten SDL2 ab der
Startadresse LSA2 dadurch zugegriffen, daß die letztgenannte
Startadresse in den Adreßzähler 222 geladen wird. In der
Zeitspanne, in der dann die Quelltondaten SDL2 ausgelesen und
dekodiert werden, wird die Schleifenstartadresse LSA1 in den
Speicherbereich 212 eingeschrieben. Mit Auftreten des Endes
der Daten SDL2, d. h. beim erneuten Erreichen eines Schlei
fendendpunktes, wird die genannte Adresse LSA1 in den Adreß
zähler 222 geladen, so daß nun auf Quelltondaten SDL1 ab die
ser Adresse zugegriffen wird. Auf diese Art und Weise können
für verlängerte Zeitdauern Quelltondaten dekodiert werden,
ohne daß dies den Hardwareaufwand erhöht.
Es wird darauf hingewiesen, daß digitale Signalverarbeitung
mit der oben genannten Bitkompression und -kodierung oder
andere digitale Signalverarbeitung zum Erzeugen von Quellton
daten häufig durch Software ausgeübt wird, die digitales Sig
nalverarbeiten nutzt. Auch das Wiedergeben aufgezeichneter
Quelltondaten wird häufig mit digitaler Signalverarbeitung
bewerkstelligt. Fig. 23 zeigt ein Beispiel für ein Gesamt
system, das aus einer Audiosignalverarbeitungseinrichtung 307
und Peripherieeinrichtungen besteht.
Ein Host-Computer 304, z. B. ein üblicher PC, ein digitales
elektronisches Musikinstrument oder ein TV-Spielgerät, ist
mit einer Audiosignalverarbeitungseinrichtung 307 verbunden,
die als Tonquelleneinheit arbeitet. Quelltondaten werden vom
Host-Computer 304 in die Einheit 307 geladen. Die oben mehr
fach erwähnte Einrichtung 210 zum Liefern von Quelltondaten
ist also durch den Host-Computer 304 gegeben.
Die Audiosignalverarbeitungseinheit 307 besteht im wesent
lichen aus einer CPU 303, wie einem Mikroprozessor, einem
DSP (Digitaler Signalprozessor) 301 und einem Speicher 302
zum Speichern von Quelltondaten. Eine Mehrzahl von Verarbei
tungsabläufen, einschließlich Auslesesteuerung der Quellton
daten, Schleifenbildung, Bit-Expansion oder -Restauration,
Intervallwandlung, Hüllkurvenaddition oder Halleffektserzeu
gung, werden von dem DSP 301 ausgeführt. Der Speicher 302
dient auch als Pufferspeicher für Daten, die bei diesen Ver
arbeitungen anfallen. Die CPU 303 steuert die Art und Weise,
wie die von dem DSP 301 vollzogenen Abläufe ausgeführt wer
den. Außerdem sorgt die CPU 303 für das Wiedereinschreiben
von Adreßdaten LSA in den oben erwähnten Speicher 213 (hier
Speicher 302) oder für das Einschreiben von Quelltondaten aus
der Einrichtung 210 zum Liefern von Quelltondaten (innerhalb
des Host-Computers 304) in den Speicher 213 (hier 302).
Die nach diesen verschiedenen Verarbeitungen durch den DSP
301 erzeugten digitalen Musiktondaten, herrührend aus den
Quelltondaten aus dem Speicher 302, werden durch einen D/A-
Wandler 305 (entsprechend dem D/A-Wandler 237) umgewandelt
und über einen Lautsprecher 306 ausgegeben.
Das Folgende ist eine verallgemeinerte Erläuterung verschie
dener charakteristischer Eigenschaften der beschriebenen Vor
richtung und des beschriebenen Verfahrens. Man kann sich eine
verallgemeinerte Quelltonvorrichtung denken, wie sie schema
tisch in Fig. 33 dargestellt ist. Mir ihr verringert sich die
Anzahl von Zugriffen auf einen Speicher, wenn Adressen für
verschiedene Startdaten in ein Adreßregister einer Audiosig
nalverarbeitungseinrichtung geladen werden.
Die Quelltonverarbeitungseinrichtung gemäß Fig. 33 weist
einen Quelltondatenspeicher 241 (entsprechend 221 in Fig. 29)
auf, zum Speichern von Quelltondaten, die einen Datenbereich
SDF mit einer ersten Folge aufeinanderfolgender Abtastdaten
und einen Datenbereich SDL aufweisen, der eine zweite Anzahl
aufeinanderfolgender Abtastwerte beinhaltet. Weiterhin ist
ein Startadreßdatenspeicher 242 (entsprechend 212 in Fig. 29)
vorhanden, zum Speichern der Datenstartadresse SA, die zu den
Quelltondaten gehört und zum Speichern einer Schleifenstart
adresse LSA. Ein Adreßgenerator 243 (entsprechend 220 in
Fig. 29) dient zum Erzeugen der Ausleseadressen für den
Quelltondatenspeicher 241 auf Grundlage der Datenstartadresse
SA und der Schleifenstartadresse LSA. Die oben genannte Da
tenstartadresse SA aus dem Startadreßdatenspeicher 242 wird
z. B. in ein Adreßregister 244 (entsprechend 221 in Fig. 29)
innerhalb dem Adreßgenerator 243 geladen. Die Daten SDF aus
der ersten Anzahl aufeinanderfolgender Abtastwerte werden aus
dem Speicherbereich gelesen, beginnend mit der Startadresse
für den Quelltondatenspeicher 241. Die Schleifenstartadresse
LSA aus dem Startadressendatenspeicher 242 wird in das Adreß
register 244 geladen, und die Daten SDL der zweiten Anzahl
aufeinanderfolgender Abtastwerte werden wiederholt ausgele
sen, um analoge oder digitale Audiosignale wiederzugeben.
Bei der Quelltonverarbeitungseinrichtung gemäß Fig. 33 werden
die Datenstartadressen in den Adreßgenerator geliefert, um
die erste Anzahl aufeinanderfolgender Abtastwerte auslesen
zu können. Dann wird die Schleifenstartadresse in den Adreß
generator geladen, um dadurch die zweite Anzahl aufeinander
folgender Abtastwerte auslesen zu können. Es wird dann bis
zur nächsten Quelltonerzeugung die erste Anzahl aufeinander
folgender Abtastwerte nicht mehr ausgelesen. Anders gesagt,
mit dem Erzeugen des Signals Taste-Ein wird entweder die
Schleifenstartadresse oder die Datenstartadresse geladen. Auf
diese Art und Weise wird die Datenstartadresse mit dem Signal
Taste-Ein geladen, während die Schleifenstartadresse anders
geladen wird, wodurch die Anzahl von Zugriffen auf den Spei
cher verringert werden kann, was eine vereinfachte Multiplex
verarbeitung ermöglicht.
Fig. 34 zeigt schematisch eine Quelltonverarbeitungseinrich
tung, mit der es vereinfacht möglich ist, zu beurteilen, ob
eine Schleifendomäne vorhanden ist, oder ob das Wiedergeben
von Quelltondaten beendet werden soll, denen eine Schleifen
domäne fehlt.
Die Quelltonverarbeitungseinrichtung gemäß Fig. 34 weist
einen Quelltondatenspeicher 251 (entsprechend 211 in Fig. 29)
auf, zum ausgewählten Speichern von Quelltondaten, die eine
erste Art aufeinanderfolgender Abtastwerte Sa einschließlich
einer zu wiederholenden Schleifendomäne aufweisen, und eine
zweite Art mehrfach aufeinanderfolgender Abtastwerte Sb,
denen eine Schleifendomäne fehlt. Ein Register 252 für unter
geordnete Daten (entsprechend 214 in Fig. 29) dient zum Aus
sondern von Daten, die mit den Quelltondaten gekoppelt sind.
Eine Flaggenprüfschaltung 253 (entsprechend 216-218 in
Fig. 29) dient zum Ermitteln von Flaggen, die das Vorhanden
sein oder Fehlen einer Schleifendomäne in den Quelltondaten
anzeigt, und zum Ermitteln des Endes von Quelltondaten. Ein
Adreßgenerator 254 (entsprechend 220 in Fig. 34) dient zum
Erzeugen von Adressen zum Auslesen der ersten Art aufeinan
derfolgender Abtastwerte Sa und der zweiten Art aufeinanderfolgender
Abtastwerte Sb aus dem Quelltondatenspeicher 251,
mit Hilfe der Quelltondaten und der mit dem Register 252 aus
gesonderten untergeordneten Daten. Eine Audiosignalverarbei
tungseinrichtung 255 (entsprechend 230 in Fig. 29) dient zum
Verarbeiten, z. B. Dekodieren, der Quelltondaten auf Grund
lage der ausgesonderten Daten, zum Erzeugen wiedergebbarer
Daten. Ein Dämpfglied 256 (entsprechend 236 in Fig. 29) dient
zum Dämpfen der durch Verarbeitung gewonnenen Quelltondaten
mit Hilfe der oben genannten Flagge innerhalb der Flaggen
prüfschaltung 253. Die erste oder die zweite Art der aufein
anderfolgenden Abtastwerte Sa bzw. S wird wiederholt aus dem
Quelltondatenspeicher 251 ausgelesen, um analoge oder digita
le Audiosignale zu erzeugen, während immer dann gedämpft
wird, wenn die zugehörige Flagge anzeigt, daß den Quellton
daten eine Schleifendomäne fehlt, oder daß das Auslesen der
Quelltondaten beendet ist.
Die Quelltondatenverarbeitungseinrichtung gemäß Fig. 34 bil
det eine Flagge, die das Ende der Daten oder das Fehlen einer
Schleifendomäne anzeigt. Daraufhin wird das ausgegebene Sig
nal gedämpft. Dadurch kann die Schleifensteuerung vereinfacht
werden, ohne daß zusätzliche Daten für die Schleifenbildung
erforderlich sind. Ähnliche Effekte können auch dadurch er
zielt werden, daß zusätzlich zur Flagge, die das Vorhanden
sein oder Fehlen einer Schleifendomäne anzeigt, eine Flagge
verwendet wird, die ein Ende mit Schleife oder ein Ende ohne
Schleife anzeigt.
Fig. 35 zeigt als Blockschaltbild die Art, wie Quelltondaten
kontinuierlich ausgelesen und wiedergegeben werden.
Die Anordnung gemäß Fig. 35 verfügt über einen Quelltonspei
cher 261 (entsprechend dem Speicher 212 von Fig. 29), der
einen ersten Quelltonspeicherbereich 261a und einen zweiten
Quelltonspeicherbereich 261b aufweist. Eine Adreßbildeschaltung
236 bildet Ausleseadressen auf Grundlage der Start
adresse, wie sie von einem Adreßregister 262 geliefert wird.
Eine Steuereinrichtung 264 sorgt dafür, daß Daten abwechselnd
aus den beiden genannten Speicherbereichen 261a bzw. 261b auf
Grundlage der gelieferten Adresse ausgelesen werden. Eine
Einrichtung zum Liefern von Quelltondaten 265 liefert Daten,
die in einen der beiden Speicherbereiche 261a, 261b jeweils
dann eingeschrieben werden, wenn immer gerade aus dem anderen
Bereich Daten ausgelesen werden. Eine Einrichtung 266 zum
Liefern von Startadressen ist vorhanden, die das Adreßregi
ster 262 mit Startadressen für die beiden genannten Speicher
bereiche versorgt. Eine Signalverarbeitungseinrichtung 267
dient dazu, die aus den beiden Speicherbereichen 261a und
261b ausgelesenen Quelltondaten zu verarbeiten.
Mit der Anordnung gemäß Fig. 35 ist es aufgrund des abwech
selnden Auslesens und Einschreibens von Daten in die Spei
cherbereiche bzw. aus den Speicherbereichen möglich, Quell
tondaten kontinuierlich rauschfrei wiederzugeben. Es wird
Schleifenwiedergabe von Quelltondaten ermöglicht, die nicht
synchronisierte Signalmuster oder wiederholte Signalmuster
beinhalten.
Diese Datenwiedergabe wird möglich durch Wechseln der Start
adressen im Adreßregister, ohne daß Hardware hinzugefügt wer
den muß und ohne daß eine besondere Zeitablaufsteuerung er
forderlich ist.
Die Anordnungen gemäß den Fig. 33-35 dienten zum Veran
schaulichen von drei Eigenschaften einer Einrichtung zum Wie
dergeben von Quelltondaten.
Wenn die anhand von Fig. 28 erläuterte Technologie auf der
Seite der Quelltondatenerzeugung und -speicherung verwendet
wird, d. h. wenn direkte PCM-Daten in einer vorgegebenen Anzahl
führender Worte in einem Startblock für die Schleifen
domäne verwendet werden, ist eine Anordnung realisierbar, wie
sie in Fig. 36 dargestellt ist. Ein Block für die Bitkompres
sionsdaten entspricht im wesentlichen demjenigen von Fig. 19.
Statt der Flagge, die das Vorhadensein oder Fehlen einer
Schleife anzeigt, und statt der Flagge, die das Ende einer
Schleife anzeigt, werden zwei 1-Bit-Flaggen verwendet, näm
lich Daten, die einen Block mit einem Schleifenstartpunkt an
zeigen, d. h. eine Schleifenstartflagge LSF, und Daten, die
einen Block mit Schleifenendpunkt anzeigen, d. h. eine
Schleifenendpunktflagge LEF.
In einem Speicher 271 innerhalb der Blockdarstellung von
Fig. 36 werden komprimierte und kodierte Abtastdaten und
Parameterdaten (Kopfdaten RF und untergeordnete Daten, wie
in Fig. 19 dargestellt) sowie Tondaten gespeichert. Ebenfalls
dort gespeichert ist die Schleifenstartadresse (Adresse für
den Schleifenstartblock im Speicher), und zwar als Verzeich
nisdatenwert. Zumindest die Schleifenstartdaten werden in
das Adreßregister 272 über einen Datenbus vom Speicher aus
übertragen und dort abgelegt, damit sie in einen Adreßzähler
273 direkt vom dem Ende einer Schleife eingegeben werden kön
nen. Ein Dekodierer 274 gibt abhängig vom Ausgangssignal vom
Adreßzähler 273 und von der Schleifenstartflagge LSF ein
Steuersignal für direkte PCM-Signale aus, und zwar für die
jenige Zeitspanne, innerhalb der eine vorgegebene Anzahl von
Anfangsworten im Schleifenstartblock liegt, d. h. in derjeni
gen Zeitspanne, in der die direkten PCM-Daten ausgegeben wer
den. Wenn Quelltondaten für verschiedene Töne im Speicher 271
abgelegt sind, sind dort jeweils die Startadressen der Quell
tondaten und die Startadressen von für die Schleifen abge
legt. Auf ein Signal hin, z. B. das Signal Taste-Ein, werden
die Anfangsadressen für diejenigen Tonsignaldaten ausgelesen,
die einer vorgewählten Tonquelle zugeordnet sind. Diese
Adressen werden aus dem Verzeichnis-Adreßbereich des Speichers
271 ausgelesen und über das Adreßregister 272 in den
Adreßzähler 273 eingelesen, um dann Daten auszulesen, die ab
der ersten Adresse gespeichert sind. Wenn nur eine Art von
Quelltondaten gespeichert ist, muß der Zähler 273 nur beim
Signal Taste-Ein von einem vorgegebenen Wert aus (Startadres
se der Quelltondaten) zählen.
Von den Quelltondaten, wie sie aus dem Speicher 271 ausgele
sen werden, werden die vorgenannten Parameterdaten, d. h. die
untergeordneten Daten und die Kopfdaten RF gemäß Fig. 19 in
ein Unterdatenregister 275 übertragen und dort zwischenge
speichert. Die Abtastdaten DA0H-DB3L gemäß Fig. 19, d. h.
4-Bit-komprimierte Daten, werden in ein Datenregister 276
übertragen und dort zwischengespeichert. Die ebenfalls im
Speicher 271 abgelegten direkten PCM-Daten für die vorgegebe
ne Anzahl von Anfangsworten im Schleifenstartblock werden an
einen Multiplexer 278 übertragen.
Die im Datenregister 276 zwischengespeicherten Daten werden
an einen Bitschieber 277 übertragen, der dem Schieber 92 des
Dekoders 90 von Fig. 18 entspricht. Das Ausgangssignal vom
Bitschieber 277 wird über den Multiplexer 278 an einen Sum
mierpunkt 280 geliefert, der dem Summierpunkt 93 von Fig. 18
entspricht. Das Ausgangssignal vom Summierpunkt 280 wird an
ein Ausgangsregister 286 und gleichzeitig an eine Vorhersage
schaltung 291 geliefert, die dem Vorhersageglied 94 von
Fig. 18 entspricht. Die Vorhersageschaltung 291 weist zwei
Verzögerungsregister 284 und 285, diesen Registern zugeord
nete Koeffizientenmultiplizierer 282 bzw. 283 und einen Sum
mierpunkt 281 auf. Am Summierpunkt werden die Produkte aus
den Ausgangssignalen und von den Verzögerungsregistern mit
Koeffizienten gebildet, wie sie von einem Koeffizientengene
rator 279 geliefert werden. Die Vorhersageschaltung 291, der
Summierpunkt 280 und der Bitschieber 277 bilden einen Deko
dierer 290 zum Dekodieren der bitkomprimierten, kodierten Da
ten.
Von den Kopfdaten FR, die im Unterdatenregister 275 zwischen
gespeichert sind, werden die Bereichsdaten und die Fenster
auswahldaten zum Bitschieber 277 bzw. zum Koeffizientengene
rator 279 übertragen. Die Schleifenendflagge LEF und die
Schleifenstartflagge LSF werden an den Setzsteuereingang für
den Adreßzähler 273 bzw. an den Dekodierer 274 gegeben.
Die genannten 4-Bit-komprimierten Daten werden im Dekodierer
290 von Fig. 36 dekodiert, entsprechend wie dies anhand des
Dekodierers von Fig. 18 erläutert wurde. Dadurch werden 16-
Bit-Amplitudendaten ausgegeben, die an einen D/A-Wandler 287
über das Ausgangsregister 286 geliefert werden. Der Wandler
287 gibt ein analoges Musiktonsignal an einen Ausgangsan
schluß 288. Im folgenden wird erläutert, wie bei Schleifen
wiedergabe von einem Schleifenendpunkt zu einem Schleifen
startpunkt zurückgekehrt wird. Wenn Quelltondaten für den
Block, der den Schleifenendpunkt beinhaltet, ausgelesen wer
den, wird die Schleifenendflagge LEF der untergeordneten
Daten gesetzt. Wenn der Schleifenendpunkt erreicht wird, wird
die Schleifenstartpunktadresse, wie sie im Adreßregister 272
zwischengespeichert ist, in den Adreßzähler 273 übertragen,
da die Schleifenendflagge LEF hierzu die Anweisung gibt. Da
durch sorgt der Adreßzähler 273 dafür, daß über einen Adreß
bus auf den Schleifenstartblock im Speicher 271 zugegriffen
wird. Dadurch werden die direkten PCM-Daten für die vorgege
bene Anzahl führender Worte ausgelesen. Während diese direk
ten PCM-Daten ausgelesen werden, führt der Dekodierer 274
eine Steuerung aus, in der er das Umschaltsteuersignal für
die direkten PCM-Daten an den Multiplexer 278 und den Koeffi
zientengenerator 279 gibt, um die direkten PCM-Daten direkt
an das Ausgangsregister 286 zu liefern. Der Multiplexer 278
wählt also die direkten PCM-Daten aus dem Speicher 271 aus,
während der Koeffizientengenerator 279 solche Koeffizienten
an die Multiplizierer 282 und 283 liefert, die ein Filter
0-ter Ordnung bilden, wodurch die unmittelbaren PCM-Daten als
Ausgangssignal vom Summierpunkt 280 erhalten werden.
Da die direkten PCM-Daten direkt als Schleifenstartpunktdaten
verwendet werden können, besteht keine Notwendigkeit, Vorher
sagen für die Schleifenendpunktdaten zu treffen. Dadurch fal
len mit guter Wirkung Fehler weg, die ansonsten durch Diskon
tinuitäten an den Schleifenpunkten auftreten.
Beim beschriebenen Fall kommen zu den Quelltondaten lediglich
die unmittelbaren PCM-Daten für den Schleifenstartpunkt LPS
hinzu, während die Kompressionsrate insgesamt unverändert
bleibt. Dadurch muß die Speicherkapazität nicht erhöht wer
den.
Dadurch, daß unmittelbare PCM-Daten im Anfangsbereich einer
Schleifendomäne angeordnet werden, was dadurch erfolgt, daß
eine vorgegebene Anzahl von Anfangsworten in einem Block, der
auf den ersten Block einer Schleifendomäne folgt, aus unmit
telbaren PCM-Datenworten besteht, wird es möglich, Fehler
beim Auslesen zu vermeiden, wenn die Daten von einem belie
bigen Block ausgelesen und wiedergegeben werden. Die Anzahl
von Bits der unmittelbaren PCM-Daten kann mit der Bitzahl für
die Kompressionsdaten gleich sein, wobei beispielsweise die
Zahl außerdem mit der Bitzahl der ursprünglichen abgetasteten
Amplitudendaten gleich ist. Unmittelbare PCM-Daten, die dabei
mit den Bereichsdaten eines Blocks komprimiert sind, können
benutzt werden.