DE3938311C2 - Vorrichtung zum Erzeugen von Quelltondaten - Google Patents

Vorrichtung zum Erzeugen von Quelltondaten

Info

Publication number
DE3938311C2
DE3938311C2 DE3938311A DE3938311A DE3938311C2 DE 3938311 C2 DE3938311 C2 DE 3938311C2 DE 3938311 A DE3938311 A DE 3938311A DE 3938311 A DE3938311 A DE 3938311A DE 3938311 C2 DE3938311 C2 DE 3938311C2
Authority
DE
Germany
Prior art keywords
data
signal
loop
filter
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3938311A
Other languages
English (en)
Other versions
DE3938311A1 (de
Inventor
Ken Kutaragi
Makoto Furuhashi
Masakazu Suzuoki
Koji Kageyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP63292931A external-priority patent/JPH02137896A/ja
Priority claimed from JP63292935A external-priority patent/JP2712422B2/ja
Priority claimed from JP63292933A external-priority patent/JP2712421B2/ja
Priority claimed from JP63292934A external-priority patent/JP2671456B2/ja
Priority claimed from JP63301544A external-priority patent/JP2674161B2/ja
Priority claimed from JP2556489A external-priority patent/JPH02206216A/ja
Priority to DE3943796A priority Critical patent/DE3943796C2/de
Priority to DE3943797A priority patent/DE3943797B4/de
Priority to DE3943795A priority patent/DE3943795C2/de
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority claimed from DE3943795A external-priority patent/DE3943795C2/de
Publication of DE3938311A1 publication Critical patent/DE3938311A1/de
Publication of DE3938311C2 publication Critical patent/DE3938311C2/de
Application granted granted Critical
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/08Instruments in which the tones are synthesised from a data store, e.g. computer organs by calculating functions or polynomial approximations to evaluate amplitudes at successive sample points of a tone waveform
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
    • G10H1/053Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
    • G10H1/057Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/005Voice controlled instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/066Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/055Filters for musical processing or musical effects; Filter responses, filter architecture, filter coefficients or control parameters therefor
    • G10H2250/105Comb filters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/055Filters for musical processing or musical effects; Filter responses, filter architecture, filter coefficients or control parameters therefor
    • G10H2250/111Impulse response, i.e. filters defined or specifed by their temporal impulse response features, e.g. for echo or reverberation applications
    • G10H2250/121IIR impulse
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/145Convolution, e.g. of a music input signal with a desired impulse response to compute an output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/215Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
    • G10H2250/235Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/545Aliasing, i.e. preventing, eliminating or deliberately using aliasing noise, distortions or artifacts in sampled or synthesised waveforms, e.g. by band limiting, oversampling or undersampling, respectively
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/601Compressed representations of spectral envelopes, e.g. LPC [linear predictive coding], LAR [log area ratios], LSP [line spectral pairs], reflection coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/631Waveform resampling, i.e. sample rate conversion or sample depth conversion
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/641Waveform sampler, i.e. music samplers; Sampled music loop processing, wherein a loop is a sample of a performance that has been edited to repeat seamlessly without clicks or artifacts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

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 τ25 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 τ25 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.

Claims (2)

1. Vorrichtung zum Erzeugen von Quelltondaten, bei der Signaldaten eines Musiktonsignals für eine vorgegebene Anzahl aktueller Abtastwerte interpoliert werden, um mehrere interpolierte Abtastwerte zu erzeugen, und bei der von den aktuellen und den interpolierten Abtastwerten diejenigen beim Aneinander­ fügen eines sich wiederholenden Signalmusters in Schleifenpunkten verwendet werden, die in der Amplitude am dichtesten beieinanderliegen, gekennzeichnet durch eine Detektoreinrichtung (16), die die Schleifenpunkte so auswählt, dass sie voneinander um ein ganzzahliges Vielfaches des Intervalls des Musiktonsignals entfernt liegen.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch eine Filteranordnung (15, 19), die aus m Sätzen von Filtern n-ter Ordnung besteht, zum Auffinden digitaler Daten für m Interpolationspunkte, die innerhalb einer Abtastperio­ de bei einer Abtastfrequenz fs der digitalen Eingangs­ daten liegen, wodurch Interpolationsdaten mit einer Auf­ lösung von m.fs erzeugt werden, wobei die m Sätze von Filtern n-ter Ordnung jeweils gleiche Amplitudencharak­ teristik aufweisen.
DE3938311A 1988-11-19 1989-11-17 Vorrichtung zum Erzeugen von Quelltondaten Expired - Lifetime DE3938311C2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE3943795A DE3943795C2 (de) 1988-11-19 1989-11-17 Interpolationsfilter
DE3943797A DE3943797B4 (de) 1988-11-19 1989-11-17 Vorrichtung zum Verarbeiten von Quelltondaten
DE3943796A DE3943796C2 (de) 1988-11-19 1989-11-17 Vorrichtung zum komprimierenden Kodieren von Quelltondaten

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP63292931A JPH02137896A (ja) 1988-11-19 1988-11-19 音源データの生成方法
JP63292934A JP2671456B2 (ja) 1988-11-19 1988-11-19 音源装置
JP63292933A JP2712421B2 (ja) 1988-11-19 1988-11-19 音源装置
JP63292935A JP2712422B2 (ja) 1988-11-19 1988-11-19 連続音源データ再生装置
JP63301544A JP2674161B2 (ja) 1988-11-29 1988-11-29 音源データ圧縮符号化方法
JP2556489A JPH02206216A (ja) 1989-02-03 1989-02-03 補間フィルタ
DE3943795A DE3943795C2 (de) 1988-11-19 1989-11-17 Interpolationsfilter
DE3943797A DE3943797B4 (de) 1988-11-19 1989-11-17 Vorrichtung zum Verarbeiten von Quelltondaten
DE3943796A DE3943796C2 (de) 1988-11-19 1989-11-17 Vorrichtung zum komprimierenden Kodieren von Quelltondaten

Publications (2)

Publication Number Publication Date
DE3938311A1 DE3938311A1 (de) 1990-05-23
DE3938311C2 true DE3938311C2 (de) 2002-03-28

Family

ID=27575935

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3938311A Expired - Lifetime DE3938311C2 (de) 1988-11-19 1989-11-17 Vorrichtung zum Erzeugen von Quelltondaten

Country Status (1)

Country Link
DE (1) DE3938311C2 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626827A (en) * 1982-03-16 1986-12-02 Victor Company Of Japan, Limited Method and system for data compression by variable frequency sampling
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming device
EP0273447A2 (de) * 1986-12-30 1988-07-06 Yamaha Corporation Tonsignalerzeugungsvorrichtung mit einem digitalen Filter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626827A (en) * 1982-03-16 1986-12-02 Victor Company Of Japan, Limited Method and system for data compression by variable frequency sampling
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming device
EP0273447A2 (de) * 1986-12-30 1988-07-06 Yamaha Corporation Tonsignalerzeugungsvorrichtung mit einem digitalen Filter

Also Published As

Publication number Publication date
DE3938311A1 (de) 1990-05-23

Similar Documents

Publication Publication Date Title
DE3036680C2 (de) Sprachsynthesizer mit dehnbarer und komprimierbarer Sprachzeit
DE3936693C2 (de) Vorrichtung zum Erzeugen digitaler Audiosignale
KR0164590B1 (ko) 음원 데이타 발생, 기록 또는 재생장치
DE3309467C2 (de)
KR0150223B1 (ko) 악음신호발생장치
EP0042555B1 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
DE69632351T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE69736279T2 (de) Tonwiedergabe-geschwindigkeitsumwandler
DE4226929C2 (de) Tonhöhensteuervorrichtung
DE4190102B4 (de) Datenverdichtung von Tondaten
AT403969B (de) Verfahren zur kompression eines analogen signals
DE3943796C2 (de) Vorrichtung zum komprimierenden Kodieren von Quelltondaten
DE3938311C2 (de) Vorrichtung zum Erzeugen von Quelltondaten
US4601052A (en) Voice analysis composing method
DE4190031B4 (de) Datenverdichtung von ausschwingenden Musikinstrumententönen für ein digitales Abtastungssystem
DE3037276C2 (de) Tonsynthesizer
DE3938312C2 (de) Verfahren zum Erzeugen von Quelltondaten
DE3943800B4 (de) Verfahren zum Erzeugen von Quelltondaten
DE3226600A1 (de) Mit einem nachhalltonerzeugungsapparat ausgestattetes elektronisches musikinstrument
US5890119A (en) Digital sound generating system permitting a shared use of a hardware resource between different type tone generators
DE4008875C1 (de)
JPH0650432B2 (ja) 楽音信号発生装置
JPH0243196B2 (de)
JP2547532B2 (ja) 音声合成装置
DE4425767A1 (de) Verfahren zur Wiedergabe von Signalen mit veränderter Geschwindigkeit

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: PATENTANWAELTE MUELLER & HOFFMANN, 81667 MUENCHEN

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3943797

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3943797

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3943796

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3943795

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3943796

Ref country code: DE

Ref document number: 3943795

8127 New person/name/address of the applicant

Owner name: SONY COMPUTER ENTERTAINMENT INC., TOKIO/TOKYO, JP

AH Division in

Ref country code: DE

Ref document number: 3943795

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3943797

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3943796

Format of ref document f/p: P

D2 Grant after examination
AH Division in

Ref country code: DE

Ref document number: 3943796

Format of ref document f/p: P

8364 No opposition during term of opposition
AH Division in

Ref country code: DE

Ref document number: 3943795

Format of ref document f/p: P