DE3943795C2 - interpolation - Google Patents

interpolation

Info

Publication number
DE3943795C2
DE3943795C2 DE3943795A DE3943795A DE3943795C2 DE 3943795 C2 DE3943795 C2 DE 3943795C2 DE 3943795 A DE3943795 A DE 3943795A DE 3943795 A DE3943795 A DE 3943795A DE 3943795 C2 DE3943795 C2 DE 3943795C2
Authority
DE
Germany
Prior art keywords
data
signal
loop
filter
block
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
DE3943795A
Other languages
German (de)
Inventor
Ken Kutaragi
Makoto Furuhashi
Masakazu Suzuoki
Koji Kageyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP63292931A external-priority patent/JPH02137896A/en
Priority claimed from JP63292934A external-priority patent/JP2671456B2/en
Priority claimed from JP63292933A external-priority patent/JP2712421B2/en
Priority claimed from JP63292935A external-priority patent/JP2712422B2/en
Priority claimed from JP63301544A external-priority patent/JP2674161B2/en
Priority claimed from JP2556489A external-priority patent/JPH02206216A/en
Priority to DE3938311A priority Critical patent/DE3938311C2/en
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority claimed from DE3938311A external-priority patent/DE3938311C2/en
Publication of DE3943795C2 publication Critical patent/DE3943795C2/en
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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal 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

Abstract

Die Erfindung betrifft ein Interpolationsfilter zum Verarbeiten von Eingangsdaten, die mit einer Abtastfrequenz fs abgetastet sind, wobei der Abtastfrequenz eine entsprechens Abtastperiode zugeordnet ist. Eine Filteranordnung, die aus m Sätzen von Filtern n-ter Ordnung besteht, dient zum Auffinden digitaler Daten für m Interpolationspunkte, die innerhalb der Abtastperiode liegen, wodurch Interpolationsdaten mit einer Auflösung von m fs erzeugt werden, wobei die m Sätze von Filtern n-ter Ordnung jeweils gleiche Amplitudencharakteristik aufweisen und eine ganze Zahl nicht kleiner als zwei ist.The invention relates to an interpolation filter for processing input data which have been sampled at a sampling frequency fs, the sampling frequency being assigned a corresponding sampling period. A filter arrangement consisting of m sets of nth order filters is used to find digital data for m interpolation points that lie within the sampling period, thereby generating interpolation data with a resolution of m fs, the m sets of nth filters Order each have the same amplitude characteristic and an integer is not less than two.

Description

Die Erfindung betrifft ein Interpolationsfilter nach dem Oberbegriff des Patentanspruches 1.The invention relates to an interpolation filter according to the Preamble of claim 1.

Tonquellen, wie sie in elektronischen Musikinstrumenten ver­ wendet werden, sind z. B. analoge Tonquellen, die z. B. aus VCO, VCA und VCF bestehen, und digitale Tonquellen, die einen programmierbaren Tongenerator oder einen ROM aufweisen, aus dem Tondaten ausgelesen werden. Als digitale Tonquelle wird auch eine solche verwendet, die aus den Tönen von Musikin­ strumenten Quelltondaten durch Abtasten ermittelt und diese Daten in einem Speicher ablegt.Sound sources such as those found in electronic musical instruments are used, for. B. analog sound sources z. B. from VCO, VCA and VCF exist, and digital sound sources, one have programmable tone generator or a ROM  which sound data are read out. As a digital sound source also used one made from the tones of Musikin instruments source sound data determined by sampling and this Stores data in a memory.

Da im allgemeinen eine große Speicherkapazität erforderlich ist, um Quelltondaten abzutasten und zu speichern, wurden verschiedene Techniken vorgeschlagen, um Speicherkapazität einzusparen. Hierzu zählt das Bilden von Schleifen, wobei die Periodizität von Signalmustern in den Musiktönen ausgenutzt wird, und es zählt dazu eine Bitkompression durch nichtli­ neare Quantisierung.Because a large storage capacity is generally required to sample and store source audio data Various techniques have been proposed to increase storage capacity save. This includes the formation of loops, the Periodicity of signal patterns in the musical tones exploited , and this includes bit compression by non-li linear quantization.

Die erwähnte Schleifenbildung dient auch zum Erzeugen von Tö­ nen, die länger als der ursprünglich abgetastete Musikton dauern. Ein Musikton weist z. B. einen Formantenbereich direkt nach dem Beginn der Tonerzeugung auf, in dem keine sich deutlich wiederholenden Signalmuster vorliegen. Daran schließt sich ein Bereich an, in dem Signalmuster mit einem Grundintervall wiederholt werden. Durch Anordnen von n Perio­ den sich wiederholender Signalmuster, wobei n eine ganze Zahl ist, als Schleifendomäne, und durch wiederholtes Auslesen der Schleifendomäne können länger aufrechterhaltene Töne unter Ausnutzung eines Speichers relativ kleiner Kapazität erzeugt werden.The aforementioned loop formation is also used to generate tö longer than the musical sound originally sampled take. A musical tone has e.g. B. a formant area right after the start of sound generation, in which none there are clearly repeating signal patterns. it is followed by an area in which signal patterns with a Basic interval can be repeated. By arranging n perio the repeating signal pattern, where n is an integer is, as a loop domain, and by repeatedly reading the Loop domain can keep tones sustained for longer Utilization of a memory of relatively small capacity generated become.

Für Bitkompression üblicher Audio-PCM-Signale wird ein Vor­ wärtstypfilter kodierseitig allgemein verwendet. Dieses System überträgt Unterdaten oder untergeordnete Daten, d. h. Daten, die die Kompression betreffen, zusammen mit den kom­ primierten Daten, wobei für den Filter in der Dekodierein­ richtung ein IIR(Infinite Impulse Response)-Filter oder ein rekursives digitales Filter verwendet wird. Ein solches System wird z. B. auch bei Standards für digitale optische Platten verwendet. For bit compression of common audio PCM signals, a pre Hardness type filter generally used on the coding side. This System transmits sub-data or sub-data, i. H. Data related to compression, along with the com primed data, being for the filter in decoding direction an IIR (Infinite Impulse Response) filter or recursive digital filter is used. Such one System is z. B. also with standards for digital optical Plates used.  

Das Abtasten von Musiktönen und das Schleifenbilden aus Ton­ komponenten entspricht dem wiederholten Aneinanderfügen von Schleifen von Verbinden der End- und Startpunkte der Schlei­ fendomänen. Damit sich nicht aufgrund von Diskontinuitäten an den Ansatzpunkten Schleifenrauschen einstellt, müssen die Start- und Endpunkte jeweils in etwa gleichen Pegel aufwei­ sen. Es ist jedoch schwierig, den Schleifenstart- und den Schleifenendpunkt so zu wählen, daß sie im wesentlichen glei­ chen Pegel aufweisen, was mit der Abtastperiode zusammen­ hängt, die in der Regel nicht genau mit der Schleifenperiode übereinstimmt. Daher wurde bisher kein zufriedenstellendes Verfahren für Schleifenbildung mit geringem Schleifenrauschen aufgefunden.The scanning of musical tones and the formation of loops from clay components corresponds to the repeated joining of Grinding of connecting the end and start points of the loop fendomänen. So that not due to discontinuities sets loop noise at the starting points, the The start and end points each have approximately the same level sen. However, it is difficult to start and loop To select the loop end point so that it is essentially the same Chen level, which is related to the sampling period that usually doesn't exactly match the loop period matches. Therefore, it has not been satisfactory so far Procedure for loop formation with low loop noise discovered.

Verschiedene Töne, insbesondere Schlagzeugtöne, weisen keine Schleifendomäne auf.Different tones, especially drum tones, have none Loop domain.

Ein weiteres Problem beim Verarbeiten digitaler Daten mit Hilfe von Schleifen besteht darin, daß dann, wenn Quellton­ daten aus einem Speicher ausgelesen werden, Datenstartadres­ sen und Schleifenstartadressen aus einem Inhaltsverzeichnis ausgelesen werden, das sich in dem Speicher mit den Quellton­ daten befindet. Die zwei Adreßdaten weisen üblicherweise un­ terschiedlichen Inhalt auf. Wenn die Adreßdaten dauernd in einem Adreßregister einer Vorrichtung zum Verarbeiten von Audiosignalen gespeichert sind, ist eine erhöhte Anzahl von Speicherzugriffen erforderlich, was insbesondere dann zu er­ höhter Belastung der Anordnung führt, wenn im Fall von Zeit­ multiplexverarbeitung zum Erzeugen mehrerer Töne auf die Speicher zugegriffen werden muß.Another problem with processing digital data with Help from loops is that when swelling tone data are read from a memory, data start addresses and loop start addresses from a table of contents can be read out, which is in the memory with the source sound data is located. The two address data usually have un different content. If the address data is constantly in an address register of a device for processing Audio signals are stored is an increased number of Memory access is required, which is especially important to him increased load on the arrangement, if in the case of time multiplex processing for generating multiple tones on the Memory needs to be accessed.

Wie bereits angegeben, existieren digitale Daten ohne Schlei­ fendomäne. Daher existieren Quelltondaten sowohl mit wie auch ohne Schleifendomänen. Das Beenden des Wiedergebens von Quelltondaten hängt davon ab, ob Schleifendomänen in den Quelltondaten vorhanden sind oder nicht. Wenn die Wiedergabe von 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. Üblicher­ weise wird hierzu eine gesonderte Adresse für das Wiedergabebeendigungssignal verwendet.As already stated, digital data exist without loops fendomäne. Therefore, source sound data exist with as well without loop domains. Stop playing Source sound data depends on whether loop domains in the  Source sound data is present or not. When playing source sound data To end with a loop domain is usually a flag used, which is contained in the source sound data for the loop domain and that Indicates loop end. When you stop playing a sound that is not Has loop domain, this must be done in a different way. usual a separate address for the playback termination signal is used for this purpose used.

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 Spei­ cherkapazität und einer komplizierten Struktur der Vorrichtung.So, when the source sound data has to be stopped, it depends whether or not there is a loop domain. The data processing must depending on the case at hand with different addresses, to stop playback. This leads to increased required food capacity and a complicated structure of the device.

Quelltondaten, die möglicherweise sich wiederholende Muster aufweisen, sollen bei möglichst geringem Speicherbedarf verarbeitet werden können.Source sound data that may have repeating patterns are said to be the smallest possible memory requirement can be processed.

Hierzu werden Daten in den Endbereichen einer Schleifendomäne interpoliert und von den ursprünglichen Abtastwerten un den interpolierten Werten werden diejeni­ ge für den Start- und den Endpunkt verwendet, die im Pegel am dichtesten beiein­ ander 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ältnis­ mäßig weniger gespeicherter Abtastdaten zufriedenstellende Übergänge in aufein­ anderfolgenden Schleifenbereichen zu erzielen.For this purpose, data is interpolated in the end areas of a loop domain and from the original samples and the interpolated values used for the start and end points that are closest in level different. This ensures that at every transition from a domain ne the next as small a level jump as possible and thus as small as possible Level noise occurs. Because of the interpolation, it is possible despite the ratio moderately less stored sample data, satisfactory transitions into one another to achieve subsequent loop areas.

Aus EP 0 273 447 A2 ist ein Tonsignalgenerator bekannt, bei dem Tonsignale mit­ tels Filterkoeffizienten von einer Filteranordnung verarbeitet und interpoliert wer­ den. Verschiedene Filter liefern dabei unterschiedliche Filterkoeffizienten, die auch unterschiedliche Charakteristiken haben.A tone signal generator is known from EP 0 273 447 A2, in which tone signals are included tels filter coefficients processed and interpolated by a filter arrangement the. Different filters deliver different filter coefficients, which too have different characteristics.

Es ist Aufgabe der Erfindung, ein einfach aufgebautes Interpolationsfilter zu schaf­ fen, das zu besonders rauscharmer Signalverarbeitung führt und beispielsweise so­ wohl für die vorstehend genannte Interpolation, wie auch als Filter in einer Bit- komprimier-Kodier-Einrichtung verwendet werden. It is an object of the invention to create a simple interpolation filter fen, which leads to particularly low-noise signal processing and for example probably for the interpolation mentioned above, as well as a filter in a bit compression coding device can be used.  

Zur Lösung dieser Aufgabe sieht die Erfindung ein Interpolationsfilter mit den Merkmalen des Patentanspruches 1 vor. Eine vorteilhafte Weiterbildung der Erfin­ dung ist in Patentanspruch 2 angegeben.To achieve this object, the invention provides an interpolation filter with the Features of claim 1 before. An advantageous further training of the Erfin dung is specified in claim 2.

Daten können für einen anfänglichen Komprimierblock unmittelbare PCM-Worte vorangestellt werden. Diese Maßnahme erübrigt es, besondere Anfangswerte für die Signalverarbeitung zu speichern.Data can contain immediate PCM words for an initial compression block be prefixed. This measure eliminates the need for special initial values for the Save signal processing.

Mit möglichst wenigen Speicherzugriffen können Quelltondaten ausgelesen werden, indem lediglich Startadressen für Quelltondaten und Startadressen für Schleifen­ daten abgelegt werden. Zum Auslesen der Daten sind nur die Startadressen aus ei­ nem Speicher auszulesen, die dann durch einen Zähler verändert werden. Es muß also nicht jede Adresse gesondert ausgelesen werden.With as few memory accesses as possible, source sound data can be read out, by only starting addresses for source sound data and starting addresses for loops data are stored. To read the data, only the start addresses are from ei read out memory, which are then changed by a counter. It must So not every address can be read out separately.

Eine Flagge kann anzeigen, ob Quelltondaten eine Schleifendomäne enthalten oder nicht. Zeigt die Flagge an, daß eine Schleifendomäne fehlt und das Ende von Quell­ tondaten erreicht ist, wird mit Hilfe der Flagge eine Dämpfungseinrichtung akti­ viert.A flag can indicate whether source sound data contains a loop domain or Not. Indicates the flag that a loop domain is missing and the end of source sound data is reached, a damping device is activated with the help of the flag fourth.

Ein Speicher kann zwei Speicherbereiche haben. 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 auszuge­ ben.A memory can have two memory areas. Whenever out of one Storage area source sound data are read out in the other area Source sound data imported. Through this alternate writing and reading it is possible to extract longer-lasting signals with a small storage capacity ben.

Die Erfindung wird im folgenden anhand eines durch Figuren veranschaulichten Ausführungsbeispiels näher beschrieben. Es zeigen:The invention is illustrated below with the aid of figures illustrated embodiment described in more detail. It demonstrate:

Fig. 1 ein Blockdiagramm zum Erläutern einer Vorrichtung zum Bilden, Aufzeichnen und Wiedergeben von Quell­ tondaten; Fig. 1 is a block diagram for explaining an apparatus for forming, recording and reproducing source sound data;

Fig. 2 ein Musiktonsignal; Fig. 2 is a musical tone signal;

Fig. 3 ein Blockdiagramm zum Erläutern einer Ausführungs­ form zum Verarbeiten von Quelltondaten; Fig. 3 is a block diagram for explaining an execution form for processing Quelltondaten;

Fig. 4 ein Blockdiagramm zum Erläutern, wie ein Intervall ermittelt wird; Fig. 4 is a block diagram for explaining how an interval is determined;

Fig. 5 ein weiteres Blockdiagramm zum Erläutern der Inter­ vallermittlung; Fig. 5 is another block diagram for explaining the interval determination;

Fig. 6 ein Musiktonsignal mit Hüllkurve; Fig. 6 is a musical tone signal with envelope;

Fig. 7 ein Signal, das das Abklingen eines Musiktonsignals veranschaulicht; Fig. 7 is a signal illustrating the decay of a musical tone signal;

Fig. 8 ein Blockdiagramm zum Erläutern, wie eine Hüllkurve ermittelt wird; Fig. 8 is a block diagram for explaining how an envelope is detected;

Fig. 9 eine Charakteristik eines FIR-Filters; Fig. 9 is a characteristic of an FIR filter;

Fig. 10 ein Signal mit konstanter Signalhöhe nach Hüllkur­ venkorrektur; FIG. 10 is a signal having a constant signal level to Hüllkur venkorrektur;

Fig. 11 eine Kammfiltercharakteristik; Fig. 11 shows a comb filter characteristic;

Fig. 12 ein Signal zum Veranschaulichen, wie die Lage eines Schleifenbereichs bestimmt wird; Figure 12 is a signal illustrating how the location of a loop area is determined;

Fig. 13 Signale, die ein Musiktonsignal vor (A) und nach (B) Zeitbasiskorrektur darstellen; Fig. 13 signals representing a musical tone signal before (A) and after (B) time-base corrector;

Fig. 14A und B Diagramme zum Erläutern, wie ein Bitkompres­ sionsblock für Amplitudendaten nach Zeitbasiskor­ rektur beschaffen ist; FIG. 14A and B are diagrams for explaining how a Bitkompres sion block for amplitude data by Zeitbasiskor adapted rection;

Fig. 15 ein Signal, das aus aneinandergereihten Schleifen­ domänen besteht; Fig. 15 shows a signal consisting of lined up domain domains;

Fig. 16 ein Signal für einen Formantenbereich nach Hüllkur­ venkorrektur auf Grundlage von Abklingdaten; FIG. 16 is a signal for a formant region by Hüllkur venkorrektur based on decay data;

Fig. 17 ein Flußdiagramm zum Erläutern von Schritten, die vor und nach einer Schleifenbildung ablaufen; Fig. 17 is a flowchart for explaining steps that take place before and after looping;

Fig. 18 ein Blockdiagramm zum Erläutern des Ablaufs einer bitkodierenden Bitkompression; FIG. 18 is a block diagram for explaining the flow of a bitkodierenden bit compression;

Fig. 19 ein schematisches Diagramm, das einen Datenblock darstellt, wie er bei quasi-augenblicklicher Bit­ kompression erhalten wird; Fig. 19 is a schematic diagram illustrating a data block as obtained with quasi-instantaneous bit compression;

Fig. 20 ein schematisches Diagramm, das den Inhalt eines Blocks im Anfangsbereich eines Musiktonsignals ver­ anschaulicht; FIG. 20 is a schematic diagram anschaulicht the contents of a block in the initial region of a musical tone signal ver;

Fig. 21 ein Signal zum Veranschaulichen von Abtastwerten an Schleifenpunkten; Fig. 21 shows a signal illustrating samples at loop points;

Fig. 22 ein Signal zum Veranschaulichen, wie Schleifen an­ einander angehängt werden; Figure 22 is a signal illustrating how loops are appended to each other;

Fig. 23 ein Signal zum Erläutern von Intervallwandlung; FIG. 23 is a signal for explaining conversion interval;

Fig. 24 ein Blockdiagramm zum Veranschaulichen, wie ein In­ terpolationsverfahren abläuft; Figure 24 is a block diagram illustrating how an interpolation process operates;

Fig. 25 ein schematisches Diagramm zum Veranschaulichen der Lage von Schleifenstart- und Schleifenendadressen; FIG. 25 is a schematic diagram illustrating the location of loop-start and Schleifenendadressen;

Fig. 26 ein Blockdiagramm zum Darstellen des Grundaufbaus eines Interpolationsfilters; Fig. 26 is a block diagram showing the basic structure of an interpolation filter;

Fig. 27 ein Blockdiagramm für ein Tiefpaßfilter, das dazu dient, die Koeffizienten für das Interpolationsfil­ ter gemäß Fig. 26 zu finden; Figure 27 is a block diagram for a low pass filter used to find the coefficients for the interpolation filter shown in Figure 26;

Fig. 28 ein Diagramm zum Veranschaulichen, wie unmittelbare PCM-Daten im Startbereich einer Schleifendomäne an­ geordnet werden; FIG. 28 is a diagram for illustrating how straight PCM data are arranged at the starting area of a loop domain;

Fig. 29 ein Blockdiagramm zum Veranschaulichen einer Quell­ tonwiedergabeseite; Fig. 29 is a block diagram illustrating a source sound reproduction page;

Fig. 30 ein Diagramm zum Veranschaulichen des Inhalts eines Speichers; Fig. 30 is a diagram illustrating the content of a memory;

Fig. 31 ein Zeitablaufdiagramm zum Veranschaulichen der hauptsächlichen Funktion der Schaltung gem. Fig. 29; Fig. 31 is a timing chart according to illustrate the main function of the circuit. Fig. 29;

Fig. 32 ein Blockdiagramm zum Veranschaulichen des Aufbaus einer Audioverarbeitungseinheit und von Peripherie­ einrichtungen derselben; Fig. 32 is a block diagram illustrating the construction of an audio processing unit and peripheral devices thereof;

Fig. 33 ein funktionelles Blockdiagramm zum Erläutern einer Quelltonverarbeitungseinrichtung, die verhältnis­ mäßig wenig Speicherzugriffe benötigt; Fig. 33 is a functional block diagram for explaining a source sound processing device which requires relatively little memory access;

Fig. 34 ein funktionelles Blockdiagramm für eine Tondaten­ verarbeitungseinrichtung, die zwischen Tondaten mit Schleifen und ohne Schleifen unterscheidet; Fig. 34 is a functional block diagram for a sound data processing device which distinguishes between sound data with loops and without loops;

Fig. 35 ein funktionelles Blockdiagramm für eine Quellton­ verarbeitungseinrichtung zum Erzeugen kontinuier­ licher Quelltondaten; und FIG. 35 is a functional block diagram for a swelling clay processing means for generating kontinuier Licher Quelltondaten; and

Fig. 36 ein Flußdiagramm für eine Vorrichtung mit anderem Aufbau der Quelltondatenwiedergabeseite. Fig. 36 is a flow chart for a device with other structure of the Quelltondatenwiedergabeseite.

Es wird darauf hingewiesen, daß sich die folgende Beschrei­ bung zwar auf eine Vorrichtung zum Erzeugen, Aufzeichnen und Wiedergeben von Quelltondaten bezieht, daß die beschriebene Vorrichtung jedoch allgemein zum Verarbeiten digitaler Sig­ nale einsetzbar ist.It should be noted that the following description exercise on a device for generating, recording and Playing source sound data refers to that described Device, however, generally for processing digital sig nale can be used.

Fig. 1 zeigt in Blockform eine Vorrichtung zum Erzeugen, Auf­ zeichnen und Wiedergeben von Quelltondaten. Die Vorrichtung wird z. B. als Adapter für einen PC in einer abtastenden Quelltoneinheit verwendet, oder sie bildet den Quelltonbe­ reich für ein elektronisches Musikinstrument, wie es teil­ weise als "Sampler" bezeichnet wird. Fig. 1 shows in block form a device for generating, recording and reproducing source sound data. The device is e.g. B. used as an adapter for a PC in a scanning source sound unit, or it forms the Quelltonbe rich for an electronic musical instrument, as it is sometimes referred to as a "sampler".

Beim Erzeugen und Speichern von Quelltondaten wird ein ana­ loges Audiosignal eines Quelltons über einen Eingangsanschluß 121 einem Vorverstärker 122 und darauffolgenden Tiefpaßfil­ ter 123 zugeführt. Von einem anschließenden A/D-Wandler 124 wird es in ein 16-Bit-Abtastsignal Sd mit einer Abtastfre­ quenz von 31,5 kHz umgewandelt. Dieses Signal Sd wird durch einen digitalen Signalprozessor (DSP) 125 verarbeitet, der Quelltondaten an einen Speicher 126 ausgibt.When generating and storing source sound data, an analog audio signal of a source sound is fed via an input connection 121 to a preamplifier 122 and subsequent low-pass filter 123 . From a subsequent A / D converter 124 , it is converted into a 16-bit sampling signal Sd with a sampling frequency of 31.5 kHz. This signal Sd is processed by a digital signal processor (DSP) 125 , which outputs source sound data to a memory 126 .

Der Speicher 126 weist im Ausführungsbeispiel einen Adreßbe­ reich von 2M Worten auf, wobei 512K Worte ein 16-Bit/Adreß­ pufferbereich sind, während der verbleibende Bereich von 1,5M Worten einen 12-Bit/Adreßspeicherbereich zum Speichern der Signale Sd darstellt.In the exemplary embodiment, memory 126 has an address range of 2M words, 512K words being a 16-bit / address buffer area, while the remaining area of 1.5M words represents a 12-bit / address memory area for storing the signals Sd.

Der DSP 125 führt arithmetische Operationen aus, wobei er den Pufferbereich des Speichers 126 nutzt. Es wird z. B. die Am­ plitude des Signals Sd korrigiert oder normalisiert, so daß sie konstant wird und den vollen Bereich der genannten 12 Bit ausfüllt. Das 12-Bit-Signal Sd, das so nach Korrektur erhal­ ten wird, wird in einem Teil des Speicherbereichs des Spei­ chers 126 abgelegt. The DSP 125 performs arithmetic operations using the buffer area of the memory 126 . It is e.g. B. corrected or normalized the plitude of the signal Sd so that it becomes constant and fills the full range of the 12 bits mentioned. The 12-bit signal Sd, which is thus obtained after correction, is stored in a part of the memory area of the memory 126 .

Parameter, wie z. B. Konstanten zum Korrigieren des Signales Sd oder wie Start- oder Endadressen, die beim Speichern des Signals Sd im Speicher 126 benutzt werden, werden von dem DSP 125 an eine 8-Bit-CPU 111 der zuvor genannten Tonquellenein­ heit geliefert. Die Werte werden in einem RAM 113 für Ar­ beitsbereichwerte und Parameter gespeichert. Die Quelltonein­ heit weist außerdem einen ROM 112 auf, in dem ein System­ steuerprogramm abgelegt ist. Der RAM 113 und der ROM 112 sind über eine Busleitung 119 mit der CPU 111 verbunden.Parameters such as B. constants for correcting the signal Sd or how start or end addresses, which are used in storing the signal Sd in the memory 126 , are supplied by the DSP 125 to an 8-bit CPU 111 of the aforementioned Tonquellenein unit. The values are stored in a RAM 113 for work area values and parameters. The Quelltonein unit also has a ROM 112 in which a system control program is stored. The RAM 113 and the ROM 112 are connected to the CPU 111 via a bus line 119 .

Auf diese Art und Weise können z. B. 32 Arten von Musiktönen, normalisiert auf eine vorgegebene Amplitude, im Speicher 126 abgelegt werden, während Parameter, die diese Signale betref­ fen, im RAM 113 abgelegt sind.In this way, e.g. B. 32 types of musical tones, normalized to a predetermined amplitude, are stored in the memory 126 , while parameters relating to these signals are stored in the RAM 113 .

Beim Betätigen einer Tastatur 114 für MIDI-Standard, zum Wie­ dergeben von Quelltondaten zum Bearbeiten oder musikalischen Beurteilen werden die zugehörigen Parameter von der CPU 111 aus dem RAM 113 ausgelesen, abhängig von Einstellungen an einem Bedienpanel 115. Sie werden dann an den DSP 125 über­ tragen, und das digitale Signal Sd für den zugehörigen Ton wird aus dem Speicher 126 ausgelesen. Das ausgelesene Signal ist jedoch ein 12-Bit-Abtastsignal mit einer Amplitude, die auf einen konstanten Wert normalisiert ist. Die Abtastfre­ quenz für das Signal Sd ist nach wie vor 31,5 kHz, wie beim Speichern. Die Tastatur 114 und das Bedienpanel 115 sind über ein Interface 116 mit der Busleitung 119 verbunden, an die auch eine Anzeigeeinrichtung 118 über einen Treiber 117 ange­ schlossen ist.When a keyboard 114 for MIDI standard is operated, for playing back source sound data for editing or musical evaluation, the associated parameters are read out by the CPU 111 from the RAM 113 , depending on settings on an operating panel 115 . They are then transmitted to the DSP 125 and the digital signal Sd for the associated sound is read out from the memory 126 . However, the read-out signal is a 12-bit scanning signal with an amplitude that is normalized to a constant value. The sampling frequency for the signal Sd is still 31.5 kHz, as when storing. The keyboard 114 and the control panel 115 are connected via an interface 116 to the bus line 119 , to which a display device 118 is also connected via a driver 117 .

Wenn der Originalton länger ist, als es der Speicherperiode entspricht, weist das Signal Sd nur die Dauer der Speicher­ periode auf. Es wird dann ein vorgegebener Teil der Periode, der gegen das Ende des Signales Sd hin liegt, wiederholt. Da die Amplitude des Signals Sd auf konstanten Wert korrigiert ist, tritt keine Tonhöhenstufe an Verbindungspunkten zwischen Signalen Sd auf.If the original sound is longer than the storage period corresponds, the signal Sd only shows the duration of the memory period on. It then becomes a predetermined part of the period, which lies towards the end of the signal Sd is repeated. There corrected the amplitude of the signal Sd to a constant value  there is no pitch at connection points between Signals SD on.

Das Signal Sd wird einem Intervallwandler 131 zugeführt, wäh­ rend Tondaten durch Betätigen von Tasten der Tastatur 114 entnommen werden und an den Wandler 131 über die CPU 117 und den DSP 125 übertragen werden.The signal Sd is supplied to an interval converter 131 , while sound data are taken out by pressing keys on the keyboard 114 and transmitted to the converter 131 via the CPU 117 and the DSP 125 .

Der Intervallwandler 131 weist ein interpolierendes FIR- Digitalfilter auf, durch das das Signal Sd einem 256-fachen übergeordneten Abtasten unterworfen wird, dem ein Nachabta­ sten folgt. Auf diese Weise wird das Intervall des Analog­ signals, das es beim Umwandeln aus dem Signal Sd aufwies, in das Intervall rückgewandelt, das der betätigten Taste zuge­ ordnet ist. Dabei bleibt die Abtastfrequenz des Signals Sd unverändert.The interval converter 131 has an interpolating FIR digital filter, by means of which the signal Sd is subjected to a 256-fold superordinate sampling, which is followed by a post-sampling. In this way, the interval of the analog signal that it had when converting from the signal Sd is converted back into the interval that is assigned to the actuated key. The sampling frequency of the signal Sd remains unchanged.

Das Signal Sd vom Wandler 131 wird an einen DSP 132 übertra­ gen, während zugehörige Parameter aus dem RAM 113 ausgelesen werden und dem DSP 132 zugeführt werden, um das Signal Sd in seine ursprüngliche Bitlänge rückzuwandeln und so rückzukor­ rigieren, daß das digitale Signal Sd für den Originalton er­ halten wird. ADSR-Parameter, wie sie weiter unten anhand von Fig. 6 erläutert und veranschaulicht werden, werden dabei ab­ hängig von Einstellungen am Bedienpanel 115 gewählt, so daß das Signal Sd von dem DSP 132 entsprechend diesen Parametern verarbeitet wird.The signal Sd from the converter 131 is transmitted to a DSP 132 , while associated parameters are read out from the RAM 113 and supplied to the DSP 132 to convert the signal Sd back to its original bit length and to correct it back so that the digital signal Sd for he will keep the original sound. ADSR parameters, as will be explained and illustrated below with reference to FIG. 6, are selected depending on the settings on the control panel 115 , so that the signal Sd is processed by the DSP 132 in accordance with these parameters.

Auf diese Art und Weise gibt der DSP 132 ein digitales Signal Sd aus, das konstante Frequenz aufweist und bei dem das In­ tervall, die Lautstärke und das Timbre so eingestellt ist, wie es den Einstellungen am Bedienpanel 115 entspricht. Die­ ses Signal Sd wird über einen D/A-Wandler 133, ein Tiefpaß­ filter 134 und einen Ausgangsverstärker 135 an einen Aus­ gangsanschluß 136 gegeben. In this way, the DSP 132 outputs a digital signal Sd which has a constant frequency and in which the interval, the volume and the timbre are set in accordance with the settings on the control panel 115 . This signal Sd is given via a D / A converter 133 , a low-pass filter 134 and an output amplifier 135 to an output terminal 136 .

Das Signal Sd wird im Zeitmultiplex aus dem Speicher 126 aus­ gelesen und dann verarbeitet, und zwar in bis zu 16 Kanälen gleichzeitig, so daß bis zu 16 Stimmen oder Töne gleichzeitig am Ausgangsanschluß 136 ausgegeben werden.The signal Sd is read out from the memory 126 in time division multiplexing and then processed, in up to 16 channels simultaneously, so that up to 16 voices or tones are output simultaneously at the output terminal 136 .

Im vorstehenden wurde die Grundfunktion zum Erzeugen, Spei­ chern und Wiedergeben von Quelltondaten in einer abtastenden Tonquelleneinheit beschrieben. Wenn das Eingangsaudiosignal dem Ton von einem Musikinstrument entspricht, weist das Sig­ nal normalerweise Schwingungen mit einer Grundfrequenz auf. In diesem Fall enthält das Signal sich wiederholende Signal­ muster. Mindestens eine Periode des sich wiederholenden Sig­ nalmusters wird im Speicher abgelegt und beim Wiedergeben mehrfach wiederholt, um verlängertes Ausgeben des Musiktons zu erzielen. Dieses Wiederholen des Signalmusters wird als Schleifenbildung bezeichnet; es dient dazu, Speicherkapazität zu sparen. Eine andere Technik zum Sparen von Speicherkapazi­ tät ist das Komprimieren von Daten beim Aufzeichnen dersel­ ben. Beim Ausführungsbeispiel erfolgt das Komprimieren mit Hilfe einer Filterwahltechnik, bei der jeweils mehrere Ab­ tastwerte in einem Block gruppiert sind und für jeden Block dasjenige Filter aus mehreren vorgegebenen Filtern ausgegeben wird, das zu optimaler Datenkompression führt.In the above, the basic function for generating, saving Saving and playing source sound data in a sampling Sound source unit described. When the input audio signal corresponds to the sound of a musical instrument, the Sig nal normally vibrations with a fundamental frequency. In this case the signal contains repetitive signal template. At least one period of the repeating sig nalpattern is stored in memory and during playback repeated several times in order to prolonged output of the musical tone to achieve. This repetition of the signal pattern is called Denotes loop formation; it serves storage capacity to save. Another technique to save storage space action is the compression of data when it is recorded ben. In the exemplary embodiment, the compression takes place with With the help of a filter selection technique, in which several Ab Sample values are grouped in a block and for each block that filter is output from several specified filters that leads to optimal data compression.

Die oben erwähnte Schleifenbildung wird im folgenden anhand von Fig. 2 kurz erläutert. Direkt nach dem Beginn eines Musiktones liegt in der Regel eine Nichttonkomponente vor, wie z. B. ein Rauschen, das durch einen Tastenanschlag in einem Klavier herrührt oder ein Anblasgeräusch bei einem Blasinstrument. Dieser Teil im Signal bildet einen Formanten­ bereich ohne deutlich erkennbare Signalmusterperiodizität. Auf den Formantenbereich folgt ein Bereich, in dem ein Sig­ nalmuster mit einer Grundfrequenz, d. h. in einem bestimmten Intervall, wiederholt wird. n Wiederholungen des Signalmu­ sters werden als Schleifendomäne LP behandelt, die sich zwischen einem Schleifenstartpunkt LPS und einem Schleifenend­ punkt LPE erstreckt. Ein Musikton kann für jede gewünschte Länge erzeugt werden, indem zunächst Daten für den Formanten­ bereich FR und die Schleifendomäne LP in einem Speicher abge­ legt werden und beim Wiedergeben zunächst die Daten für den Formantenbereich FR und dann wiederholt die Daten für die Schleifendomäne LP wiederholt werden.The above-mentioned loop formation is briefly explained below with reference to FIG. 2. Immediately after the start of a musical tone, there is usually a non-tone component, such as e.g. B. a noise that comes from a keystroke in a piano or a blowing sound from a wind instrument. This part of the signal forms a formant area without clearly recognizable signal pattern periodicity. The formant area is followed by an area in which a signal pattern with a fundamental frequency, ie in a certain interval, is repeated. n Repetitions of the signal pattern are treated as a loop domain LP, which extends between a loop start point LP S and a loop end point LP E. A musical tone can be generated for any desired length by first storing data for the formant area FR and the loop domain LP in a memory and when playing back the data for the formant area FR and then repeating the data for the loop domain LP.

Anhand der Fig. 3-20 wird nun näher erläutert, wie Quell­ tondaten erzeugt werden und wie ein aufzeichnungsseitiges System aufgebaut ist und funktioniert.With reference to FIGS. 3-20 will now be explained in more detail, are generated as source audio data and as a recording-side system is constructed and operates.

Fig. 3 ist ein Blockdiagramm, das veranschaulicht, welche Funktionen zwischen dem Abtasten von Daten und dem Speichern derselben ausgeführt werden. Figure 3 is a block diagram illustrating what functions are performed between sampling data and storing it.

Ein Eingangsmusiksignal, das einem Eingangsanschluß 10 zuge­ führt wird, kann entweder ein Signal sein, das direkt von einem Mikrophon aufgenommen wird, oder es kann ein solches sein, das in Form digitaler oder analoger Audiosignale von einem Aufzeichnungsmedium eingegeben wird. An input music signal supplied to an input terminal 10 may either be a signal that is picked up directly by a microphone, or it may be one that is input in the form of digital or analog audio signals from a recording medium.

Das eingegebene Musiktonsignal wird in einem Abtastblock 11 abgetastet, z. B. mit 38 kHz. Vor Abtastung wird ein 16-Bit- Signal erhalten. Das Abtasten entspricht dem A/D-Wandeln ana­ loger Eingangssignale.The input musical tone signal is sampled in a sampling block 11 , e.g. B. at 38 kHz. A 16-bit signal is obtained before sampling. The sampling corresponds to the A / D conversion of analog input signals.

In einem folgenden Intervalldetektor 12 wird die Grundfre­ quenz, d. h. die Frequenz f0 des Grundtones, ermittelt.In a subsequent interval detector 12 , the fundamental frequency, ie the frequency f 0 of the fundamental, is determined.

Das Prinzip des Intervalldetektors 12 wird nun erläutert. Das Musiktonsignal weist manchmal eine Grundfrequenz auf, die deutlich niedriger ist als die Abtastfrequenz fs, so daß es schwierig ist, das Intervall dadurch zu ermitteln, daß ledig­ lich die Spitzen im Musikton entlang der Frequenzachse abge­ tastet werden. Daher ist es erforderlich, das Spektrum der harmonischen Obertöne zu verwenden.The principle of the interval detector 12 will now be explained. The musical tone signal sometimes has a fundamental frequency that is significantly lower than the sampling frequency f s , so that it is difficult to determine the interval by only sampling the peaks in the musical tone along the frequency axis. It is therefore necessary to use the spectrum of harmonic overtones.

Das Musiktonsignal f(t), dessen Intervall ermittelt werden soll, kann durch Fourier-Expansion wie folgt ausgedrückt wer­ den:
The musical tone signal f (t), whose interval is to be determined, can be expressed by Fourier expansion as follows:

f(t) = Σ|ωa(ω)cos[ωt + ϕ(ω)] (1)
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 umge­ schrieben werden:
where a (ω) and ϕ (ω) mean the amplitude or phase of the overtones. If the phase shift ϕ (ω) is set to zero for each overtone, the above formula can be rewritten as follows:

(t) = Σ|ωa(ω)cosωt (2)
(t) = Σ | ωa (ω) cosωt (2)

Die Spitzen des so angepaßten Signales f(t) entsprechen ganz­ zahligen Vielfachen der Perioden aller Obertöne des Signals bei t = 0. Die Spitzen zeigen nur die Periode des Grundtones.The peaks of the signal f (t) thus adjusted correspond entirely number multiples of the periods of all overtones of the signal at t = 0. The peaks only show the period of the fundamental.

Auf Grundlage dieses Prinzips wird nun anhand von Fig. 3 die Schrittfolge zum Detektieren des Intervalls beschrieben.Based on this principle, the sequence of steps for detecting the interval will now be described with reference to FIG. 3.

Musiktondaten und ein Wert "0" werden einem Realteileingang 31 und einem Imaginärteil 33 eines Transformationsblocks 33 für schnelle Fourier-Transformation zugeführt.Musical sound data and a value "0" are fed to a real part input 31 and an imaginary part 33 of a transformation block 33 for fast Fourier transformation.

Bei der schnellen Fourier-Transformation gilt, wenn das In­ tervall mit x(t) bezeichnet wird:
For the fast Fourier transform, if the interval is denoted by x (t):

ancos(2πfnt + θ) (3),
a n cos (2πf n t + θ) (3),

x(t) kann gegeben sein durch
x (t) can be given by

Dies kann in komplexer Notation geschrieben werden als
This can be written in complex notation as

wobei die folgende Gleichung
where the following equation

cosθ = (exp(jθ) + exp(-jθ))/2 (6)
cosθ = (exp (jθ) + exp (-jθ)) / 2 (6)

benutzt wird. Durch Fourier-Transformation erhält man die folgende Gleichung:
is used. The following equation is obtained by Fourier transformation:

in der δ(ω - ωn) eine Deltafunktion beschreibt.in which δ (ω - ω n ) describes a delta function.

In einem folgenden Block 34 wird der absolute Wert, d. h. die Wurzel der Summe der Quadrate des reellen und des imaginären Teils der Daten nach der schnellen Fourier-Transformation be­ rechnet.In a subsequent block 34 , the absolute value, ie the root of the sum of the squares of the real and the imaginary part of the data after the fast Fourier transformation, is calculated.

Durch Verwenden des Absolutwertes Y(ω) von X(ω) hebt sich die Phasenkomponente heraus, so daß gilt:
By using the absolute value Y (ω) of X (ω), the phase component stands out, so that the following applies:

Dies wird zur Phasenanpassung für alle hohen Frequenzkompo­ nenten in den Musiktondaten ausgeführt. Die Phasenkomponenten können durch Setzen der Imaginärteile auf 0 angepaßt werden.This becomes the phase adjustment for all high frequency compos elements in the musical sound data. The phase components can be adjusted to 0 by setting the imaginary parts.

Der so berechnete Normierungswert wird als Realdatenteil einem weiteren Block 36 für schnelle Fourier-Transformation zugeführt, der in diesem Fall als Block für inverse schnelle Fourier-Transformation ausgebildet ist. Während diese Daten an einen Eingang für reelle Daten gelangen, wird einem Ein­ gang für imaginäre Daten der Wert "0" zugeführt. Die inverse schnelle Fourier-Transformation kann ausgedrückt werden durch
The normalization value calculated in this way is supplied as a real data part to a further block 36 for fast Fourier transformation, which in this case is designed as a block for inverse fast Fourier transformation. While this data reaches an input for real data, an input for imaginary data is supplied with the value "0". The inverse fast Fourier transform can be expressed by

Die so nach der inversen schnellen Fourier-Transformation ge­ wonnenen Musiktondaten werden als Signal ausgegeben, das der Synthese der Cosinuswellen entspricht, wobei die Anteile höherer Frequenz in der Phase angepaßt sind.The ge after the inverse fast Fourier transformation Won music data are output as a signal that the Synthesis of the cosine waves corresponds to the proportions higher frequency are adjusted in phase.

Die Spitzenwerte der so hergestellten Quelltondaten werden in einem Spitzendetektor 37 ermittelt. Die Spitzenpunkte sind diejenigen Punkte, in denen die Spitzen für alle Frequenz­ komponenten zusammenfallen. In einem folgenden Block 38 wer­ den die Spitzenwerte nach absteigenden Werten geordnet. Das Intervall folgt durch Messen der Perioden der ermittelten Spitzen.The peak values of the source sound data thus produced are determined in a peak detector 37 . The peak points are the points at which the peaks coincide for all frequency components. In a subsequent block 38, the peak values are sorted according to descending values. The interval follows by measuring the periods of the peaks determined.

Fig. 5 veranschaulicht eine Anordnung des Spitzendetektor­ blocks 37 von Fig. 4 zum Ermitteln der Spitzen, d. h. der Maximumwerte der Musiktondaten. FIG. 5 illustrates an arrangement of the peak detector block 37 from FIG. 4 for determining the peaks, ie the maximum values of the musical tone data.

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.It is noted that within musical sound data a large number of peaks with different values  is available. An interval can be found that the distance between peaks is determined.

Gemäß Fig. 5 wird eine Folge von Musiktondaten, die aus der inversen Fourier-Transformation folgen, über einen Eingangs­ anschluß 41 einem (N + 1)-stufigen Schieberegister 42 zuge­ führt, und es wird über Register a-N/2, . . ., a0, . . ., aN/2 an einen Ausgangsanschluß 43 geliefert. Das Schieberegister 42 wirkt als Fenster der Breite (N + 1)-Abtastwerten in bezug auf die Folge an Musiktondaten. Die Abtastwerte werden über dieses Fenster einem Maximalwertdetektor 44 zugeführt. Da die Musiktondaten zunächst in das Register a-N/2 gelangen und dann bis in das Register aN/2 transportiert werden, werden (N + 1) Abtastmusiktondaten aus den Registern in den Maximal­ wertdetektor 44 übertragen. FIG. 5 is a sequence of musical tone data that result from the inverse Fourier transform, connecting through an input 41 a (N + 1) -stage shift register 42 is supplied, and it will, via register a -N / 2. , ., a 0,. , ., a N / 2 supplied to an output terminal 43 . The shift register 42 acts as a window of wide (N + 1) samples with respect to the sequence of musical sound data. The sampled values are fed to a maximum value detector 44 via this window. Since the musical sound data first reaches the register a -N / 2 and is then transported to the register a N / 2 , (N + 1) scanning musical data is transferred from the registers to the maximum value detector 44 .

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.The maximum value detector 44 is designed so that when z. B. the value from the middle register a 0 became maximum of all values, gives this value as maximum value to the output terminal 45 . The width (N + 1) of the window can be set as desired.

Die Einhüllende des abgetasteten digitalen Musiktonsignals wird in einem Einhüllendendetektor 13 mit Hilfe der Inter­ valldaten gewonnen. Das Einhüllendensignal, das in Fig. 6 mit B bezeichnet ist, wird dadurch gewonnen, daß die Spitzen im Musiktonsignal A aufeinanderfolgend verbunden werden. Es zeigt eine Änderung in der Lautstärke seit dem Zeitpunkt der Tonerzeugung an. Die Einhüllende wird durch Parameter ADSR (Attack Time/Decay Time/Sustain Level/Release Time) beschrie­ ben. Im Fall eines Klaviertons beschreibt der Teil A (Attack Time TA) die Zeit, die zwischen dem Betätigen einer Taste und demjenigen Zeitpunkt vergeht, bis die gewünschte Laut­ stärke erreicht ist. Der zweite Anteil D (Decay Time TD) ist diejenige Zeit, die zwischen dem Zeitpunkt des Erreichens der gewünschten Lautstärke und dem Zeitpunkt des Erreichens einer Lautstärke vergeht, die gehalten wird. Der dritte Anteil S (Sustain Level LS) gibt die gehaltene Lautstärke an, während der letzte Anteil R (Release Time TR) die Zeit angibt, die zwischen dem Loslassen einer Taste und dem Ausklingen eines Tons vergeht. Die Zeiten TA, TD und TR können auch als Ände­ rungsgrößen für die Lautstärke verstanden werden. Es können auch andere Hüllenparameter außer den vorgenannten vier Para­ metern verwendet werden.The envelope of the sampled digital musical tone signal is obtained in an envelope detector 13 using the interval data. The envelope signal, designated B in Fig. 6, is obtained by connecting the peaks in the musical tone signal A in sequence. It indicates a change in volume since the time the sound was generated. The envelope is described by parameter ADSR (Attack Time / Decay Time / Sustain Level / Release Time). In the case of a piano tone, part A (Attack Time T A ) describes the time that elapses between pressing a key and the time until the desired volume is reached. The second part D (Decay Time T D ) is the time that elapses between the time the desired volume is reached and the time a volume is reached that is maintained. The third portion S (Sustain Level L S ) indicates the volume held, while the last portion R (Release Time T R ) indicates the time between the release of a key and the decay of a tone. The times T A , T D and T R can also be understood as changes in the volume. Shell parameters other than the above four parameters can also be used.

Es wird darauf hingewiesen, daß im Hüllkurvendetektor 13 die Gesamtabfallrate des Signals erhalten wird, gleichzeitig mit Einhüllendendaten, wie sie z. B. durch die oben genannten Parameter ADSR gegeben sind. Diese Abfallszeitdaten nehmen einen Bezugswert "1" ab dem Zeitpunkt der Tonerzeugung wäh­ rend der Anschlagszeit TA an und fallen dann gleichmäßig ab, wie durch Fig. 7 veranschaulicht.It is noted that the overall decay rate of the signal is obtained in the envelope detector 13 , at the same time as envelope data as it is e.g. B. are given by the above parameters ADSR. This fall time data takes a reference value "1" from the time of sound generation during the attack time T A and then falls smoothly as illustrated by FIG. 7.

Die Funktion des Hüllkurvendetektors 13 gemäß Fig. 1 wird nun anhand des Flußdiagramms von Fig. 8 veranschaulicht.The function of the envelope detector 13 according to FIG. 1 will now be illustrated with reference to the flow diagram of FIG. 8.

Das verwendete Prinzip ist demjenigen ähnlich, das beim Er­ mitteln der Hüllkurve eines amplitudenmodulierten (AM)-Sig­ nals verwendet wird. Die Einhüllende wird ermittelt, indem angenommen wird, daß das ermittelte Intervall der Trägerfre­ quenz für ein AM-Signal entspricht. Die Hüllkurvendaten wer­ den beim Wiedergeben von Musiktönen benutzt, die auf Grund­ lage der Hüllkurvendaten und der Intervalldaten gebildet wer­ den.The principle used is similar to that used for the Er average of the envelope of an amplitude modulated (AM) sig nals is used. The envelope is determined by it is assumed that the determined interval of the carrier fre corresponds to an AM signal. The envelope data who used when playing musical tones, the reason position of the envelope data and the interval data the.

Die Musiktondaten werden über einen Eingangsanschluß 51 einem Absolutwertausgabeblock 52 zugeführt, der den Absolutwert der Signalhöhedaten der Musiktöne ermittelt. Diese Absolutwert­ daten werden einem digitalen FIR(Finite Impulse Response)- Filterblock 55 zugeführt. Dieser FIR-Block 55 dient als Tiefpaßfilter, dessen Abschneidecharakteristik dadurch bestimmt wird, daß ihm Filterkoeffizienten zugeführt werden, die zu­ nächst in einem LPF-Koeffizientengenerator 54 auf Grundlage von Intervalldaten erzeugt wurden, die über einen Eingangsan­ schluß 53 zugeführt werden.The musical tone data is fed via an input connection 51 to an absolute value output block 52 , which determines the absolute value of the signal height data of the musical tones. This absolute value data is fed to a digital FIR (Finite Impulse Response) filter block 55 . This FIR block 55 serves as a low-pass filter, the clipping characteristic of which is determined by the fact that filter coefficients are supplied to it, which were first generated in an LPF coefficient generator 54 on the basis of interval data which are supplied via an input terminal 53 .

Die Filtercharakteristik gemäß dem Beispiel von Fig. 9 weist Nullpunkte bei Vielfachen der Grundfrequenz (f0) auf. Die in Fig. 6 mit B veranschaulichten Hüllkurvendaten können aus dem Musiktondatensignal A in Fig. 6 dadurch gewonnen werden, daß die Frequenzen des Grundtons und der Obertöne durch das FIR-Filter abgeschwächt werden. Für die Filtercharakteristik gilt die Formel
The filter characteristic according to the example of FIG. 9 has zero points at multiples of the fundamental frequency (f 0 ). The envelope data illustrated with B in FIG. 6 can be obtained from the musical tone data signal A in FIG. 6 by weakening the frequencies of the fundamental and the overtones by the FIR filter. The formula applies to the filter characteristics

H(f) = k.(sin(πf/f0))/f (11)
H (f) = k. (Sin (πf / f 0 )) / f (11)

in der f0 die Grundfrequenz, d. h. das Intervall des Musik­ tonsignals darstellt.in which f 0 represents the fundamental frequency, ie the interval of the musical tone signal.

Anhand von Fig. 1 wird nun erläutert, wie Tonhöhendaten für den Formantenteil FR und die Schleifendomäne LP aus den Ton­ höhendaten des abgetasteten Musiktonsignals erzeugt werden.Referring to Fig. 1 will now be explained how the pitch data for the formant portion FR and the loop LP domain from the tone height data of the sampled musical tone signal to be generated.

In einem ersten Block 14 zum Erzeugen der Schleifendaten wer­ den die abgetasteten Musiktondaten geteilt, die mit Hilfe der zuvor ermittelten Hüllkurve 8 gemäß Fig. 6 gewonnen wurden (oder es wird mit dem Reziprokwert der Daten multipliziert). Dies dient dazu, eine Hüllkurvenkorrektur zu erzeugen, die für eine konstante Amplitude sorgt, wie dies in Fig. 10 darge­ stellt ist. Dieses korrigierte Signal, genauer gesagt die entsprechenden Signalhöhendaten werden gefiltert, um eben­ falls Tonhöhendaten zu erzeugen, in denen andere Komponenten neben den Tonkomponenten geschwächt sind, oder anders gesagt, in denen die Tonkomponenten hervorgehoben sind. Tonkomponen­ ten sind hierbei Frequenzkomponenten mit ganzzahligen Viel­ fachen der Grundfrequenz f0. Die Daten werden durch ein Hoch­ paßfilter (HPF) geschickt, um Komponenten niedriger Frequenz, wie z. B. Vibratofrequenzen, zu entfernen, die in dem mit der Hüllkurve korrigierten Signal vorhanden sind. Anschließend folgt ein Kammfilter mit einer Frequenzcharakteristik, wie sie strichpunktiert in Fig. 11 angedeutet ist, d. h. mit einer Frequenzcharakteristik mit Frequenzbändern, die ganz­ zahlige Vielfache der Grundfrequenz f0 sind. Dadurch werden nur die im HPF-Signal vorhandenen Signale durchgelassen, wo­ durch Nichttonkomponenten oder Rauschkomponenten geschwächt werden. Falls erforderlich, werden die Daten auch durch ein Tiefpaßfilter (LPF) gesandt, um Rauschkomponenten zu entfer­ nen, die dem Ausgangssignal vom Kammfilter überlagert sind.In a first block 14 for generating the loop data, the sampled musical sound data is divided, which was obtained with the aid of the previously determined envelope curve 8 according to FIG. 6 (or it is multiplied by the reciprocal value of the data). This serves to generate an envelope correction which ensures a constant amplitude, as is shown in FIG. 10. This corrected signal, more precisely the corresponding signal height data, is filtered in order to also generate pitch data in which other components besides the sound components are weakened, or in other words in which the sound components are emphasized. Sound components are frequency components with integer multiples of the basic frequency f 0 . The data is passed through a high pass filter (HPF) to low-frequency components such. B. remove vibrato frequencies that are present in the signal corrected with the envelope. This is followed by a comb filter with a frequency characteristic as indicated by dash-dotted lines in FIG. 11, ie with a frequency characteristic with frequency bands that are integer multiples of the fundamental frequency f 0 . As a result, only the signals present in the HPF signal are passed through where they are weakened by non-tone components or noise components. If necessary, the data is also sent through a low pass filter (LPF) to remove noise components that are superimposed on the output signal from the comb filter.

Da Musiktondaten in der Regel ein konstantes Intervall, d. h. eine konstante Grundfrequenz aufweisen, tritt Energiekonzen­ tration in der Nähe der Grundfrequenz f0 und ganzzahligen Vielfachen derselben auf. Rauschkomponenten weisen demgegen­ über eine gleichmäßige Frequenzverteilung auf. Beim Bearbei­ ten der eingegebenen Musiktondaten mit Hilfe eines Kammfil­ ters mit der Frequenzcharakteristik, wie sie in Fig. 11 strichpunktiert dargestellt ist, gelangen demgemäß nur Fre­ quenzkomponenten der Grundfrequenz oder ganzzahliger Vielfa­ chen derselben im wesentlichen ungeschwächt durch das Filter, während andere Komponenten geschwächt werden, wodurch das Signal/Rausch-Verhältnis verbessert wird. Die in Fig. 10 dar­ gestellte Frequenzcharakteristik eines Kammfilters kann durch die Formel
Since musical sound data generally have a constant interval, ie a constant fundamental frequency, energy concentration occurs in the vicinity of the fundamental frequency f 0 and integral multiples thereof. In contrast, noise components have an even frequency distribution. When the inputted musical sound data is processed with the aid of a comb filter with the frequency characteristic as shown in broken lines in FIG. 11, only frequency components of the fundamental frequency or integer multiples thereof pass through the filter essentially unattenuated, while other components are weakened, which improves the signal-to-noise ratio. The frequency characteristic of a comb filter shown in FIG. 10 can be represented by the formula

H(f) = [(cos(2πf/f0) + 1)/2]N (12)
H (f) = [(cos (2πf / f 0 ) + 1) / 2] N (12)

veranschaulicht werden, in der f0 die Grundfrequenz des Ein­ gangssignals ist, d. h. die Frequenz des Grundtons mit einem bestimmten Intervall. N ist die Zahl der Stufen des Kammfil­ ters.are illustrated, in which f 0 is the fundamental frequency of the input signal, ie the frequency of the fundamental tone with a certain interval. N is the number of stages of the comb filter.

Das Musiktonsignal, dessen Rauschkomponenten auf die genannte Weise verringert wurden, wird einer Schaltung zugeführt, die wiederholte Signalformen ermittelt. Derartige Signalformen, wie z. B. die Schleifendomäne LP gemäß Fig. 2 wird abge­ trennt und der verbliebene Teil wird aufgezeichnet, z. B. in einem Halbleiterspeicher. Das gespeicherte Musiktondatensi­ gnal enthält die Nichttonkomponente und einen Teil des Rau­ schens. Dadurch wird dafür gesorgt, daß beim Wiedergeben des wiederholten Signalteils das Schleifenrauschen verrin­ gert wird.The musical tone signal, the noise components of which have been reduced in the manner mentioned, is fed to a circuit which detects repeated waveforms. Such waveforms, such as. B. the loop domain LP of FIG. 2 is separated abge and the remaining part is recorded, for. B. in a semiconductor memory. The stored musical sound data signal contains the non-sound component and part of the noise. This ensures that when the repeated signal part is played back, the loop noise is reduced.

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.The frequency characteristics of the HPF, the comb filter and the LPF are determined on the basis of the fundamental frequency f 0 , ie on the basis of the interval data as obtained from block 12 .

In einem Block 16 zum Erkennen der Schleifendomäne wird das Musiktonsignal auf wiederholte Signalformen hin untersucht, um aus Tonkomponenten, die sich von den zuvor genannten Tonkomponenten, die durch das beschriebene Filterverfahren her­ vorgehoben wurden, zu ermitteln. Mit diesen werden der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE gebil­ det.In a block 16 for recognizing the loop domain, the musical tone signal is examined for repeated waveforms in order to determine from tone components that differ from the aforementioned tone components that were emphasized by the filter method described. With these, the loop start point LP S and the loop end point LP E are formed.

Im Ermittlungsblock 16 werden Schleifenpunkte ausgewählt, die voneinander um ein ganzzahliges Vielfaches des Intervalls des Musiktonsignals entfernt liegen. Das Auswahlprinzip wird im folgenden erläutert. Wie eben genannt, muß der Schleifen­ punktabstand ein ganzzahliges Vielfaches des Intervalls sein, wie es durch die Grundfrequenz des Musiktonsignals gegeben ist. Durch genaues Ermitteln des Intervalls kann also der Schleifenpunktabstand ermittelt werden.In the determination block 16 , loop points are selected that are spaced apart from one another by an integer multiple of the interval of the musical tone signal. The selection principle is explained below. As just mentioned, the loop point spacing must be an integer multiple of the interval as given by the fundamental frequency of the musical tone signal. By precisely determining the interval, the loop point distance can be determined.

Da nach Ermitteln des Intervalls der Schleifenabstand vorbe­ stimmt ist, werden zwei Punkte ausgewählt, die um den genann­ ten Abstand voneinander entfernt sind. Dann werden die Sig­ nale in der Umgebung dieser Punkte untersucht, und es wird eine Korrelation gebildet. Es wird nun eine Auswertefunktion erläutert, die die Konvolution oder Summenbildung von Produk­ ten in bezug auf Abtastpunkte im Bereich der genannten zwei Punkte benutzt. Die Konvolution wird mehrfach für Sätze aller Punkte ausgeführt, um die Korrelation der Signale zu ermit­ teln. Die Musiktondaten werden dabei aufeinanderfolgend einer Einheit zum Aufsummieren von Produkten zugeführt, z. B. einer digitalen Signalverarbeitungseinrichtung, was weiter unten beschrieben wird. Die Konvolution wird dort berechnet und ausgegeben. Derjenige Satz von zwei Punkten, für den die Kon­ volution maximal wird, wird als Satz des richtigen Schleifen­ startpunktes LPS und des richtigen Schleifenendpunktes LPE angesehen.Since the loop spacing is predetermined after the interval has been determined, two points are selected which are separated from one another by the named spacing. The signals in the vicinity of these points are then examined and a correlation is formed. An evaluation function will now be explained which uses the convolution or summation of products with respect to sampling points in the area of the two points mentioned. The convolution is carried out several times for sets of all points in order to determine the correlation of the signals. The musical sound data are successively fed to a unit for adding up products, e.g. B. a digital signal processing device, which is described below. The convolution is calculated and issued there. The set of two points for which the convolution becomes maximum is regarded as the set of the correct loop start point LP S and the correct loop end point LP E.

In Fig. 12 ist mit a0 ein Kandidatenpunkt für den Schleifen­ startpunkt LPS eingezeichnet. b0 ist entsprechend ein Kandi­ dat für den Schleifenendpunkt LPE. Weitere Amplitudendaten a-N, . . ., a-2, a-1, a0, a1, a2, . . ., aN in mehreren Punkten, hier (2N + 1) Punkten vor und hinter dem Kandidatenpunkt a0 sind außerdem dargestellt. Entsprechend sind Amplituden­ punkte 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:
In Fig. 12, a 0 is a candidate point for the loop starting point LP S. b 0 is accordingly a candidate for the loop end point LP E. Further amplitude data a -N,. , ., a -2 , a -1 , a 0 , a 1 , a 2,. , ., a N in several points, here (2N + 1) points before and after the candidate point a 0 are also shown. Correspondingly, amplitude points b -N,. , ., b -2 , b -1 , b 0 , b 1 , b 2 ,. , ., b N exist before and after the candidate point b 0 . The estimation function E (a 0 , b 0 ) then becomes:

Die Konvolution um die Punkte a0 und b0 folgt aus Gleichung (13). Die Sätze von Kandidaten a0 und b0 werden schrittwei­ se geändert, bis alle Schleifenpunktkandidaten untersucht sind. Diejenigen, für die die Auswertefunktion E maximal wird, werden als Schleifenpunkte angesehen.The convolution around points a 0 and b 0 follows from equation (13). The sets of candidates a 0 and b 0 are changed step by step until all loop point candidates are examined. Those for which the evaluation function E becomes maximum are regarded as loop points.

Neben der Konvolutionsmethode kann z. B. auch das Verfahren mittlerer Fehlerquadrate verwendet werden, um Schleifen­ punkte aufzufinden. Es gilt dann die folgende Gleichung:
In addition to the convolution method, e.g. B. the method of mean squares can be used to find loop points. The following equation then applies:

In diesem Fall liegen dann die richtigen Punkte vor, wenn die Auswertefunktion minimal wird. In this case, the correct points are available if the evaluation function becomes minimal.  

Im Schleifenpunktermittlungsblock 16 gemäß Fig. 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.In the loop point determination block 16 according to FIG. 3, the loop start point LP S and the loop end point LP E are determined on the basis of the interval. From the spacing of the points, which can comprise several intervals of the fundamental tone, there follows an interval conversion ratio, which is used in a time base correction block 17 .

Die Zeitbasiskorrektur erfolgt, um die Intervalle verschie­ dener 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.The time base correction is carried out in order to adapt the intervals of different source sound data to one another when these data are stored in a memory. Instead of the interval conversion ratio, the interval data can be used for these purposes, as it provides the interval detector 12th

Das im Zeitbasis-Korrekturblock ausgeführte Intervallnorma­ lisierungsverfahren wird nun anhand von Fig. 13 erläutert.The interval normalization process carried out in the time base correction block will now be explained with reference to FIG. 13.

Fig. 13A stellt das Musiktonsignal vor dem Kompandieren der Zeitbasis dar, während Fig. 13B das entsprechende Signal danach zeigt. Die Zeitachsen sind in Blöcke für Quasidirek­ te-Bitkompression und Kodierung unterteilt, wie weiter un­ ten erläutert. Fig. 13A shows the musical tone signal before companding the time base, while Fig. 13B shows the corresponding signal afterwards. The timelines are divided into blocks for quasi-direct bit compression and coding, as further explained below.

Beim Signal A vor der Zeitbasiskorrektur steht die Schlei­ fendomäne LP in der Regel nicht in direkter Relation mit einem Block. Beim Signal gemäß Fig. 13B ist die Schleifen­ domäne LP in der Zeitbasis kompandiert, so daß sie ein ganzzahliges Vielfaches (m-faches) einer Blocklänge oder Blockperiode ist. Die Schleifendomäne ist auch entlang der Zeitachse verscho­ ben, so daß der Schleifenstartpunkt LPS und der Schleifenend­ punkt LPE mit den Grenzen von Blöcken übereinstimmen. Die Zeitbasiskorrektur, d. h. das Kompandieren der Zeitbasis und das Verschieben in der genannten Weise, sorgt dafür, daß Schleifenbildung für eine ganzzahlige Anzahl (m) von Blöcken erfolgen kann, wodurch das Normalisieren des Intervalls der Quelltondaten beim Aufzeichnen erfolgt.With signal A before the time base correction, the loop domain LP is generally not in direct relation to a block. In the signal of FIG. 13B, the loops LP domain is companded in the time base so as to (m-fold) is an integer multiple of a block length or block period. The loop domain is also moved along the time axis, so that the loop start point LP S and the loop end point LP E match the boundaries of blocks. The time base correction, that is to say companding the time base and shifting in the manner mentioned, ensures that loops can be formed for an integer number (m) of blocks, as a result of which the interval of the source sound data is normalized during recording.

Mit einem Versatz ΔT von der vordersten Blockgrenze des Mu­ siktonsignals kann ein Tonhöhensignalwert "0" eingefügt wer­ den. Dieser Datenwert "0" dient als Pseudodatenwert, damit Filter, die einen Anfangswert für die Datenkompression benö­ tigen, ausgewählt werden können. Dies wird weiter unten an­ hand einer durch Fig. 20 veranschaulichten blockweisen Kom­ pression erläutert.With an offset ΔT from the foremost block boundary of the musical signal, a pitch signal value "0" can be inserted. This data value "0" serves as a pseudo data value, so that filters which require an initial value for the data compression can be selected. This is explained below using a blockwise compression illustrated by FIG. 20.

Fig. 14 zeigt die Struktur für einen Block für Signalampli­ tudenwerte nach der Zeitbasiskorrektur, welche Daten dann einer Bitkompression und einem Kodieren unterworfen werden, wie später erläutert. In einem Block (Anzahl von Abtastwerten oder Worten) sind h Amplitudendaten vorhanden. Im vorliegen­ den Fall besteht die Intervallnormalisierung in einem Zeit­ basiskompandieren, bei dem die Anzahl von Worten innerhalb von n Perioden (der konstanten Zeitdauer TW gemäß Fig. 2), d. h. innerhalb der Schleifenperiode LP, ein ganzzahliges Vielfaches (m-faches) der Zahl der Worte h im Block sind. Vorzugsweise besteht die Intervallnormalisierung darin, daß der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE je­ weils auf Blockgrenzen verschoben werden. Ist dies der Fall, wird es möglich, Fehler beim Schalten von Blöcken zu vermei­ den, was beim Dekodieren mit Hilfe eines Bitkompressions- und Kodiersystems der Fall ist. Fig. 14 shows the structure for a block for signal amplitude values after the time base correction, which data is then subjected to bit compression and coding, as explained later. There is h amplitude data in one block (number of samples or words). In the present case, the interval normalization consists of basic companding in a time in which the number of words within n periods (the constant time period T W according to FIG. 2), ie within the loop period LP, is an integer multiple (m times) of the number of the words h are in the block. The interval normalization is preferably that the loop start point LP S and the loop end point LP E are each shifted to block boundaries. If this is the case, it becomes possible to avoid errors when switching blocks, which is the case when decoding with the aid of a bit compression and coding system.

In Fig. 15A sind Worte WLPS und WLPE in jeweils einem Block die Abtastwerte an den Schleifenstart- bzw. -endpunkten LPS bzw. LPE, genauer die Abtastwerte jeweils direkt vor einem Schleifenendpunkt LPE im korrigierten Signal. Wenn nicht ver­ schoben wird, fallen die genannten Start- und Endpunkte nicht notwendigerweise mit den Blockgrenzen zusammen, so daß, wie dies in Fig. 15B dargestellt ist, die Worte WLPS und WLPE an beliebigen Positionen innerhalb der Blöcke liegen. In jedem Fall ist jedoch die Anzahl von Worten zwischen den Worten WLPS und WLPE ein m-faches der Anzahl von Worten h in einem Block, wobei m ganzzahlig ist, was bedeutet, daß das Inter­ vall normalisiert ist.In FIG. 15A, words WLP S and WLP E in each block are the samples at the loop start and end points LP S and LP E , more precisely the samples in each case directly before a loop end point LP E in the corrected signal. If not shifted, the start and end points mentioned do not necessarily coincide with the block boundaries, so that, as shown in Fig. 15B, the words WLP S and WLP E are at any position within the blocks. In any case, however, the number of words between the words WLP S and WLP E is m times the number of words h in a block, where m is an integer, which means that the interval is normalized.

Das Kompandieren der Zeitbasis eines Musiksignals mit der eben genannten Normalisierung kann auf verschiedene Arten er­ folgen. Z. B. kann es dadurch erfolgen, daß die Amplituden­ werte der abgetasteten Signale interpoliert werden, wobei ein Filter für übergeordnetes Abtasten verwendet wird.Companding the time base of a music signal with the The normalization just mentioned can be done in different ways consequences. For example, it can be done that the amplitudes values of the sampled signals are interpolated, with a Parent scan filter is used.

Wenn die Schleifenperiode für ein Musiksignal nicht ein ganz­ zahliges Vielfaches der Abtastperiode ist, so daß ein Versatz der Amplitudenwerte im Schleifenstartpunkt LPS und im Schlei­ fenendpunkt LPE besteht, kann die mit dem Amplitudenwert im Startpunkt übereinstimmende Amplitude benachbart zum Schlei­ fenendpunkt gefunden werden, und zwar dadurch, daß z. B. übergeordnetes Abtasten verwendet wird, um die Schleifen­ periode zu realisieren.If the loop period for a music signal is not an integer multiple of the sampling period, so that there is an offset in the amplitude values in the loop start point LP S and in the loop end point LP E , the amplitude corresponding to the amplitude value in the start point can be found adjacent to the loop end point, and in that z. B. parent scanning is used to implement the loops period.

Eine solche Schleifenperiode, die nicht ein ganzzahliges Vielfaches der Abtastperiode ist, kann so festgelegt werden, daß sie ein ganzzahliges Vielfaches der Blockperiode ist, was durch das oben beschriebene Zeitbasiskorrekturverfahren er­ folgt. Wenn Zeitbasiskompandieren durch z. B. 256-faches übergeordnetes Abtasten erfolgt, kann der Amplitudenfehler zwischen den Werten für den Startpunkt LPS und den Endpunkt LPE auf 1/256 verringert werden. Such a loop period, which is not an integer multiple of the sampling period, can be set to be an integer multiple of the block period, which is done by the time base correction method described above. If time base companding by e.g. B. 256-fold higher-level sampling, the amplitude error between the values for the start point LP S and the end point LP E can be reduced to 1/256.

Nachdem die Schleifendomäne LP ermittelt ist und in der Zeit­ basis korrigiert ist, werden Schleifendomänen LP aneinander­ gehängt, wie dies durch Fig. 15 veranschaulicht ist, um Schleifendaten zu erzeugen. Das Signal gemäß Fig. 15 ist da­ durch erhalten, daß eine einzige Schleifendomäne LP gemäß Fig. 13B herausgegriffen ist und diese eine Domäne mehrfach aneinandergehängt ist. Das Aneinanderhängen von Schleifendo­ mänen erfolgt in einem Schleifensignal-Erzeugungsblock 21 (Fig. 1).After the loop domain LP is determined and corrected in time basis, loop domains LP are appended to one another, as illustrated by FIG. 15, to generate loop data. The signal according to FIG. 15 is obtained by a single loop domain LP according to FIG. 13B being picked out and this one domain being linked several times. The concatenation of loop domains takes place in a loop signal generation block 21 ( FIG. 1).

Da die Schleifendaten dadurch gebildet werden, daß eine Schleifendomäne LP mehrfach wiederholt wird, folgt auf einen Startblock mit dem Wort WLPS direkt ein Endblock mit dem Wort WLPE, das dem Schleifenendpunkt WLPE, genauer gesagt dem Punkt direkt vor diesem Punkt, entspricht. Damit ein Kodieren für Bitkompression erfolgen kann, muß zumindest der Endblock direkt vor dem Startblock der Schleifendomäne LP abgespei­ chert sein. Allgemeiner gesprochen, müssen zum Zeitpunkt einer Bitkompression und Kodierung auf Blockbasis die Para­ meter für den Startblock, d. h. die Daten für Bitkompression und Kodierung für jeden Block, z. B. Bereichs- oder Filter­ auswahldaten, was weiter unten beschrieben wird, nur auf Grundlage von Daten des Start- und des Endblocks gebildet werden. Diese Technik kann auch in dem Fall angewendet wer­ den, in dem Musikdaten nur aus Schleifendaten ohne Formante bestehen.Since the loop data is formed by repeating a loop domain LP several times, a start block with the word WLP S is immediately followed by an end block with the word WLP E , which corresponds to the loop end point WLP E , more precisely the point immediately before this point. So that coding for bit compression can take place, at least the end block must be stored directly before the start block of the loop domain LP. More generally speaking, at the time of bit compression and block-based coding, the parameters for the start block, ie the data for bit compression and coding for each block, e.g. B. range or filter selection data, which will be described below, can only be formed on the basis of data of the start and end blocks. This technique can also be used in the case where the music data consists only of loop data without formants.

Bei dieser Vorgehensweise stehen dieselben Daten für mehrere Abtastpunkte vor und nach dem Schleifenstartpunkt LPS und dem Schleifenendpunkt LPE zur Verfügung. Daher sind die Parameter für Bitkompression und Kodierung in den Blöcken direkt vor diesen Punkten dieselben, wodurch Fehler und Rauschen beim Wiedergeben der Schleifen nach dem Dekodieren verringert wer­ den können. Die Musikdaten beim Wiedergeben sind dann stabil und frei Übergangsrauschen. Bei der Ausführungsform sind etwa 500 Abtastdaten in einem Schleifenbereich LP vor dem Start­ block vorhanden.With this procedure, the same data are available for several sampling points before and after the loop start point LP S and the loop end point LP E. Therefore, the parameters for bit compression and coding in the blocks immediately before these points are the same, which can reduce errors and noise when reproducing the loops after decoding. The music data during playback are then stable and free of transition noise. In the embodiment, there are about 500 sample data in a loop area LP before the start block.

Für die Signalerzeugung für den Formantenbereich FR wird eine Hüllkurvenkorrektur in einem Block 18 (Fig. 3) ausgeführt, entsprechend der Korrektur für Schleifendaten im Block 14. Die Hüllkurvenkorrektur wird dadurch ausgeführt, daß die ab­ getasteten Musiktondaten durch Hüllkurvendaten (Fig. 7) ge­ teilt werden, die nur aus den Daten für abfallende Signale bestehen, wodurch Amplitudenwerte für ein Signal erhalten werden, wie es in Fig. 16 dargestellt ist. Beim Ausgangssig­ nal gemäß Fig. 16 macht sich demgemäß nur die Hüllkurve wäh­ rend der Zeitspanne TA bemerkbar, während in den anderen Be­ reichen konstante Amplitude vorliegt.For the signal generation for the formant region FR, an envelope correction is carried out in a block 18 ( FIG. 3), corresponding to the correction for loop data in block 14 . The envelope correction is carried out by dividing the sampled musical sound data by envelope data ( Fig. 7) consisting only of the data for falling signals, thereby obtaining amplitude values for a signal as shown in Fig. 16. When Ausgangssig nal according to Fig. 16 makes accordingly just the envelope of currency end of the time period T A noticeable, while in the other rich Be constant amplitude is present.

Das hüllkurvenkorrigierte Signal wird, falls erforderlich, in einem Block 19 gefiltert. Dies erfolgt mit einem Kammfil­ ter mit einer Frequenzcharakteristik, die z. B. derjenigen entspricht, wie sie mit der strichpunktierten Linie in Fig. 11 dargestellt ist. Die Kammfilterdaten werden auf Grundlage der Intervalldaten für die Grundfrequenz gebildet, welche Daten vom Intervalldetektor 12 geliefert werden. Die Daten dienen dazu, Signaldaten aus dem Formantenbereich in den Quellton­ daten zu erzeugen, die schließlich in einem Speicher abgelegt werden.If necessary, the envelope-corrected signal is filtered in a block 19 . This is done with a Kammfil ter with a frequency characteristic z. B. corresponds to that as shown by the dash-dotted line in Fig. 11. The comb filter data are formed on the basis of the interval data for the fundamental frequency, which data are supplied by the interval detector 12 . The data are used to generate signal data from the formant area in the source sound data, which are finally stored in a memory.

In einem folgenden Zeitbasis-Korrekturblock 20 erfolgt eine Zeitbasiskorrektur, entsprechend wie sie weiter oben anhand des Blocks 17 beschrieben wurde. Die Zeitbasiskorrektur dient dazu, die Intervalle für die Tondaten dadurch zu normalisie­ ren, daß die Zeitbasis auf Grundlage des Intervall-Wandelver­ hältnisses kompandiert wird, wie es im Block 16 gefunden wurde, oder auf Grundlage der Intervalldaten, wie sie vom Block 12 geliefert werden. In a subsequent time base correction block 20 , a time base correction is carried out, as described above with reference to block 17 . The time base correction is used to normalize the intervals for the sound data by companding the time base based on the interval conversion ratio found in block 16 or on the interval data as provided by block 12 .

In einem Mischer 22 werden die Formantendaten und die Schlei­ fendaten, die mit denselben Intervalldaten oder Intervall- Wandelverhältnissen korrigiert wurden, gemischt. Hierzu wird ein Hamming-Fenster auf das Formantenbereichs-Bildungssignal vom Block 20 angewandt. Es wird ein mit den Schleifendaten zu mischendes Signal vom Ausblendtyp erzeugt, das abklingt. Auf die Schleifendaten vom Block 21 wird ein ähnliches Hamming- Fenster angewandt. Ein mit den Formantendaten zu mischendes Signal vom Ausblendtyp wird erzeugt, das anwächst. Die beiden Signale werden gemischt (oder überblendet), um ein Musikton­ signal zu erzeugen, das die Quelltondaten darstellt. Als ab­ zuspeichernde Schleifendaten können Daten herausgegriffen werden, die von einer Schleifendomäne herrühren, die etwas vom überblendeten Bereich entfernt ist, um dadurch das Schleifenrauschen beim Wiedergeben von Schleifensignalen zu verringern. Auf diese Weise werden Tonhöhendaten eines Quell­ tonsignals erzeugt, das über einen Formantenbereich (Nicht­ tonkomponenten) und Schleifendaten (wiederholte, regelmäßige Daten) verfügt.In a mixer 22 , the formant data and the loop data, which have been corrected with the same interval data or interval change ratios, are mixed. For this purpose, a Hamming window is applied to the formant area formation signal from block 20 . A fade-out type signal to be mixed with the loop data is generated which decays. A similar Hamming window is applied to the loop data from block 21 . A fade-out type signal to be mixed with the formant data is generated which grows. The two signals are mixed (or blended) to produce a musical tone signal that represents the source sound data. As loop data to be stored, data can be picked out, which originate from a loop domain which is somewhat away from the cross-faded region, in order to thereby reduce the loop noise when reproducing loop signals. In this way, pitch data of a source tone signal is generated which has a formant area (non-tone components) and loop data (repeated, regular data).

Der Startpunkt für das Schleifendatensignal kann auch mit dem Schleifenstartpunkt für das formantenbildende Signal verbun­ den sein.The starting point for the loop data signal can also be with the Loop start point for the formant-forming signal verbun be that.

Zum Ermitteln der Schleifendomäne und zum Mischen des Forman­ tenbereichs und der Schleifendaten wird zunächst von Hand ge­ mischt. Man hört sich dann das Ergebnis an, und es wird dann auf Grundlage der Schleifenstart- und -endpunkte genauer ver­ arbeitet.To determine the loop domain and mix the forman area and the loop data is first ge manually mixed. You then listen to the result and it becomes ver based on the loop start and end points is working.

Es wird also, bevor die genauere Schleifenbereichsermittlung in Block 16 erfolgt, diese Ermittlung und das Mischen von Hand genommen, und es erfolgt ein Probehören, wie in der fol­ genden Fig. 17 erläutert. Danach wird das oben beschriebene genauere Verfahren ab einem Schritt S26 in Fig. 18 ausgeführt. Before the more precise determination of the loop area takes place in block 16 , this determination and the mixing are carried out by hand, and a trial listening takes place, as explained in the following FIG. 17. Thereafter, the more detailed process described above is carried out from step S26 in FIG. 18.

Im Flußdiagramm gemäß Fig. 17 werden die Schleifenpunkte in einem Schritt S21 mit geringer Genauigkeit festgelegt, indem Nullpunktsüberkreuzungen ermittelt werden oder das Signal optisch überprüft wird. In einem Schritt S22 wird das Signal zwischen den Schleifenpunkten mehrfach wiedergegeben. In einem Schritt S23 wird durch Hören beurteilt, ob die Schlei­ fenbildung ordnungsgemäß erfolgt. Ist dies nicht der Fall, folgt Schritt S21, um erneut Schleifenpunkte zu ermitteln. Dieser Ablauf erfolgt solange, bis ein zufriedenstellendes Ergebnis erhalten wird. Ist dies der Fall, folgt ein Schritt S24, in dem das Signal z. B. durch Überblenden mit dem For­ mantensignal gemischt wird. In einem Schritt S25 wird über­ prüft, ob der Höreindruck beim Übergang von der Formante zu den Schleifen gut ist. Ist dies nicht der Fall, wird der Schritt S24 zum erneuten Mischen wiederholt. Ist der Hörein­ druck gut, folgt ein Schritt S26, in dem das Ermitteln der Schleifenpunkte gemäß dem Block 16 mit hoher Genauigkeit er­ folgt. Es erfolgt Abtasten z. B. mit einer Auflösung von 1/256 über die Abtastperiode mit z. B. 256-fachem übergeord­ netem Abtasten. In einem folgenden Schritt S27 wird das In­ tervall-Wandelverhältnis für die Intervallnormalisierung be­ rechnet. In einem Schritt S28 erfolgt die Zeitbasiskorrektur gemäß der Blöcke 17 oder 20. In einem Schritt S29 wird die Schleifenbildung gemäß Block 21 (Fig. 3) ausgeführt. Das Mi­ schen gemäß Block 22 erfolgt in einem folgenden Schritt S30. Der Ablauf ab Schritt S26 erfolgt mit Hilfe der Schleifen­ punkte, wie sie in den Schritten S21-S25 erhalten werden. Die Schritte S21-S25 können für volle Automatisierung der Schleifenbildung weggelassen werden.In the flowchart according to FIG. 17, the loop points are determined with a low accuracy in a step S21 by determining zero crossings or by optically checking the signal. In a step S22, the signal between the loop points is reproduced several times. In a step S23, it is judged by listening whether the loop formation is carried out properly. If this is not the case, step S21 follows in order to determine loop points again. This process continues until a satisfactory result is obtained. If this is the case, a step S24 follows in which the signal z. B. is mixed by fading with the For mantensignal. In a step S25, it is checked whether the auditory impression is good at the transition from the formant to the loops. If this is not the case, step S24 is repeated to mix again. If the hearing pressure is good, a step S26 follows in which the loop points are determined according to block 16 with high accuracy. There is scanning z. B. with a resolution of 1/256 over the sampling period with z. B. 256-fold superordinate scanning. In a subsequent step S27, the interval conversion ratio for the interval normalization is calculated. In a step S28, the time base correction is carried out in accordance with blocks 17 or 20 . In a step S29, the loop formation according to block 21 ( FIG. 3) is carried out. The mixing according to block 22 takes place in a subsequent step S30. The procedure from step S26 is carried out with the aid of the loop points as obtained in steps S21-S25. Steps S21-S25 can be omitted for full automation of looping.

Die so erhaltenen Amplitudenwerte, die aus dem Formantenbe­ reich FR und der Schleifendomäne LP bestehen, werden in einem auf den Mischer 22 folgenden Block 23 bitkomprimiert und kodiert. The amplitude values thus obtained, which consist of the formant region FR and the loop domain LP, are bit-compressed and encoded in a block 23 following the mixer 22 .

Zum Komprimieren und Kodieren können verschiedene Systeme verwendet werden. Geeignet ist eines, wie es in JP-62-008629 und JP-62-003516 vorgeschlagen ist. Dort wird eine vorgegebe­ ne Anzahl von h Abtastworten mit Amplitudenwerten in einem Block gruppiert, und blockweise wird Bitkompression ausge­ führt. Dieses hochwirkungsvolle System wird im folgenden an­ hand von Fig. 19 kurz erläutert.Various systems can be used for compression and encoding. One is suitable as proposed in JP-62-008629 and JP-62-003516. There, a predetermined number of h sample words with amplitude values are grouped in a block, and bit compression is carried out block by block. This highly effective system is briefly explained below with reference to FIG. 19.

Im Blockschaltbild gemäß Fig. 18 ist aufzeichnungsseitig ein Kodierer 70 und wiedergabeseitig ein Dekodierer 90 vorhanden. Die Amplitudenwerte x(n) des Quelltondatensignals werden einem Eingangsanschluß 71 des Kodierers 70 zugeführt.In the block diagram of FIG. 18 is the recording side, an encoder 70, and the reproduction side, a decoder 90 present. The amplitude values x (n) of the source sound data signal are fed to an input terminal 71 of the encoder 70 .

Die Amplitudenwerte x(n) des Eingangssignals werden einem FIR-Digitalfilter 74 zugeführt, das durch ein Vorhersageglied 72 und ein Addierglied 73 gebildet ist. Ein jeweiliger Ampli­ tudenwert x(n) des Vorhersagesignals vom Vorhersageglied 72 wird dem Addierglied 73 als Subtraktionssignal zugeführt. Dort wird es vom Eingangssignal x(n) abgezogen, um ein Vor­ hersagefehlersignal oder ein Abweichungssignal d(n) zu er­ zeugen. Das Vorhersageglied 72 berechnet den Vorhersagewert x(n) aus einer Primärkombination der letzten p Eingangs­ werte x(n - p), x(n - p + 1), . . ., x(n - 1). Das FIR-Filter 74 wird im folgenden als Kodierfilter bezeichnet.The amplitude values x (n) of the input signal are fed to an FIR digital filter 74 , which is formed by a prediction element 72 and an adder 73 . A respective amplitude value x (n) of the prediction signal from the prediction element 72 is supplied to the adder 73 as a subtraction signal. There it is subtracted from the input signal x (n) in order to generate a prediction error signal or a deviation signal d (n). The prediction element 72 calculates the prediction value x (n) from a primary combination of the last p input values x (n - p), x (n - p + 1),. , ., x (n - 1). The FIR filter 74 is referred to below as the coding filter.

Mit dem oben angegebenen hochwirksamen System zur Bitkompres­ sion und Kodierung werden die in eine vorgegebene Zeitspanne fallenden Quelltondaten, d. h. eine vorgegebene Anzahl h von Worten, die in Blöcken gruppiert sind, für jeden Block ausge­ wählt. Das Kodierfilter 74 hat hierfür optimale Charakteri­ stik. Es kann dadurch gebildet sein, daß mehrere, im Bei­ spielsfall vier, verschiedene Charakteristiken vorab festge­ legt werden und dann die optimale Charakteristik ausgewählt wird, d. h. diejenige, mit der das höchste Kompressionsver­ hältnis erzielbar ist. Im Vorhersageglied 72 wird hierzu ein Satz von Koeffizienten in mehreren, im Beispielsfall vier, Sätzen von Koeffizientenspeichern abgelegt. Im Zeitmultiplex wird jeweils ein Koeffizientensatz angewählt.With the highly effective system for bit compression and coding specified above, the source sound data falling within a predetermined period of time, ie a predetermined number h of words, which are grouped into blocks, are selected for each block. The coding filter 74 has optimal characteristics for this. It can be formed that several, in the case of four, different characteristics are defined in advance and then the optimal characteristic is selected, ie the one with which the highest compression ratio can be achieved. For this purpose, a set of coefficients is stored in the predictor 72 in a plurality, in the example four, of sets of coefficient memories. A set of coefficients is selected in time multiplex.

Das Abweichungssignal d(n), das einen vorhergesagten Fehler darstellt, wird über einen Summierpunkt 81 einem Bitkompres­ sor zugeführt, der einen Pegelschieber 75(G) und einen Quan­ tisierer 76 aufweist. Dort erfolgt das Komprimieren so, daß der Indexteil und die Mantisse bei Fließkommanotation der Verstärkung G bzw. dem Ausgangssignal vom Quantisierer 76 entsprechen. Es wird also eine Requantisierung ausgeführt, bei der die Eingangsdaten durch den Pegelschieber 75 um eine Anzahl von Bits verschoben werden, welche Anzahl der Verstär­ kung G entspricht. Dadurch wird der Bereich verschoben, und eine vorgegebene Anzahl von Bits der bitverschobenen Daten wird durch den Quantisierer 76 herausgenommen. Eine Rausch­ formschaltung 77 dient dazu, den quantisierten Fehler zwi­ schen dem Ausgangssignal und dem Eingangssignal des Quanti­ sierers 76 an einem Summierpunkt 78 zu bilden und dieses Sig­ nal über einen G-1-Pegelschieber 79 an ein Vorhersageglied 80 zu geben. Das vorhergesagte Signal für den Quantisierfehler wird als Subtraktionssignal auf den Summierpunkt 81 gegeben, um dadurch eine sogenannte Fehlerrückkopplung zu erhalten. Nach diesem Requantisieren durch den Quantisierer 76 und die Fehlerrückkopplung durch die Rauschformschaltung 77 wird an einem Ausgangsanschluß 82 ein Ausgangssignal (n) erhalten.The deviation signal d (n), which represents a predicted error, is fed via a summing point 81 to a bit compressor, which has a level shifter 75 (G) and a quantizer 76 . There the compression takes place in such a way that the index part and the mantissa correspond to the gain G or the output signal from the quantizer 76 in the case of floating-point command. A requantization is thus carried out, in which the input data are shifted by the level shifter 75 by a number of bits, which number corresponds to the gain G. This shifts the range and a predetermined number of bits of the bit-shifted data is taken out by the quantizer 76 . A noise shaping circuit 77 is used to form the quantized error between the output signal and the input signal of the quantizer 76 at a summing point 78 and to give this signal via a G -1 level shifter 79 to a predictive element 80 . The predicted signal for the quantization error is given as a subtraction signal to the summing point 81 , in order to obtain a so-called error feedback. After this requantization by the quantizer 76 and the error feedback by the noise shaping circuit 77 , an output signal (s) is obtained at an output terminal 82 .

Das Ausgangssignal d'(n) vom Summierpunkt 81 ist die Diffe­ renz d(n) vom Summierpunkt 73, vermindert um das Vorhersage­ signal (n) für den Quantisierungsfehler, wie es von der Rauschformschaltung 77 gebildet wird. Das Ausgangssignal d"(n) vom G-Pegelschieber 75 entspricht dem Ausgangssignal d'(n) vom Summierpunkt 81 multipliziert mit der Verstärkung G. Das Ausgangssignal (n) vom Quantisierer 76 ist die Summe der Ausgangssignale d"(n) vom G-Pegelschieber 75 und des Quantisierfehlersignals e(n), wie es vom Summierpunkt 78 aus­ gegeben wird. Nach Durchlaufen des G-1-Pegelschiebers 79 und des Vorhersageglieds 80, wobei die Primärkombination der letzten r Eingangssignale verwendet wird, ist der Quantisie­ rungsfehler e(n) in das Vorhersagesignal (n) für den Quanti­ sierungsfehler umgewandelt.The output signal d '(n) from the summing point 81 is the difference d (n) from the summing point 73 , minus the prediction signal (n) for the quantization error as formed by the noise shaping circuit 77 . The output signal d "(n) from the G level shifter 75 corresponds to the output signal d '(n) from the summing point 81 multiplied by the gain G. The output signal (n) from the quantizer 76 is the sum of the output signals d" (n) from the G- Level shifter 75 and the quantization error signal e (n), as is given by the summing point 78 . After passing through the G -1 level shifter 79 and the predictor 80 using the primary combination of the last r input signals, the quantization error e (n) is converted into the prediction signal (s) for the quantization error.

Nach dem vorstehend beschriebenen Kodieren sind die Quellton­ daten in das Ausgangssignal (n) vom Quantisierer 76 umgewan­ delt, und sie werden an einem Ausgangsanschluß 82 ausgegeben.After encoding as described above, the source sound data is converted into the output signal (s) from the quantizer 76 and is output at an output terminal 82 .

Betriebsartauswahldaten für die optimale Filterwahl werden von einer adaptiven Bereichsvorhersageschaltung 84 ausgegeben und z. B. an das Vorhersageglied 72 des Kodierfilters 74 und einen Ausgangsanschluß 87 gegeben. Bereichsdaten zum Bestim­ men der Bitschiebezahl oder der Verstärkungen G und G-1 wer­ den auch an die Pegelschieber 75 und 79 und an einen Aus­ gangsanschluß 86 gegeben.Mode selection data for the optimal filter selection are output by an adaptive range prediction circuit 84 and e.g. B. given to the prediction element 72 of the coding filter 74 and an output terminal 87 . Area data for determining the bit shift number or the gains G and G -1 who are also given to the level shifters 75 and 79 and to an output terminal 86 .

Der wiedergabeseitige Dekodierer 90 weist einen Eingangs­ anschluß 91 auf, dem ein Signal '(n) zugeführt wird, das durch Übertragen oder Aufzeichnen und Wiedergeben des Aus­ ganssignals (n) vom Ausgangsanschluß 82 vom Kodierer 70 ge­ bildet wird. Dieses Eingangssignal wird einem Summierpunkt 93 über einen G-1-Pegelschieber 92 zugeführt. Das Ausgangssignal x'(n) vom Summierpunkt 93 wird einem Vorhersageglied 94 zuge­ führt und dabei in ein Vorhersagesignal (n) umgewandelt, das dann auf einen Summierpunkt 93 gegeben wird, wo zu ihm das Ausgangssignal "(n) vom Schieber 92 addiert wird. Das Sum­ mensignal wird als Dekodierer-Ausgangssignal '(n) an einen Ausgangsanschluß 95 gegeben.The playback-side decoder 90 has an input terminal 91 to which a signal '(n) is supplied, which is formed by transmitting or recording and reproducing the output signal (n) from the output terminal 82 from the encoder 70 ge. This input signal is fed to a summing point 93 via a G -1 level shifter 92 . The output signal x '(n) from the summing point 93 is fed to a prediction element 94 and thereby converted into a prediction signal (n), which is then passed to a summing point 93 , to which the output signal "(n) from the slide 92 is added. The sum signal is given as a decoder output signal '(n) to an output terminal 95 .

Die Bereichsdaten und die Betriebsartauswahldaten, die an den Ausgangsanschlüssen 86 und 87 des Kodierers 70 ausgegeben werden, werden an Eingangsanschlüssen 96 bzw. 97 des Dekodierers 90 eingegeben. Die Bereichsdaten vom Eingangsanschluß 96 werden an den Schieber 92 übertragen, um dessen Verstär­ kung G-1 festzulegen, während die Betriebsartauswahldaten vom Eingangsanschluß 97 an das Vorhersageglied 94 gegeben werden, um die Vorhersagecharakteristik so festzulegen, daß sie mit derjenigen des Vorhersageglieds 72 des Kodierers 70 überein­ stimmt.The range data and the mode selection data output at the output terminals 86 and 87 of the encoder 70 are input to the input terminals 96 and 97 of the decoder 90 , respectively. The range data from the input terminal 96 is transmitted to the slider 92 to set its gain G -1 , while the mode selection data is input from the input terminal 97 to the predictor 94 to set the prediction characteristic to be that of the predictor 72 of the encoder 70 matches.

Bei dem so aufgebauten Dekodierer 90 ist das Ausgangssignal "(n) vom Schieber 92 das Produkt aus dem Eingangssignal '(n) und der Verstärkung G-1. Das Ausgangssignal '(n) vom Summierpunkt 93 ist die Summe aus dem genannten Ausgangssig­ nal vom Schieber 92 und vom Vorhersagesignal '(n).In the decoder 90 thus constructed, the output signal "(n) from the slide 92 is the product of the input signal '(n) and the gain G -1 . The output signal' (n) from the summing point 93 is the sum of the said output signal from Slider 92 and from the prediction signal '(n).

Fig. 19 zeigt einen Block von Ausgangsdaten vom bitkomprimie­ renden Kodierer 70. Es sind 1-Byte-Kopfdaten (Parameterdaten, die die Kompression betreffen, oder Unterdaten) RF und 8-Byte-Abtastdaten DA0 - DB3 vorhanden. Die Kopfdaten RF sind 4-Bit-Bereichsdaten, 2-Bit-Betriebsartwahldaten oder Filter­ wahldaten und zwei 1-Bit-Flaggendaten, wie z. B. ein Daten­ wert LI, der das Vorhandensein oder das Fehlen einer Schleife anzeigt, und ein Datenwert EI, der anzeigt, ob der letzte Block des Signals negativ ist. Jeder Abtastwert der Amplitu­ dendaten ist nach Bitkompression durch vier Bits wiedergege­ ben, während 16 Abtastwerte von 4-Bit-Daten DA0H - DB3L in den Daten DA0 - DB3 enthalten sind. Fig. 19 shows a block of output data from the encoder bitkomprimie leaders 70th There are 1-byte header data (parameter data relating to compression or sub-data) RF and 8-byte scan data D A0 -D B3 . The header data RF is 4-bit area data, 2-bit mode selection data or filter selection data and two 1-bit flag data, such as. B. a data value LI, which indicates the presence or absence of a loop, and a data value EI, which indicates whether the last block of the signal is negative. Each sample of the amplitude data is reproduced by four bits after bit compression, while 16 samples of 4-bit data D A0H -D B3L are contained in the data D A0 -D B3 .

Fig. 20 zeigt einen Block von bitkomprimierten und kodierten Amplitudendaten, die dem Anfang des in Fig. 2 dargestellten Musiktonsignals entsprechen. Es sind nur die Amplitudendaten ohne den Kopf dargestellt. Der Anschaulichkeit halber besteht jeder Block nur aus acht Abtastdaten, es können aber auch z. B. 16 Abtastdaten vorhanden sein. Dies gilt für den Fall von Fig. 14. FIG. 20 shows a block of bit-compressed and encoded amplitude data corresponding to the beginning of the musical tone signal shown in FIG. 2. Only the amplitude data are shown without the head. For the sake of clarity, each block consists of only eight sample data. B. 16 sample data are available. This applies to the case of FIG. 14.

Die oben beschriebene quasi-augenblickliche Bitkompression und Kodierung wählt entweder unmittelbaren PCM-Modus aus, der direkt das eingegebene Musiktonsignal ausgibt, oder einen Differentialfiltermodus erster Ordnung oder einen solchen zweiter Ordnung, die jeweils das Musiktonsignal gefiltert ausgeben, was zu Ausgangssignalen mit höchstem Kompressions­ verhältnis führt.The quasi-instantaneous bit compression described above and encoding selects either immediate PCM mode that directly outputs the entered musical tone signal, or one First order differential filter mode or such second order, each of which filtered the musical tone signal output, resulting in output signals with the highest compression relationship leads.

Wenn Musiktöne von einem Speicher abgetastet und gelesen wer­ den, beginnt das Eingeben des Musiktonsignals in einem Ton­ erzeugungs-Startpunkt KS. Wenn ein Differentialfiltermodus erster oder zweiter Ordnung, der einen Anfangswert benötigt, im ersten Block nach dem Tonerzeugungs-Startpunkt KS gewählt wird, wäre es erforderlich, einen Inialisierungswert abzu­ speichern. Es ist jedoch erwünscht, daß dies nicht erforder­ lich ist. Aus diesem Grund werden in der Anfangsperiode nach dem Tonerzeugungs-Startpunkt KS Pseudoeingangssignale er­ zeugt, die dazu führen, daß der unmittelbare PCM-Modus ge­ wählt wird. Es erfolgt das Datenverarbeiten dann so, daß mit diesen Pseudosignalen die Eingangssignale bearbeitet werden.When music tones are sampled and read from a memory starts the input of the musical tone signal in one tone generation start point KS. If a differential filter mode first or second order that needs an initial value selected in the first block after the tone generation starting point KS it would be necessary to deduce an initialization value to save. However, it is desirable that this not be required is. For this reason, in the initial period the tone generation starting point KS pseudo input signals testifies that lead to the immediate PCM mode ge is chosen. The data processing then takes place in such a way that with these pseudo signals the input signals are processed.

Dies erfolgt z. B. dadurch, daß, wie in Fig. 20 dargestellt, ein Block mit lauter Werten "0" als Pseudoeingangssignalblock vor dem Tonerzeugungs-Startpunkt KS angeordnet wird. Diese Daten "0" werden als Amplitudenwerte behandelt und bitkompri­ miert. Dies kann dadurch erfolgen, daß ein Block mit den Wer­ ten "0" in einem Speicher abgelegt wird oder daß beim Beginn des Abtastens von Musiktönen zunächst Werte "0" vor dem Startpunkt KS angeordnet werden, d. h. ein stiller Bereich vor der Tonerzeugung. Mindestens ein Block von Pseudoein­ gangssignalen ist erforderlich.This is done e.g. B. in that, as shown in Fig. 20, a block with loud values "0" is arranged as a pseudo input signal block in front of the tone generation start point KS. These data "0" are treated as amplitude values and bit-compressed. This can be done by storing a block with the values "0" in a memory or by initially placing values "0" before the starting point KS when scanning musical tones, ie a quiet area before the sound is generated. At least one block of pseudo input signals is required.

Die Musiktondaten einschließlich der so gebildeten Pseudoein­ gangssignale werden durch das anhand von Fig. 18 veranschau­ lichte System bitkomprimiert und kodiert und dann aufgezeichnet, z. B. in einem Speicher. Das komprimierte Signal wird wiedergegeben.The musical sound data including the pseudo input signals thus formed are bit-compressed and encoded by the system illustrated in FIG. 18 and then recorded, e.g. B. in a memory. The compressed signal is played back.

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.When playing music sound data with pseudo input signal the immediate PCM mode is selected first, which makes it is not necessary, initial values for differential filters to determine first or second order in advance.

Die Verzögerung im Anfangszeitpunkt der Tonsignale aufgrund des Pseudoeingangssignals führt scheinbar zu einem Stören des Tonsignals, da zunächst Stille herrscht. Dies stört jedoch nicht tatsächlich, da die Abtastfrequenz 32 kHz beträgt, mit jeweils 16 Abtastwerten in einem Block. Dadurch ist die Ver­ zögerung etwa 0,5 msec, was im Höreindruck nicht auffällt.The delay in the start of the sound signals due to of the pseudo input signal appears to interfere with the Tone signal because there is silence at first. However, this bothers not actually, since the sampling frequency is 32 kHz, with 16 samples each in a block. This makes the ver delay about 0.5 msec, which is not noticeable in the auditory impression.

Beim Bilden von Schleifendaten kann es zu verschlechterter Kontinuität an Übergängen zwischen aufeinanderfolgenden Schleifen kommen, was dadurch bedingt ist, daß die Abtast­ frequenz zu groß ist im Vergleich zur Wiederholperiode des Signalmusters.When building loop data, it can get worse Continuity at transitions between successive ones Loops come, which is due to the fact that the sampling frequency is too high compared to the repetition period of the Signal pattern.

Fig. 21 zeigt eine Schleifendomäne LP' mit einem sich wieder­ holenden Signalmuster, das durch Abtasten des Signals mit vorgegebener Periode (mit Kreisen dargestellt) gewonnen wird. Abtastungen werden am Schleifenstartpunkt LPS und am Schlei­ fenendpunkt LPE ausgeführt. Wenn die Abtastperiode nicht genau zur Musterwiederholperiode paßt, fällt der beim Abta­ sten festgestellte Schleifenendpunkt LPE' nicht mit dem tat­ sächlichen Schleifenendpunkt LPE zusammen, was dazu führt, daß der tatsächliche Schleifenendpunkt und der abgetastete Schleifenendpunkt in der Regel nicht dieselbe Signalhöhe auf­ weisen. Dies führt beim Aneinanderhängen von Schleifen zu einem Versatz, wie er in Fig. 22 dargestellt ist. Um dem ab­ zuhelfen, wird eine Interpolation von Abtastwerten vorgenom­ men, um durch die Interpolation den Schleifenstartpunkt LPS und den Schleifenendpunkt LPE festzustellen und dabei mög­ lichst dicht aneinanderliegende Werte zu bilden, die dann als Verbindungspunkte gewählt werden. Dies kann im Zeitbasiskor­ rekturblock 17 ausgeführt werden, um die Intervallnormalisie­ rung mit einer Zeitbasisauflösung zu erzeugen, die kürzer ist als die Abtastperiode. Wenn keine Intervallnormalisierung ausgeführt wird, können die oben genannten tatsächlichen Ab­ tastwerte in einem Speicher abgelegt werden, und Interpolie­ ren erfolgt beim Datenauslesen oder beim Wiedergeben, um durch dieses Interpolieren die Kontinuität an Signalmuster­ übergängen zu verbessern. Wenn das Signal eines Musiktons mit dem Intervall einer gelegentlich auf einer Tastatur betätig­ ten Taste auf Basis von Quelltondaten mit vorgegebenem Inter­ vall, wie sie in einem Speicher eines sogenannten Samplers abgelegt sind, wiederzugeben ist, wird es erforderlich, In­ tervallwandlung vorzunehmen, um Töne mit unterschiedlichen Intervallen zu erzeugen. Wenn Interpolieren mit übergeordne­ tem Abtasten dafür verwendet wird, kann das oben genannte technische Konzept ausgeführt werden, ohne daß die Hardware zu erhöhen ist, um interpolierte Abtastwerte zu erhalten. Fig. 23 veranschaulicht ein Intervallwandlungssystem, das mit dieser Interpolation arbeitet. Das Herausgreifintervall für interpolierte Abtastwerte, das z. B. durch vierfaches überge­ ordnetes Abtasten erhalten wird, wird geändert, um Intervall­ wandlung zu erzielen. Beim Beispiel gemäß Fig. 23 stellt Signal A das ursprüngliche Signal dar, bei dem tatsächliche Abtastwerte durch Punkte dargestellt sind, während interpo­ lierte Abtastwerte durch x-Marken gekennzeichnet sind. Die interpolierten Werte sind durch vierfaches übergeordnetes Ab­ tasten für jeden tatsächlichen Abtastwert erzielt. Es werden dann die mit Kreis gekennzeichneten tatsächlichen Abtastwer­ te, die mit der ursprünglichen Abtastperiode Ts aufeinander­ folgen, herausgenommen, um ein im Intervall gewandeltes Sig­ nal B zu erzeugen. Dadurch wird die Frequenz auf 5/4 der ur­ sprünglichen Frequenz geändert. Beim Ausführungsbeispiel gemäß Fig. 23 wird die Frequenz erhöht, sie kann jedoch auch erniedrigt werden. Die Auflösung kann auch dadurch verbessert werden, daß die Zahl von Mehrfachabtastungen beim übergeord­ neten Abtasten erhöht wird. Z. B. kann 256-faches übergeord­ netes Abtasten für praktische Anwendungen eingesetzt werden. Fig. 21 shows a loop domain LP 'with a repetitive signal pattern (shown with circles) by sampling the signal at a predetermined period is obtained. Scans are carried out at the loop start point LP S and at the loop end point LP E. If the sampling period does not exactly match the pattern repetition period, the loop end point LP E 'found at the sampling does not coincide with the actual loop end point LP E , which means that the actual loop end point and the sampled loop end point do not generally have the same signal level. This leads to an offset when loops are connected to one another, as is shown in FIG. 22. To help with this, an interpolation of samples is carried out in order to determine the loop start point LP S and the loop end point LP E through the interpolation and to form as closely as possible values which are then selected as connection points. This can be done in the time base correction block 17 in order to generate the interval normalization with a time base resolution that is shorter than the sampling period. If no interval normalization is carried out, the above-mentioned actual samples can be stored in a memory, and interpolation is carried out during data readout or reproduction, in order to improve the continuity of signal pattern transitions by this interpolation. If the signal of a musical tone with the interval of an occasionally pressed key on a keyboard is to be reproduced on the basis of source sound data with a predetermined interval as stored in a memory of a so-called sampler, it becomes necessary to carry out interval conversion in order to include notes to generate different intervals. If interpolation with superordinate samples is used for this, the technical concept mentioned above can be carried out without having to increase the hardware in order to obtain interpolated samples. Fig. 23 illustrates an interval conversion system which operates with this interpolation. The pick-out interval for interpolated samples, e.g. B. is obtained by quadruple superordinate scanning is changed to achieve interval conversion. In the example of FIG. 23, signal A represents the original signal in which actual samples are represented by dots, while interpolated samples are identified by x marks. The interpolated values are achieved by four-fold superordinate sampling for each actual sample value. The circle-marked actual samples which follow one another with the original sampling period Ts are then taken out in order to produce a signal B converted in the interval. This changes the frequency to 5/4 of the original frequency. In the embodiment according to FIG. 23, the frequency is increased, but it can also be lowered. The resolution can also be improved by increasing the number of multiple scans in superordinate scanning. For example, 256-fold higher-level scanning can be used for practical applications.

Fig. 24 veranschaulicht als Blockdiagramm eine Schaltung zum Wandeln von Intervallen gemäß dem anhand von Fig. 23 erläu­ terten Verfahren. FIG. 24 illustrates, as a block diagram, a circuit for converting intervals in accordance with the method explained with reference to FIG. 23.

Ein Speicher 101, z. B. ein ROM, in dem Quelltondaten gespei­ chert sind, gibt diese Daten auf Grundlage von Adreßdaten aus, wie sie in einem Adreßgenerator 102 gespeichert sind. Dieser Adreßgenerator erhält Intervalldaten, wie sie zum Er­ mitteln des Intervallwandelverhältnisses benutzt werden, von einem Intervalldatengenerator 103, und er erhält mittelbar auch Daten von einem Register 107a für untergeordnete Daten, einem Schleifenstartadreßregister 107b und einem Schleifen­ endadreßregister 107c. Auf Grundlage dieser Daten werden die oben genannten Zugriffsdaten für den Zugriff auf den Speicher 101 erzeugt. Das Register 107a für untergeordnete Daten, das Schleifenstartadreßregister 107b und das Schleifenendadreß­ register 107c werden mit entsprechenden Daten aus den Quell­ tondaten versorgt. Das Register 107a für untergeordnete Daten dient dazu, die in Fig. 19 veranschaulichten Kopfdaten FR auf blockweiser Basis zu speichern, während das Schleifenstart­ adreßregister 107b und das Schleifenendadreßregister 107c dazu verwendet werden, die Adressen für den Schleifenstart­ punkt LPS bzw. den Schleifenendpunkt LPE zu speichern. Die Ausgangsdaten von den genannten drei Registern werden dem Adreßgenerator 102 und einem Koeffizientenadreßwandler 106 zugeführt. Dieser Wandler erhält auch Daten vom Intervall­ datengenerator 103. Auf Grundlage von Ausgangsdaten vom Koef­ fizientenadreßwandler 106 liefert ein Koeffizienten-ROM 105 in ihm gespeicherte Koeffizientenwerte an ein Interpolationsfilter 104, um die Filtercharakteristik dieses Filters zu be­ stimmen. Das Interpolationsfilter besteht beim Ausführungs­ beispiel aus n Verzögerungseinheiten DL1 - DLn und aus Multi­ pliziereinheiten P1 - Pn. Es erhält Quelltondaten vom ROM 101. Diese werden durch das Interpolationsfilter 104 im In­ tervall gewandelt und von einem D/A-Wandler 108 in ein ana­ loges Signal gewandelt, das als Quelltonsignal an einem Aus­ gangsanschluß 109 ausgegeben wird.A memory 101 , e.g. For example, a ROM in which source sound data is stored outputs this data based on address data as stored in an address generator 102 . This address generator receives interval data, as they are used to determine the interval conversion ratio, from an interval data generator 103 , and it also indirectly receives data from a register 107 a for subordinate data, a loop start address register 107 b and a loop end address register 107 c. The above-mentioned access data for access to the memory 101 are generated on the basis of this data. The register 107 a for subordinate data, the loop start address register 107 b and the loop end address register 107 c are supplied with corresponding data from the source audio data. The register 107 a for subordinate data serves to store in Fig. 19 illustrated header data FR on a block by block basis, while the loop start address register 107 b and the Schleifenendadreßregister 107 c used to point to addresses for the loop start LP S and the Save loop end point LP E. The output data from the aforementioned three registers are fed to the address generator 102 and a coefficient address converter 106 . This converter also receives data from the interval data generator 103 . Based on output data from the coefficient address converter 106 , a coefficient ROM 105 supplies coefficient values stored therein to an interpolation filter 104 to determine the filter characteristic of this filter. In the exemplary embodiment, the interpolation filter consists of n delay units DL1-DLn and multiplication units P1-Pn. It receives source sound data from ROM 101 . These are converted by the interpolation filter 104 in the interval and converted by a D / A converter 108 into an analog signal, which is output as a source tone signal at an output terminal 109 .

Fig. 25 veranschaulicht die Schleifenstartadresse und die Schleifenendadresse, wie sie aus den Registern 107b bzw. 107c ausgelesen wird. Es ist angenommen, daß ein Block durch meh­ rere aufeinanderfolgende Abtastwerte gebildet wird. Wenn der Abtastwert für den Schleifenstartpunkt LPS zu Beginn eines Blocks abgelegt wird, reicht die Angabe der Blocknummer als Startadresse aus. Beginnt eine Schleife jedoch an einem Ab­ tastwert innerhalb eines Blocks, muß noch eine Abtastnummer innerhalb eines Blocks angegeben werden, was durch eine ge­ strichelte Linie in Fig. 25 angedeutet ist. Die Schleifenend­ adresse enthält nicht nur die Nummer eines Abtastwerts inner­ halb eines Blocks, sondern auch Daten, die Interpolations­ punkte zwischen Abtastwerten betreffen. Auf diese Weise kann Schleifenbildung mit hoher Auflösung einschließlich der in­ terpolierten Abtastwerte mit einem Verfahren erzielt werden, das demjenigen der oben erläuterten Intervallwandlung ähnlich ist. Bei z. B. 256-fachem übergeordnetem Abtasten kann die Schleifendomäne LP eine Auflösung von 1/256 der Abtastperiode PS aufweisen, so daß die Auflösung an Ansatzpunkten aufeinan­ derfolgender Signalmuster etwa auf 1/256 verbessert werden kann. Darüber hinaus besteht der Vorteil, daß bei Verwenden eines Quelltonsystems, das ein Intervallwandeln mit überge­ ordnetem Abtasten nutzt, das beschriebene Verfahren im we­ sentlichen ohne zusätzliche Hardware ausgeführt werden kann, aber dennoch weiche Übergänge bei vermindertem Schleifenrau­ schen erzielbar sind. Fig. 25 illustrates the loop start address and the loop end, as it is read from the registers 107 b and 107 c. It is assumed that a block is formed by several successive samples. If the sample value for the loop start point LP S is stored at the beginning of a block, it is sufficient to specify the block number as the start address. However, if a loop begins at a sample within a block, a sample number must still be specified within a block, which is indicated by a broken line in FIG. 25. The loop end address contains not only the number of a sample within a block, but also data relating to interpolation points between samples. In this way, high resolution looping, including the interpolated samples, can be achieved with a method similar to that of the interval conversion discussed above. At z. B. 256-fold superordinate sampling, the loop domain LP can have a resolution of 1/256 of the sampling period PS, so that the resolution at starting points on the following signal pattern can be improved to about 1/256. In addition, there is the advantage that when using a source sound system that uses an interval conversion with superordinate scanning, the described method can be carried out in essence without additional hardware, but smooth transitions can be achieved with reduced loop noise.

Das oben beschriebene Verfahren zum Erzeugen von Quellton­ daten mit verbesserten Eigenschaften an Übergängen von wie­ derholten Mustern nutzt beim Interpolieren gemäß Fig. 21 für die Übergangsstellen solche Interpolationswerte, die mög­ lichst dicht beim Wert "0" liegen. In Fig. 21 ist der Schlei­ fenstartpunkt LPS einer Schleifendomäne LP ein aktueller Ab­ tastwert, während der Schleifenendpunkt LPE derjenige inter­ polierte Wert ist, der am dichtesten beim tatsächlichen Schleifenendpunkt liegt. Dies, weil die Amplitude des genann­ ten Interpolationswertes dichter bei der Amplitude des Start­ punktes LPS liegt als die Amplitude des tatsächlichen Schlei­ fenendpunkts LPE' der Schleifendomäne LP', wie sie bei tat­ sächlichem Abtasten erkannt wurde.The method described above for generating source sound data with improved properties at transitions from repetitive patterns uses such interpolation values for the transition points in the interpolation according to FIG. 21 that are as close as possible to the value “0”. In Fig. 21, the loop start point LP S of a loop domain LP is a current sample, while the loop end point LP E is the interpolated value that is closest to the actual loop end point. This is because the amplitude of the interpolation value called is closer to the amplitude of the starting point LP S than the amplitude of the actual loop end point LP E 'of the loop domain LP', as was recognized in actual scanning.

Wie bereits erläutert, erfolgt das Anschließen aufeinander­ folgender Signalmuster aneinander mit Hilfe der interpolier­ ten Werte, wodurch die Übergangsstellen in der Amplitude mit großer Genauigkeit aneinander anschließen, was durch Fig. 22 veranschaulicht ist.As already explained, successive signal patterns are connected to one another with the aid of the interpolated values, as a result of which the transition points connect to one another with great accuracy in terms of amplitude, which is illustrated by FIG. 22.

Die oben beschriebene Verarbeitung wie z. B. die Intervall­ wandlung, die Abtastratenwandlung oder das übergeordnete Ab­ tasten kann als lineares Wandeln von Signalen erster Ordnung verstanden werden. Bei solchem linearem Wandeln besteht die herkömmliche Praxis darin, die Lücke zwischen diskreten Daten dadurch zu füllen, daß Interpolationsfilter oder FIR-Filter genutzt werden. Die erforderliche Anzahl von Interpolations­ filtern entspricht der Anzahl von Interpolationspunkten zwi­ schen Abtastwerten. Für 256-faches übergeordnetes Abtasten sind demgemäß 256 Filteranordnungen erforderlich. Der Filter­ aufbau mit 256 Filtersätzen muß in der Filtercharakteristik gut abgestimmt sein. Nicht angepaßte Amplitudencharakteristik zwischen verschiedenen Filtersätzen der Filteranordnung führt zu Wandlungsrauschen, das dann vom jeweils ausgewählten Fil­ tersatz erzeugt wird. Diese Art digitalen Rauschens weist besondere Frequenzcharakteristik auf, die vom üblichen weißen Rauschen unterschiedlich ist. Dadurch fällt dieses Rauschen im Höreindruck selbst bei sehr niedrigem Pegel stark auf. Der Klangeindruck eines Gesamtsystems hängt daher in vielen Fäl­ len besonders vom Intervallrauschen ab. Es ist daher beson­ ders wichtig, ein Intervallwandlungsfilter so aufzubauen, daß das Wandlungsrauschen minimal wird.The processing described above such. B. the interval conversion, the sampling rate conversion or the superordinate Ab can feel as linear conversion of first order signals be understood. With such linear conversion there is conventional practice in bridging the gap between discrete data by filling that interpolation filter or FIR filter be used. The number of interpolations required filter corresponds to the number of interpolation points between samples. For 256-fold higher-level scanning 256 filter arrangements are accordingly required. The filter structure with 256 filter sets must in the filter characteristics be well coordinated. Mismatched amplitude characteristic leads between different filter sets of the filter arrangement to conversion noise, which is then from the selected fil replacement is generated. This type of digital noise has special features  Frequency characteristic on that of the usual white Noise is different. This makes this noise fall in the auditory impression even at a very low level. The Sound impression of an overall system therefore depends in many cases len especially from the interval noise. It is therefore special important to build an interval conversion filter so that the change noise becomes minimal.

Im Audiogebiet wird Intervallwandeln durch übergeordnetes Ab­ tasten oder durch Abtastratenwandlung häufig eingesetzt. Diese Verarbeitungsart gehört zur linearen Transformation von Signalen erster Ordnung und kann als Version erster Ordnung von affiner Transformation angesehen werden, wie sie häufig bei Bildverarbeitung eingesetzt wird. Im Fall von Signalen erster Ordnung bestehen verschiedene Freiheitsgrade in der Rechenzeit. Lücken zwischen Einzeldaten werden daher ziemlich gut durch arithmetisches Berechnen gefüllt. Es ist möglich, Interpolation von Abtastwerten mit hoher Genauigkeit auszu­ führen, z. B. ein übergeordnetes Abtasten mit einer Rate, die dem 256-fachen der Abtastrate entspricht, z. B. der Abtast­ rate einer Quelltoneinheit.In the audio area, interval changing is done by superordinate Ab buttons or frequently used due to sample rate conversion. This type of processing belongs to the linear transformation of First order signals and can be used as a first order version be viewed by affine transformation as they are often is used in image processing. In the case of signals There are different degrees of freedom in the first order Computing time. Gaps between individual dates are therefore pretty well filled by arithmetic calculation. It is possible, Interpolation of samples with high accuracy lead, e.g. B. parent scanning at a rate that corresponds to 256 times the sampling rate, e.g. B. the sampling rate of a source sound unit.

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.However, there are higher demands in terms of sound quality than in terms of image quality. It should also be noted that it is difficult to do because of cost reasons manufacture a device for extensive interpolation, z. B. with so many taps that 256 times parent Scanning can be done.

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. The interval conversion noise represents a special one Problem. However, it is not yet a particularly useful one Procedures for an interval conversion filter have been specified, this is clear for a given number of branches has better properties than a FIR filter.  

Die Erfinder haben versucht, verschiedene Filter zu ent­ wickeln, die trotz des Verwendens von Interpolationsfiltern für die Intervallwandlung frei von digitalem Rauschen sind. Sie haben dabei Gesichtspunkte herausgefunden, die für gute Eigenschaften von Interpolationsfiltern zum Intervallwandeln von besonderer Bedeutung sind.The inventors tried to remove various filters wrap that despite using interpolation filters are free of digital noise for the interval conversion. You have found points of view that are good Properties of interpolation filters for interval conversion are of particular importance.

Durch Trial-and-Error-Verfahren wurde herausgefunden, daß es wichtiger ist, die Filtercharakteristiken der einzelnen Fil­ ter in einer Filteranordnung aufeinander abzustimmen, als ho­ hen Wert auf die Charakteristik eines jeden einzelnen der Filter zu legen. Zweitens haben sie herausgefunden, daß das Anpassen der Filtercharakteristiken die Eigenschaften im Ab­ schneidebereich des FIR-Tiefpaßfilters beeinflußt, d. h. daß geringere Welligkeit im Cut-Off-Bereich besonders wünschens­ wert ist, wenn eine Filteranordnung mit guten Gesamteigen­ schaften erhalten werden soll.It was found through trial-and-error procedures that more importantly, the filter characteristics of each fil ter in a filter arrangement as ho value on the characteristics of each individual To put filters. Second, they found that Adjust the filter characteristics to the properties in the Ab cutting area of the FIR low-pass filter is affected, d. H. that lower ripple in the cut-off area is particularly desirable is worth if a filter arrangement with good overall dough should be preserved.

Im folgenden wird ein Interpolationsfilter erläutert, das m Filter n-ter Ordnung aufweist, um digitale Daten in m Inter­ polationspunkten innerhalb einer Abtastperiode bei einer Ab­ tastperiode fs zu finden, um Interpolationsdaten aus einem digitalen Eingangssignal einer Abtastfrequenz fs mit m-facher Auflösung, also der Frequenz m.fs zu erzeugen, wobei die Zahl m der Filter n-ter Ordnung alle ähnliche Amplitudencharakte­ ristik aufweisen.In the following, an interpolation filter is explained which has m filters of the n-th order in order to find digital data in m interpolation points within a sampling period at a sampling period f s, to obtain interpolation data from a digital input signal of a sampling frequency f s with m times the resolution to generate the frequency mf s , the number m of the nth order filters all having similar amplitude characteristics.

Während die Interpolationsfilter alle in der Amplituden­ charakteristik praktisch gleich sind, sind sie in der Phase veränderbar, wodurch es möglich ist, Rauschen beim Umschalten der Filter zu vermeiden.While the interpolation filters are all in the amplitudes characteristics are practically the same, they are in phase changeable, which makes it possible to get noise when switching to avoid the filter.

Der typische Grundaufbau eines Interpolationsfilters mit den eben genannten Eigenschaften wird nun anhand von Fig. 26 nä­ her erläutert. The typical basic structure of an interpolation filter with the properties just mentioned will now be explained in more detail with reference to FIG. 26.

Fig. 26 zeigt ein Filter n-ter Ordnung, das durch n Koeffi­ zientenmultiplizierer 151, (n - 1) Verzögerungseinheiten 152 und eine Summiereinheit 153 zum Aufsummieren von Produkten gebildet ist. Ein digitales Eingangssignal mit einer Abtast­ frequenz fs wird einem Eingangsanschluß 154 zugeführt und dann abtastwertweise durch die (n - 1) Verzögerungseinheiten 152 verzögert und abtastwertweise durch die Multiplizierer 151 mit Koeffizienten multipliziert. Die Ausgangssignale werden durch die Summiereinheit 153 summiert und dann an einen Ausgangsanschluß 156 ausgegeben. Fig. 26 shows an n-th order filter formed by n coefficient multipliers 151 , (n-1) delay units 152 and a summing unit 153 for summing products. A digital input signal with a sampling frequency f s is fed to an input terminal 154 and then delayed sample by sample by the (n-1) delay units 152 and multiplied sample by sample by multipliers 151 by coefficients. The output signals are summed by the summing unit 153 and then output to an output terminal 156 .

Zum Erzeugen interpolierter Daten aus dem genannten digitalen Eingangssignal mit einer Auflösung des m-fachen der Abtast­ frequenz, also mit m.fs, werden digitale Daten von m Interpo­ lationsabtastwerten, wie sie innerhalb einer Abtastperiode der Abtastfrequenz fs vorliegen, aufgefunden, d. h. die m In­ terpolationsfilter n-ter Ordnung werden so gewählt, daß sie gleiche Amplitudencharakteristik aufweisen, wodurch von die­ sen Filtern erzeugte digitale Daten Interpolationsdaten sind, die frei von digitalem Rauschen sind. Zu den m Filtern gehö­ ren m Sätze von Koeffizienten, wobei jeder Satz von Koeffi­ zienten m Koeffizienten enthält.To generate interpolated data from the aforementioned digital input signal with a resolution of m times the sampling frequency, that is to say with mf s , digital data of m interpolation samples as they exist within a sampling period of the sampling frequency f s are found, ie the m In Nth-order terpolation filters are selected so that they have the same amplitude characteristic, as a result of which digital data generated by these filters are interpolation data which are free from digital noise. The m filters include m sets of coefficients, each set of coefficients containing m coefficients.

Das Prinzip des Aufbaus eines Interpolationsfilters für In­ tervallwandlung wird im folgenden erläutert.The principle of building an interpolation filter for In Interval conversion is explained below.

Unter Intervallwandlung wird eine lineare Transformation eines Signals entlang der Zeitachse verstanden, d. h.
Interval conversion is understood to mean a linear transformation of a signal along the time axis, ie

y(t) = x(at + b) (15)
y (t) = x (at + b) (15)

wobei x(t) das Originalsignal und y(t) das im Intervall geän­ derte Signal bezeichnet. Die Gleichung (15) kann als Version erster Ordnung einer affinen Transformation verstanden wer­ den. Wenn x(t) und y(t) kontinuierliche Größen sind, ist die Transformation von x in y durch diese Formel einfach. In der Praxis sind die Werte von x(t) jedoch diskrete Größen, wobei diese Werte nicht notwendigerweise mit den Abtastpunkten zu­ sammenfallen, die zum Berechnen von y(t) erforderlich sind. In diesem Fall ist es notwendig, interpolierte Werte aus meh­ reren benachbarten Abtastpunkten zu berechnen.where x (t) the original signal and y (t) changed in the interval designated signal. Equation (15) can be used as a version first order of an affine transformation the. If x (t) and y (t) are continuous quantities, that is Transform x to y using this formula easily. In the In practice, however, the values of x (t) are discrete sizes, where  these values do not necessarily increase with the sampling points coincide, which are required to calculate y (t). In this case it is necessary to interpolate values from meh to calculate neighboring neighboring sampling points.

Beim Pegelwandeln werden also Abtastwerte aus mehreren Zwi­ schenpunkten interpoliert. Bei 8-fachem übergeordnetem Ab­ tasten werden zwei Punkte mit Hilfe von acht dazwischen lie­ genden Punkten interpoliert. Bei der oben genannten Quellton­ einheit wird 256-faches Interpolieren ausgeführt, um ausrei­ chende Intervallfestlegung sicherzustellen. Die Anzahl von Interpolationen wird im folgenden als Auflösung R bezeichnet. Im eben beschriebenen Fall ist die Auflösung also R = 256. Interpolationsdaten der Auflösung R werden also aus digitalen Eingangsdaten erzeugt, die die Abtastfrequenz fs aufweisen. Die Interpolationsdaten weisen die Abtastfrequenz m.fs auf.When converting levels, sample values are therefore made up of several twos points interpolated. With 8-fold higher Ab buttons are two points with the help of eight in between points interpolated. At the above source sound unit is carried out 256 times interpolation in order to suffice ensure the appropriate interval setting. the number of Interpolations are referred to below as resolution R. In the case just described, the resolution is R = 256. Interpolation data of resolution R are therefore made up of digital ones Generates input data that have the sampling frequency fs. The interpolation data have the sampling frequency m.fs.

Die interpolierten Werte können dadurch berechnet werden, daß ein FIR-Filter oder ein nichtzyklisches Filter n-ter Ordnung für jeden der m Interpolationspunkte zur Verfügung gestellt wird. Es liegen also m Sätze von FIR-Filtern fi(t) n-ter Ord­ nung vor, mit i = 0, 1, 2, . . ., m - 1. t ist eine Variable, die sich mit einer Zahl ändern kann, die der Zahl der Ordnung gleich ist. Für den k-ten Interpolationspunkt wird die Kon­ volution mit dem Eingangsquellsignal x(t) wie folgt berech­ net:
The interpolated values can be calculated by providing an FIR filter or an n-th order non-cyclic filter for each of the m interpolation points. So there are m sets of FIR filters of fi (t) n order, with i = 0, 1, 2,. , ., m - 1. t is a variable that can change with a number that is equal to the number of the order. For the kth interpolation point, the convolution with the input source signal x (t) is calculated as follows:

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.The k-th FIR filter fk (t) from the aforementioned m Sets of FIR filters of the nth order are used to determine the value for the interpolation point x (t + k / m).

Eine Filteranordnung wird aus m Sätzen von FIR-Filtern fi(t) n-ter Ordnung gebildet. Das Entwerfen eines Interpolationsfilters für Intervallkonversion ist gleichbedeutend mit dem Entwerfen einer Filteranordnung. Die Bedingung, die erforder­ lich ist, damit eine Filteranordnung als Intervallwandlungs­ filter arbeitet, wird nun erläutert.A filter arrangement is made up of m sets of FIR filters fi (t) nth order formed. Designing an interpolation filter  for interval conversion is synonymous with that Design a filter arrangement. The condition that required Lich, so a filter arrangement as an interval conversion filter works will now be explained.

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:
To simplify the explanation, assume that the sampling interval is one in length (ts = 1 / fs). In order for the kth FIR filter fk (t) to function as an interpolation filter, the response behavior of this filter must satisfy the following formula:

Durch Fourier-Transformation für beide Seiten dieser Formel folgt:
By Fourier transform for both sides of this formula it follows:

Y(ω)exp(jωk/m) = Fk(ω).X(ω) (18)Y (ω) exp (jωk / m) = F k (ω) .X (ω) (18)

Dabei ist die Imaginärzahl (-1)1/2 nicht mit i bezeichnet, sondern mit j, um gegenüber dem Index i abzugrenzen. Glei­ chung (18) ergibt umgerechnet:
The imaginary number (-1) 1/2 is not denoted by i, but by j in order to distinguish it from the index i. Equation (18) converted:

Y(ω) = Fk(ω)exp(-jωk/m).X(ω) (19)Y (ω) = F k (ω) exp (-jωk / m) .X (ω) (19)

Für jedes einzelne FIR-Filter n-ter Ordnung gilt dann beim Einsetzen von
For each individual nth-order FIR filter, the following then applies when

F0(ω) = Fk(ω)exp(-jωk/m) (20)
F 0 (ω) = F k (ω) exp (-jωk / m) (20)

die folgende Gleichung:
the following equation:

Fk(ω) = F0(ω)exp(jωk/m) (21)F k (ω) = F 0 (ω) exp (jωk / m) (21)

Diese Gleichung (21) ist die Grundgleichung für das willkür­ lich gewählte k-te Filter der Filteranordnung. Solange die FIR-Filter n-ter Ordnung der Filteranordnung in ihrer Gesamt­ heit der Gleichung (21) genügen, kann kein Intervallwand­ lungsrauschen erzeugt werden. Die Charakteristik der Filter­ anordnung selbst wie Welligkeit oder Cut-Off-Eigenschaften hängen von der Eigenschaft von f0(t) ab. This equation (21) is the basic equation for the arbitrarily selected kth filter of the filter arrangement. As long as the FIR filter of the n-th order of the filter arrangement satisfies the equation (21) in its entirety, no interval conversion noise can be generated. The characteristics of the filter arrangement itself, such as ripple or cut-off properties, depend on the property of f 0 (t).

Obige Gleichung (21) wird als Formel auf Zeitbasis umgerech­ net. Es wird darauf hingewiesen, daß das k-te FIR-Filter fk(t) tatsächlich eine diskrete Größe darstellt. Wenn der Koeffizient des q-ten Abgriffs des k-ten FIR-Filters fk(+) n-ter Ordnung als fk(q) ausgedrückt wird, gilt
Equation (21) above is converted as a time-based formula. It should be noted that the kth FIR filter fk (t) is actually a discrete quantity. If the coefficient of the qth tap of the kth FIR filter fk (+) nth order is expressed as fk (q), the following applies

Bei Entwickeln einer Fourier-Transformation erhält man:
When developing a Fourier transform you get:

Dabei sind Falzeffekte nicht berücksichtigt. Durch Einsetzen von Gleichung (23) in Gleichung (21) erhält man:
Folding effects are not taken into account. Substituting equation (23) into equation (21) gives:

Die Koeffizienten der Abgriffe aller FIR-Filter der Filter­ anordnung können durch Lösen dieser Gleichung erhalten wer­ den.The tap coefficients of all FIR filters of the filters arrangement can be obtained by solving this equation the.

Es ist sehr schwierig, die Eigenschaften der Filteranordnung durch Lösen der Gleichung (24) zu erhalten. Eine tatsächliche Filteranordnung wird daher aus einem einzigen Prototyp eines Tiefpaßfilters entwickelt. Es wird ein FIR-Tiefpaßfilter g(t) von (n × m)-ter Ordnung angenommen mit einer Cut-Off-Fre­ quenz, die nicht höher ist als 1/m der Abtastfrequenz, d. h. nicht größer als fs/m, wie durch Fig. 27 veranschaulicht.It is very difficult to obtain the properties of the filter arrangement by solving equation (24). An actual filter arrangement is therefore developed from a single prototype low-pass filter. An FIR low-pass filter g (t) of (n × m) th order is assumed with a cut-off frequency that is not higher than 1 / m of the sampling frequency, ie not greater than fs / m, as by Figure 27 illustrates.

Das Filter gemäß Fig. 27 besteht aus (m × n - 1) Verzögerungs­ einheiten 163, (m × n) Multiplizierern 164 und einem summie­ renden Verstärker 165. Ein digitales Eingangssignal der Ab­ tastfrequenz fs wird einem Eingangsanschluß 161 zugeführt und dann abtastweise durch die Verzögerungseinheiten 163 ver­ zögert. Ebenfalls abtastwertweise wird es mit Koeffizienten in den Multiplizierern 164 multipliziert. Die Ausgangssignale der Multiplizierer 164 werden im summierenden Verstärker 165 aufsummiert. So kann ein Satz von m Koeffizienten für die Filter n-ter Ordnung gemäß Fig. 26 durch das Filter gemäß Fig. 27 erhalten werden. . The filter of Figure 27 is composed of (m × n - 1) delay units 163, (m × n) multipliers 164 and an in power amplifier Summie 165th A digital input signal of the sampling frequency fs is supplied to an input terminal 161 and then delayed by the delay units 163 . It is also multiplied by coefficients in the multipliers 164 . The output signals of multipliers 164 are summed in summing amplifier 165 . Thus, a set of m coefficients for the n-th order filter shown in FIG. 26 can be obtained by the filter shown in FIG. 27.

Mit dem Filter gemäß Fig. 27 ist es auch möglich, die eben genannte Zahl m von Sätzen von Filtern n-ter Ordnung dadurch zu erzeugen, daß m Filter mit jeweils gleichem Koeffizient herausgegriffen werden und die Filter n-ter Ordnung aus die­ sen m Filtern gebildet werden.With the filter according to FIG. 27, it is also possible to generate the number m of sets of filters of the nth order just mentioned by selecting m filters with the same coefficient in each case and the filters of the nth order from these m filters be formed.

Mit den m Sätzen von Filtern fh(t) n-ter Ordnung, die durch Herausnehmen jedes n-ten Koeffizienten aus dem oben genannten FIR-Tiefpaßfilter g(t) gebildet sind, mit h = 0, 1, . . . (n - 1), werden m Sätze von Filtern n-ter Ordnung erhalten, die fol­ gender Gleichung genügen:
With the m sets of filters fh (t) nth order, which are formed by taking out every nth coefficient from the above-mentioned FIR low-pass filter g (t), with h = 0, 1,. , , (n - 1), m sets of filters of the nth order are obtained which satisfy the following equation:

fh(t) = g(mt + h) (25)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:
The filter arrangement with these m sets of FIR filters of the fh (t) n-order fulfills the above-mentioned conditions for an interval conversion filter. The following applies:

(1/m)G(ω/m) (26)(1 / m) G (ω / m) (26)

Ein Intervallwandlungsfilter kann mit Hilfe von Gleichung (26) relativ einfach realisiert werden. Gelegentlich können jedoch ausreichende Charakteristiken nicht durch Austesten eines praktisch entworfenen Filters erhalten werden. Dies kann darauf zurückzuführen sein, daß es schwierig ist, ein FIR-Tiefpaßfilter mit einer festen Anzahl von Abgriffen zu entwerfen. Dieser Fehler wird mit zunehmend höherer Auflösung R des FIR-Filters kritischer.An interval conversion filter can be done using equation (26) can be implemented relatively easily. Occasionally you can however, sufficient characteristics cannot be obtained by testing of a practically designed filter. This may be due to the fact that it is difficult to FIR low-pass filter with a fixed number of taps too design. This error gets with increasingly higher resolution R of the FIR filter more critical.

Die Frequenzcharakteristik einer Filteranordnung mit FIR- Tiefpaßfiltern g(t) kann ausgedrückt werden durch:
The frequency characteristic of a filter arrangement with FIR low-pass filters g (t) can be expressed by:

fh(ω) = (1/m)G(ω/m)exp(jωh/m) (27)f h (ω) = (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. From this it follows that the characteristic of f 0 (ω) is that of g (ω) by m times along the frequency axis.

Daraus folgt, daß dann, wenn die Cut-Off-Frequenz des FIR- Tiefpaßfilters, das Fourier-Transformation unterzogen wurde, nicht mehr als der halben Abtastfrequenz entsprechen soll, d. h. nicht mehr als fs/2, die Cut-Off-Frequenz des FIR-Tief­ paßfilters G(ω), das Fourier-Transformation unterworfen wur­ de, nicht mehr als 1/2m der Abtastfrequenz entsprechen darf, d. h. nicht mehr als fs/2m.It follows that if the cut-off frequency of the FIR Low-pass filter that has undergone Fourier transformation should not correspond to more than half the sampling frequency, d. H. no more than fs / 2, the cut-off frequency of the FIR low pass filter G (ω), which has been subjected to Fourier transformation de, must not correspond to more than 1 / 2m of the sampling frequency, d. H. not more than fs / 2m.

Andererseits treten deutlich als Begleiter auf dem Signal F0(ω) Frequenzkomponenten des FIR-Tiefpaßfilters G(ω) mit einer Cut-Off-Frequenz auf, die nicht weniger ist als das 1/2m-fache der Abtastfrequenz, d. h. nicht weniger als fs/2m. Diese Begleitkomponenten weisen unterschiedliche Phasenkompo­ nenten von Filter zu Filter auf. Die auf diese Weise hervor­ gerufenen Unterschiede können zu Unterschieden in der Filter­ charakteristik führen, die zu Intervallwandlungsrauschen füh­ ren.On the other hand, frequency components of the FIR low-pass filter G (ω) with a cut-off frequency that is not less than 1 / 2m times the sampling frequency, ie not less than fs, clearly appear as companions on the signal F 0 (ω) / 2m. These accompanying components have different phase components from filter to filter. The differences caused in this way can lead to differences in the filter characteristic, which lead to interval conversion noise.

Je höher die Auflösung R der Filteranordnung wird, desto niedriger wird die Cut-Off-Frequenz, die für die genannten FIR-Tiefpaßfilter gefordert ist. Mit einer unzureichenden An­ zahl von Ordnungen n für die Filter können voll zufrieden­ stellende Filtercharakteristiken nicht erhalten werden, wenn das Filter nicht höchst geistreich entworfen wird, da es in der Regel schwierig ist, Filter mit extrem niedriger oder extrem hoher Cut-Off-Frequenz zu entwickeln.The higher the resolution R of the filter arrangement, the more the cut-off frequency becomes lower for those mentioned FIR low-pass filter is required. With an insufficient rating Number of orders n for the filter can be fully satisfied filter characteristics are not obtained if the filter is not designed very cleverly because it is in is usually difficult to filter with extremely low or develop extremely high cut-off frequency.

Obwohl der Effekt der Begleitkomponenten bei der oben erläu­ terten Filterentwicklung nicht berücksichtigt wurde, können derartige Komponenten bis zur ersten Ordnung gemäß der fol­ genden Erläutertung berücksichtigt werden. Da die Frequenz­ charakteristik des FIR-Filters fh(t) üblicherweise eine geradzahlige Funktion ist, unter Annahme einer reellen Zahl, ist auch die Frequenzcharakteristik des FIR-Filters F(ω) eine geradzahlige Funktion, unter Annahme einer reellen Zahl. Although the effect of the accompanying components in the above filter development was not taken into account, can such components up to the first order according to fol explanatory note. Because the frequency characteristic of the FIR filter fh (t) usually a is an even number function, assuming a real number, the frequency characteristic of the FIR filter F (ω) is also one even function, assuming a real number.  

Wird der Einfachheit halber nur der Bereich 0 < ω berücksich­ tigt, kann die Frequenzcharakteristik des vorstehend genann­ ten FIR-Filters fh(t) wie folgt ausgedrückt werden, wenn Be­ gleitkomponenten erster Ordnung berücksichtigt sind:
If only the range 0 <ω is taken into account for the sake of simplicity, the frequency characteristic of the above-mentioned FIR filter fh (t) can be expressed as follows if first-order accompanying components are taken into account:

Einsetzen von Gleichung (27) in Gleichung (28) ergibt:
Substituting equation (27) into equation (28) gives:

wobei R(ω) so gewählt ist, daß gilt:
where R (ω) is chosen such that:

R(ω) = (1/m)G((ω + 2π)/m) (30)
R (ω) = (1 / m) G ((ω + 2π) / m) (30)

Der Term R(ω)exp(2πjh/m) in Gleichung (29) stellt eine Feh­ lerkomponente dar, die nichts anderes ist als die Frequenz­ charakteristik des FIR-Tiefpaßfilters. Dieser Term ist für Rauschen verantwortlich, da er dazu führt, daß sich die Fil­ tercharakteristik von Filter zu Filter ändert. Unter der An­ nahme, daß die FIR-Filter F(ω) und R(ω) reelle Zahlen dar­ stellen, wird der Maximalwert für den Fehler:
The term R (ω) exp (2πjh / m) in equation (29) represents an error component that is nothing other than the frequency characteristic of the FIR low-pass filter. This term is responsible for noise because it causes the filter characteristic to change from filter to filter. Assuming that the FIR filters F (ω) and R (ω) represent real numbers, the maximum value for the error is:

wobei A = F0(ω) + R(ω)exp(2πjk/m) ist. Das heißt, daß der Maxi­ malwert für den Fehler das zweifache des Normalwertes für R(ω) ist. Wird mit Nb die Bitlänge des Filterkoeffizienten bezeichnet, gilt:
where A = F 0 (ω) + R (ω) exp (2πjk / m). This means that the maximum value for the error is twice the normal value for R (ω). If Nb denotes the bit length of the filter coefficient, the following applies:

Daraus folgt, daß das Intervallwandlungsrauschen innerhalb dem Bereich des Quantisierungsrauschens liegen kann. Da Nb = 12 in der Tonquelleneinheit gemäß dem Ausführungsbei­ spiel gilt, ist es erforderlich, daß für die Verstärkung im Cut-Off-Bereich gilt:
It follows that the interval conversion noise can be within the range of the quantization noise. Since Nb = 12 in the sound source unit according to the exemplary embodiment, it is necessary that the following applies to the amplification in the cut-off range:

∥R(ω)∥ < (2-Nb/2) = -78[dB] (33)
∥R (ω) ∥ <(2 -Nb / 2) = -78 [dB] (33)

Die Maximalverschiebung in Filtercharakteristiken besteht zwischen zwei Filtersätzen, die um m/2 voneinander entfernt sind, da sich dann die Phase von R() umdreht. Bei Intervall­ wandlung kann dies auftreten, wenn das Intervall um 5 Punkte erhöht wird oder um eine Oktave erniedrigt wird, so daß es am wahrscheinlichsten ist, daß die obigen Filter abwechselnd ausgewählt werden.The maximum shift in filter characteristics is between two sets of filters that are separated by m / 2 because then the phase of R () reverses. At interval conversion can occur when the interval is 5 points is increased or decreased by an octave, so that it is at most likely is that the filters above alternate to be selected.

Diese Bedingungen für den Inhibitbereich sind ziemlich streng im Vergleich zu dem, was beim Entwickeln eines gewöhnlichen Filters eingehalten werden muß. Beim Entwickeln eines gewöhn­ lichen Filters wird nicht versucht, Welligkeiten im Inhibit­ bereich in diesem Ausmaß zu unterdrücken, aber es wird gleichzeitig versucht, die Cut-Off-Charakteristik zu verbes­ sern. Wenn jedoch ein Signal/Rausch-Verhältnis geschaffen werden soll, das der Bitlänge der Filterkoeffizienten des Intervallwandlungsfilters entspricht, müssen die oben genann­ ten Bedingungen auf Kosten anderer Bedingungen erfüllt wer­ den.These conditions for the inhibit range are quite strict compared to what when developing an ordinary Filters must be observed. When developing a habit filter is not attempted, ripples in the inhibit suppress area to this extent, but it will at the same time tries to improve the cut-off characteristic fibers. However, if a signal to noise ratio is created should be that the bit length of the filter coefficients of Interval conversion filter corresponds to the above conditions at the expense of other conditions the.

Im folgenden wird die oben beschriebene Entwicklungstechnik für ein Intervallwandlungsfilter zusammengefaßt erläutert.The following is the development technique described above summarized for an interval conversion filter.

Bei einem Intervallwandlungsfilter fh(t) mit der Auflösung R und mit n Ordnungen muß jedes Filter der Filtereinheit der folgenden Charakteristik genügen:
In the case of an interval conversion filter fh (t) with the resolution R and with n orders, each filter of the filter unit must satisfy the following characteristic:

Fh(ω) = F0(ω)exp(jωh/m) (34)F h (ω) = F 0 (ω) 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.The filter unit must be created by m-th Coefficient from a low-pass filter (n × m) -th order is taken out and the taken out coefficients be arranged in succession.

Für Zusammenfallen der Charakteristiken der Filtersätze und zum Unterdrücken von Intervallwandlungsrauschen genügt es, die Verstärkung im Inhibitbereich eines Prototyps eines Tief­ paßfilters zu unterdrücken, so daß gilt:
For the characteristics of the filter sets to coincide and for the suppression of interval conversion noise, it is sufficient to suppress the gain in the inhibit range of a prototype of a low-pass filter, so that:

∥R(ω)∥ < (2-Nb/2) (35)∥R (ω) ∥ <(2 -Nb / 2) (35)

Wenn dieses Prinzip auf die Quelltoneinheit gemäß Fig. 1 an­ gewendet wird, wird für den Intervallwandler 131 ein Interpo­ lationsfilter verwendet, das durch das vorstehend angegebene Entwicklungsverfahren geschaffen ist.If this principle is applied to the source sound unit according to FIG. 1, an interpolation filter is used for the interval converter 131 , which filter is created by the development method specified above.

Der Intervallwandler 131 wandelt das Intervall oder die Ton­ höhe des analogen Signals dann, wenn es aus dem Signal Sd so umgewandelt wird, daß das Intervall demjenigen entspricht, wie es durch die auf einer Tastatur betätigte Taste vorgege­ ben ist. Dies erfolgt durch 256-faches übergeordnetes Abta­ sten des Signales Sd, gefolgt durch ein Rückabtasten, und dadurch ohne Ändern der Abtastfrequenz für das Signal Sd.The interval converter 131 converts the interval or the pitch of the analog signal when it is converted from the signal Sd so that the interval corresponds to that as specified by the key pressed on a keyboard. This is done by 256-fold superordinate sampling of the signal Sd, followed by a back sampling, and thereby without changing the sampling frequency for the signal Sd.

Das vorstehend beschriebene Interpolationsfilter beinhaltet ein Filter zum Ausdünnen, das Abtastdaten ausdünnt.The interpolation filter described above includes a thinning filter that thins sample data.

Bei dem vorstehend beschriebenen Interpolationsfilter haben die Filtersätze der Anordnung gleiche Amplitudeneingenschaf­ ten, so daß Rauschen, das sonst durch Umschalten von Filtern erzeugt wird, ausgeschlossen wird. Es wird also ein Abtast­ ton mit sehr hohem Signal/Rausch-Verhältnis wiedergegeben.With the interpolation filter described above the filter sets of the arrangement have the same amplitude characteristics ten so that noise, which otherwise by switching filters is generated, is excluded. So it will be a scan reproduced with a very high signal / noise ratio.

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. To improve the transition between signals on one Loop start point and a loop end point are at embodiment described above, the parameters for the loop start point based on the data for the Loop start point and the loop end point are formed. Instead, PCM data for multiple blocks of the Loop start blocks are used.  

Allgemein gesprochen, besteht ein Verfahren zum Komprimieren und Kodieren von Tondaten darin, daß komprimierte Datenworte und Parameter, die für die Kompression gelten, aus digitalen Daten gebildet werden, die einem analogen Signalmuster für eine vorgegebene Anzahl von Perioden entsprechen. Dabei ent­ hält jeder Block eine vorgegebene Anzahl von Abtastwerten als Einheit, und es werden ein oder mehrere Kompressionskode­ blöcke gebildet, von denen jeder eine vorgegebene Anzahl der komprimierten Datenworte und der Parameter hierfür enthält. Diese Kompressionskodeblöcke werden in einem Speichermedium abgespeichert. Eine Verbesserung liegt darin, daß direkt PCM- Worte in vorgegebener Anzahl als Anfangsworte mindestens im ersten Kompressionskodeblock gespeichert werden.Generally speaking, there is a method of compression and encoding sound data into compressed data words and parameters that apply to compression from digital Data are formed using an analog signal pattern for correspond to a predetermined number of periods. Ent each block holds a predetermined number of samples as Unit, and there will be one or more compression code blocks are formed, each of which has a predetermined number of contains compressed data words and the parameters for them. These compression code blocks are stored in a storage medium stored. One improvement is that PCM Words in a predetermined number as starting words at least in first compression code block can be saved.

Anhand von Fig. 28 wird veranschaulicht, daß eine Schleifen­ domäne LP einer vorgegebenen Anzahl von Perioden des analogen Signals entspricht. Die Anfangsworte vorgegebener Anzahl im ersten Kompressionskodeblock BL der Schleifendomäne LP sind direkte PCM-Worte WST. Die Zahl direkter PCM-Worte soll nicht niedriger sein als die Zahl von Ordnungen beim komprimieren­ den Kodieren.Referring to Fig. 28 demonstrates that a loop domain-LP corresponds to a predetermined number of periods of the analog signal. The initial words of a predetermined number in the first compression code block BL of the loop domain LP are direct PCM words W ST . The number of direct PCM words should not be less than the number of orders when compressing the coding.

Zumindest der erste Block zeigt an, daß alle Blöcke in der oben angegebenen Weise bearbeitet werden sollen.At least the first block indicates that all blocks in the to be processed above.

Wie erläutert, sind zumindest die genannten anfänglichen Worte direkte PCM-Worte. Wenn dann Schleifen aneinander ge­ hängt werden, können diese direkten PCM-Worte direkt als Schleifenstartpunktdaten verwendet werden, so daß es nicht erforderlich ist, Vorhersagen aus Daten in der Nachbarschaft des Schleifenendpunktes zu treffen, wodurch die Effekte aus­ geschlossen werden können, die durch vergangene Daten her­ vorgerufen werden. As explained, at least the above are initial Words direct PCM words. Then when grinding together can hang these direct PCM words directly as Loop start point data are used so that it is not is required predictions from data in the neighborhood of the loop end point, which causes the effects can be inferred from past data be called.  

Vorstehend wurde ein Aufbau und eine Funktion beschrieben, wie sie zum Erzeugen und zum Aufzeichnen von Quelltondaten erforderlich ist, d. h. zum Ablegen in einem Speicher. Der Aufbau und die Funktion für die Wiedergabeseite wird im fol­ genden erläutert, d. h. die Funktionen zum Auslesen, Dekodie­ ren und z. B. Schleifenbilden. Die Wiedergabeseite kann alleine als Quelltonanordnung verwendet werden.A structure and a function have been described above, how they are used to generate and record source sound data is required, d. H. for storing in a memory. The Structure and the function for the playback page is shown in fol explained, d. H. the functions for reading out, decoding ren and z. B. Loops. The playback page can can only be used as source sound arrangement.

Fig. 29 ist ein Blockdiagramm, das eine Wiedergabeanordnung darstellt zum Auslesen von Quelltondaten, die mit dem oben angegebenen Verfahren erzeugt und dann in einem Quellton­ datenspeicher 211 abgelegt wurden. Das Dekodieren erfolgt mit dem Dekodierer 90 gemäß Fig. 18, oder es erfolgt die oben ge­ nannte Schleifenbildung. Fig. 29 is a block diagram illustrating a display device for reading out source sound data, which were generated with the above-mentioned method and then stored in a source sound data memory 211 . The decoding takes place with the decoder 90 according to FIG. 18, or the above-mentioned loop formation takes place.

Quelltondaten werden von einer Einrichtung 210 zum Liefern von Quelltondaten einem Speicher 213 zugeführt, der den Quelltondatenspeicher 211 und einen Adreßdatenspeicher 212 aufweist. Die Einrichtung 210 zum Liefern von Quelltondaten kann die oben genannte Einrichtung zum Erzeugen und/oder Auf­ zeichnen von Quelltondaten insgesamt sein, oder es kann sich um eine Vorrichtung zum Wiedergeben von Daten von einem Auf­ zeichnungsmedium handeln, z. B. von einer optischen Platte, einer Magnetplatte oder einem Magnetband.Source sound data are supplied from a device 210 for supplying source sound data to a memory 213 which has the source sound data memory 211 and an address data memory 212 . The means 210 for supplying source sound data may be the above-mentioned means for generating and / or recording source sound data as a whole, or it may be a device for reproducing data from a recording medium, e.g. B. from an optical disk, a magnetic disk or a magnetic tape.

Dem Schieber 92, dem Summierpunkt 93 und dem Vorhersageglied 94 des Dekodierers 90 von Fig. 18 entsprechen ein Schieber 232, ein Summierpunkt 233 und ein Vorhersageglied 234 von Fig. 29. Die Schaltung von Fig. 29 übt im wesentlichen die Funktion des Dekodierers 90 von Fig. 18 aus. Die dekodierten Quelltondaten werden durch Hüllkurvenaddition und z. B. Hall­ effekterzeugung verarbeitet und über eine dämpfende Rausch­ sperre 236 einem D/A-Wandler 237 zugeführt. Das von diesem Wandler ausgegebene analoge Signal wird von einem Lautspre­ cher 238 als Musiktonsignal wiedergegeben. The slider 92 , the summing point 93 and the prediction element 94 of the decoder 90 of FIG. 18 correspond to a slider 232 , a summing point 233 and a prediction element 234 of FIG. 29. The circuit of FIG. 29 essentially performs the function of the decoder 90 of FIG Fig. 18. The decoded source sound data are by envelope addition and z. B. Hall effect generation processed and supplied via a damping noise lock 236 to a D / A converter 237 . The analog signal output by this converter is reproduced by a loudspeaker 238 as a musical tone signal.

Die Schaltung von Fig. 29 weist einen Adreßgenerator 220 auf, der auf ein Signal Taste-Ein anspricht, um Quelltondaten aus dem Speicher 213 auszulesen, insbesondere zur Schleifenbil­ dung. Der Adreßgenerator 220 weist ein Adreßregister 221 auf, um die Datenstartadresse SA für den Adreßdatenspeicher 212 zu halten. Außerdem ist ein Adreßzähler 222 vorhanden, der mit dem Adreßdatenwert gelesen wird und der mit Takten versorgt wird, um eine Zählprozedur auszuführen. Ein Multiplexer 223 erhält die Adreßdaten vom Adreßzähler 222.The circuit of FIG. 29 has an address generator 220 which is responsive to a key-on signal in order to read out source sound data from the memory 213 , in particular for loop formation. The address generator 220 has an address register 221 to hold the data start address SA for the address data memory 212 . There is also an address counter 222 which is read with the address data value and which is supplied with clocks in order to carry out a counting procedure. A multiplexer 223 receives the address data from the address counter 222 .

Der Ladesteuereingang des Adreßzählers 222 wird mit Zeit­ steuerungspulsen CPA von einem Anschluß 224 über ein Und- Glied 225 versorgt, das durch das Ausgangssignal von einem Oder-Glied 226 gesteuert wird. Im Adreßgenerator 220 ist außerdem ein Inhaltsverzeichnis-Adreßgenerator 228 vorhanden, der Ausgangsdaten an den Multiplexer 223 liefert. Der Multi­ plexer 223 wählt entweder Adreßdaten vom Adreßzähler 222 oder Verzeichnis-Adreßdaten aus und steuert mit dem jeweiligen Adreßwert den Speicher 213 an.The charge control input of the address counter 222 is supplied with timing pulses CP A from a connection 224 via an AND gate 225 , which is controlled by the output signal from an OR gate 226 . A table of contents address generator 228 is also provided in the address generator 220 and supplies output data to the multiplexer 223 . The multiplexer 223 either selects address data from the address counter 222 or directory address data and controls the memory 213 with the respective address value.

Ein Register 214 für untergeordnete Daten speichert die Kopf­ daten, d. h. die Parameterdaten, die die Kompression betref­ fen, oder auch Unterdaten. Dies erfolgt dann, wenn ein weiter unten beschriebener Synchronisierpuls CPB einem Anschluß 215 zugeführt wird. Schleifendaten L1, d. h. Daten, die anzeigen, ob Schleifendaten in den Unterdaten vorhanden sind, auf die das Register 214 zugreift, werden über einen Inverter 216 und ein Und-Glied 217 an ein Flipflop 218 gegeben. Enddaten EI, d. h. Daten, die anzeigen, ob ein Block ein Endeblock für ein Signal ist, werden dem Und-Glied 217 und dem Oder-Glied 226 zugeführt. Das Ausgangssignal vom Und-Glied 217 gelangt an den Setzeingang S des Flipflops 218. Der Rücksetzeingang R erhält das Tonerzeugungsstartsignal, d. h. das Signal Taste- Ein K0N über einen Anschluß 219. Dieses Taste-Ein-Signal K0N wird außerdem auf das Oder-Glied 226 und den Verzeichnis- Adreßgenerator 228 gegeben. Es beinhaltet nicht nur Taste- Ein-Daten für das elektronische Musikinstrument, sondern auch ein Tonerzeugungs-Starttriggersignal zum Starten der Software für automatische Musikerzeugung.A subordinate data register 214 stores the header data, ie the parameter data relating to the compression, or also sub-data. This takes place when a synchronization pulse CP B described below is fed to a connection 215 . Loop data L1, ie data indicating whether there is loop data in the sub-data which the register 214 accesses, is passed to a flip-flop 218 via an inverter 216 and an AND gate 217 . End data EI, ie data indicating whether a block is an end block for a signal, are supplied to the AND gate 217 and the OR gate 226 . The output signal from the AND gate 217 reaches the set input S of the flip-flop 218 . The reset input R receives the tone generation start signal, ie the signal key-on K0N via a connection 219 . This key-on signal K0N is also applied to the OR gate 226 and the directory address generator 228 . It includes not only key-on data for the electronic musical instrument, but also a sound generation start trigger signal for starting the software for automatic music generation.

Fig. 30 zeigt ein Beispiel für den Inhalt des Speichers 213, d 29529 00070 552 001000280000000200012000285912941800040 0002003943795 00004 29410er ein 64 K-Byte-RAM ist. Er ist in den Quelltondatenspeicher 211 und den Adreßdatenspeicher 212 aufgeteilt. Der Adreß­ datenspeicher 212 ist ein Teil des sogenannten Verzeichnis­ bereichs im Speicher, in dem die vorgenannten Startadreß­ daten SA und die Schleifenstartadreßdaten LA gespeichert sind, auf die mit Hilfe der Verzeichnisadressen vom Verzeich­ nisadreßgenerator 228 zugegriffen wird. Der führende Adreß­ bereich SDF besteht aus Adressen für aufeinanderfolgende Ab­ tastwerte, die dem Formantenbereich FR des Tonsignals ent­ sprechen. Führende Adressen eines Datenbereichs SDL sind in Fig. 30 mit LSA bezeichnet. Diese Daten entsprechen ebenfalls aufeinanderfolgenden Abtastwerten, die einem Schleifenbereich LP zugeordnet sind. Das Beispiel von Fig. 30 zeigt Quellton­ daten SDS1, die aus Formantendaten SDF1 und Schleifendaten SDL2, bezeichnet mit SA1 und LSA1, bestehen, sowie Quellton­ daten SD2 aus SDF2 und SDL2, bezeichnet mit SA2 und LSA2, und Daten SDF2, bezeichnet mit SA3. Es können jedoch auch nur Daten vorhanden sein, die Werte für Schleifenbereiche aufwei­ sen. Die Adreßdaten SA und LSA beim praktischen Ausführungs­ beispiel bezeichnen nur die Adressen der Kopfdaten oder Unterdaten RF von Fig. 19, mit Kompressionskodierblöcken als Einheiten. Detailliertere Adreßanzeige, wie z. B. Adreßanzei­ gen auf Byte-Basis, wird durch den Adreßzähler 222 vollzogen. Fig. 30 shows an example of the content of the memory 213 , that 29529 00070 552 001000280000000200012000285912941800040 0002003943795 00004 29410 is 64K byte RAM. It is divided into the source sound data memory 211 and the address data memory 212 . The address data memory 212 is part of the so-called directory area in the memory in which the aforementioned start address data SA and the loop start address data LA are stored, which are accessed with the help of the directory addresses from the directory address generator 228 . The leading address area SDF consists of addresses for consecutive samples which correspond to the formant area FR of the audio signal. Leading addresses of a data area SDL are designated by LSA in FIG. 30. This data also corresponds to successive samples which are assigned to a loop area LP. The example of FIG. 30 shows source sound data SDS1, which consist of formant data SDF1 and loop data SDL2, denoted by SA1 and LSA1, and source sound data SD2 by SDF2 and SDL2, denoted by SA2 and LSA2, and data SDF2, denoted by SA3. However, there can only be data with values for loop areas. The address data SA and LSA in the practical embodiment, for example, designate only the addresses of the header data or sub-data RF of Fig. 19, with compression coding blocks as units. More detailed address display, such as B. address indications on a byte basis, is performed by the address counter 222 .

Wie die vorstehend beschriebene Anordnung arbeitet, wird aus­ gehend vom Zeitablaufdiagramm gemäß Fig. 21 erläutert.How the arrangement described above works will be explained based on the timing chart of FIG. 21.

In Fig. 31 ist ein Multiplexvorgang veranschaulicht, wobei die Abtastperiode mit TS bezeichnet ist. Bei einer Abtastfrequenz von 32 kHz ist die Abtastperiode TS 1/32 ms. Jede Abtastperiode TS wird für die Wiedergabe einer vorgegebenen Anzahl von Stimmen unterteilt. Beim Ausführungsbeispiel sind es 8 Stimmen (Stimmen 0-7). Die jeder Stimme zugeordnete Zeitspanne hängt vom Ablauf des Multiplexverfahrens ab. Die minimale Zeiteinheit für den Multiplexvorgang ist die Zeit­ einheit τ. Zeitinterval τ0 und τ1 dienen dazu, auf die Adressen SA oder LSA im Verzeichnisbereich zuzugreifen. Zeit­ spannen τ25 dienen dazu, auf Bitkompressionskodierdaten zuzugreifen. In einem Zeitintervall τ6 wird der Adreßzähler 222 auf den neuesten Stand gebracht. Im Zeitintervall τ2 wird auf die Unterdaten (Kopfdaten RF gemäß Fig. 19) zuge­ griffen, während in den Zeitintervallen τ25 die Abtast­ daten (Daten DA0 - DB3 von Fig. 19) gelesen werden. Der Syn­ chronisierpuls CPA wird in der Zeitspanne τ5 ausgelesen, wäh­ ren ein Synchronisierpuls CB in der Zeitspanne τ2 ausgegeben wird.A multiplexing process is illustrated in FIG. 31, the sampling period being designated T S. At a sampling frequency of 32 kHz, the sampling period T S is 1/32 ms. Each sampling period T S is divided for the reproduction of a predetermined number of voices. In the exemplary embodiment, there are 8 voices (voices 0-7). The time period allocated to each voice depends on the multiplex procedure. The minimum time unit for the multiplexing process is the time unit τ. Time intervals τ 0 and τ 1 serve to access the addresses SA or LSA in the directory area. Spans of time τ 25 serve to access bit compression coding data. The address counter 222 is updated in a time interval τ 6 . In the time interval τ 2 , the sub-data (header data RF according to FIG. 19) are accessed, while in the time intervals τ 25 the scanning data (data D A0 -D B3 from FIG. 19) are read. The syn chronizing pulse CP A is read out in the time period τ 5 , while a synchronizing pulse C B is output in the time period τ 2 .

Das Signal Taste-Ein K0N zum Starten der Tonerzeugung wird während einer Abtastperiode TS ausgegeben, d. h. es ist im Intervall zwischen den Zeitpunkten t0 und t1 auf hohem Pegel. Ein Stand-by-Signal STBY fällt mit der Vorderflanke des Sig­ nals K0N ab und steigt nach einigen Abtastperioden wieder auf hohen Pegel, beim dargestellten Beispiel nach fünf Abtast­ perioden, also zum Zeitpunkt t5.The key-on signal K0N for starting sound generation is output during a sampling period T S , ie it is at a high level in the interval between the times t 0 and t 1 . A standby signal STBY drops with the leading edge of the signal K0N and rises to a high level again after a few sampling periods, in the example shown after five sampling periods, i.e. at time t 5 .

Wenn das Signal Taste-Ein K0N dem Anschluß 219 zugeführt wird, erzeugt der Verzeichnisadreßgenerator 228 eine Ver­ zeichnisadresse auf Basis der vom CPU angegebenen Offset­ adresse für den Speicher. Außerdem wird eine Quellenzahl aus­ gegeben, die die Art der Tonquelle anzeigt. Die Verzeichnis­ adresse wird an den Multiplexer 223 gegeben. Während der Zeitmultiplexintervalle τ0 und τ1 greift der Multiplexer 223 auf die Adressen zu, die vom Verzeichnisadreßgenerator 228 geliefert werden, um auf den Speicher 223 zuzugreifen, um aus diesem vorgegebene Adreßdaten im Adreßdatenspeicher 212 aus­ zulesen, d. h. Daten SA, die die Quelltondaten-Startadresse für die vorgegebene Tonnummer anzeigen. Dadurch wird es mög­ lich, die Daten SA in das Adreßregister 221 über einen Daten­ bus einzulesen. Das Signal K0N wird auch über das Oder-Glied 226 an das Und-Glied 225 geliefert, wodurch dieses durch­ schaltet und der Puls CPA zum Zeitpunkt des Zeitfensters dem Ladesteuereingang des Adreßzählers 222 zugeführt wird. Dadurch wird der im Adreßregister 221 zwischengespeicherte Startadressendatenwert SA in den Adreßzähler 222 geladen, um diesen zu setzen. Der Adreßzähler 222 zählt ab diesem Daten­ wert SA, so daß diejenigen Quelltondaten SDF, für die der Datenwert SA die Anfangsadresse darstellt, in der angegebenen Adreßreihenfolge ausgelesen werden. Wenn Schleifendaten SDL auf die Daten SDF folgen, wird auf diese Schleifendaten SDL automatisch anschließend an die Daten SDF zugegriffen.When the key-on signal K0N is applied to terminal 219 , directory address generator 228 generates a directory address based on the offset address for the memory specified by the CPU. In addition, a source number is displayed, which indicates the type of sound source. The directory address is given to the multiplexer 223 . During the time-division multiplexing intervals τ 0 and τ 1 , the multiplexer 223 accesses the addresses which are supplied by the directory address generator 228 in order to access the memory 223 in order to read out predetermined address data in the address data memory 212 , ie data SA which contain the source audio data. Show the start address for the given tone number. This makes it possible to read the data SA into the address register 221 via a data bus. The signal K0N is also supplied via the OR gate 226 to the AND gate 225 , whereby this switches through and the pulse CP A is fed to the charge control input of the address counter 222 at the time of the time window. As a result, the start address data SA stored in the address register 221 is loaded into the address counter 222 in order to set it. The address counter 222 counts from this data value SA, so that those source sound data SDF for which the data value SA represents the start address are read out in the specified address sequence. If loop data SDL follows the data SDF, this loop data SDL is automatically accessed after the data SDF.

Auf die Abtastperiode, die auf diejenige folgt, in der das Signal K0N ausgegeben wird, d. h. nach der Abtastperiode t1, geht das Signal K0N wieder in seinen Ausgangszustand niedri­ gen Pegels über. Der Verzeichnisadreßgenerator 228 gibt dann die Startadresse LSA für die Schleifendaten SDL aus. Der Adreßgenerator 228 liefert die Schleifenstartadresse LSA. Solange jedoch dem Adreßzähler 228 kein Eingangssignal an seinem Ladesteuerungsanschluß zugeführt wird, erhält er die neue Adresse nicht, sondern zählt weiter. Dies gilt nicht, wenn die Eingangsdaten nur durch Daten SDF des Formantenbe­ reichs gebildet werden.On the sampling period that follows that in which the signal K0N is output, ie after the sampling period t 1 , the signal K0N returns to its initial state of low level. The directory address generator 228 then outputs the start address LSA for the loop data SDL. The address generator 228 provides the loop start address LSA. However, as long as the input counter 228 is not supplied with an input signal at its charge control connection, it does not receive the new address but continues to count. This does not apply if the input data is formed only by data SDF of the formant area.

Wenn die Flagge für Enddaten EI vom Register 214 für unter­ geordnete Daten gesetzt wird, d. h. wenn der Endblock für Schleifendaten SDL oder der Endblock für Daten SDF des For­ mantenbereichs erreicht ist, schaltet das Und-Glied 225 über das Oder-Glied 226 durch, wodurch die Schleifenstartadresse LSA im Adreßregister 221 an den Adreßzähler 222 mit Auftreten des Synchronisierpulses CPA geliefert wird. Wie oben erwähnt, sind die Adressen SA oder LSA Adressen für einen Bitkompres­ sionsblock als Einheit, wodurch zunächst auf den Startblock für Quelltondaten zugegriffen wird, wenn die Signale für den nächsten Block verarbeitet werden.When the flag for end data EI is set by the subordinate data register 214 , that is, when the end block for loop data SDL or the end block for data SDF of the shape area is reached, the AND gate 225 switches through the OR gate 226 , whereby the loop start address LSA in address register 221 is supplied to address counter 222 when the synchronization pulse CP A occurs . As mentioned above, the addresses are SA or LSA addresses for a bit compression block as a unit, whereby the start block for source sound data is first accessed when the signals for the next block are processed.

Der oben genannte Enddatenwert EI wird auch dem Und-Glied 217 zugeführt. Das negierte Ausgangssignal des Datenwerts LI, der anzeigt, ob Schleifenbildung erfolgen soll oder nicht, wird ebenfalls dem Und-Glied 217 zugeführt, so daß das Aus­ gangssignal vom Inverter 216 auf hohen Pegel geht, wenn die Quelltondaten nur die erste Art von Daten SDF3 (Daten ent­ sprechend dem Formantenbereich) aufweisen, aber Schleifen­ domänendaten SDL fehlen. Wenn der Endblock der Quelltondaten SD3 erreicht ist, geht das Ausgangssignal vom Und-Glied 217 auf hohen Pegel und setzt das Flipflop 218, wodurch dieses die dämpfende Rauschsperre so ansteuert, daß diese Audio­ signale abschneidet. Dies ist die Funktion der Rauschsperre, wenn keine Schleifenbildung erfolgt. Erfolgt eine solche je­ doch, wird die Schleife wiedergegeben, bis das nächste Signal Taste-Ein auftritt. Das Tondämpfen erfolgt dann mit Hilfe einer Hüllkurvencharakteristik. Wird das Signal Taste-Ein 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.The above-mentioned end data value EI is also supplied to the AND gate 217 . The negated output signal of the data value LI, which indicates whether looping should take place or not, is also fed to the AND gate 217 , so that the output signal from the inverter 216 goes high when the source sound data only the first type of data SDF3 ( Data corresponding to the formant area), but loop domain data SDL are missing. When the end block of the source sound data SD3 is reached, the output signal from the AND gate 217 goes high and sets the flip-flop 218 , whereby this drives the damping squelch so that this cuts audio signals. This is the squelch function when there is no looping. If this happens, the loop is played until the next key-on signal occurs. The sound attenuation then takes place with the aid of an envelope characteristic. If the key-on signal K0N is input, it arrives at the reset input R of the flip-flop 218 , which is thereby reset regardless of the previous state, as a result of which the blocking effect of the attenuator 236 is canceled.

Beim Benutzen der zwei Quelltondaten SD1 und SD2 von Fig. 30 und besonders beim Benutzen der Schleifendatenbereiche SDL1, SDL2 davon, können Quelltondaten von der äußeren Einrichtung 210 zum Liefern von Quelltondaten abwechselnd in die Speicher­ bereiche für SDL1 und SDL2 eingelesen und ausgelesen werden, damit sie in einem Dekodierer 230 dekodiert werden, um das Dekodieren der Quelltondaten für eine verlängerte Zeitspanne auszuüben. Dies bedeutet, daß beim Auslesen und Dekodieren von Quelltondaten aus einem Speicherbereich für SDL1, SDL2 Quelltondaten von der äußeren Quelltondatenliefereinrichtung 210 in andere Speicherbereiche eingeschrieben werden, so daß das Einschreiben und Lesen in bezug auf diese Speicherberei­ che abwechselnd erfolgt.When using the two Quelltondaten SD1 and SD2 of Fig. 30, particularly when using the loop data areas SDL1, SDL2 thereof Quelltondaten may for supplying Quelltondaten alternately areas in the memory for SDL1 and are read SDL2 and read out from the external device 210, so that they be decoded in a decoder 230 to perform the decoding of the source sound data for an extended period of time. This means that when reading and decoding source sound data from a storage area for SDL1, SDL2, source sound data from the outer source sound data supply device 210 are written into other storage areas, so that the writing and reading in relation to these storage areas takes place alternately.

Dies kann sehr einfach dadurch erzielt werden, daß die Start­ adressen LSA1 und LSA2 abwechselnd miteinander zum Ausführen einer Schleifenfunktion ausgetauscht werden. Im Speicher 213, wie er durch Fig. 30 veranschaulicht ist, werden die in den Speicherbereich 212a eingeschriebenen Adreßdaten von den Schleifenstartadreßdaten LSA1 in die Schleifenstartadreßdaten LSA2 umgeschrieben. Dadurch wird die Schleifenstartadresse LSA2 in den Speicherbereich 212 eingeschrieben, während die Quelltondaten SDL1 ausgelesen und dekodiert werden. Die ein­ geschriebene Adresse LSA2 wird in das Adreßregister 221 über­ tragen. Mit dem Ende der Daten SDL1, d. h. mit Erreichen des Schleifenendpunktes, wird auf Quelltondaten SDL2 ab der Startadresse LSA2 dadurch zugegriffen, daß die letztgenannte Startadresse in den Adreßzähler 222 geladen wird. In der Zeitspanne, in der dann die Quelltondaten SDL2 ausgelesen und dekodiert werden, wird die Schleifenstartadresse LSA1 in den Speicherbereich 212 eingeschrieben. Mit Auftreten des Endes der Daten SDL2, d. h. beim erneuten Erreichen eines Schlei­ fendendpunktes, wird die genannte Adresse LSA1 in den Adreß­ zähler 222 geladen, so daß nun auf Quelltondaten SDL1 ab die­ ser Adresse zugegriffen wird. Auf diese Art und Weise können für verlängerte Zeitdauern Quelltondaten dekodiert werden, ohne daß dies den Hardwareaufwand erhöht.This can be achieved very simply by alternating the start addresses LSA1 and LSA2 with one another in order to carry out a loop function. In the memory 213, as is illustrated by Fig. 30, the address data of a registered the Schleifenstartadreßdaten LSA1 in the Schleifenstartadreßdaten LSA2 rewritten in the memory area 212. As a result, the loop start address LSA2 is written into the memory area 212 while the source sound data SDL1 is read out and decoded. The written address LSA2 is transferred to the address register 221 . At the end of the data SDL1, ie when the loop end point is reached, source sound data SDL2 is accessed from the start address LSA2 in that the last-mentioned start address is loaded into the address counter 222 . In the period in which the source sound data SDL2 is then read out and decoded, the loop start address LSA1 is written into the memory area 212 . When the end of the data SDL2 occurs, ie when a loop end point is reached again, the said address LSA1 is loaded into the address counter 222 , so that source sound data SDL1 is now accessed from this address. In this way, source sound data can be decoded for extended periods of time without increasing the hardware expenditure.

Es wird darauf hingewiesen, daß digitale Signalverarbeitung mit der oben genannten Bitkompression und -kodierung oder andere digitale Signalverarbeitung zum Erzeugen von Quellton­ daten häufig durch Software ausgeübt wird, die digitales Sig­ nalverarbeiten nutzt. Auch das Wiedergeben aufgezeichneter Quelltondaten wird häufig mit digitaler Signalverarbeitung bewerkstelligt. Fig. 23 zeigt ein Beispiel für ein Gesamt­ system, das aus einer Audiosignalverarbeitungseinrichtung 307 und Peripherieeinrichtungen besteht.It should be noted that digital signal processing with the above-mentioned bit compression and coding or other digital signal processing for generating source sound data is often performed by software that uses digital signal processing. The playback of recorded source sound data is also often accomplished with digital signal processing. Fig. 23 shows an example of an overall system that consists of an audio signal processing device 307 and peripheral devices.

Ein Host-Computer 304, z. B. ein üblicher PC, ein digitales elektronisches Musikinstrument oder ein TV-Spielgerät, ist mit einer Audiosignalverarbeitungseinrichtung 307 verbunden, die als Tonquelleneinheit arbeitet. Quelltondaten werden vom Host-Computer 304 in die Einheit 307 geladen. Die oben mehr­ fach erwähnte Einrichtung 210 zum Liefern von Quelltondaten ist also durch den Host-Computer 304 gegeben.A host computer 304 , e.g. B. a conventional PC, a digital electronic musical instrument or a TV game device is connected to an audio signal processing device 307 , which operates as a sound source unit. Source sound data is loaded into the unit 307 from the host computer 304 . The device 210 for supplying source sound data, which is mentioned in more detail above, is thus provided by the host computer 304 .

Die Audiosignalverarbeitungseinheit 307 besteht im wesent­ lichen aus einer CPU 303, wie einem Mikroprozessor, einem DSP (Digitaler Signalprozessor) 301 und einem Speicher 302 zum Speichern von Quelltondaten. Eine Mehrzahl von Verarbei­ tungsabläufen, einschließlich Auslesesteuerung der Quellton­ daten, Schleifenbildung, Bit-Expansion oder -Restauration, Intervallwandlung, Hüllkurvenaddition oder Halleffektserzeu­ gung, werden von dem DSP 301 ausgeführt. Der Speicher 302 dient auch als Pufferspeicher für Daten, die bei diesen Ver­ arbeitungen anfallen. Die CPU 303 steuert die Art und Weise, wie die von dem DSP 301 vollzogenen Abläufe ausgeführt wer­ den. Außerdem sorgt die CPU 303 für das Wiedereinschreiben von Adreßdaten LSA in den oben erwähnten Speicher 213 (hier Speicher 302) oder für das Einschreiben von Quelltondaten aus der Einrichtung 210 zum Liefern von Quelltondaten (innerhalb des Host-Computers 304) in den Speicher 213 (hier 302).The audio signal processing unit 307 consists essentially of a CPU 303 such as a microprocessor, a DSP (digital signal processor) 301 and a memory 302 for storing source sound data. A variety of processing operations, including readout control of the source audio data, looping, bit expansion or restoration, interval conversion, envelope addition, or Hall effect generation, are performed by the DSP 301 . The memory 302 also serves as a buffer for data generated in these processes. The CPU 303 controls the manner in which the operations performed by the DSP 301 are carried out. In addition, the CPU 303 provides for rewriting of address data LSA in the above-mentioned memory 213 (here memory 302 ) or for writing source sound data from the device 210 for supplying source sound data (within the host computer 304 ) into the memory 213 (here 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. The digital musical sound data generated by the DSP 301 after these various processes, resulting from the source sound data from the memory 302 , are converted by a D / A converter 305 (corresponding to the D / A converter 237 ) and output via a loudspeaker 306 .

Das Folgende ist eine verallgemeinerte Erläuterung verschie­ dener charakteristischer Eigenschaften der beschriebenen Vor­ richtung und des beschriebenen Verfahrens. Man kann sich eine verallgemeinerte Quelltonvorrichtung denken, wie sie schema­ tisch in Fig. 33 dargestellt ist. Mir ihr verringert sich die Anzahl von Zugriffen auf einen Speicher, wenn Adressen für verschiedene Startdaten in ein Adreßregister einer Audiosig­ nalverarbeitungseinrichtung geladen werden.The following is a generalized explanation of various characteristics of the described device and the described method. One can think of a generalized source sound device as shown schematically in FIG. 33. With her, the number of accesses to a memory is reduced if addresses for various start data are loaded into an address register of an audio signal processing device.

Die Quelltonverarbeitungseinrichtung gemäß Fig. 33 weist einen Quelltondatenspeicher 241 (entsprechend 221 in Fig. 29) auf, zum Speichern von Quelltondaten, die einen Datenbereich SDF mit einer ersten Folge aufeinanderfolgender Abtastdaten und einen Datenbereich SDL aufweisen, der eine zweite Anzahl aufeinanderfolgender Abtastwerte beinhaltet. Weiterhin ist ein Startadreßdatenspeicher 242 (entsprechend 212 in Fig. 29) vorhanden, zum Speichern der Datenstartadresse SA, die zu den Quelltondaten gehört und zum Speichern einer Schleifenstart­ adresse LSA. Ein Adreßgenerator 243 (entsprechend 220 in Fig. 29) dient zum Erzeugen der Ausleseadressen für den Quelltondatenspeicher 241 auf Grundlage der Datenstartadresse SA und der Schleifenstartadresse LSA. Die oben genannte Da­ tenstartadresse SA aus dem Startadreßdatenspeicher 242 wird z. B. in ein Adreßregister 244 (entsprechend 221 in Fig. 29) innerhalb dem Adreßgenerator 243 geladen. Die Daten SDF aus der ersten Anzahl aufeinanderfolgender Abtastwerte werden aus dem Speicherbereich gelesen, beginnend mit der Startadresse für den Quelltondatenspeicher 241. Die Schleifenstartadresse LSA aus dem Startadressendatenspeicher 242 wird in das Adreß­ register 244 geladen, und die Daten SDL der zweiten Anzahl aufeinanderfolgender Abtastwerte werden wiederholt ausgele­ sen, um analoge oder digitale Audiosignale wiederzugeben.The source sound processing device according to FIG. 33 has a source sound data memory 241 (corresponding to 221 in FIG. 29) for storing source sound data which have a data area SDF with a first sequence of successive sample data and a data area SDL which contains a second number of successive sample values. There is also a start address data memory 242 (corresponding to 212 in FIG. 29) for storing the data start address SA which belongs to the source sound data and for storing a loop start address LSA. An address generator 243 (corresponding to 220 in FIG. 29) serves to generate the read-out addresses for the source sound data memory 241 on the basis of the data start address SA and the loop start address LSA. The above-mentioned data start address SA from the start address data memory 242 is e.g. B. loaded into an address register 244 (corresponding to 221 in FIG. 29) within the address generator 243 . The SDF data from the first number of consecutive samples is read from the memory area, starting with the start address for the source sound data memory 241 . The loop start address LSA from the start address data memory 242 is loaded into the address register 244 , and the data SDL of the second number of consecutive samples are repeatedly read out to reproduce analog or digital audio signals.

Bei der Quelltonverarbeitungseinrichtung gemäß Fig. 33 werden die Datenstartadressen in den Adreßgenerator geliefert, um die erste Anzahl aufeinanderfolgender Abtastwerte auslesen zu können. Dann wird die Schleifenstartadresse in den Adreß­ generator geladen, um dadurch die zweite Anzahl aufeinander­ folgender Abtastwerte auslesen zu können. Es wird dann bis zur nächsten Quelltonerzeugung die erste Anzahl aufeinander­ folgender Abtastwerte nicht mehr ausgelesen. Anders gesagt, mit dem Erzeugen des Signals Taste-Ein wird entweder die Schleifenstartadresse oder die Datenstartadresse geladen. Auf diese Art und Weise wird die Datenstartadresse mit dem Signal Taste-Ein geladen, während die Schleifenstartadresse anders geladen wird, wodurch die Anzahl von Zugriffen auf den Spei­ cher verringert werden kann, was eine vereinfachte Multiplex­ verarbeitung ermöglicht.In the Quelltonverarbeitungseinrichtung shown in FIG. 33, the data start addresses are provided in the address generator to be able to read out the first number of consecutive samples. The loop start address is then loaded into the address generator in order to be able to read out the second number of consecutive samples. The first number of consecutive samples is then no longer read out until the next source tone generation. In other words, when the key-on signal is generated, either the loop start address or the data start address is loaded. In this way, the data start address is loaded with the key-on signal while the loop start address is loaded differently, whereby the number of accesses to the memory can be reduced, which enables simplified multiplex processing.

Fig. 34 zeigt schematisch eine Quelltonverarbeitungseinrich­ tung, mit der es vereinfacht möglich ist, zu beurteilen, ob eine Schleifendomäne vorhanden ist, oder ob das Wiedergeben von Quelltondaten beendet werden soll, denen eine Schleifen­ domäne fehlt. Fig. 34 schematically shows a source sound processing device with which it is simplified to judge whether a loop domain is present or whether to stop playing source sound data which is missing a loop domain.

Die Quelltonverarbeitungseinrichtung gemäß Fig. 34 weist einen Quelltondatenspeicher 251 (entsprechend 211 in Fig. 29) auf, zum ausgewählten Speichern von Quelltondaten, die eine erste Art aufeinanderfolgender Abtastwerte Sa einschließlich einer zu wiederholenden Schleifendomäne aufweisen, und eine zweite Art mehrfach aufeinanderfolgender Abtastwerte Sb, denen eine Schleifendomäne fehlt. Ein Register 252 für unter­ geordnete Daten (entsprechend 214 in Fig. 29) dient zum Aus­ sondern von Daten, die mit den Quelltondaten gekoppelt sind. Eine Flaggenprüfschaltung 253 (entsprechend 216-218 in Fig. 29) dient zum Ermitteln von Flaggen, die das Vorhanden­ sein oder Fehlen einer Schleifendomäne in den Quelltondaten anzeigt, und zum Ermitteln des Endes von Quelltondaten. Ein Adreßgenerator 254 (entsprechend 220 in Fig. 34) dient zum Erzeugen von Adressen zum Auslesen der ersten Art aufeinan­ derfolgender Abtastwerte Sa und der zweiten Art aufeinanderfolgender Abtastwerte Sb aus dem Quelltondatenspeicher 251, mit Hilfe der Quelltondaten und der mit dem Register 252 aus­ gesonderten untergeordneten Daten. Eine Audiosignalverarbei­ tungseinrichtung 255 (entsprechend 230 in Fig. 29) dient zum Verarbeiten, z. B. Dekodieren, der Quelltondaten auf Grund­ lage der ausgesonderten Daten, zum Erzeugen wiedergebbarer Daten. Ein Dämpfglied 256 (entsprechend 236 in Fig. 29) dient zum Dämpfen der durch Verarbeitung gewonnenen Quelltondaten mit Hilfe der oben genannten Flagge innerhalb der Flaggen­ prüfschaltung 253. Die erste oder die zweite Art der aufein­ anderfolgenden Abtastwerte Sa bzw. S wird wiederholt aus dem Quelltondatenspeicher 251 ausgelesen, um analoge oder digita­ le Audiosignale zu erzeugen, während immer dann gedämpft wird, wenn die zugehörige Flagge anzeigt, daß den Quellton­ daten eine Schleifendomäne fehlt, oder daß das Auslesen der Quelltondaten beendet ist.The Quelltonverarbeitungseinrichtung shown in FIG. 34 has a Quelltondatenspeicher 251 (corresponding to 211 in Fig. 29), for selectively storing Quelltondaten that a first type of successive samples Sa including have to be repeated loop domain, and a second type multiple successive samples Sb, where a loop domain is missing. A subordinate data register 252 (corresponding to 214 in Fig. 29) serves to separate out data that is coupled to the source sound data. A Flaggenprüfschaltung 253 (corresponding to 216-218 in Fig. 29) is used to determine of flags, which may be the presence or absence indicating a loop domain in the Quelltondaten, and to determine the end of Quelltondaten. An address generator 254 (corresponding to 220 in FIG. 34) is used to generate addresses for reading out the first type of successive samples Sa and the second type of successive samples Sb from the source sound data memory 251 , with the aid of the source sound data and those subordinate with the register 252 Data. An audio signal processing device 255 (corresponding to 230 in Fig. 29) is used for processing, e.g. B. decoding, the source sound data based on the discarded data, to generate reproducible data. An attenuator 256 (corresponding to 236 in FIG. 29) serves to attenuate the source sound data obtained by processing with the aid of the flag mentioned above within the flag checking circuit 253 . The first or the second type of successive samples Sa or S is repeatedly read from the source audio data memory 251 to produce analog or digital audio signals, while attenuating whenever the associated flag indicates that the source audio data lacks a loop domain , or that the reading of the source sound data has ended.

Die Quelltondatenverarbeitungseinrichtung gemäß Fig. 34 bil­ det eine Flagge, die das Ende der Daten oder das Fehlen einer Schleifendomäne anzeigt. Daraufhin wird das ausgegebene Sig­ nal gedämpft. Dadurch kann die Schleifensteuerung vereinfacht werden, ohne daß zusätzliche Daten für die Schleifenbildung erforderlich sind. Ähnliche Effekte können auch dadurch er­ zielt werden, daß zusätzlich zur Flagge, die das Vorhanden­ sein oder Fehlen einer Schleifendomäne anzeigt, eine Flagge verwendet wird, die ein Ende mit Schleife oder ein Ende ohne Schleife anzeigt.The Quelltondatenverarbeitungseinrichtung shown in FIG. 34 bil det a flag indicating the end of data or the lack of a loop domain. The output signal is then attenuated. This can simplify loop control without the need for additional data for loop formation. Similar effects can also be achieved by using, in addition to the flag indicating the presence or absence of a loop domain, a flag indicating an end with a loop or an end without a loop.

Fig. 35 zeigt als Blockschaltbild die Art, wie Quelltondaten kontinuierlich ausgelesen und wiedergegeben werden. Fig. 35 is a block diagram showing the manner in which source sound data is continuously read out and reproduced.

Die Anordnung gemäß Fig. 35 verfügt über einen Quelltonspei­ cher 261 (entsprechend dem Speicher 212 von Fig. 29), der einen ersten Quelltonspeicherbereich 261a und einen zweiten Quelltonspeicherbereich 261b aufweist. Eine Adreßbildeschaltung 236 bildet Ausleseadressen auf Grundlage der Start­ adresse, wie sie von einem Adreßregister 262 geliefert wird. Eine Steuereinrichtung 264 sorgt dafür, daß Daten abwechselnd aus den beiden genannten Speicherbereichen 261a bzw. 261b auf Grundlage der gelieferten Adresse ausgelesen werden. Eine Einrichtung zum Liefern von Quelltondaten 265 liefert Daten, die in einen der beiden Speicherbereiche 261a, 261b jeweils dann eingeschrieben werden, wenn immer gerade aus dem anderen Bereich Daten ausgelesen werden. Eine Einrichtung 266 zum Liefern von Startadressen ist vorhanden, die das Adreßregi­ ster 262 mit Startadressen für die beiden genannten Speicher­ bereiche versorgt. Eine Signalverarbeitungseinrichtung 267 dient dazu, die aus den beiden Speicherbereichen 261a und 261b ausgelesenen Quelltondaten zu verarbeiten.The arrangement of FIG. 35 has a Quelltonspei cher 261 (corresponding to the memory 212 of Fig. 29) having a first Quelltonspeicherbereich 261 a and a second Quelltonspeicherbereich 261 b. An address forming circuit 236 forms readout addresses based on the start address as supplied by an address register 262 . A control device 264 ensures that data are read out alternately from the two named memory areas 261 a and 261 b on the basis of the delivered address. A device for supplying source sound data 265 supplies data which are written into one of the two memory areas 261 a, 261 b each time data is being read from the other area. A device 266 for supplying start addresses is provided, which supplies the address register 262 with start addresses for the two memory areas mentioned. A signal processing device 267 serves to process the source sound data read from the two memory areas 261 a and 261 b.

Mit der Anordnung gemäß Fig. 35 ist es aufgrund des abwech­ selnden Auslesens und Einschreibens von Daten in die Spei­ cherbereiche bzw. aus den Speicherbereichen möglich, Quell­ tondaten kontinuierlich rauschfrei wiederzugeben. Es wird Schleifenwiedergabe von Quelltondaten ermöglicht, die nicht synchronisierte Signalmuster oder wiederholte Signalmuster beinhalten.With the arrangement according to FIG. 35, it is possible due to the alternating reading and writing of data into the memory areas or from the memory areas to reproduce source sound data continuously without noise. Loop playback of source sound data that includes unsynchronized signal patterns or repeated signal patterns is enabled.

Diese Datenwiedergabe wird möglich durch Wechseln der Start­ adressen im Adreßregister, ohne daß Hardware hinzugefügt wer­ den muß und ohne daß eine besondere Zeitablaufsteuerung er­ forderlich ist.This data playback is possible by changing the start addresses in the address register without adding hardware he must and without a special timing control is required.

Die Anordnungen gemäß den Fig. 33-35 dienten zum Veran­ schaulichen von drei Eigenschaften einer Einrichtung zum Wie­ dergeben von Quelltondaten.The arrangements according to FIGS . 33-35 served to illustrate three properties of a device for reproducing source sound data.

Wenn die anhand von Fig. 28 erläuterte Technologie auf der Seite der Quelltondatenerzeugung und -speicherung verwendet wird, d. h. wenn direkte PCM-Daten in einer vorgegebenen Anzahl führender Worte in einem Startblock für die Schleifen­ domäne verwendet werden, ist eine Anordnung realisierbar, wie sie in Fig. 36 dargestellt ist. Ein Block für die Bitkompres­ sionsdaten entspricht im wesentlichen demjenigen von Fig. 19. Statt der Flagge, die das Vorhadensein oder Fehlen einer Schleife anzeigt, und statt der Flagge, die das Ende einer Schleife anzeigt, werden zwei 1-Bit-Flaggen verwendet, näm­ lich Daten, die einen Block mit einem Schleifenstartpunkt an­ zeigen, d. h. eine Schleifenstartflagge LSF, und Daten, die einen Block mit Schleifenendpunkt anzeigen, d. h. eine Schleifenendpunktflagge LEF.If the technology explained with reference to FIG. 28 is used on the source sound data generation and storage side, ie if direct PCM data in a predetermined number of leading words are used in a start block for the loop domain, an arrangement as shown in FIG Fig. 36 is shown. A block for the bit compression data is substantially the same as that of Fig. 19. Instead of the flag indicating the presence or absence of a loop and the flag indicating the end of a loop, two 1-bit flags are used, namely Lich data indicating a block with a loop start point, ie a loop start flag LSF, and data indicating a block with a loop end point, ie a loop end point flag LEF.

In einem Speicher 271 innerhalb der Blockdarstellung von Fig. 36 werden komprimierte und kodierte Abtastdaten und Parameterdaten (Kopfdaten RF und untergeordnete Daten, wie in Fig. 19 dargestellt) sowie Tondaten gespeichert. Ebenfalls dort gespeichert ist die Schleifenstartadresse (Adresse für den Schleifenstartblock im Speicher), und zwar als Verzeich­ nisdatenwert. Zumindest die Schleifenstartdaten werden in das Adreßregister 272 über einen Datenbus vom Speicher aus übertragen und dort abgelegt, damit sie in einen Adreßzähler 273 direkt vom dem Ende einer Schleife eingegeben werden kön­ nen. Ein Dekodierer 274 gibt abhängig vom Ausgangssignal vom Adreßzähler 273 und von der Schleifenstartflagge LSF ein Steuersignal für direkte PCM-Signale aus, und zwar für die­ jenige Zeitspanne, innerhalb der eine vorgegebene Anzahl von Anfangsworten im Schleifenstartblock liegt, d. h. in derjeni­ gen Zeitspanne, in der die direkten PCM-Daten ausgegeben wer­ den. Wenn Quelltondaten für verschiedene Töne im Speicher 271 abgelegt sind, sind dort jeweils die Startadressen der Quell­ tondaten und die Startadressen von für die Schleifen abge­ legt. Auf ein Signal hin, z. B. das Signal Taste-Ein, werden die Anfangsadressen für diejenigen Tonsignaldaten ausgelesen, die einer vorgewählten Tonquelle zugeordnet sind. Diese Adressen werden aus dem Verzeichnis-Adreßbereich des Speichers 271 ausgelesen und über das Adreßregister 272 in den Adreßzähler 273 eingelesen, um dann Daten auszulesen, die ab der ersten Adresse gespeichert sind. Wenn nur eine Art von Quelltondaten gespeichert ist, muß der Zähler 273 nur beim Signal Taste-Ein von einem vorgegebenen Wert aus (Startadres­ se der Quelltondaten) zählen.Compressed and encoded sample data and parameter data (header data RF and subordinate data, as shown in FIG. 19) and sound data are stored in a memory 271 within the block diagram of FIG. 36. The loop start address (address for the loop start block in the memory) is also stored there, specifically as a directory data value. At least the loop start data is transferred to the address register 272 via a data bus from the memory and stored there so that it can be entered into an address counter 273 directly from the end of a loop. Depending on the output signal from the address counter 273 and the loop start flag LSF, a decoder 274 outputs a control signal for direct PCM signals, specifically for the period of time within which a predetermined number of start words lies in the loop start block, ie in the period of time in which the direct PCM data are output. If source sound data for different tones are stored in the memory 271 , the start addresses of the source sound data and the start addresses of the loops are stored there. In response to a signal, e.g. B. the signal key-on, the start addresses for those sound signal data are read out, which are assigned to a preselected sound source. These addresses are read out from the directory address area of the memory 271 and read into the address counter 273 via the address register 272 in order to then read out data which are stored from the first address. If only one type of source sound data is stored, the counter 273 only has to count from a predetermined value (start address of the source sound data) when the key-on signal is present.

Von den Quelltondaten, wie sie aus dem Speicher 271 ausgele­ sen werden, werden die vorgenannten Parameterdaten, d. h. die untergeordneten Daten und die Kopfdaten RF gemäß Fig. 19 in ein Unterdatenregister 275 übertragen und dort zwischenge­ speichert. Die Abtastdaten DA0H - DB3L gemäß Fig. 19, d. h. 4-Bit-komprimierte Daten, werden in ein Datenregister 276 übertragen und dort zwischengespeichert. Die ebenfalls im Speicher 271 abgelegten direkten PCM-Daten für die vorgegebe­ ne Anzahl von Anfangsworten im Schleifenstartblock werden an einen Multiplexer 278 übertragen.From the source sound data, as they are read out from the memory 271 , the aforementioned parameter data, ie the subordinate data and the header data RF according to FIG. 19 are transferred to a sub-data register 275 and temporarily stored there. The scan data D A0H -D B3L according to FIG. 19, ie 4-bit compressed data, are transferred to a data register 276 and buffered there. The direct PCM data likewise stored in the memory 271 for the predetermined number of initial words in the loop start block are transmitted to a multiplexer 278 .

Die im Datenregister 276 zwischengespeicherten Daten werden an einen Bitschieber 277 übertragen, der dem Schieber 92 des Dekoders 90 von Fig. 18 entspricht. Das Ausgangssignal vom Bitschieber 277 wird über den Multiplexer 278 an einen Sum­ mierpunkt 280 geliefert, der dem Summierpunkt 93 von Fig. 18 entspricht. Das Ausgangssignal vom Summierpunkt 280 wird an ein Ausgangsregister 286 und gleichzeitig an eine Vorhersage­ schaltung 291 geliefert, die dem Vorhersageglied 94 von Fig. 18 entspricht. Die Vorhersageschaltung 291 weist zwei Verzögerungsregister 284 und 285, diesen Registern zugeord­ nete Koeffizientenmultiplizierer 282 bzw. 283 und einen Sum­ mierpunkt 281 auf. Am Summierpunkt werden die Produkte aus den Ausgangssignalen und von den Verzögerungsregistern mit Koeffizienten gebildet, wie sie von einem Koeffizientengene­ rator 279 geliefert werden. Die Vorhersageschaltung 291, der Summierpunkt 280 und der Bitschieber 277 bilden einen Deko­ dierer 290 zum Dekodieren der bitkomprimierten, kodierten Da­ ten. The data temporarily stored in the data register 276 is transferred to a bit shifter 277 , which corresponds to the shifter 92 of the decoder 90 of FIG. 18. The output signal from the bit shifter 277 is supplied via the multiplexer 278 to a summing point 280 which corresponds to the summing point 93 of FIG. 18. The output signal from the summing point 280 is supplied to an output register 286 and at the same time to a prediction circuit 291 , which corresponds to the prediction element 94 of FIG. 18. The prediction circuit 291 has two delay registers 284 and 285 , coefficient multipliers 282 and 283 assigned to these registers, and a summing point 281 . At the summing point, the products are formed from the output signals and from the delay registers with coefficients, as are supplied by a coefficient generator 279 . The prediction circuit 291 , the summing point 280 and the bit shifter 277 form a decoder 290 for decoding the bit-compressed, encoded data.

Von den Kopfdaten FR, die im Unterdatenregister 275 zwischen­ gespeichert sind, werden die Bereichsdaten und die Fenster­ auswahldaten zum Bitschieber 277 bzw. zum Koeffizientengene­ rator 279 übertragen. Die Schleifenendflagge LEF und die Schleifenstartflagge LSF werden an den Setzsteuereingang für den Adreßzähler 273 bzw. an den Dekodierer 274 gegeben.From the header data FR, which are temporarily stored in the sub-data register 275 , the area data and the window selection data are transmitted to the bit shifter 277 and to the coefficient generator 279 , respectively. The loop end flag LEF and the loop start flag LSF are applied to the set control input for the address counter 273 and to the decoder 274, respectively.

Die genannten 4-Bit-komprimierten Daten werden im Dekodierer 290 von Fig. 36 dekodiert, entsprechend wie dies anhand des Dekodierers von Fig. 18 erläutert wurde. Dadurch werden 16- Bit-Amplitudendaten ausgegeben, die an einen D/A-Wandler 287 über das Ausgangsregister 286 geliefert werden. Der Wandler 287 gibt ein analoges Musiktonsignal an einen Ausgangsan­ schluß 288. Im folgenden wird erläutert, wie bei Schleifen­ wiedergabe von einem Schleifenendpunkt zu einem Schleifen­ startpunkt zurückgekehrt wird. Wenn Quelltondaten für den Block, der den Schleifenendpunkt beinhaltet, ausgelesen wer­ den, wird die Schleifenendflagge LEF der untergeordneten Daten gesetzt. Wenn der Schleifenendpunkt erreicht wird, wird die Schleifenstartpunktadresse, wie sie im Adreßregister 272 zwischengespeichert ist, in den Adreßzähler 273 übertragen, da die Schleifenendflagge LEF hierzu die Anweisung gibt. Da­ durch sorgt der Adreßzähler 273 dafür, daß über einen Adreß­ bus auf den Schleifenstartblock im Speicher 271 zugegriffen wird. Dadurch werden die direkten PCM-Daten für die vorgege­ bene Anzahl führender Worte ausgelesen. Während diese direk­ ten PCM-Daten ausgelesen werden, führt der Dekodierer 274 eine Steuerung aus, in der er das Umschaltsteuersignal für die direkten PCM-Daten an den Multiplexer 278 und den Koeffi­ zientengenerator 279 gibt, um die direkten PCM-Daten direkt an das Ausgangsregister 286 zu liefern. Der Multiplexer 278 wählt also die direkten PCM-Daten aus dem Speicher 271 aus, während der Koeffizientengenerator 279 solche Koeffizienten an die Multiplizierer 282 und 283 liefer, die ein Filter 0-ter Ordnung bilden, wodurch die unmittelbaren PCM-Daten als Ausgangssignal vom Summierpunkt 280 erhalten werden. The 4-bit compressed data mentioned is decoded in the decoder 290 of FIG. 36, in accordance with what has been explained with reference to the decoder of FIG. 18. This outputs 16-bit amplitude data, which is supplied to a D / A converter 287 via the output register 286 . The converter 287 outputs an analog musical tone signal to an output terminal 288 . The following explains how loop playback returns from a loop end point to a loop start point. When source sound data for the block containing the loop end point is read out, the loop end flag LEF of the subordinate data is set. When the loop end point is reached, the loop start point address, as temporarily stored in the address register 272 , is transferred to the address counter 273 , since the loop end flag LEF gives the instruction for this. Since the address counter 273 ensures that the loop start block in the memory 271 is accessed via an address bus. As a result, the direct PCM data for the specified number of leading words are read out. While this direct PCM data is being read out, the decoder 274 executes a control in which it gives the switching control signal for the direct PCM data to the multiplexer 278 and the coefficient generator 279 to the direct PCM data directly to the output register 286 to deliver. The multiplexer 278 therefore selects the direct PCM data from the memory 271, while the coefficient generator 279 such coefficients to the multipliers 282 and 283 delivery, which form a filter 0-order, so that the straight PCM data as an output signal from the summing junction 280 be preserved.

Da die direkten PCM-Daten direkt als Schleifenstartpunktdaten verwendet werden können, besteht keine Notwendigkeit, Vorher­ sagen für die Schleifenendpunktdaten zu treffen. Dadurch fal­ len mit guter Wirkung Fehler weg, die ansonsten durch Diskon­ tinuitäten an den Schleifenpunkten auftreten.Since the direct PCM data directly as loop start point data There is no need to use Before say to hit for the loop endpoint data. As a result, len with good effect mistakes, which otherwise through discount tinctures occur at the loop points.

Beim beschriebenen Fall kommen zu den Quelltondaten lediglich die unmittelbaren PCM-Daten für den Schleifenstartpunkt LPS hinzu, während die Kompressionsrate insgesamt unverändert bleibt. Dadurch muß die Speicherkapazität nicht erhöht wer­ den.In the case described, only the direct PCM data for the loop start point LP S are added to the source sound data, while the overall compression rate remains unchanged. This means that the storage capacity does not have to be increased.

Dadurch, daß unmittelbare PCM-Daten im Anfangsbereich einer Schleifendomäne angeordnet werden, was dadurch erfolgt, daß eine vorgegebene Anzahl von Anfangsworten in einem Block, der auf den ersten Block einer Schleifendomäne folgt, aus unmit­ telbaren PCM-Datenworten besteht, wird es möglich, Fehler beim Auslesen zu vermeiden, wenn die Daten von einem belie­ bigen Block ausgelesen und wiedergegeben werden. Die Anzahl von Bits der unmittelbaren PCM-Daten kann mit der Bitzahl für die Kompressionsdaten gleich sein, wobei beispielsweise die Zahl außerdem mit der Bitzahl der ursprünglichen abgetasteten Amplitudendaten gleich ist. Unmittelbare PCM-Daten, die dabei mit den Bereichsdaten eines Blocks komprimiert sind, können benutzt werden.The fact that immediate PCM data in the initial area of a Loop domain are arranged, which is done in that a predetermined number of initial words in a block, the follows the first block of a loop domain from immediately possible PCM data words, it becomes possible for errors to avoid when reading, if the data from a belie other block can be read out and reproduced. The number of bits of immediate PCM data can be compared to the number of bits for the compression data be the same, for example the Number also with the number of bits of the original sampled Amplitude data is the same. Immediate PCM data included can be compressed with the area data of a block to be used.

Claims (2)

1. Interpolationsfilter zum Verarbeiten von von digitalen Tonquellen gelieferten Eingangsdaten, die mit einer Abtastfrequenz fs abgetastet sind, wobei der Abtast­ frequenz eine entsprechende Abtastperiode zugeordnet ist, umfassend:
eine Filteranordnung, die aus m Sätzen von Filtern n-ter Ordnung besteht, zum Auffinden digitaler Daten für m In­ terpolationspunkte, die innerhalb der Abtast­ periode liegen, wodurch Interpolationsdaten mit einer Auflösung von m.fs erzeugt werden, wobei m ≧ 2 gilt,
dadurch gekennzeichnet, daß
die m Sätze von Filtern n-ter Ordnung jeweils gleiche Amplitudencharakteristik aufweisen.
1. An interpolation filter for processing input data supplied by digital sound sources, which are sampled at a sampling frequency fs, the sampling frequency being assigned a corresponding sampling period, comprising:
a filter arrangement consisting of m sets of filters of the n-th order for finding digital data for m interpolation points which lie within the sampling period, as a result of which interpolation data are generated with a resolution of mf s , where m ≧ 2 applies,
characterized in that
the m sets of nth order filters each have the same amplitude characteristic.
2. Interpolationsfilter nach Anspruch 1, gekennzeichnet durch n Koeffizientenmultiplizierer (151), (n-1) Verzö­ gerungseinheiten (152) und eine Summiereinheit (153).2. Interpolation filter according to claim 1, characterized by n coefficient multipliers ( 151 ), (n-1) delay units ( 152 ) and a summing unit ( 153 ).
DE3943795A 1988-11-19 1989-11-17 interpolation Expired - Lifetime DE3943795C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE3938311A DE3938311C2 (en) 1988-11-19 1989-11-17 Device for generating source sound data

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP63292935A JP2712422B2 (en) 1988-11-19 1988-11-19 Continuous sound data playback device
JP63292931A JPH02137896A (en) 1988-11-19 1988-11-19 Generating method for sound source data
JP63292933A JP2712421B2 (en) 1988-11-19 1988-11-19 Sound source device
JP63292934A JP2671456B2 (en) 1988-11-19 1988-11-19 Sound source device
JP63301544A JP2674161B2 (en) 1988-11-29 1988-11-29 Sound source data compression coding method
JP2556489A JPH02206216A (en) 1989-02-03 1989-02-03 Interpolation filter
DE3938311A DE3938311C2 (en) 1988-11-19 1989-11-17 Device for generating source sound data

Publications (1)

Publication Number Publication Date
DE3943795C2 true DE3943795C2 (en) 2002-10-17

Family

ID=27561530

Family Applications (3)

Application Number Title Priority Date Filing Date
DE3943795A Expired - Lifetime DE3943795C2 (en) 1988-11-19 1989-11-17 interpolation
DE3943796A Expired - Lifetime DE3943796C2 (en) 1988-11-19 1989-11-17 Source audio data generator
DE3943797A Expired - Lifetime DE3943797B4 (en) 1988-11-19 1989-11-17 Device for processing source sound data

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE3943796A Expired - Lifetime DE3943796C2 (en) 1988-11-19 1989-11-17 Source audio data generator
DE3943797A Expired - Lifetime DE3943797B4 (en) 1988-11-19 1989-11-17 Device for processing source sound data

Country Status (1)

Country Link
DE (3) DE3943795C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009014655A1 (en) * 2009-03-25 2010-10-07 Schippmann, Carsten, Dipl.-Ing. Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter

Citations (6)

* 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
EP0187211A1 (en) * 1984-10-30 1986-07-16 Yamaha Corporation Tone signal generating apparatus
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming device
EP0229926A2 (en) * 1985-11-29 1987-07-29 Yamaha Corporation Tone signal processing device
EP0266703A2 (en) * 1986-11-02 1988-05-11 Yamaha Corporation Tone signal processing device using a digital filter
EP0273447A2 (en) * 1986-12-30 1988-07-06 Yamaha Corporation Tone signal generation device employing a digital filter

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPS59188697A (en) * 1983-04-11 1984-10-26 ヤマハ株式会社 Musical sound generator
US4797902A (en) * 1984-12-29 1989-01-10 Sony Corporation Digital signal transmission device
US4916996A (en) * 1986-04-15 1990-04-17 Yamaha Corp. Musical tone generating apparatus with reduced data storage requirements

Patent Citations (6)

* 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
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming device
EP0187211A1 (en) * 1984-10-30 1986-07-16 Yamaha Corporation Tone signal generating apparatus
EP0229926A2 (en) * 1985-11-29 1987-07-29 Yamaha Corporation Tone signal processing device
EP0266703A2 (en) * 1986-11-02 1988-05-11 Yamaha Corporation Tone signal processing device using a digital filter
EP0273447A2 (en) * 1986-12-30 1988-07-06 Yamaha Corporation Tone signal generation device employing a digital filter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009014655A1 (en) * 2009-03-25 2010-10-07 Schippmann, Carsten, Dipl.-Ing. Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter

Also Published As

Publication number Publication date
DE3943796C2 (en) 2002-09-12
DE3943797B4 (en) 2004-11-18

Similar Documents

Publication Publication Date Title
DE3936693C2 (en) Device for generating digital audio signals
DE19709930B4 (en) Sound processor, which detects the pitch and the envelope of an acoustic signal frequency matched
DE3036680A1 (en) VOICE SYNTHESIZER WITH EXTENDABLE AND COMPRESSIBLE LANGUAGE TIME
GB2227859A (en) Apparatus for generating, recording or reproducing sound source data
US4779505A (en) Electronic musical instrument of full-wave readout system
DE69934069T2 (en) Sound effect adding device
EP0042555B1 (en) Method of digitally controlling the envelope in a polyphonic musical synthesis instrument, and circuits to put this method into practice
DE69736279T2 (en) SOUND-rate converter
DE4226929C2 (en) Pitch control device
DE4190102B4 (en) Data compression of sound data
DE4218623C2 (en) Speech synthesizer
AT403969B (en) METHOD FOR COMPRESSING AN ANALOG SIGNAL
DE3943795C2 (en) interpolation
DE3226619A1 (en) MODULATION EFFECT DEVICE
DE3938311C2 (en) Device for generating source sound data
DE4190031B4 (en) Data compression of decaying musical instrument sounds for a digital scanning system
DE3037276A1 (en) TONSYNTHESIZER
DE3938312C2 (en) Process for generating source sound data
DE3943800B4 (en) Generating source audio data - feeding analog or digital output signal to comb filter and passing only basic frequency and its harmonic oscillations
US5890119A (en) Digital sound generating system permitting a shared use of a hardware resource between different type tone generators
DE3226600A1 (en) Electronic musical instrument equipped with a reverberation tone generating apparatus
DE4008875C1 (en)
JPH0650432B2 (en) Music signal generator
DE10002014A1 (en) Playback control device, stores waveform data for playback with defined tempo, compresses, expands stored information, modulates reproduction according to generated tempo information
JPS61204697A (en) Tone signal generator

Legal Events

Date Code Title Description
AC Divided out of

Ref country code: DE

Ref document number: 3938311

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition