DE3943797B4 - Vorrichtung zum Verarbeiten von Quelltondaten - Google Patents

Vorrichtung zum Verarbeiten von Quelltondaten Download PDF

Info

Publication number
DE3943797B4
DE3943797B4 DE3943797A DE3943797A DE3943797B4 DE 3943797 B4 DE3943797 B4 DE 3943797B4 DE 3943797 A DE3943797 A DE 3943797A DE 3943797 A DE3943797 A DE 3943797A DE 3943797 B4 DE3943797 B4 DE 3943797B4
Authority
DE
Germany
Prior art keywords
data
source sound
sound data
loop
signal
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
DE3943797A
Other languages
English (en)
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 JP63292935A external-priority patent/JP2712422B2/ja
Priority claimed from JP63292934A external-priority patent/JP2671456B2/ja
Priority claimed from JP63292931A external-priority patent/JPH02137896A/ja
Priority claimed from JP63292933A external-priority patent/JP2712421B2/ja
Priority claimed from JP63301544A external-priority patent/JP2674161B2/ja
Priority claimed from JP2556489A external-priority patent/JPH02206216A/ja
Priority to DE3938311A priority Critical patent/DE3938311C2/de
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority claimed from DE3938311A external-priority patent/DE3938311C2/de
Publication of DE3943797B4 publication Critical patent/DE3943797B4/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
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/005Voice controlled instruments
    • 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
    • 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
    • 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)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

Vorrichtung zum Verarbeiten von Quelltondaten, umfassend:
– einen Quelltondatenspeicher (101) zum Speichern von Quelltondaten, die aufeinanderfolgende erste Abtastwerte und aufeinanderfolgende zweite Abtastwerte enthalten,
– einen Startadressendatenspeicher (107b) zum Speichern von Startadressdaten, die zu den ersten Abtastwerten der Quelltondaten gehören, und von Schleifenstartadressdaten, die zu den zweiten Abtastwerten der Quelltondaten gehören, und
– einen Adressgenerator (102) zum Erzeugen einer Ausleseadresse für den Quelltondatenspeicher (101) auf der Grundlage der Startadressdaten und der Schleifenstartadressdaten,
– wobei dann, wenn die Startadressdaten aus dem Startadressdatenspeicher (107b) in den Adressgenerator (102) geladen sind, die ersten aufeinanderfolgenden Abtastwerte aus einem Speicherbereich des Quelltondatenspeichers (101) gelesen werden, beginnend mit der Startadresse, und wobei auf der Grundlage der ausgelesenen Adressdaten und der Schleifenstartadressdaten, wie sie vom Startadressdatenspeicher (107b) in den Adressgenerator (102) gelesen sind, mehrfach die aufeinanderfolgenden zweiten Abtastwerte aus einem Speicherbereich ausgelesen werden, der mit der Schleifenstartadresse beginnt, um dadurch analoge oder digitale Audiosignale...

Description

  • Die Erfindung betrifft eine Vorrichtung zum Verarbeiten 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 Musikinstrumenten 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 nichtlineare 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 mehreren, nämlich n Perioden (n ≥ 2) sich wiederholender Signalmuster 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 Vorwärtstypfilter kodierseitig allgemein verwendet. Dieses System überträgt Unterdaten oder untergeordnete Daten, d.h. Daten, die die Kompression betreffen, zusammen mit den komprimierten Daten, wobei für den Filter in der Dekodiereinrichtung 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 Tonkomponenten entspricht dem wiederholten Aneinanderfügen von Schleifen beim Verbinden der End- und Startpunkte der Schleifendomänen. Damit sich nicht aufgrund von Diskontinuitäten an den Ansatzpunkten Schleifenrauschen einstellt, müssen die Start- und Endpunkte jeweils einen in etwa gleichen Pegel aufweisen. Es ist jedoch schwierig, den Schleifenstart- und den Schleifenendpunkt so zu wählen, daß sie im Wesentlichen den gleichen Pegel aufweisen, was mit der Abtastperiode zusammenhä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 Quelltondaten aus einem Speicher ausgelesen werden, Datenstartadressen und Schleifenstartadressen aus einem Inhaltsverzeichnis ausgelesen werden, das sich in dem Speicher mit den Quelltondaten befindet. Die zwei Adreßdaten weisen übglicherweise unterschiedlichen 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 erhöhter Belastung der Anordnung führt, wenn im Fall von Zeitmultiplexverarbeitung zum Erzeugen mehrerer Töne auf die Speicher zugegriffen werden muß.
  • Wie bereits angegeben, existieren digitale Daten ohne Schleifendomä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 Quelltondaten 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, muß dies auf andere Art und Weise erfolgen. Üblicherweise wird hierzu eine gesonderte Adresse für das Wiedergabebeendigungssignal verwendet.
  • Wenn also das Wiedergeben von Quelltondaten zu beenden ist, hängt dies davon ab, ob eine Schleifendomäne vorhanden ist oder nicht. Die Datenverarbeitung muß abhängig vom jeweils vorliegenden Fall mit unterschiedlichen Adressen erfolgen, um die Wiedergabe beenden zu können. Dies führt zu erhöhter erforderlicher Speicherkapazität und einer komplizierten Struktur der Vorrichtung.
  • Quelltondaten, die möglicherweise sich wiederholende Muster aufweisen, sollen bei möglichst geringem Speicherbedarf verarbeitet werden können.
  • Hierzu werden Daten in den Endbereichen einer Schleifendomäne interpoliert und von den ursprünglichen Abtastwerten und den interpolierten Werten werden diejenigen für den Start- und den Endpunkt verwendet, die im Pegel am dichtesten beieinander liegen. Dadurch wird gewährleistet, daß an 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 weniger gespeicherter Abtastdaten zufriedenstellende Übergänge in aufeinanderfolgenden Schleifenbereichen zu erzielen.
  • Ein besonderes Interpolationsfilter, das zu besonders rauscharmer Signalverarbeitung führt, kann sowohl für die vorstehend genannte Interpolation, wie auch als Filter in einer Bitkomprimier-Kodier-Einrichtung verwendet werden.
  • Daten für einen anfänglichen Komprimierblock können unmittelbare PCM-Worte vorangestellt werden. Diese Maßnahme erübrigt es, besondere Anfangswerte für die Signalverarbeitung zu speichern.
  • Im Einzelnen ist eine Vorrichtung der eingangs genannten An aus US 4,520,708 bekannt. Bei dieser Vorrichtung wird ein Tonwellenspeicher verwendet, aus dem Signale verschiedener Wellenformen auslesbar sind.
  • Es ist Aufgabe der Erfindung, eine Vorrichtung zum Verarbeiten von Quelltondaten zu schaffen, die es ermöglicht, mit geringem Aufwand Quelltondaten bei geringer Speicherkapazität zu liefern.
  • Diese Aufgabe wird erfindungsgemäß durch eine Vorrichtung mit den Merkmalen eines der Patentansprüche 1 bis 3 gelöst.
  • Die Vorrichtung gemäß Anspruch 1 ermöglicht es, mit möglichst wenigen Speicherzugriffen Quelltondaten auszulesen. Es werden nämlich lediglich Startadressen für Quelltondaten und Startadressen für Schleifendaten abgelegt. Zum Auslesen der Daten sind lediglich die Startadressen aus einem Speicher auszulesen, die dann durch einen Zähler verändert werden. Es muß also nicht jede Adresse gesondert ausgelesen werden.
  • Die Vorrichtung gemäß Anspruch 2 nutzt eine Flagge, die anzeigt, ob Quelltondaten eine Schleifendomäne enthalten oder nicht. Zeigt die Flagge an, daß eine Schleifendomäne fehlt und das Ende von Quelltondaten erreicht ist, wird mit Hilfe der Flagge eine Dämpfungseinrichtung aktiviert.
  • Die Vorrichtung gemäß Anspruch 3 verfügt über einen Speicher mit zwei Speicherbereichen. Immer dann, wenn aus dem einen Speicherbereich Quelltondaten ausgelesen werden, werden in den anderen Bereich Quelltondaten eingelesen. Durch dieses wechselweise Einschreiben und Auslesen ist es möglich, mit geringer Speicherkapazität länger andauernde Signale auszugeben.
  • Die Erfindung wird im folgenden anhand eines durch Figuren veranschaulichten Ausführugnsbeispiels näher beschrieben. Es zeigen:
  • 1 ein Blockdiagramm zum Erläutern einer Vorrichtung zum Bilden, Aufzeichnen und Wiedergeben von Quelltondaten;
  • 2 ein Musiktonsignal;
  • 3 ein Blockdiagramm zum Erläutern einer Ausführungsform zum Verarbeiten von Quelltondaten;
  • 4 ein Blockdiagramm zum Erläutern, wie ein Intervall ermittelt wird;
  • 5 ein weiteres Blockdiagramm zum Erläutern der Intervallermittlung;
  • 6 ein Musiktonsignal mit Hüllkurve;
  • 7 ein Signal, das das Abklingen eines Musiktonsignals veranschaulicht;
  • 8 ein Blockdiagramm zum Erläutern, wie eine Hüllkurve ermittelt wird;
  • 9 eine Charakteristik eines FIR-Filters;
  • 10 ein Signal mit konstanter Signalhöhe nach Hüllkurvenkorrektur;
  • 11 eine Kammfiltercharakteristik;
  • 12 ein Signal zum Veranschaulichen, wie die Lage eines Schleifenbereichs bestimmt wird;
  • 13 Signale, die ein Musiktonsignal vor (A) und nach (B) Zeitbasiskorrektur darstellen;
  • 14A und B Diagramme zum Erläutern, wie ein Bitkompressionsblock für Amplitudendaten nach Zeitbasiskorrektur beschaffen ist;
  • 15 ein Signal, das aus aneinandergereihten Schleifendomänen besteht;
  • 16 ein Signal für einen Formantenbereich nach Hüllkurvenkorrektur auf Grundlage von Abklingdaten;
  • 17 ein Flußdiagramm zum Erläutern von Schritten, die vor und nach einer Schleifenbildung ablaufen;
  • 18 ein Blockdiagramm zum Erläutern des Ablaufs einer bitkodierenden Bitkompression;
  • 19 ein schematisches Diagramm, das einen Datenblock darstellt, wie er bei quasi-augenblicklicher Bitkompression erhalten wird;
  • 20 ein schematisches Diagramm, das den Inhalt eines Blocks im Anfangsbereich eines Musiktonsignals veranschaulicht;
  • 21 ein Signal zum Veranschaulichen von Abtastwerten an Schleifenpunkten;
  • 22 ein Signal zum Veranschaulichen, wie Schleifen aneinander angehängt werden;
  • 23 ein Signal zum Erläutern von Intervallwandlung;
  • 24 ein Blockdiagramm zum Veranschaulichen, wie ein Interpolationsverfahren abläuft;
  • 25 ein schematisches Diagramm zum Veranschaulichen der Lage von Schleifenstart- und Schleifenendadressen;
  • 26 ein Blockdiagramm zum Darstellen des Grundaufbaus eines Interpolationsfilters;
  • 27 ein Blockdiagramm für ein Tiefpaßfilter, das dazu dient, die Koeffizienten für das Interpolationsfilter gemäß 26 zu finden;
  • 28 ein Diagramm zum Veranschaulichen, wie unmittelbare PCM-Daten im Startbereich einer Schleifendomäne angeordnet werden;
  • 29 ein Blockdiagramm zum Veranschaulichen einer Quelltonwiedergabeseite;
  • 30 ein Diagramm zum Veranschaulichen des Inhalts eines Speichers;
  • 31 ein Zeitablaufdiagramm zum Veranschaulichen der hauptsächlichen Funktion der Schaltung gem. 29;
  • 32 ein Blockdiagramm zum Veranschaulichen des Aufbaus einer Audioverarbeitungseinheit und von Peripherieeinrichtungen derselben;
  • 33 ein funktionelles Blockdiagramm zum Erläutern einer Quelltonverarbeitungseinrichtung, die verhältnismäßig wenig Speicherzugriffe benötigt;
  • 34 ein funktionelles Blockdiagramm für eine Tondatenverarbeitungseinrichtung, die zwischen Tondaten mit Schleifen und ohne Schleifen unterscheidet;
  • 35 ein funktionelles Blockdiagramm für eine Quelltonverarbeitungseinrichtung zum Erzeugen kontinuierlicher Quelltondaten; und
  • 36 ein Flußdiagramm für eine Vorrichtung mit anderem Aufbau der Quelltondatenwiedergabeseite.
  • Es wird darauf hingewiesen, daß sich die folgende Beschreibung zwar auf eine Vorrichtung zum Erzeugen, Aufzeichnen und Wiedergeben von Quelltondaten bezieht, daß die beschriebene Vorrichtung jedoch allgemein zum Verarbeiten digitaler Signale einsetzbar ist.
  • 1 zeigt in Blockform eine Vorrichtung zum Erzeugen, Aufzeichnen und Wiedergeben von Quelltondaten. Die Vorrichtung wird z. B. als Adapter für einen PC in einer abtastenden Quelltoneinheit verwende, oder sie bildet den Quelltonbereich für ein elektronisches Musikinstrument, wie es teilweise als "Sampler" bezeichnet wird.
  • Beim Erzeugen und Speichern von Quelltondaten wird ein analoges Audiosignal eines Quelltons über einen Eingangsanschluß 121 einem Vorverstärker 122 und darauffolgenden Tiefpaßfilter 123 zugeführt. Von einem anschließenden A/D-Wandler 124 wird es in ein 16-Bit-Abtastsignal Sd mit einer Abtastfrequenz 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ßbereich von 2M 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 Amplitude 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 erhalten wird, wird in einem Teil des Speicherbereichs des Speichers 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 125 benutzt werden, werden von dem DSP 125 an eine 8-Bit-CPU 111 der zuvor genannten Tonquelleneinheit geliefert. Die Werte werden in einem RAM 113 für Arbeitsbereichwerte und Parameter gespeichert. Die Quelltoneinheit weist außerdem einen ROM 112 auf, in dem ein Systemsteuerprogramm 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 125 abgelegt werden, während Parameter, die diese Signale betreffen, im RAM 113 abgelegt sind.
  • Beim Betätigen einer Tastatur 114 für MIDI-Standard, zum Wiedergeben 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 übertragen, und das digitale Signal Sd für den zugehörigen Ton wird aus dem Speicher 125 ausgelesen. Das ausgelesene Signal ist jedoch ein 12-Bit-Abtastsignal mit einer Amplitude, die auf einen konstanten Wert normalisiert ist. Die Abtastfrequenz 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 angeschlossen ist.
  • Wenn der Originalton länger ist, als es der Speicherperiode entspricht, weist das Signal Sd nur die Dauer der Speicherperiode 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ährend Tondaten durch Betätigen von Tasten der Tastatur 114 entnommen werden und an den Wandler 131 über die CPU 117 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 Nachabtasten folgt. Auf diese Weise wird das Intervall des Analogsignals, das es beim Umwandeln aus dem Signal Sd aufwies, in das Intervall rückgewandelt, das der betätigten Taste zugeordnet ist. Dabei bleibt die Abtastfrequenz des Signals Sd unverändert.
  • Das Signal Sd vom Wandler ist wird an einen DSP 132 übertragen, 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ückzukorrigieren, daß das digitale Signal Sd für den Originalton erhalten wird. ADSR-Parameter, wie sie weiter unten anhand von 6 erläutert und veranschaulicht werden, werden dabei abhä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 Intervall, die Lautstärke und das Timbre so eingestellt ist, wie es den Einstellungen an Bedienpanel 115 entspricht. Dieses Signal Sd wird über einen D/A-Wandler 133, ein Tiefpaßfilter 134 und einen Ausgangsverstärker 135 an einen Ausgangsanschluß 136 gegeben.
  • Das Signal Sd wird im Zeitmultiplex aus dem Speicher 125 ausgelesen und dann verarbeitet, und zwar in bis zu 15 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, Speichern und Wiedergeben von Quelltondaten in einer abtastenden Tonquelleneinheit beschrieben. Wenn das Eingangsaudiosignal dem Ton von einem Musikinstrument entspricht, weist das Signal normalerweise Schwingungen mit einer Grundfrequenz auf. In diesem Fall enthält das Signal sich wiederholende Signalmuster. MIndestens eine Periode des sich wiederholenden Signalmusters 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 Speicherkapazität ist das Komprimieren von Daten beim Aufzeichnen derselben. Beim Ausführungsbeispiel erfolgt das Komprimieren mit Hilfe einer Filterwahltechnik, bei der jeweils mehrere Abtastwerte 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 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 Formantenbereich ohne deutlich erkennbare Signalmusterperiodizität. Auf den Formantenbereich folgt ein Bereich, in dem ein Signalmuster mit einer Grundfrequenz, d. h. in einem bestimmten Intervall, wiederholt wird. n Wiederholungen des Signalmusters werden als Schleifendomäne LP behandelt, die sich zwi schen einem Schleifenstartpunkt LPS und einem Schleifenendpunkt LPE erstreckt. Ein Musikton kann für jede gewünschte Länge erzeugt werden, indem zunächst Daten für den Formantenbereich FR und die Schleifendomäne LP in einem Speicher abgelegt 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 320 wird nun näher erläutert, wie Quelltondaten erzeugt werden und wie ein aufzeichnungsseitiges System aufgebaut ist und funktioniert.
  • 3 ist ein Blockdiagramm, das veranschaulicht, welche Funktionen zwischen dem Abtasten von Daten und dem Speichern derselben ausgeführt werden.
  • Ein Einganasmusiksignal, das einem Eingangsanschluß 10 zugefü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 analoger Eingangssignale.
  • In einem folgenden Intervalldetektor 12 wird die Grundfrequenz, d. h. die Frequenz f0 des Grundtones, ermittelt.
  • Das Prinzip des Intervalldetektors 12 wird nun erläutert. Das Musiktonsignal weist manchmal eine Grundfrequenz auf, die deutlich niedriger ist als die Abtastfrequenz fS, so daß es schwierig ist, das Intervall dadurch zu ermitteln, daß lediglich die Spitzen im Musikton entlang der Frequenzachse abgetastet werden. Daher ist es erforderlich, das Spektrum der harmonischen Obertöne zu verwenden.
  • Das Musiktonsignal f(t), dessen Intervall ermittelt werden soll, kann durch Fourier-Expansion wie folgt ausgedrückt werden: f(t) = ∑ ω a(ω)cos(ωt + ϕ(ω)) (1)wobei a(ω) und ϕ(ω) die Amplitude bzw. Phase der Obertöne bedeuten. Wenn die Phasenverschiebung ϕ(ω) für jeden Oberton auf Null gesetzt wird, kann obige Formel wie folgt umgeschrieben werden: f ~ (t) = ∑ ω a(ω)cosωt (2)
  • Die Spitzen des so angepaßten Signales f(t) entsprechen ganzzahligen Vielfachen der Perioden aller Obertöne des Signals bei t = 0. Die Spitzen zeigen nur die Periode des Grundtones.
  • Auf Grundlage dieses Prinzips wird nun anhand von 3 die Schrittfolge zum Detektieren des Intervalls beschrieben.
  • Musiktondaten und ein Wert "0" werden einem Realteileingang 31 und einem Imaginärteil 33 eines Transformationsblocks 33 für schnelle Fourier-Transformation zugeführt.
  • Bei der schnellen Fourier-Transformation gilt, wenn das Intervall mit x(t) bezeichnet wird: an(2π fn t ÷ θ) (3),x(t) kann gegeben sein durch
    Figure 00150001
  • Dies kann in komplexer Notation geschrieben werden als
    Figure 00150002
    wobei die folgende Gleichung n = –∞ cosθ = (exp(jθ) + exp(–jθ))/2 (6)benutzt wird. Durch Fourier-Transformation erhält man die folgende Gleichung:
    Figure 00150003
    in der δ(ω – ωn) eine Deltafunktion beschreibt.
  • In einem folgenden Block 34 wird der absolute Wert, d. h. die Wurzel der Summe der Quadrate des reellen und des imaginären Teils der Daten nach der schnellen Fourier-Transformation berechnet.
  • Durch Verwenden des Absolutwertes Y(ω) von X(ω) hebt sich die Phasenkomponente heraus, so daß gilt:
    Figure 00150004
  • Dies wird zur Phasenanpassung für alle hohen Frequenzkomponenten in den Musiktondaten ausgeführt. Die Phasenkomponenten können durch Setzen der Imaginärteile auf 0 angepaßt werden.
  • Der so berechnete Normierungswert wird als Realdatenteil einem weiteren Block 36 für schnelle Fourier-Transformation zugeführt, der in diesem Fall als Block für inverse schnelle Fourier-Transformation ausgebildet ist. Während diese Daten an einen Eingang für reelle Daten gelangen, wird einem Eingang für imaginäre Daten der Wert "0" zugeführt. Die inverse schnelle Fourier-Transformation kann ausgedrückt werden durch
    Figure 00160001
  • Die so nach der inversen schnellen Fourier-Transformation gewonnenen Musiktondaten werden als Signal ausgegeben, das der Synthese der Cosinuswellen entspricht, wobei die Anteile höherer Frequenz in der Phase angepaßt sind.
  • Die Spitzenwerte der so hergestellten Quelltondaten werden in einem Spitzendetektor 37 ermittelt. Die Spitzenpunkte sind diejenigen Punkte, in denen die Spitzen für alle Frequenzkomponenten zusammenfallen. In einem folgenden Block 38 werden die Spitzenwerte nach absteigenden Werten geordnet. Das Intervall folgt durch Messen der Perioden der ermittelten Spitzen.
  • 5 veranschaulicht eine Anordnung des Spitzendetektorblocks 37 von 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äß 5 wird eine Folge von Musiktondaten, die aus der inversen Fourier-Transformation folgen, über einen Eingangsanschluß 41 einem (N + 1)-stufigen Schieberegister 42 zugeführt, und es wird über Register a–N/2, ..., a0,..., aN /2 an einen Ausgangsanschluß 43 geliefert. Das Schieberegister 42 wirkt als Fenster der Breite (N + 1)-Abtastwerten in Bezug auf die Folge an Musiktondaten. Die Abtastwerte werden über dieses Fenster einem Maximalwertdetektor 44 zugeführt. Da die Musiktondaten zunächst in das Register a–N/2 gelangen und dann bis in das Register aN/2 transportiert werden, werden (N + 1) Abtastmusiktondaten aus den Registern in den Maximalwertdetektor 44 übertragen.
  • Der Maximalwertdetektor 44' ist so ausgebildet, daß er dann, wenn z. B. der Wert aus dem mittleren Register a0 von allen Werten maximal wurde, diesen Wert als maximalen Wert an den Ausgangsanschluß 45 gibt. Die Breite (N + 1) des Fensters kann beliebig gesetzt werden.
  • Die Einhüllende des abgetasteten digitalen Musiktonsignals wird in einem Einhüllendendetektor 13 mit Hilfe der Intervalldaten gewonnen. Das Einhüllendensignal, das in 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) beschrieben. Im Fall eines Klaviertons beschreibt der Teil A (Attack Time TA) die Zeit, die zwischen dem Betätigen einer Taste und demjenigen Zeitpunkt vergeht, bis die gewünschte Lautstärke erreicht ist. Der zweite Anteil D (Decay Time TD) ist diejenige Zeit, die zwischen dem Zeitpunkt des Erreichens der gewünschten Lautstärke und dem Zeitpunkt des Erreichens einer Lautstärke vergeht, die gehalten wird. Der dritte Anteil S (Sustain Level LS) gibt die gehaltene Lautstärke an, während der letzte Anteil R (Release Time TR) die Zeit angibt, die zwischen dem Loslassen einer Taste und dem Ausklingen eines Tons vergeht. Die Zeiten TA, TD und TR können auch als Änderungsgrößen für die Lautstärke verstanden werden. Es können auch andere Hüllenparameter außer den vorgenannten vier Parametern verwendet werden.
  • Es wird darauf hingewiesen, daß im Hüllkurvendetektor 13 die Gesamtabfallrate des Signals erhalten wird, gleichzeitig mit Einhüllendendaten, wie sie z. B. durch die oben genannten Parameter ADSR gegeben sind. Diese Abfallszeitdaten nehmen einen Bezugswert "1" ab dem Zeitpunkt der Tonerzeugung während der Anschlagszeit TA an und fallen dann gleichmäßig ab, wie durch 7 veranschaulicht.
  • Die Funktion des Hüllkurvendetektors 13 gemäß 1 wird nun anhand des Flußdiagramms von 8 veranschaulicht.
  • Das verwendete Prinzip ist demjenigen ähnlich, das beim Ermitteln der Hüllkurve eines amplitudenmodulierten (AM)-Signals verwendet wird. Die Einhüllende wird ermittelt, indem angenommen wird, daß das ermittelte Intervall der Trägerfrequenz für ein AM-Signal entspricht. Die Hüllkurvendaten werden beim Wiedergeben von Musiktönen benutzt, die auf Grundlage der Hüllkurvendaten und der Intervalldaten gebildet werden.
  • Die Musiktondaten werden über einen Eingangsanschluß 51 einem Absolutwertausgabeblock 52 zugeführt, der den Absolutwert der Signalhöhedaten der Musiktöne ermittelt. Diese Absolutwertdaten werden einem digitalen FIR(Finite Impulse Response)-Filterblock 55 zugeführt. Dieser FIR-Block 55 dient als Tief paßfilter, dessen Abschneidecharakteristik dadurch bestimmt wird, daß ihm Filterkoeffizienten zugeführt werden, die zunächst in einem LPF-Koeffizientengenerator 54 auf Grundlage von Intervalldaten erzeugt wurden, die über einen Eingangsanschluß 53 zugeführt werden.
  • Die Filtercharakteristik gemäß dem Beispiel von 9 weist null Punkte bei Vielfachen der Grundfrequenz (f0) auf. Die in 6 mit B veranschaulichten Hüllkurvendaten können aus dem Musiktondatensignal A in 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 Musiktonsignals darstellt.
  • Anhand von 1 wird nun erläutert, wie Tonhöhendaten für den Formantenteil FR und die Schleifendomäne LP aus den Tonhöhendaten des abgetasteten Musiktonsignals erzeugt werden.
  • In einem ersten Block 14 zum Erzeugen der Schleifendaten werden die abgetasteten Musiktondaten geteilt, die mit Hilfe der zuvor ermittelten Hüllkurve B gemäß 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 10 dargestellt ist. Dieses korrigierte Signal, genauer gesagt die entsprechenden Signalhöhendaten werden gefiltert, um ebenfalls Tonhöhendaten zu erzeugen, in denen andere Komponenten neben den Tonkomponenten geschwächt sind, oder anders gesagt, in denen die Tonkomponenten hervorgehoben sind. Tonkomponenten sind hierbei Frequenzkonponenten mit ganzzahligen Vielfachen der Grundfrequenz f0. Die Daten werden durch ein Hochpaßfilter (HPF) geschickt, um Komponenten niedriger Frequenz, wie z. B. Vibratofrequenzen, zu entfernen, die in dem mit der Hüllkurve korrigierten Signal vorhanden sind. Anschließend folgt ein Kammfilter mit einer Frequenzcharakteristik, wie sie strichpunktiert in 11 angedeutet ist, d. h. mit einer Frequenzcharakteristik mit Frequenzbändern, die ganzzahlige Vielfache der Grundfrequenz f0 sind. Dadurch werden nur die im HPF-Signal vorhandenen Signale durchgelassen, wodurch Nichttonkomponenten oder Rauschkomponenten geschwächt werden. Falls erforderlich, werden die Daten auch durch ein Tiefpaßfilter (LPF) gesandt, um Rauschkomponenten zu entfernen, die dem Ausgangssignal vom Kammfilter überlagert sind.
  • Da Musiktondaten in der Regel ein konstantes Intervall, d. h. eine konstante Grundfrequenz aufweisen, tritt Energiekonzentration in der Nähe der Grundfrequenz f0 und ganzzahligen Vielfachen derselben auf. Rauschkomponenten weisen demgegenüber eine gleichmäßige Frequenzverteilung auf. Beim Bearbeiten der eingegebenen. Musiktondaten mit Hilfe eines Kammfilters mit der Frequenzcharakteristik, wie sie in 11 strichpunktiert dargestellt ist, gelangen demgemäß nur Frequenzkomponenten der Grundfrequenz oder ganzzahliger Vielfachen derselben im wesentlichen ungeschwächt durch das Filter, während andere Komponenten geschwächt werden, wodurch das Signal/Rausch-Verhältnis verbessert wird. Die in 10 dargestellte Frequenzcharakteristik eines Kammfilters kann durch die Formel H(f) = [(cos(2πf/f0) + 1)/2]N (12)veranschaulicht werden, in der f0 die Grundfrequenz des Eingangssignals ist, d. h. die Frequenz des Grundtons mit einem bestimmten Intervall. N ist die Zahl der Stufen des Kammfilters.
  • Das Musiktonsignal, dessen Rauschkomponenten auf die genannte Weise verringert wurden, wird einer Schaltung zugeführt, die wiederholte Signalformen ermittelt. Derartige Signalformen, wie z.B. die Schleifendomäne LP gemäß 2 wird abgetrennt und der verbliebene Teil wird aufgezeichnet, z.B. in einem Halbleiterspeicher. Das gespeicherte Musiktondatensignal enthält die Nichttonkomponente und einen Teil des Rauschens. Dadurch wird dafür gesorgt, daß beim Wiedergeben des wiederholten Signalteils das Schleifenrauschen verringert wird.
  • Die Frequenzcharakteristiken des HPF, des Kammfilters und des LPF werden auf Grundlage der Grundfrequenz f0 bestimmt, d.h. auf Grundlage der Intervalldaten, wie sie vom Block 12 gewonnen werden.
  • 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 Ton komponenten, die durch das beschriebene Filterverfahren hervorgehoben wurden, zu ermitteln. Mit diesen werden der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE gebildet.
  • Im Ermittlungsblock 16 werden Schleifenpunkte ausgewählt, die voneinander um ein ganzzahliges Vielfaches des Intervalls des Musiktonsignals entfernt liegen. Das Auswahlprinzip wird im folgenden erläutert. Wie eben genannt, muß der Schleifenpunktabstand ein ganzzahliges Vielfaches des Intervalls sein, wie es durch die Grundfrequenz des Musiktonsignals gegeben ist. Durch genaues Ermitteln des Intervalls kann also der Schleifenpunktabstand ermittelt werden.
  • Da nach Ermitteln des Intervalls der Schleifenabstand vorbestimmt ist, werden zwei Punkte ausgewählt, die um den genannten Abstand voneinander entfernt sind. Dann werden die Signale in der Umgebung dieser Punkte untersucht, und es wird eine Korrelation gebildet. Es wird nun eine Auswertefunktion erläutert, die die Konvolution oder Summenbildung von Produkten in Bezug auf Abtastpunkte im Bereich der genannten zwei Punkte benutzt. Die Konvolution wird mehrfach für Sätze aller Punkte ausgeführt, um die Korrelation der Signale zu ermitteln. Die Musiktondaten werden dabei aufeinanderfolgend einer Einheit zum Aufsummieren von Produkten zugeführt, z. B. einer digitalen Signalverarbeitungseinrichtung, was weiter unten beschrieben wird. Die Konvolution wird dort berechnet und ausgegeben. Derjenige Satz von zwei Punkten, für den die Konvolution maximal wird, wird als Satz des richtigen Schleifenstartpunktes LPS und des richtigen Schleifenendpunktes LPE angesehen.
  • In 12 ist mit a0 ein Kandidatenpunkt für den Schleifenstartpunkt LPS eingezeichnet. b0 ist entsprechend ein Kandidat für den Schleifenendpunkt LPE. Weitere Amplitudendaten a–N, ..., a–2, a–1, a0, a1, a2, ..., aN in mehreren Punkten, hier (2N + 1) Punkten vor und hinter dem Kandidatenpunkt a0 sind außerdem dargestellt. Entsprechend sind Amplitudenpunkte b–N,..., b–2, b–1, b0, b1, b2, ..., bN vor und hinter dem Kandidatenpunkt b0 vorhanden. Die Abschätzfunktion E (a0, b0) wird dann
    Figure 00230001
  • Die Konvolution um die Punkte a0 und b0 folgt aus Gleichung (13). Die Sätze von Kandidaten a0 und b0 werden schrittweise geändert, bis alle Schleifenpunktkandidaten untersucht sind. Diejenigen, für die die Auswertefunktion E maximal wird, werden als Schleifenpunkte angesehen.
  • Neben der Konvolutionsmethode kann z.B. auch das Verfahren mittlerer Fehlerquadrate verwendet werden, um Schleifenpunkte aufzufinden. Es gilt dann die folgende Gleichung:
    Figure 00230002
  • In diesem Fall liegen dann die richtigen Punkte vor, wenn die Auswertefunktion minimal wird.
  • Im Schleifenpunktermittlungsblock 16 gemäß 3 werden also der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE auf Grundlage des Intervalls ermittelt. Aus dem Abstand der Punkte, der mehreren Intervalle des Grundtons umfassen kann, folgt ein Intervall-Wandelverhältnis, das in einem Zeitbasis-Korrekturblock 17 verwendet wird.
  • Die Zeitbasiskorrektur erfolgt, um die Intervalle verschiedener Quelltondaten aneinander anzupassen, wenn diese Daten in einem Speicher abgelegt werden. Statt dem Intervall-Wandelverhältnis können für diese Zwecke die Intervalldaten genutzt werden, wie sie der Intervalldetektor 12 liefert.
  • Das im Zeitbasis-Korrekturblock ausgeführte Intervallnormalisierungsverfahren wird nun anhand von 13 erläutert.
  • 13A stellt das Musiktonsignal vor dem Kompandieren der Zeitbasis dar, während 13B das entsprechende Signal danach zeigt. Die Zeitachsen sind in Blöcke für Quasidirekte-Bitkompression und Kodierung unterteilt, wie weiter unten erläutert.
  • Beim Signal A vor der Zeitbasiskorrektur steht die Schleifendomäne LP in der Regel nicht in direkter Relation mit einem Block. Beim Signal gemäß 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 verschoben, so daß der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE mit den Grenzen von Blöcken übereinstimmen. Die Zeitbasiskorrektur, d. h. das Kompandieren der Zeitbasis und das Verschieben in der genannten Weise, sorgt dafür, daß Schleifenbildung für eine ganzzahlige Anzahl (m) von Blöcken erfolgen kann, wodurch das Normalisieren des Intervalls der Quelltondaten beim Aufzeichnen erfolgt.
  • Mit einem Versatz ΔT von der vordersten Blockgrenze des Musiktonsignals kann ein Tonhöhensignalwert "0" eingefügt werden. Dieser Datenwert "0" dient als Pseudodatenwert, damit Filter, die einen Anfangswert für die Datenkompression benötigen, ausgewählt werden können. Dies wird weiter unten anhand einer durch 20 veranschaulichten blockweisen Kompression erläutert.
  • 14 zeigt die Struktur für einen Block für Signalamplitudenwerte nach der Zeitbasiskorrektur, welche Daten dann einer Bitkompression und einem Kodieren unterworfen werden, wie später erläutert. In einem Block (Anzahl von Abtastwerten oder Worten) sind h Amplitudendaten vorhanden. Im vorliegenden Fall besteht die Intervallnormalisierung in einem Zeitbasiskompandieren, bei dem die Anzahl von Worten innerhalb von n Perioden (der konstanten Zeitdauer TW gemäß 2), d. h. innerhalb der Schleifenperiode LP, ein ganzzahliges Vielfaches (m-faches) der Zahl der Worte h im Block sind. Vorzugsweise besteht die Intervallnormalisierung darin, daß der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE jeweils auf Blockgrenzen verschoben werden. Ist dies der Fall, wird es möglich, Fehler beim Schalten von Blöcken zu vermeiden, was beim Dekodieren mit Hilfe eines Bitkompressions- und Kodiersystems der Fall ist.
  • In 15A sind Worte WLPS und WLPE in jeweils einem Block die Abtastwerte an den Schleifenstart- bzw. -endpunkten LPS bzw. LPE, (enauer die Abtastwerte jeweils direkt vor einem Schleifenendpunkt LPE im korrigierten Signal. Wenn nicht verschoben wird, fallen die genannten Start- und Endpunkte nicht notwendigerweise mit den Blockgrenzen zusammen, so daß, wie dies in 15B dargestellt ist, die 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 Intervall normalisiert ist.
  • Das Kompandieren der Zeitbasis eines Musiksignals mit der eben genannten Normalisierung kann auf verschiedene Arten erfolgen. Z. B. kann es dadurch erfolgen, daß die Amplitudenwerte der abgetasteten Signale interpoliert werden, wobei ein Filter für übergeordnetes Abtasten verwendet wird.
  • Wenn die Schleifenperiode für ein Musiksignal nicht ein ganzzahliges Vielfaches der Abtastperiode ist, so daß ein Versatz der Amplitudenwerte im Schleifenstartpunkt LPS und im Schleifenendpunkt LPE besteht, kann die mit dem Amplitudenwert im Startpunkt übereinstimmende Amplitude benachbart zum Schleifenendpunkt gefunden werden, und zwar dadurch, daß z. B. übergeordnetes Abtasten verwendet wird, um die Schleifenperiode zu realisieren.
  • Eine solche Schleifenperiode, die nicht ein ganzzahliges Vielfaches der Abtastperiode ist, kann so festgelegt werden, daß sie ein ganzzahliges Vielfaches der Blockperiode ist, was durch das oben beschriebene Zeitbasiskorrekturverfahren erfolgt. Wenn Zeitbasiskompandieren durch z. B. 256-faches übergeordnetes Abtasten erfolgt, kann der Amplitudenfehler zwischen den Werten für den Startpunkt LPS und den Endpunkt LPE auf 1/256 verringert werden.
  • Nachdem die Schleifendomäne LP ermittelt ist und in der Zeitbasis korrigiert ist, werden Schleifendomänen LP aneinandergehängt, wie dies durch 15 veranschaulicht ist, um Schleifendaten zu erzeugen. Das Signal gemäß 15 ist dadurch erhalten, daß eine einzige Schleifendomäne LP gemäß 13B herausgegriffen ist und diese eine Domäne mehrfach aneinandergehängt ist. Das Aneinanderhängen von Schleifendomänen erfolgt in einem Schleifensignal-Erzeugungsblock 21 (1).
  • Da die Schleifendaten dadurch gebildet werden, daß eine Schleifendomäne LP mehrfach wiederholt wird, folgt auf einen Startblock mit dem Wort WLPS direkt ein Endblock mit dem Wort WLPE, das dem Schleifenendpunkt WLPE, genauer gesagt dem Punkt direkt vor diesem Punkt, entspricht. Damit ein Kodieren für Bitkompression erfolgen kann, muß zumindest der Endblock direkt vor dem Startblock der Schleifendomäne LP abgespeichert sein. Allgemeiner gesprochen, müssen zum Zeitpunkt einer Bitkompression und Kodierung auf Blockbasis die Parameter für den Startblock, d. h. die Daten für Bitkompression und Kodierung für jeden Block, z. B. Bereichs- oder Filterauswahldaten, was weiter unten beschrieben wird, nur auf Grundlage von Daten des Start- und des Endblocks gebildet werden. Diese Technik kann auch in dem Fall angewendet werden, in dem Musikdaten nur aus Schleifendaten ohne Formante bestehen.
  • Bei dieser Vorgehensweise stehen dieselben Daten für mehrere Abtastpunkte vor und nach dem Schleifenstartpunkt LPS und dem Schleifenendpunkt LPE zur Verfügung. Daher sind die Parameter für Bitkompression und Kodierung in den Blöcken direkt vor diesen Punkten dieselben, wodurch Fehler und Rauschen beim Wiedergeben der Schleifen nach dem Dekodieren verringert werden können. Die Musikdaten beim Wiedergeben sind dann stabil und frei Übergangsrauschen. Bei der Ausführungsform sind etwa 500 Abtastdaten in einem Schleifenbereich LP vor dem Startblock vorhanden.
  • Für die Signalerzeugung für den Formantenbereich FR wird eine Hüllkurvenkorrektur in einem Block 18 (3) ausgeführt, entsprechend der Korrektur für Schleifendaten im Block 14. Die Hüllkurvenkorrektur wird dadurch ausgeführt, daß die abgetasteten Musiktondaten durch Hüllkurvendaten (7) geteilt werden, die nur aus den Daten für abfallende Signale bestehen, wodurch Amplitudenwerte für ein Signal erhalten werden, wie es in 15 dargestellt ist. Beim Ausgangssignal gemäß 16 macht sich demgemäß nur die Hüllkurve während der Zeitspanne TA bemerkbar, während in den anderen Bereichen konstante Amplitude vorliegt.
  • Das hüllkurvenkorrigierte Signal wird, falls erforderlich, in einem Block 19 gefiltert. Dies erfolgt mit einem Kammfilter mit einer Frequenzcharakteristik, die z. B. derjenigen entspricht, wie sie mit der strichpunktierten Linie in 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 Quelltondaten zu erzeugen, die schließlich in einem Speicher abgelegt werden.
  • In einem folgenden Zeitbasis-Korrekturblock 20 erfolgt eine Zeitbasiskorrektur, entsprechend wie sie weiter oben anhand des Blocks 17 beschrieben wurde. Die Zeitbasiskorrektur dient dazu, die Intervalle für die Tondaten dadurch zu normalisieren, daß die Zeitbasis auf Grundlage des Intervall-Wandelverhältnisses kompandiert wird, wie es im Block 16 gefunden wurde, oder auf Grundlage der Intervalldaten, wie sie vom Block 12 geliefert werden.
  • In einem Mischer 22 werden die Formantendaten und die Schleifendaten, die mit denselben Intervalldaten oder Intervall-Wandelverhältnissen korrigiert wurden, gemischt. Hierzu wird ein Hamming-Fenster auf das Formantenbereichs-Bildungssignal vom Block 20 angewandt. Es wird ein mit den Schleifendaten zu mischendes Signal vom Ausblendtyp erzeugt, das abklingt. Auf die Schleifendaten vom Block 21 wird ein ähnliches Hamming-Fenster angewandt. Ein mit den Formantendaten zu mischendes Signal vom Ausblendtyp wird erzeugt, das anwächst. Die beiden Signale werden gemischt (oder überblendet), um ein Musiktonsignal zu erzeugen, das die Quelltondaten darstellt. Als abzuspeichernde Schleifendaten können Daten herausgegriffen werden, die von einer Schleifendomäne herrühren, die etwas vom überblendeten Bereich entfernt ist, um dadurch das Schleifenrauschen beim Wiedergeben von Schleifensignalen zu verringern. Auf diese Weise werden Tonhöhendaten eines Quelltonsignals erzeugt, das über einen Formantenbereich (Nichttonkomponenten) und. Schleifendaten (wiederholte, regelmäßige Daten) verfügt.
  • Der Startpunkt für das Schleifendatensignal kann auch mit dem Schleifenstartpunkt für das formantenbildende Signal verbunden sein.
  • Zum Ermitteln der Schleifendomäne und zum Mischen des Formantenbereichs und der Schleifendaten wird zunächst von Hand gemischt. Man hört sich dann das Ergebnis an, und es wird dann auf Grundlage der Schleifenstart- und -endpunkte genauer verarbeitet.
  • Es wird also, bevor die genauere Schleifenbereichsermittlung in Block 16 erfolgt, diese Ermittlung und das Mischen von Hand genommen, und es erfolgt ein Probehören, wie in der folgenden 17 erläutert. Danach wird das oben beschriebene genauere Verfahren ab einem Schritt S26 in 18 ausgeführt.
  • Im Flußdiagramm gemäß 17 werden die Schleifenpunkte in einem Schritt S21 mit geringen Genauigkeit festgelegt, indem Nullpunktsüberkreuzungen ermittelt werden oder das Signal optisch überprüft wird. In einem Schritt S22 wird das Signal zwischen den Schleifenpunkten mehrfach wiedergegeben. In einem Schritt S23 wird durch Hören beurteilt, ob die Schleifenbildung ordnungsgemäß erfolgt. Ist dies nicht der Fall, folgt Schritt S21, um erneut Schleifenpunkte zu ermitteln. Dieser Ablauf erfolgt solange, bis ein zufriedenstellendes Ergebnis erhalten wird. Ist dies der Fall, folgt ein Schritt S24, in dem das Signal z. B. durch Überblenden mit dem Formantensignal gemischt wird. In einem Schritt S25 wird überprüft, ob der Höreindruck beim Übergang von der Formante zu den Schleifen gut ist. Ist dies nicht der Fall, wird der Schritt S24 zum erneuten Mischen wiederholt. Ist der Höreindruck gut, folgt ein Schritt S26, in dem das Ermitteln der Schleifenpunkte gemäß dem Block 16 mit hoher Genauigkeit erfolgt. Es erfolgt Abtasten z. B. mit einer Auflösung von 1/256 über die Abtastperiode mit z. B. 256-fachen übergeordnetem Abtasten. In einem folgenden Schritt S27 wird das Intervall-Wandelverhältnis für die Intervallnormalisierung berechnet. In einem Schritt S28 erfolgt die Zeitbasiskorrektur gemäß der Blöcke 17 oder 20. In einem Schritt S29 wird die Schleifenbildung gemäß Block 21 (3) ausgeführt. Das Mischen gemäß Block 22 erfolgt in einem folgenden Schritt S30. Der Ablauf ab Schritt S26 erfolgt mit Hilfe der Schleifenpunkte, wie sie in den Schritten S21–S25 erhalten werden. Die Schritte S21–S25 können für volle Automatisierung der Schleifenbildung weggelassen werden.
  • Die so erhaltenen Amplitudenwerte, die aus dem Formantenbereich FR und der Schleifendomäne LP bestehen, werden in einem auf den Mischer 22 folgenden Block 23 bitkomprimiert und kodiert.
  • Zum Komprimieren und Kodieren können verschiedene Systeme verwendet werden. Geeignet ist eines, wie es in JP-62-008629 A und JP-52-003516 A vorgeschlagen ist. Dort wird eine vorgegebene Anzahl von h Abtastworten mit Amplitudenwerten in einem Block gruppiert, und blockweise wird Bitkompression ausgeführt. Dieses hochwirkungsvolle System wird im folgenden anhand von 19 kurz erläutert.
  • Im Blockschaltbild gemäß 18 ist aufzeichnungsseitig ein Kodieren 70 und wiedergabeseitig ein Dekodieren 90 vorhanden. Die Amplitudenwerte x(n) des Quelltondatensignals werden einem Eingangsanschluß 71 des Kodierers 70 zugeführt.
  • Die Amplitudenwerte x(n) bes Eingangssignals werden einem FIR-Digitalfilter 74 zugeführt, das durch ein Vorhersageglied 72 und ein Addierglied 73 gebildet ist. Ein jeweiliger Amplitudenwert x(n) des Vorhersagesignals vom Vorhersageglied 72 wird dem Addierglied 73 als Subtraktionssignal zugeführt. Dort wird es vom Eingangssignal x(n) abgezogen, um ein Vorhersagerfehlersignal oder ein Abweichungssignal d(n) zu erzeugen. Das Vorhersageglied 72 berechnet den Vorhersagewert x(n) aus einer Primärkombination der letzten p Eingangswerte x(n – p), x(n – p + 1), ..., x(n – 1). Das FIR-Filter 74 wird im folgenden als Kodierfilter bezeichnet.
  • Mit dem oben angegebenen hochwirksamen System zur Bitkompression und Kodierung werden die in eine vorgegebene Zeitspanne fallenden Quelltondaten, d. h. eine vorgegebene Anzahl h von Worten, die in Blöcken gruppiert sind, für jeden Block ausgewählt. Das Kodierfilter 74 hat hierfür optimale Charakteristik. Es kann dadurch gebildet sein, daß mehrere, im Beispielsfall vier, verschiedene Charakteristiken vorab festgelegt werden und dann die optimale Charakteristik ausgewählt wird, d. h. diejenige, mit der das höchste Kompressionsverhältnis erzielbar ist. Im Vorhersageglied 72 wird hierzu ein Satz von Koeffizienten in mehreren, im Beispielsfall vier, Sätzen von Koeffizientenspeichern abgelegt. Im Zeitmultiplex wird jeweils ein Koeffizientensatz angewählt.
  • Das Abweichungssignal d(n), das einen vorhergesagten Fehler darstellt, wird über einen Summierpunkt 81 einem Bitkompressor zugeführt, der einen Pegelschieber 75(G) und einen Quantisierer 76 aufweist. Dort erfolgt das Komprimieren so, daß der Indexteil und die Mantisse bei Fließkommanotation der Verstärkung G bzw. dem Ausgangssignal vom Quantisierer 76 entsprechen. Es wird also eine Requantisierung ausgeführt, bei der die Eingangsdaten durch den Pegelschieber 75 um eine Anzahl von Bits verschoben werden, welche Anzahl der Verstärkung G entspricht. Dadurch wird der Bereich verschoben, und eine vorgegebene Anzahl von Bits der bitverschobenen Daten wird durch den Quantisierer 76 herausgenommen. Eine Rauschformschaltung 77 dient dazu, den quantisierten Fehler zwischen dem Ausgangssignal und dem Eingangssignal des Quantisierers 76 an einem Summierpunkt 78 zu bilden und dieses Signal über einen G–1-Pegelschieber 79 an ein Vorhersageglied 80 zu geben. Das vorhergesagte Signal für den Quantisierfehler wird als Subtraktionssignal auf den Summierpunkt 81 gegeben, um dadurch eine sogenannte Fehlerrückkopplung zu erhalten. Nach diesem Requantisieren durch den Quantisierer 76 und die Fehlerrückkopplung durch die Rauschformschaltung 77 wird an einem Ausgangsanschluß 82 ein Ausgangssignal d ^(n) erhalten.
  • Das Ausgangssignal d'(n) vom Summierpunkt 81 ist die Differenz d(n) vom Summierpunkt 73, vermindert um das Vorhersagesignal e ~(n) für den Quantisierungsfehler, wie es von der Rauschformschaltung 77 gebildet wird. Das Ausgangssignal d''(n) vom G-Pegelschieber 75 entspricht dem Ausgangssignal d'(n) vom Summierpunkt 81 multipliziert mit der Verstärkung G. Das Ausgangssignal d ^(n) vom Quantisierer 76 ist die Summe der Ausgangssignale d''(n) vom G-Pegelschieber 75 und des Quantisierfehlersignals e(n), wie es vom Summierpunkt 78 ausgegeben wird. Nach Durchlaufen des G–1-Pegelschiebers 79 und des Vorhersageglieds 80, wobei die Primärkombination der letzten r Eingangssignale verwendet wird, ist der Quantisierungsfehler e(n) in das Vorhersagesignal e ~ für den Quantisierungsfehler umgewandelt.
  • Nach dem vorstehend beschriebenen Kodieren sind die Quelltondaten in das Ausgangssignal d ^(n) vom Quantisierer 76 umgewandelt, und sie werden an einem Ausgangsanschluß 82 ausgegeben.
  • Betriebsartauswahldaten für die optimale Filterwahl werden von einer adaptiven Bereichsvorhersageschaltung 84 ausgegeben und z. B. an das Vorhersageglied 72 des Kodierfilters 74 und einen Ausgangsanschluß 87 gegeben. Bereichsdaten zum Bestimmen der Bitschiebezahl oder der Verstärkungen G und G–1 werden auch an die Pegelschieber 75 und 79 und an einen Ausgangsanschluß 86 gegeben.
  • Der wiedergabeseitige Dekodierer 90 weist einen Einganasanschluß 91 auf, dem ein Signal d ^(n) zugeführt wird, das durch Übertragen oder Aufzeichnen und Wiedergeben des Ausganssignals d ^(n) vom Ausgangsanschluß 82 vom Kodieren 70 gebildet wird. Dieses Eingangssignal wird einem Summierpunkt 93 über einen G–1-Pegelschieber 92 zugeführt. Das Ausgangssignal x'(n) vom Summierpunkt 93 wird einem Vorhersageglied 94 zugeführt und dabei in ein Vorhersagesignal x ~(n) umgewandelt, das dann auf einen Summierpunkt 93 gegeben wird, wo zu ihm das Ausgangssignal d ^''(n) vom Schieber 92 addiert wird. Das Summensignal wird als Dekodierer-Ausgangssignal x ^'(n) an einen Ausgangsanschluß 95 gegeben.
  • Die Bereichsdaten und die Betriebsartauswahldaten, die an den Ausgangsanschlüssen 86 und 87 des Kodierers 70 ausgegeben werden, werden an Eingangsanschlüssen 96 bzw. 97 des Deko dierers 90 eingegeben. Die Bereichsdaten vom Eingangsanschluß 96 werden an den Schieber 92 übertragen, um dessen Verstärkung G–1 festzulegen, während die Betriebsartauswahldaten vom Eingangsanschluß 97 an das Vorhersageglied 94 gegeben werden, um die Vorhersagecharakteristik so festzulegen, daß sie mit derjenigen des Vorhersageglieds 72 des Kodierers 70 übereinstimmt.
  • Bei dem so aufgebauten Dekodierer 90 ist das Ausgangssignal d ^''(n) vom Schieber 92 das Produkt aus dem Eingangssignal d ^'(n) und der Verstärkung G–1. Das Ausgangssignal x ^'(n) vom Summierpunkt 93 ist die Summe aus dem genannten Ausgangssignal vom Schieber 92 und vom Vorhersagesignal x ~'(n).
  • 19 zeigt einen Block von Ausgangsdaten vom bitkomprimierenden Kodierer 70. Es sind 1-Byte-Kopfdaten (Parameterdaten, die die Kompression betreffen, oder Unterdaten) RF und 8-Byte-Abtastdaten DA0–DB3 vorhanden. Die Kopfdaten RF sind 4-Bit-Bereichsdaten, 2-Bit-aetriebsartwahldaten oder Filterwahldaten und zwei 1-Bit-Flaggendaten, wie z. B. ein Datenwert LI, der das Vorhandensein oder das Fehlen einer Schleife anzeigt, und ein Datenwert EI, der anzeigt, ob der letzte Block des Signals negativ ist. Jeder Abtastwert der Amplitudendaten ist nach Bitkompression durch vier Bits wiedergegeben, während 16 Abtastwerte von 4-Bit-Daten DA0H–DB3L in den Daten DA0–DB3 enthalten sind.
  • 20 zeigt einen Block von bitkomprimierten und kodierten Amplitudendaten, die dem Anfang des in 2 dargestellten Musiktonsignals entsprechen. Es sind nur die Amplitudendaten ohne den Kopf dargestellt. Der Anschaulichkeit halber besteht jeder Block nur aus acht Abtastdaten, es können aber auch z. B. 16 Abtastdaten vorhanden sein. Dies gilt für den Fall von 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 Kompressionsverhältnis führt.
  • Wenn Musiktöne von einem Speicher abgetastet und gelesen werden, beginnt das Eingeben des Musiktonsignals in einem Tonerzeugunos-Startpunkt KS. Wenn ein Differentialfiltermodus erster oder zweiter Ordnung, der einen Anfangswert benötigt, im ersten Block nach dem Tonerzeuounes-Startpunkt KS gewählt wird, wäre es erforderlich, einen Inialisierungswert abzuspeichern. Es ist jedoch erwünscht, daß dies nicht erforderlich ist. Aus diesem Grund werden in der Anfangsperiode nach dem Tonerzeugungs-Startpunkt KS Pseudoeingangssignale erzeugt, die dazu führen, daß der unmittelbare PCM-Modus gewählt wird. Es erfolgt das Datenverarbeiten dann so, daß mit diesen Pseudosignalen die Eingangssignale bearbeitet werden.
  • Dies erfolgt z. B. dadurch, daß, wie in 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 bitkomprimiert. Dies kann dadurch erfolgen, daß ein Block mit den Werten "0" in einem Speicher abgelegt wird oder daß beim Beginn des Abtastens von Musiktönen zunächst Werte "0" vor dem Startpunkt KS angeordnet werden, d. h. ein stiller Bereich vor der Tonerzeugung. Mindestens ein Block von Pseudoeingangssignalen ist erforderlich.
  • Die Musiktondaten einschließlich der so gebildeten Pseudoeingangssignale werden durch das anhand von 18 veranschaulichte System bitkomprimiert und kodiert und dann aufgezeich net, z. B. in einem Speicher. Das komprimierte Signal wird wiedergegeben.
  • Beim Wiedergeben von Musiktondaten mit Pseudoeingangssignal wird zunächst der unmittelbare PCM-Modus gewählt, wodurch es nicht erforderlich ist, Anfangswerte für Differentialfilter erster oder zweiter Ordnung vorab festzulegen.
  • Die Verzögerung im Anfangszeitpunkt der Tonsignale aufgrund des Pseudoeingangssignals führt scheinbar zu einem Stören des Tonsignals, da zunächst Stille herrscht. Dies stört jedoch nicht tatsächlich, da die Abtastfrequenz 32 kHz beträgt, mit jeweils 16 Abtastwerten in einem Block. Dadurch ist die Verzögerung etwa 0,5 msec, was im Höreindruck nicht auffällt.
  • Beim Bilden von Schleifendaten kann es zu verschlechterter Kontinuität an Übergängen zwischen aufeinanderfolgenden Schleifen kommen, was dadurch bedingt ist, daß die Abtastfrequenz zu groß ist im Vergleich zur Wiederholperiode des Signalmusters.
  • 21 zeigt eine Schleifendomäne LP' mit einem sich wiederholenden Signalmuster, das durch Abtasten des Signals mit vorgegebener Periode (mit Kreisen dargestellt) gewonnen wird. Abtastungen werden am Schleifenstartpunkt LPS und am Schleifenendpunkt LPE ausgeführt. Wenn die Abtastperiode nicht genau zur Musterwiederholperiode paßt, fällt der beim Abtasten festgestellte Schleifenendpunkt LPE' nicht mit dem tatsächlichen Schleifenendpunkt LPE zusammen, was dazu führt, daß der tatsächliche Schleifenendpunkt und der abgetastete Schleifenendpunkt in der Regel nicht dieselbe Signalhöhe aufweisen. Dies führt beim Aneinanderhängen von Schleifen zu einem Versatz, wie er in 22 dargestellt ist. Um dem abzuhelfen, wird eine Interpolation von Abtastwerten vorgenommen, um durch die Interpolation den Schleifenstartpunkt LPS und den Schleifenendpunkt LPE festzustellen und dabei möglichst dicht aneinanderliegende Werte zu bilden, die dann als Verbindungspunkte gewählt werden. Dies kann im Zeitbasiskorrekturblock 17 ausgeführt werden, um die Intervallnormalisierung 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 Abtastwerte in einem Speicher abgelegt werden, und Interpolieren 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ätigten Taste auf Basis von Quelitondaten mit vorgegebenem Intervall, wie sie in einem Speicher eines sogenannten Samplers abgelegt sind, wiederzugeben ist, wird es erforderlich, Intervallwandlung vorzunehmen, um Töne mit unterschiedlichen Intervallen zu erzeugen. Wenn Interpolieren mit übergeordnetem 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. 23 veranschaulicht ein Intervallwandlungssystem, das mit dieser Interpolation arbeitet. Das Herausgreifintervall für interpolierte Abtastwerte, das z. B. durch vierfaches übergeordnetes Abtasten erhalten wird, wird geändert, um Intervallwandlung zu erzielen. Beim Beispiel gemäß 23 stellt Signal A das ursprüngliche Signal dar, bei dem tatsächliche Abtastwerte durch Punkte dargestellt sind, während interpolierte Abtastwerte durch x-Marken gekennzeichnet sind. Die interpolierten Werte sind durch vierfaches übergeordnetes Abtasten für jeden tatsächlichen Abtastwert erzielt. Es werden dann die mit Kreis gekennzeichneten tatsächlichen Abtastwerte, die mit der ursprünglichen Abtastperiode Ts aufeinanderfolgen, herausgenommen, um ein im Intervall gewandeltes Signal B zu erzeugen. Dadurch wird die Frequenz auf 5/4 der ursprünglichen Frequenz geändert. Beim Ausführungsbeispiel gemäß 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 übergeordneten Abtasten erhöht wird. Z. B. kann 256-faches übergeordnetes Abtasten für praktische Anwendungen eingesetzt werden.
  • 24 veranschaulicht als Blockdiagramm eine Schaltung zum Wandeln von Intervallen gemäß dem anhand von 23 erläuterten Verfahren.
  • Ein Speicher 101, z. B. ein ROM, in dem Quelltondaten gespeichert 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 Ermitteln 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 Schleifenendadreß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 Quelltondaten versorgt. Das Register 107a für untergeordnete Daten dient dazu, die in 19 veranschaulichten Kopfdaten FR auf blockweiser Basis zu speichern, während das Schleifenstartadreßregister 107b und das Schleifenendadreßregister 107c dazu verwendet werden, die Adressen für den Schleifenstartpunkt 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 Intervalldatengenerator 103. Auf Grundlage von Ausgangsdaten vom Koeffizientenadreßwandler 106 liefert ein Koeffizienten-ROM 105 in ihm gespeicherte Koeffizientenwerte an ein Interpolations filter 104, um die Filtercharakteristik dieses Filters zu bestimmen. Das Interpolationsfilter besteht beim Ausführungsbeispiel aus n Verzögerungseinheiten DL1–DLn und aus Multipliziereinheiten P1–Pn. Es erhält Quelltondaten vom ROM 101. Diese werden durch das Interpolationsfilter 104 im Intervall gewandelt und von einem D/A-Wandler 108 in ein analoges Signal gewandelt, das als Quelltonsignal an einem Ausgangsanschluß 109 ausgegeben wird.
  • 25 veranschaulicht die Schleifenstartadresse und die Schleifenendadresse, wie sie aus den Registern 107b bzw. 107c ausgelesen wird. Es ist angenommen, daß ein Block durch mehrere aufeinanderfolgende Abtastwerte gebildet wird. Wenn der Abtastwert für den Schleifenstartpunkt LPS zu Beginn eines Blocks abgelegt wird, reicht die Angabe der Bloknummer als Startadresse aus. Beginnt eine Schleife jedoch an einem Abtastwert innerhalb eines Blocks, muß noch eine Abtastnummer innerhalb eines Blocks angegeben werden, was durch eine gestrichelte Linie in 25 angedeutet ist. Die Schleifenendadresse enthält nicht nur die Nummer eines Abtastwerts innerhalb eines Blocks, sondern auch Daten, die Interpolationspunkte zwischen Abtastwerten betreffen. Auf diese Weise kann Schleifenbildung mit hoher Auflösung einschließlich der interpolierten Abtastwerte mit einem Verfahren erzielt werden, das demjenigen der oben erläuterten Intervallwandlung ähnlich ist. Bei z. B. 256-fachen übergeordnetem Abtasten kann die Schleifendomäne LP eine Auflösung von 1/256 der Abtastperiode PS aufweisen, so daß die Auflösung an Ansatzpunkten aufeinanderfolgender Signalmuster etwa auf 1/256 verbessert werden kann. Darüber hinaus besteht der Vorteil, daß bei Verwenden eines Quelltonsystems, das ein Intervallwandeln mit übergeordnetem Abtasten nutzt, das beschriebene Verfahren im wesentlichen ohne zusätzliche Hardware ausgeführt werden kann, aber dennoch weiche Übergänge bei vermindertem Schleifenrauschen erzielbar sind.
  • Das oben beschriebene Verfahren zum Erzeugen von Quelltandaten mit verbesserten Eigenschaften an Übergängen von wiederholten Mustern nutzt beim Interpolieren gemäß 21 für die Übergangsstellen solche Interpolationswerte, die möglichst dicht beim Wert "0" liegen. In 21 ist der Schleifenstartpunkt LPS einer Schleifendomäne LP ein aktueller Abtastwert, während der Schleifenendpunkt LPE derjenige interpolierte Wert ist, der am dichtesten beim tatsächlichen Schleifenendpunkt liegt. Dies, weil die Amplitude des genannten Interpolationswertes dichter bei der Amplitude des Startpunktes LPS liegt als die Amplitude des tatsächlichen Schleifenendpunkts LPF' der Schleifendomäne LP', wie sie bei tatsächlichem Abtasten erkannt wurde.
  • Wie bereits erläutert, erfolgt das Anschließen aufeinanderfolgender Signalmuster aneinander mit Hilfe der interpolierten Werte, wodurch die übergangsstellen in der Amplitude mit großer Genauigkeit aneinander anschließen, was durch 22 veranschaullcht ist.
  • Die oben beschriebene Verarbeitung wie z. B. die Intervallwandlung, die Abtastratenwandlung oder das übergeordnete Abtasten 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 Interpolationsfiltern entspricht der Anzahl von Interpolationspunkten zwischen Abtastwerten. Für 256-faches übergeordnetes Abtasten sind demgemäß 256 Filteranordnungen erforderlich. Der Filteraufbau 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 Filtersatz erzeugt wird. Diese Art digitalen Rauschens weist be sondere 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ällen besonders vom Intervallrauschen ab. Es ist daher besonders wichtig, ein Intervallwandlungsfilter so aufzubauen, daß das Wandlungsrauschen minimal wird.
  • Im Audiogebiet wird Intervallwandeln durch übergeordnetes Abtasten 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 auszuführen, z. B. ein übergeordnetes Abtasten mit einer Rate, die dem 256-fachen der Abtastrate entspricht, z. B. der Abtastrate 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 entwickeln, 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 Filter in einer Filteranordnung aufeinander abzustimmen, als hohen Wert auf die Charakteristik eines jeden einzelnen der Filter zu legen. Zweitens haben sie herausgefunden, daß das Anpassen der Filtercharakteristiken die Eigenschaften im Abschneidebereich des FIR-Tiefpaßfilters beeinflußt, d. h. daß geringere Welligkeit im Cut-Off-Bereich besonders wünschenswert ist, wenn eine Filteranordnung mit guten Gesamteigenschaften erhalten werden soll.
  • Im folgenden wird ein Interpolationsfilter erläutert, das m Filter n-ter Ordnung aufweist, um digitale Daten in m Interpolationspunkten innerhalb einer Abtastperiode bei einer Abtastperiode 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 Amplitudencharakteristik aufweisen.
  • Während die Interpolationsfilter alle in der Amplitudencharakteristik 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 26 näher erläutert.
  • 26 zeigt ein Filter n-ter Ordnung, das durch n Koeffizientenmultiplizierer 151, (n – 1) Verzögerungseinheiten 152 und eine Summiereinheit 153 zum Aufsummieren von Produkten gebildet ist. Ein digitales Eingangssignal mit einer Abtastfrequenz 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 Abtastfrequenz, also mit m·fs, werden digitale Daten von m Interpolationsabtastwerten, wie sie innerhalb einer Abtastperiode der Abtastfrequenz fs vorliegen, aufgefunden, d. h. die m Interpolationsfilter n-ter Ordnung werden so gewählt, daß sie gleiche Amplitudencharakteristik aufweisen, wodurch von diesen 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 Koeffizienten m Koeffizienten enthält.
  • Das Prinzip des Aufbaus eines Interpolationsfilters für Intervallwandlung 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änderte Signal bezeichnet. Die Gleichung (15) kann als Version erster Ordnung einer affinen Transformation verstanden werden. 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 zusammenfallen, die zum Berechnen von y(t) erforderlich sind. In diesem Fall ist es notwendig, interpolierte Werte aus mehreren benachbarten Abtastpunkten zu berechnen.
  • Beim Pegelwandeln werden also Abtastwerte aus mehreren Zwischenpunkten interpoliert. Bei 8-fachem übergeordnetem Abtasten werden zwei Punkte mit Hilfe von acht dazwischen liegenden Punkten interpoliert. Bei der oben genannten Quelltoneinheit wird 256-faches Interpolieren ausgeführt, um ausreichende 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 Ordnung 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 Konvolution mit dem Eingangsquellsignal x(t) wie folgt berechnet: ∑∑ τfk(τ)·x(t –τ) (16)
  • 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 Interpolations filters für Intervallkonversion ist gleichbedeutend mit dem Entwerfen einer Filteranordnung. Die Bedingung, die erforderlich ist, damit eine Filteranordnung als Intervallwandlungsfilter 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: y(t + (k/m)) = ∑∑ τFk(τ)·x(t – τ) (17)
  • 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. Gleichung (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ürlich gewählte k-te Filter der Filteranordnung. Solange die FIR-Filter n-ter Ordnung der Filteranordnung in ihrer Gesamtheit der Gleichung (21) genügen, kann kein Intervallwandlungsrauschen erzeugt werden. Die Charakteristik der Filteranordnung selbst wie Welligkeit oder Cut-Off-Eigenschaften hängen von der Eigenschaft von f0(t) ab.
  • Obige Gleichung (21) wird als Formel auf Zeitbasis umgerechnet. 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 fk (t) = ∑∑ qfk(q)δ(t – q) (22)
  • Bei Entwickeln einer Fourier-Transformation erhält man: Fk(ω) = ∑∑ qfk(q)exp(–jqω) (23)
  • Dabei sind Falzeffekte nicht berücksichtigt. Durch Einsetzen von Gleichung (23) in Gleichung (21) erhält man: ∑∑ qfk(q)exp(–jω(q – (k/m)) = ∑∑ qf0(q)exp(–jωq) (24)
  • Die Koeffizienten der Abgriffe aller FIR-Filter der Filteranordnung können durch Lösen dieser Gleichung erhalten werden.
  • 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-Frequenz, die nicht höher ist als 1/m der Abtastfrequenz, d. h. nicht größer als fs/m, wie durch 27 veranschaulicht.
  • Das Filter gemäß 27 besteht aus (m × n – 1) Verzögerungseinheiten 163, (m × n) Multiplizierern 164 und einem summierenden Verstärker 165. Ein digitales Eingangssignal der Abtastfrequenz fs wird einem Eingangsanschluß 161 zugeführt und dann abtastweise durch die Verzögerungseinheiten 163 verzö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äß 26 durch das Filter gemäß 27 erhalten werden.
  • Mit dem Filter gemäß 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 diesen 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 folgender 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 (25) 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ück 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-Tiefpaßfilters G(ω), das Fourier-Transformation unterworfen wurde, 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 Phasenkomponenten von Filter zu Filter auf. Die auf diese Weise hervorgerufenen Unterschiede können zu Unterschieden in der Filtercharakteristik führen, die zu Intervallwandlungsrauschen führen.
  • 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 Anzahl von Ordnungen n für die Filter können voll zufriedenstellende 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äuterten Filterentwicklung nicht berücksichtigt wurde, können derartige Komponenten bis zur ersten Ordnung gemäß der folgenden Erläutertung berücksichtigt werden. Da die Frequenzcharakteristik des FIR-Filters fh(t) üblicherweise eine geradzahlige Funktion ist, unter Annahme einer reellen Zahl, ist auch die Frequenzcharakteristikdes FIR-Filters F(ω) eins geradzahlige Funktion, unter Annahme einer reellen Zahl.
  • Wird der Einfachheit halber nur der Bereich 0 < ω berücksichtigt, kann die Frequenzcharakteristik des vorstehend genannten FIR-Filters fh(t) wie folgt ausgedrückt werden, wenn Begleitkomponenten erster Ordnung berücksichtigt sind: F ^(ω) = Fh(ω) + Fh(ω + 2π) (28)
  • Einsetzen von Gleichung (27) in Gleichung (28) ergibt: F ^(ω) = 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 Fehlerkomponente dar, die nichts anderes ist als die Frequenzcharakteristik des FIR-Tiefpaßfilters. Dieser Term ist für Rauschen verantwortlich, da er dazu führt, daß sich die Filtercharakteristik von Filter zu Filter ändert. Unter der Annahme, daß die FIR-Filter F(ω) und R(ω) reelle Zahlen darstellen, wird der Maximalwert für den Fehler: ΔF ^ = max (A) –min (λ) = 2 ∥⁣ R (ω)∥⁣ (31)wobei A = F0(ω) + R(ω)exp(2πjk/m) ist. Das heißt, daß der Maximalwert für den Fehler das zweifache des Normalwertes für R(ω) ist. Wird mit Nb die Bitlänge des Filterkoeffizienten bezeichnet, gilt: ΔF ^ = 2 ∥⁣R(ω)∥⁣ < 2–Nb (32)
  • Daraus folgt, daß das Intervallwandlungsrauschen innerhalb dem Bereich des Quantisierungsrauschens liegen kann. Da Nb = 12 in der Tanquelleneinheit gemäß dem Ausführungsbeispiel 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 van R( ) umdreht. Bei Intervallwandlung 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öhnlichen Filters wird nicht versucht, Welligkeiten im Inhibitbereich in diesem Ausmaß zu unterdrücken, aber es wird gleichzeitig versucht, die Cut-Off-Charakteristik zu verbessern. Wenn jedoch ein Signal/Rausch-Verhältnis geschaffen werden soll, das der Bitlänge der Filterkoeffizienten des Intervallwandlungsfilters entspricht, müssen die oben genannten Bedingungen auf Kosten anderer Bedingungen erfüllt werden.
  • 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 Tiefpaßfilters zu unterdrücken, so daß gilt: ∥⁣R(ω)∥⁣ < (2–Nb/2) (35)
  • Wenn dieses Prinzip auf die Quelltoneinheit gemäß 1 angewendet wird, wird für den Intervallwandler 131 ein Interpolationsfilter verwendet, das durch das vorstehend angegebene Entwicklungsverfahren geschaffen ist.
  • Der Intervallwandler 131 wandelt das Intervall oder die Tonhö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 vorgegeben ist. Dies erfolgt durch 256-faches übergeordnetes Abtasten 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 Amplitudeneingenschaften, so daß Rauschen, das sonst durch Umschalten von Filtern erzeugt wird, ausgeschlossen wird. Es wird also ein Abtastton 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 enthält jeder Block eine vorgegebene Anzahl von Abtastwerten als Einheit, und es werden ein oder mehrere Kompressionskodeblö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 28 wird veranschaulicht, daß eine Schleifendomäne LP einer vorgegebenen Anzanl 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 komprimierenden 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 gehä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 ausgeschlossen werden können, die durch vergangene Daten hervorgerufen 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 folgenden erläutert, d. h. die Funktionen zum Auslesen, Dekodieren und z. B. Schleifenbilden. Die Wiedergabeseite kann alleine als Quelltonanordnung verwendet werden.
  • 29 ist ein Blockdiagramm, das eine Wiedergabeanordnung darstellt zum Auslesen von Quelltondaten, die mit dem oben angegebenen Verfahren erzeugt und dann in einem Quelltondatenspeicher 211 abgelegt wurden. Das Dekodieren erfolgt mit dem Dekodierer 90 gemäß 18, oder es erfolgt die oben genannte 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 Aufzeichnen von Quelltondaten insgesamt sein, oder es kann sich um eine Vorrichtung zum Wiedergeben von Daten von einem Auszeichnungsmedium 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 18 entsprechen ein Schieber 232, ein Summierpunkt 233 und ein Vorhersageglied 234 von 29. Die Schaltung von 29 übt im wesentlichen die Funktion des Dekodierers 90 von 18 aus. Die dekodierten Quelltondaten werden durch Hüllkurvenaddition und z. B. Halleffekterzeugung verarbeitet und über eine dämpfende Rauschsperre 236 einem D/A-Wandler 237 zugeführt. Das von diesem Wandler ausgegebene analoge Signal wird von einem Lautsprecher 238 als Musiktonsignal wiedergegeben.
  • Die Schaltung von 29 weist einen Adreßgenerator 220 auf, der auf ein Signal Taste-Ein anspricht, um Quelltondaten aus dem Speicher 213 auszulesen, insbesondere zur Schleifenbildung. 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 Zeitsteuerungspulsen 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 Multiplexer 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 Kopfdaten, d. h. die Parameterdaten, die die Kompression betreffen, 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-G1ied 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 Tonerzeugunes-Starttriggersignal zum Starten der Software für automatische Musikerzeugung.
  • 30 zeigt ein Beispiel für den Inhalt des Speichers 213, der ein 64K-Byte-RAM ist. Er ist in den Quelitondatenspeicher 211 und den Adreßdatenspeicher 212 aufgeteilt. Der Adreßdatenspeicher 212 ist ein Teil des sogenannten Verzeichnisbereichs im Speicher, in dem die vorgenannten Startadreßdaten SA und die Schleifenstartadreßdaten LA gespeichert sind, auf die mit Hilfe der Verzeichnisadressen vom Verzeichnisadreßgenerator 228 zugegriffen wird. Der führende Adreßbereich SDF besteht aus Adressen für aufeinanderfolgende Abtastwerte, die dem Formantenbereich FR des Tonsignals entsprechen. Führende Adressen eines Datenbereichs SDL sind in 30 mit LSA bezeichnet. Diese Daten entsprechen ebenfalls aufeinanderfolgenden Abtastwerten, die einem Schleifenbereich LP zugeordnet sind. Das Beispiel von 30 zeigt Quelltondaten SDS1, die aus Formantendaten SDF1 und Schleifendaten SDL2, bezeichnet mit SA1 und LSA1, bestehen, sowie Quelltondaten 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 aufweisen. Die Adreßdaten SA und LSA beim praktischen Ausführungsbeispiel bezeichnen nur die Adressen der Kopfdaten oder Unterdaten RF von 19, mit Kompressionskodierblöcken als Einheiten. Detailliertere Adreßanzeige, wie z. B. Adreßanzeigen auf Byte-Basis, wird durch den Adreßzähler 222 vollzogen.
  • Wie die vorstehend beschriebene Anordnung arbeitet, wird ausgehend vom Zeitablaufdiagramm gemäß 21 erläutert.
  • In 31 ist ein Multiplexvorgang veranschaulicht, wobei die Abtastperiode mit TS bezeichnet ist. Bei einer Abtast frequenz 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 Zeiteinheit τ. Zeitinterval1e τ0 und τ1 dienen dazu, auf die Adressen SA oder LSA im Verzeichnisbereich zuzugreifen. Zeitspannen τ2–τ5 dienen dazu, auf Bitkompressionskodierdaten zuzugreifen. In einem Zeitintervall τ6 wird der Adreßzähler 222 auf den neuesten Stand gebracht. Im Zeitintervall τ2 wird auf die Unterdaten (Kopfdaten RF gemäß 19) zugegriffen, während in den Zeitintervallen τ2–τ5 die Abtastdaten (Daten DA0–DB3 von 19) gelesen werden. Der Synchronisierpuls CPA wird in der Zeitspanne τ5 ausgelesen, währen 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 Signals KON ab und steigt nach einigen Abtastperioden wieder auf hohen Pegel, beim dargestellten Beispiel nach fünf Abtastperioden, also zum Zeitpunkt t5.
  • Wenn das Signal Taste-Ein K0N dem Anschluß 219 zugeführt wird, erzeugt der Verzeichnisadreßgenerator 228 eine Verzeichnisadresse auf Basis der vom CPU angegebenen Offsetadresse für den Speicher. Außerdem wird eine Quellenzahl ausgegeben, die die Art der Tonquelle anzeigt. Die Verzeichnisadresse 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 auszulesen, d. h. Daten SA, die die Quelltondaten-Startadresse für die vorgegebene Tonnummer anzeigen. Dadurch wird es möglich, die Daten SA in das Adreßregister 221 über einen Datenbus einzulesen. Das Signal KON wird auch über das Oder-Glied 226 an das Und-Glied 225 geliefert, wodurch dieses durchschaltet 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 Datenwert 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 niedrigen 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 Formantenbereichs gebildet werden.
  • Wenn die Flagge für Enddaten EI vom Register 214 für untergeordnete Daten gesetzt wird, d. h. wenn der Endblock für Schleifendaten SDL oder der Endblock für Daten SDF des Formantenbereichs 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 Bitkompressionsblock 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 Ausgangssignal vom Inverter 216 auf hohen Pegel geht, wenn die Quelltondaten nur die erste Art von Daten SDF3 (Daten entsprechend dem Formantenbereich) aufweisen, aber Schleifendomä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 Audiosignale abschneidet. Dies ist die Funktion der Rauschsperre, wenn keine Schleifenbildung erfolgt. Erfolgt eine solche jedoch, 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 K0N 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 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 Speicherbereiche 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 Speicherbereiche abwechselnd erfolgt.
  • Dies kann sehr einfach dadurch erzielt werden, daß die Startadressen LSA1 und LSA2 abwechselnd miteinander zum Ausführen einer Schleifenfunktion ausgetauscht werden. Im Speicher 213, wie er durch 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 eingeschriebene Adresse LSA2 wird in das Adreßregister 221 übertragen. Mit dem Ende der Daten SDL1, d. h. mit Erreichen des Sccleifenendpunktes, 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 Schleifendendpunktes, wird die genannte Adresse LSA1 in den Adreßzähler 222 geladen, so daß nun auf Quelltondaten SDL1 ab dieser 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 Quelltondaten häufig durch Software ausgeübt wird, die digitales Signalverarbeiten nutzt. Auch das Wiedergeben aufgezeichneter Quelltondaten wird häufig mit digitaler Signalverarbeitung bewerkstelligt. 23 zeigt ein Beispiel für ein Gesamtsystem, 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 mehrfach erwähnte Einrichtung 210 zum Liefern von Quelltondaten ist also durch den Host-Computer 304 gegeben.
  • Die Audiosignalverarbeitungseinheit 307 besteht im wesentlichen aus einer CPU 303, wie einem Mikroprozessor, einem DSP (Digitaler Signalprozessor) 301 und einem Speicher 302 zum Speichern von Quelltondaten. Eine Mehrzahl von Verarbeitungsabläufen, einschließlich Auslesesteuerung der Quelltondaten, Schleifenbildung, Bit-Expansion oder -Restauration, Intervallwandlung, Hüllkurvenaddition oder Halleffektserzeugung, werden von dem DSP 301 ausgeführt. Der Speicher 302 dient auch als Pufferspeicher für Daten, die bei diesen Verarbeitungen anfallen. Die CPU 303 steuert die Art und Weise, wie die von dem DSP 301 vollzogenen Abläufe ausgeführt werden. 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 verschiedener charakteristischer Eigenschaften der beschriebenen Vorrichtung und des beschriebenen Verfahrens. Man kann sich eine verallgemeinerte Quelltonvorrichtung denken, wie sie schematisch in 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 Audiosignalverarbeitungseinrichtung geladen werden.
  • Die Quelltonverarbeitungseinrichtung gemäß 33 weist einen Quelltondatenspeicher 241 (entsprechend 221 in 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 29) vorhanden, zum Speichern der Datenstartadresse SA, die zu den Quelltondaten gehört und zum Speichern einer Schleifenstartadresse LSA. Ein Adreßgenerator 243 (entsprechend 220 in 29) dient zum Erzeugen der Ausleseadressen für den Quelltondatenspeicher 241 auf Grundlage der Datenstartadresse SA und der Schleifenstartadresse LSA. Die oben genannte Datenstartadresse SA aus dem Startadreßdatenspeicher 242 wird z. B. in ein Adreßregister 244 (entsprechend 221 in 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 ausgelesen, um analoge oder digitale Audiosignale wiederzugeben.
  • Bei der Quelltonverarbeitungseinrichtung gemäß 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 aufeinanderfolgender Abtastwerte auslesen zu können. Es wird dann bis zur nächsten Quelltonerzeugung die erste Anzahl aufeinanderfolgender 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 Speicher verringert werden kann, was eine vereinfachte Muitiplexverarbeitung ermöglicht.
  • 34 zeigt schematisch eine Quelltonverarbeitungseinrichtung, mit der es vereinfacht möglich ist, zu beurteilen, ob eine Schleifendomäne vörhanden ist, oder ob das Wiedergeben von Quelltondaten beendet werden soll, denen eine Schleifendomäne fehlt.
  • Die Quelltonverarbeitungseinrichtung gemäß 34 weist einen Quelltondatenspeicher 251 (entsprechend 211 in 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 untergeordnete Daten (entsprechend 214 in 29) dient zum Aussondern von Daten, die mit den Quelltondaten gekoppelt sind. Eine Flaggenprüfschaltung 253 (entsprechend 216218 in 29) dient zum Ermitteln von Flaggen, die das Vorhandensein oder Fehlen einer Schleifendomäne in den Quelltondaten anzeigt, und zum Ermitteln des Endes von Quelltondaten. Ein Adreßgenerator 254 (entsprechend 220 in 34) dient zum Erzeugen von Adressen zum Auslesen der ersten Art aufeinanderfolgender Abtastwerte Sa und der zweiten Art aufeinander folgender Abtastwerte Sb aus dem Quelltondatenspeicher 251, mit Hilfe der Quelltondaten und der mit dem Register 252 ausgesonderten untergeordneten Daten. Eine Audiosignalverarbeitungseinrichtung 255 (entsprechend 230 in 29) dient zum Verarbeiten, z. B. Dekodieren, der Quelltondaten auf Grundlage der ausgesonderten Daten, zum Erzeugen wiedergebbarer Daten. Ein Dämpfglied 256 (entsprechend 236 in 29) dient zum Dämpfen der durch Verarbeitung gewonnenen Quelltondaten mit Hilfe der oben genannten Flagge innerhalb der Flaggenprüfschaltung 253. Die erste oder die zweite Art der aufeinanderfolgenden Abtastwerte Sa bzw. S wird wiederholt aus dem Quelltondatenspeicher 251 ausgelesen, um analoge oder digitale Audiosignale zu erzeugen, während immer dann gedämpft wird, wenn die zugehörige Flagge anzeigt, daß den Que11tondaten eine Schleifendomäne fehlt, oder daß das Auslesen der Quelltondaten beendet ist.
  • Die Quelltondatenverarbeitungseinrichtung gemäß 34 bildet eine Flagge, die das Ende der Daten oder das Fehlen einer Schleifendomäne anzeigt. Daraufhin wird das ausgegebene Signal 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 erzielt werden, daß zusätzlich zur Flagge, die das Vorhandensein oder Fehlen einer Schleifendomäne anzeigt, eine Flagge verwendet wird, die ein Ende mit Schleife oder ein Ende ohne Schleife anzeigt.
  • 35 zeigt als Blockschaltbild die Art, wie Quelltondaten kontinuierlich ausgelesen und wiedergegeben werden.
  • Die Anordnung gemäß 35 verfügt über einen Quelltonspeicher 261 (entsprechend dem Speicher 212 von 29), der einen ersten Quelltonspeicherbereich 251a und einen zweiten Quelltonspeicherbereich 261b aufweist. Eine Adreßbildeschal tung 236 bildet Ausleseadressen auf Grundlage der Startadresse, 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 251a, 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ßregister 252 mit Startadressen für die beiden genannten Speicherbereiche versorgt. Eine Signalverarbeitungseinrichtung 267 dient dazu, die aus den beiden Speicherbereichen 261a und 261b ausgelesenen Quelltondaten zu verarbeiten.
  • Mit der Anordnung gemäß 35 ist es aufgrund des abwechselnden Auslesens und Einschreibens von Daten in die Speicherbereiche bzw. aus den Speicherbereichen möglich, Quelltondaten 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 Startadressen im Adreßregister, ohne daß Hardware hinzugefügt werden muß und ohne daß eine besondere Zeitablaufsteuerung erforderlich ist.
  • Die Anordnungen gemäß den 3335 dienten zum Veranschaulichen von drei Eigenschaften einer Einrichtung zum Wiedergeben von Quelltondaten.
  • Wenn die anhand von 28 erläuterte Technologie auf der Seite der Quelltondatenerzeugung und -speicherung verwendet wird, d. h. wenn direkte PCM-Daten in einer vorgegebenen An zahl führender Worte in einem Startblock für die Schleifendomäne verwendet werden, ist eine Anordnung realisierbar, wie sie in 36 dargestellt ist. Ein Block für die Bitkompressionsdaten entspricht im wesentlichen demjenigen von 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ämlich Daten, die einen Block mit einem Schleifenstartpunkt anzeigen, d. h. eine Schleifenstartflagge LSF, und Daten, die einen Block mit Schleifenendpunkt anzeigen, d. h. eine Schleifenendpunktflaage LEF.
  • In einem Speicher 271 innerhaib der Blockdarstellung von 36 werden komprimierte und kodierte Abtastdaten und Parameterdaten (Kopfdaten RF und untergeordnete Daten, wie in 19 dargestellt) sowie Tondaten gespeichert. Ebenfalls dort gespeichert ist die Schleifenstartadresse (Adresse für den Schleifenstartblock im Speicher), und zwar als Verzeichnisdatenwert. 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önnen. 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 diejenige Zeitspanne, innerhalb der eine vorgegebene Anzahl von Anfangsworten im Schleifenstartblock liegt, d. h. in derjenigen Zeitspanne, in der die direkten PCM-Daten ausgegeben werden. Wenn Quelltondaten für verschiedene Töne im Speicher 271 abgelegt sind, sind dort jeweils die Startadressen der Quelltondaten und die Startadressen von für die Schleifen abgelegt. 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 Spei chers 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 (Startadresse der Quelltondaten) zählen.
  • Von den Quelltondaten, wie sie aus dem Speicher 271 ausgelesen werden, werden die vorgenannten Parameterdaten, d. h. die untergeordneten Daten und die Kopfdaten RF gemäß 19 in ein Unterdatenregister 275 übertragen und dort zwischengespeichert. Die Abtastdaten DA0H–DB3L gemäß 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 vorgegebene 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 18 entspricht. Das Ausgangssignal vom Bitschieber 277 wird über den Multiplexer 278 an einen Summierpunkt 280 geliefert, der dem Summierpunkt 93 von 18 entspricht. Das Ausgangssignal vom Summierpunkt 280 wird an ein Ausgangsregister 286 und gleichzeitig an eine Vorhersageschaltung 291 geliefert, die dem Vorhersageglied 94 von 18 entspricht. Die Vorhersageschaltung 291 weist zwei Verzögerungsregister 284 und 285, diesen Realstern zugeordnete Koeffizientenmultiplizierer 282 bzw. 283 und einen Summierpunkt 281 auf. Am Summierpunkt werden die Produkte aus den Ausgangssignalen und von den Verzögerungsregistern mit Koeffizienten gebildet, wie sie von einem Koeffizientengenerator 279 geliefert werden. Die Vorhersageschaltung 291, der Summierpunkt 280 und der Bitschieber 277 bilden einen Dekodierer 290 zum Dekodieren der bitkomprimierten, kodierten Daten.
  • Von den Kopfdaten FR, die im Unterdatenregister 275 zwischengespeichert sind, werden die Bereichsdaten und die Fensterauswahldaten zum Bitschieber 277 bzw. zum Koeffizientengenerator 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 36 dekodiert, entsprechend wie dies anhand des Dekodierers von 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 Ausgangsanschluß 288. Im folgenden wird erläutert, wie bei Schieifenwiedergabe von einem Schieifenendpunkt zu einem Schleifenstartpunkt zurückgekehrt wird. Wenn Quelltondaten für den Block, der den Schleifenendpunkt beinhaltet, ausgelesen werden, 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. Dadurch 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 vorgegebene Anzahl führender Worte ausgelesen. Während diese direkten 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 Koeffizientengenerator 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, Vorhersagen für die Schleifenendpunktdaten zu treffen. Dadurch fallen mit guter Wirkung Fehler weg, die ansonsten durch Diskontinuitä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 werden.
  • 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 UΠmittelbaren PCM-Datenworten besteht, wird es möglich, Fehler beim Auslesen zu vermeiden, wenn die Daten von einem beliebigen 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 (3)

  1. Vorrichtung zum Verarbeiten von Quelltondaten, umfassend: – einen Quelltondatenspeicher (101) zum Speichern von Quelltondaten, die aufeinanderfolgende erste Abtastwerte und aufeinanderfolgende zweite Abtastwerte enthalten, – einen Startadressendatenspeicher (107b) zum Speichern von Startadressdaten, die zu den ersten Abtastwerten der Quelltondaten gehören, und von Schleifenstartadressdaten, die zu den zweiten Abtastwerten der Quelltondaten gehören, und – einen Adressgenerator (102) zum Erzeugen einer Ausleseadresse für den Quelltondatenspeicher (101) auf der Grundlage der Startadressdaten und der Schleifenstartadressdaten, – wobei dann, wenn die Startadressdaten aus dem Startadressdatenspeicher (107b) in den Adressgenerator (102) geladen sind, die ersten aufeinanderfolgenden Abtastwerte aus einem Speicherbereich des Quelltondatenspeichers (101) gelesen werden, beginnend mit der Startadresse, und wobei auf der Grundlage der ausgelesenen Adressdaten und der Schleifenstartadressdaten, wie sie vom Startadressdatenspeicher (107b) in den Adressgenerator (102) gelesen sind, mehrfach die aufeinanderfolgenden zweiten Abtastwerte aus einem Speicherbereich ausgelesen werden, der mit der Schleifenstartadresse beginnt, um dadurch analoge oder digitale Audiosignale wiederzugeben, gekennzeichnet durch – einen Koeffizientenadresswandler (106), der zwischen dem Startadressdatenspeicher (107b) und einem Koeffizienten – ROM (105) gelegen ist, welcher in ihm zuvor gespeicherte Koeffizientenwerte an einen Interpolationsfilter (104) abgibt, um die Filtercharakeristik dieses Interpolationsfilters (104) zu bestimmen, das aus einer Mehrzahl von Verzögerungseinheiten (DL1–DLn) und Multipliziereinheiten (P1–Pn) besteht und mit Quelltondaten vom Quelltondatenspeicher (101) gespeist ist.
  2. Vorrichtung zum Verarbeiten von Quelltondaten, umfassend: – einen Quelltondatenspeicher (251) zum selektiven Speichern von Quelltondaten mit einer ersten Art aufeinanderfolgender Abtastwerte mit einer Schleifendomäne, die wiederholt wiedergegeben wird, und einer zweiten Art aufeinanderfolgender Abtastwerte, ohne Schleifendomäne sowie mit einem Endabtastwert, – eine Flaggenüberprüfungsschaltung (253) zum Ermitteln einer Unterscheidungsflagge, die das Vorhandensein oder das Fehlen der Schleifendomäne und das Vorhandensein oder das Fehlen des Endabtastwertes anzeigt, – eine Einrichtung zum wiederholten Auslesen der ersten Abtastwerte aus dem Quelltondatenspeicher (251) und zum Auslesen der zweiten Abtastwerte aus dem Quelltondatenspeicher (251), um analoge oder digitale Audiosignale wiederzugeben, und – eine Einrichtung zum Liefern eines Dämpfungs- oder Stummschaltsignals, wenn die Flaggenüberprüfungsschaltung (253) eine Unterscheidungsflagge feststellt, welche die Abwesenheit der Schleifendomäne und das Ende der Quelltondaten anzeigt.
  3. Vorrichtung zum kontinuierlichen Wiedergeben von Quelltondaten, umfassend: – einen Quelltondatenspeicher (261) mit einem ersten (261a) und einem zweiten (261b) Quelltonspeicherbereich, – eine Adressbildungsschaltung (263), die eine Ausleseadresse auf Grundlage einer Startadresse eines Adressregisters (262) anzeigt, – eine Steuereinrichtung (264) zum abwechselnden Auslesen von Quelltondaten aus dem ersten und zweiten Quelltondatenspeicherbereich (261a, 261b) auf Grundlage der jeweils ausgelesenen Adresse, – eine Quelltondatenliefereinrichtung (265) zum Einschreiben von Quelltondaten in einen der beiden Speicherbereiche (261a, 261b) in der Zeit, während Quelltondaten gerade aus dem anderen Speicherbereich ausgelesen werden, – eine Startadressliefereinrichtung (266) zum Einschreiben der Startadressen für den ersten oder zweiten Quelltondatenspeicherbereich (261a, 261b), in den die Quelltondaten geschrieben sind, in das Adressregister (262), und – eine Signalverarbeitungseinrichtung (267) zum Verarbeiten der Quelltondaten, wie sie aus dem ersten und dem zweiten Quelltondatenspeicherbereich (261a, 261b) ausgelesen sind.
DE3943797A 1988-11-19 1989-11-17 Vorrichtung zum Verarbeiten von Quelltondaten Expired - Lifetime DE3943797B4 (de)

Priority Applications (1)

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

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
JP63-292931 1988-11-19
JP63292933A JP2712421B2 (ja) 1988-11-19 1988-11-19 音源装置
JP63292935A JP2712422B2 (ja) 1988-11-19 1988-11-19 連続音源データ再生装置
JP63-292935 1988-11-19
JP63292931A JPH02137896A (ja) 1988-11-19 1988-11-19 音源データの生成方法
JP63-292934 1988-11-19
JP63-292933 1988-11-19
JP63292934A JP2671456B2 (ja) 1988-11-19 1988-11-19 音源装置
JP63301544A JP2674161B2 (ja) 1988-11-29 1988-11-29 音源データ圧縮符号化方法
JP63-301544 1988-11-29
JP2556489A JPH02206216A (ja) 1989-02-03 1989-02-03 補間フィルタ
JP1-025564 1989-02-03
DE3938311A DE3938311C2 (de) 1988-11-19 1989-11-17 Vorrichtung zum Erzeugen von Quelltondaten

Publications (1)

Publication Number Publication Date
DE3943797B4 true DE3943797B4 (de) 2004-11-18

Family

ID=27561530

Family Applications (3)

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

Family Applications Before (2)

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

Country Status (1)

Country Link
DE (3) DE3943796C2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009014655A1 (de) * 2009-03-25 2010-10-07 Schippmann, Carsten, Dipl.-Ing. Verfahren zur Interpolation von MIDI Daten

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520708A (en) * 1983-04-11 1985-06-04 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape generation device
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming device
EP0241922A2 (de) * 1986-04-15 1987-10-21 Yamaha Corporation Vorrichtung zur Musiktonerzeugung

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271500A (en) * 1978-02-13 1981-06-02 Fjaellbrant T Device for converting a non-uniformly sampled signal with short-time spectrum to a uniformly sampled signal
CA1201198A (en) * 1982-02-01 1986-02-25 Sony Corporation Method and apparatus for compensating for tape jitter during recording and reproducing of a video signal andpcm audio signal
JPH0631968B2 (ja) * 1984-10-30 1994-04-27 ヤマハ株式会社 楽音信号発生装置
US4797902A (en) * 1984-12-29 1989-01-10 Sony Corporation Digital signal transmission device
DE3689305T2 (de) * 1985-11-29 1994-04-28 Yamaha Corp Tonsignalsbehandlungsvorrichtung.
US4907484A (en) * 1986-11-02 1990-03-13 Yamaha Corporation Tone signal processing device using a digital filter
JPH0754432B2 (ja) * 1986-12-30 1995-06-07 ヤマハ株式会社 楽音信号発生装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520708A (en) * 1983-04-11 1985-06-04 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape generation device
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming device
EP0241922A2 (de) * 1986-04-15 1987-10-21 Yamaha Corporation Vorrichtung zur Musiktonerzeugung

Also Published As

Publication number Publication date
DE3943796C2 (de) 2002-09-12
DE3943795C2 (de) 2002-10-17

Similar Documents

Publication Publication Date Title
DE69515742T2 (de) Digitale Bearbeitung von Audio-Mustern
DE3936693C2 (de) Vorrichtung zum Erzeugen digitaler Audiosignale
DE3486280T2 (de) Vorrichtung zur Erzeugung von Musiktönen vom Wellenformauslesespeichertyp.
KR0164590B1 (ko) 음원 데이타 발생, 기록 또는 재생장치
DE69210652T2 (de) Mischvorrichtung für Begleitungschor und Karaoke-System mit dieser Vorrichtung
DE2740520A1 (de) Verfahren und anordnung zur synthese von sprache
DE3887809T2 (de) Elektronisches Musikinstrument.
DE19709930A1 (de) Tonprozessor, der die Tonhöhe und die Hüllkurve eines akustischen Signals frequenzangepaßt nachweist
DE3689928T2 (de) Effektvorrichtung für elektronisches Musikinstrument.
DE69623866T2 (de) Verfahren und Vorrichtung zur Bildung einer Tonwellenform durch kombinierte Verwendung von verschiedenen Auflösungen der Abtastwerte der Wellenformen
DE69632696T2 (de) Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
DE3023581C2 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
DE69317134T2 (de) Methode und Gerät zum Schneiden eines Tonsignals
DE69736279T2 (de) Tonwiedergabe-geschwindigkeitsumwandler
DE69014680T2 (de) Einrichtung zur Stimmensynthese.
DE3226637C2 (de) Vorrichtung zur Erzeugung eines künstlichen Nachhalls
DE69625625T2 (de) Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung
DE4190102B4 (de) Datenverdichtung von Tondaten
DE4218623C2 (de) Sprachsynthesizer
AT403969B (de) Verfahren zur kompression eines analogen signals
DE2513127C2 (de) Verfahren zum künstlichen Erzeugen eines musikalischen Klangs
DE3943797B4 (de) Vorrichtung zum Verarbeiten von Quelltondaten
DE60122296T2 (de) Programmierbarer Melodienerzeuger
DE3037276C2 (de) Tonsynthesizer
DE3938311C2 (de) Vorrichtung zum Erzeugen von Quelltondaten

Legal Events

Date Code Title Description
AC Divided out of

Ref document number: 3938311

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition