DE3943801B4 - Device for generating source sound data - Google Patents

Device for generating source sound data Download PDF

Info

Publication number
DE3943801B4
DE3943801B4 DE3943801A DE3943801A DE3943801B4 DE 3943801 B4 DE3943801 B4 DE 3943801B4 DE 3943801 A DE3943801 A DE 3943801A DE 3943801 A DE3943801 A DE 3943801A DE 3943801 B4 DE3943801 B4 DE 3943801B4
Authority
DE
Germany
Prior art keywords
data
signal
loop
block
interval
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
DE3943801A
Other languages
German (de)
Inventor
Makoto Furuhashi
Masakazu Suzuoki
Ken Kutaragi
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 JP63292932A external-priority patent/JP2876604B2/en
Priority claimed from JP63292940A external-priority patent/JP2864508B2/en
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to DE3938312A priority Critical patent/DE3938312C2/en
Priority claimed from DE3938312A external-priority patent/DE3938312C2/en
Application granted granted Critical
Publication of DE3943801B4 publication Critical patent/DE3943801B4/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • G10H3/00Instruments in which the tones are generated by electromechanical means
    • G10H3/12Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
    • G10H3/125Extracting or recognising the pitch or fundamental frequency of the picked up signal
    • 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
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • 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/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/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/261Window, i.e. apodization function or tapering function amounting to the selection and appropriate weighting of a group of samples in a digital signal within some chosen time interval, outside of which it is zero valued
    • G10H2250/281Hamming window
    • 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

Abstract

Vorrichtung zum Erzeugen von Quelltondaten zum Abspeichern derselben in einem Speicher, durch Verarbeiten von Musiktonsignalen mit sich wiederholenden Signalmustern, umfassend:
– einen Intervalldetektor (12) zum Ermitteln des Intervalls des Tonsignals, das der Grundfrequenz des Tonsignals entspricht, mit Hilfe einer Fourier-Transformation, und
– eine Filtereinrichtung (15), die das eingegebene Musiktonsignal erhält und mit einer Kammfiltercharakteristik ausgebildet ist, um nur Signalanteile der Grundfrequenz und harmonischer Oberschwingungen derselben durchzulassen,
dadurch gekennzeichnet, daß
– im Intervalldetektor (12) nach Ausführen einer Fourier-Transformation die Phasen der erhaltenen Frequenzkomponenten aneinander angepaßt werden, sodann erneut eine Fourier-Transformation ausgeführt wird und schließlich die Periode der Spitzenwerte in den Ausgangsdaten ermittelt wird,
– eine Datenaussiebeinrichtung (16) sich wiederholende Daten aussondert, was dadurch erfolgt, daß ein Datenbereich der ermittelten Intervallbreite über die gesamten Signaldaten verschoben wird und Bereiche um den Anfangs- und Endpunkt des jeweils verschobenen Bereichs herum untersucht werden und daß auf richtige Lage des...
Apparatus for generating source sound data for storing the same in a memory by processing musical sound signals with repeating signal patterns, comprising:
- an interval detector (12) for determining the interval of the audio signal, which corresponds to the fundamental frequency of the audio signal, using a Fourier transformation, and
A filter device (15) which receives the input musical tone signal and is designed with a comb filter characteristic in order to let only signal components of the fundamental frequency and harmonic harmonics pass through,
characterized in that
The phases of the frequency components obtained are adapted to one another in the interval detector (12) after a Fourier transformation has been carried out, then a Fourier transformation is carried out again and the period of the peak values in the output data is finally determined,
- A data screening device (16) eliminates repetitive data, which is done by shifting a data area of the determined interval width over the entire signal data and examining areas around the start and end point of the respective shifted area and that the correct position of the .. ,

Figure 00000001
Figure 00000001

Description

Die Erfindung betrifft ein Vorrichtung zum Erzeugen von Quelltondaten nach dem Oberbegriff des Patentanspruches. Bei einer solchen Vorrichtung ist es erforderlich, verschiedenene Daten aus einem Eingangssignal zu erzeugen. Auch müssen Daten komprimiert und aufgezeichnet werden. Bei Musiktondaten müssen Intervalldaten ermittelt werden. Komprimieren erfolgt z. B. blockweise. Das Komprimieren und auch das Gewinnen von Wiederholperioden in einem Signal erfolgt z. B. durch einen digitalen Signalprozessor.The invention relates to a device for generating source sound data according to the preamble of the claim. With such a device, it is necessary to use various ones Generate data from an input signal. Also need data compressed and recorded. With musical sound data, interval data must be be determined. Compression takes place e.g. B. in blocks. Compressing and also the recovery of repetition periods takes place in one signal z. B. by a digital signal processor.

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

Da zum Speichern von Quelltondaten in der Regel ein Speicher großer Kapazität erforderlich ist, bestehen umfangreiche Bemühungen, Verfahren so zu gestalten, daß Speicherplatz eingespart wird. Hierzu gehört insbesondere eine Schleifenbildung d. h. ein Verfahren, das die Periodizität der Musiktonsignale ausnutzt und eine Bitkompression z. B. durch nichtlineare Quantisierung.As for storing source sound data usually a memory large capacity extensive efforts are required to design procedures so that storage space is saved. Which also includes especially looping d. H. a process that the periodicity exploits the musical tone signals and bit compression z. B. by nonlinear quantization.

Die Schleifenbildung dient auch dazu, Töne zu erzeugen, die länger sind als der ursprünglich abgetastete Ton. Ein Musikton besteht typischerweise aus einer Nichttonkomponente, wie sie z. B. beim Anschlagen einer Klaviertaste oder beim Anblasen eines Blasinstruments erfolgt, und einer periodischen Tonkomponente. Die Nichttonkomponente stellt einen Formantenteil mit nicht festliegender Periodizität dar. In der Tonkomponente weist das Signal ein bestimmtes Signalintervall auf. Durch Wiederholen von n (ganzzahlig) des Intervalls als Schleifendomäne kann ein verlängerter Ton unter Nutzung geringen Speicherplatzes erzeugt werden.The loop formation also serves Sounds too generate that longer are as the original sampled sound. A musical tone typically consists of a non-tone component, as they e.g. B. when striking a piano key or when blowing a wind instrument and a periodic tone component. The non-tone component represents a formant part with a non-fixed part periodicity The signal has a specific signal interval in the sound component on. By repeating n (integer) of the interval as a loop domain an extended one Sound can be generated using little space.

Bei der Schleifenbildung besteht ein Problem, das als Schleifenrauschen bekannt ist. Zum Schleifenrauschen kommt es aufgrund einer besonderen Verteilung der Frequenzen. Das Rauschen fällt auch dann auf, wenn sein Pegel geringer ist als der des weißen Rauschens. Mehrere Faktoren sind wahrscheinlich für das Schleifenrauschen verantwortlich.When looping exists a problem known as loop noise. For loop noise it happens due to a special distribution of frequencies. The Noise falls even if its level is lower than that of white noise. Several factors are likely responsible for loop noise.

Einer der Faktoren ist der, daß die Schleifenperiode nicht genau mit der Signalperiode eines Quelltonsignals übereinstimmt. Wenn z. B. ein Quellton von 401 kHz einer Schleifenbildung mit einer Periode von 400 Hz unterworfen wird, weist das durch Schleifenbildung gewonnene Signal nur noch Frequenzen auf, die einem ganzzahligen Vielfachen der Schleifenperiode entsprechen. Die Grundfrequenz des Quelltons wird nach 400 Hz verschoben, mit harmonischen Oberschwingungen mir Frequenzen von 800 Hz, 1600 Hz, ... Es kann gezeigt werden, daß dann, wenn ein Versatz von 1 % zwischen der Quelltonfrequenz und der Schleifenfrequenz besteht, bei der Schleifenbildung eine Harmonische n-ter Ordnung wie folgt gebildet wird, die man als Schleifenrauschen hört: Cn = (sin (n-0.01))/(π (n-0.01)) (a) One of the factors is that the loop period does not exactly match the signal period of a source tone signal. If e.g. B. a source tone of 401 kHz is looped with a period of 400 Hz, the signal obtained by looping only has frequencies that correspond to an integer multiple of the loop period. The fundamental frequency of the source tone is shifted to 400 Hz, with harmonic harmonics with frequencies of 800 Hz, 1600 Hz, ... It can be shown that when there is a 1% offset between the source tone frequency and the loop frequency, the loop formation a nth order harmonic is formed as follows, which is heard as loop noise: C n = (sin (n-0.01)) / (π (n-0.01)) (a)

Ein anderer Faktor besteht darin, daß nichtgeradzahlige Harmonische erzeugt werden, d. h. Harmonische k-ter Ordnung, wobei k nichtgeradzahlig ist. Das Quellsignal, das auf den ersten Blick periodisch erscheint, ist strenggenommen nicht periodisch mit mehreren Harmonischen, die nichtgeradzahliger Ordnung sind. Bei der Schleifenbildung werden diese harmonischen Oberschwingungen zwangsweise zu benachbarten geradzahligen Harmonischen verschoben. Diese bei der Schleifenbildung erzeugte Verzerrung hört man als Schleifenrauschen. Wenn die harmonischen Schleifen-Oberschwingungen eine Frequenzkomponente aufweisen, die das a-fache der Schleifenfrequenz ist, wobei a nicht notwendigerweise ganzzahlig ist, ist der Verzerrungsfaktor, wie er bei der Schleifenbildung gebildet wird, eine Funktion von a, die durch die folgende Gleichung gegeben ist:

Figure 00030001
wobei m diejenige ganze Zahl ist, die am dichtesten bei a liegt. Der Verzerrungsfaktor wird für a = 0,5; 1,5; 2,5; ... am größten und für 1,0; 2,0; 3,0 ... am kleinsten.Another factor is that non-even harmonics are generated, ie kth order harmonics, where k is non-even. Strictly speaking, the source signal, which appears periodic at first glance, is not periodic with several harmonics that are of an odd order. When forming loops, these harmonics are forcibly shifted to neighboring even harmonics. This distortion generated during loop formation can be heard as loop noise. If the harmonic loop harmonics have a frequency component that is a times the loop frequency, where a is not necessarily an integer, the distortion factor as formed in looping is a function of a given by the following equation :
Figure 00030001
where m is the integer closest to a. The distortion factor becomes for a = 0.5; 1.5; 2.5; ... largest and for 1.0; 2.0; 3.0 ... smallest.

Es wird angenommen, daß die genannten zwei Faktoren die hauptsächlichen für das Schleifenrauschen sind. Auf jeden Fall wird das Schleifenrauschen erzeugt, wenn die Schleifenperiode ein ganzzahliges Vielfaches der Quelltonperiode ist.It is believed that the above two factors the main for the Loop noise are. In any case, the loop noise generated when the loop period is an integer multiple of Is source tone period.

Die Frequenzkomponenten des Schleifenrauschens weisen eine spektrale Verteilung auf, das in der Wiedergabe unerwünscht ist, so daß es so weit wie möglich entfernt werden sollte.The frequency components of the loop noise have a spectral distribution that is in the Playback is undesirable, so it should be removed as much as possible.

Andererseits sind die abgetasteten und gespeicherten Quelltondaten diejenigen, die direkt digitalisiert wurden, so daß die Tonqualität von der Qualität beim Abtasten abhängt. Wenn der Ton beim Abtasten viele Rauschkomponenten aufweist, enthält auch das ausgelesene und wiedergegebene Signal diese Rauschkomponenten. Wenn ein Musikton mit sogenanntem Vibrato abgetastet wird, ist dieser Ton leicht frequenzmoduliert. Bei der Schleifenbildung führt das bei der Frequenzmodulation erzeugte Seitenband zu nichtgeradzahligen Oberschwingungen, was als Schleifenrauschen wiedergegeben wird.On the other hand, the scanned ones and stored source sound data those that were directly digitized, So that the sound Quality on the quality depends on scanning. If the sound has many noise components when sampled, also contains the read out and reproduced signal these noise components. When a musical tone is sampled with so-called vibrato, it is Tone slightly frequency modulated. This leads to the formation of loops sideband generated in frequency modulation to non-even numbers Harmonics, which is reproduced as loop noise.

Zum Beginnen und Beenden der Schleifenbildung werden üblicherweise zwei Punkte gleichen Pegels, insbesondere des Pegels 0 verwendet.To start and stop looping are common two points of the same level, in particular of level 0 are used.

Diese Auswahl von Schleifenpunkten ist schwierig und zeitaufwendig, da es nach einem Trial-and-Error-Verfahren erfolgt. Punkte mit in etwa gleichem Pegel werden als Start und Endpunkte festgelegt.This selection of loop points is difficult and time consuming as it follows a trial and error procedure he follows. Points with approximately the same level are used as start and Endpoints set.

Für die Schleifenbildung ist es erforderlich, die Grundfrequenz der Quelltondaten zu erfassen. Herkömmlich wird so vorgegangen, daß die Musiktondaten ein. Tiefpaßfilter (LPF) durchlaufen, um Rauschkomponenten hoher Frequenz auszufiltern. Es wird dann die Anzahl von Nulldurchgängen durch das Tiefpaßfilter ermittelt, um das Intervall zu ermitteln. Bei diesem Verfahren ist es erforderlich, daß der Musikton für längere Zeit aufrechterhalten wird, da das Intervall des Grundtones nur gemessen werden kann, wenn eine größere Anzahl von Nulldurchgängen gezählt wird. Das Verfahren läßt sich also nicht auf schnell abklingende Töne anwenden.For the looping it is necessary to change the fundamental frequency of the Capture source sound data. conventional the procedure is such that the Musical data. low pass filter (LPF) to filter out high frequency noise components. The number of zero crossings through the low-pass filter is then determined, to determine the interval. This procedure requires that the Music sound for longer time is maintained since the interval of the fundamental tone is only measured can be if a larger number of zero crossings counted becomes. The procedure can be so do not apply to fast fading tones.

Als anderes Verfahren zum Ermitteln des Intervalls soll hier ein solches erwähnt werden, das darin besteht, daß schnelle Fourier-Transformation ausgeführt wird, um die Spitzenpegel der Musiktondaten zu erfassen. Wenn jedoch die Grundfrequenz tiefer ist als die Abtastfrequenz fs, ist es mit diesem Verfahren nicht möglich, die Grundfrequenz zu ermitteln, was zu geringer Wiedergabetreue führt. Darüber hinaus gibt es Töne, bei denen der Grundton erheblich schwächer ist als die Oberschwingungen, wodurch es ebenfalls schwierig ist, die Spitzen des Grundtons zuverlässig zu ermitteln.As another method of determining the interval, mention should be made of one that consists in performing fast Fourier transform to detect the peak levels of the musical sound data. However, if the fundamental frequency is lower than the sampling frequency f s , it is not possible to determine the fundamental frequency with this method, which leads to low fidelity. In addition, there are tones in which the fundamental is significantly weaker than the harmonics, which also makes it difficult to reliably determine the peaks of the fundamental.

Außer der Schleifenbildung wird zum Einsparen von Speicherkapazität auch noch die eingangs genannte Bitkompression der Quelltondaten verwendet. Praktisch erfolgt dies z. B. dadurch, daß aus mehreren vorgegebenen Filtern jeweils das ausgewählt wird, das auf blockweiser Grundlage zur höchsten Kompression führt, wobei jeder Block aus mehreren Abtastungen besteht.Except for the loop formation to save storage capacity also the above Bit compression of the source sound data used. In practice, this is done z. B. in that several predefined filters, the one that is selected on block by block Basis to the highest Compression leads each block consisting of several samples.

Für eine solche Filterwahl werden jedem Block mit 16 Abtastungen der Signalamplitude Kopf- oder Paramterdaten vorangestellt, wie z. B. Bereichs- oder Filterdaten. Die Filterdaten dienen dazu, ein Filter auszuwählen, das zur höchsten Kompression führt oder bei dem die Kompression so gewählt ist, daß sie zum Kodieren optimal ist. Es werden z. B. Filter mit drei Betriebsarten genutzt, nämlich direkt mit PCM, mit erster Ordnung und mit zweiter Ordnung. Die Differentialfilter erster und zweiter Ordnung wirken beim Dekodieren oder Wiedergeben als IIR-Filter, so daß beim Dekodieren oder Wie dergeben der ersten Abtastung eines Blocks eine oder zwei Abtastungen, die dem Block vorausgehen, als Anfangswerte erforderlich sind.For Such a filter choice will be given to each block with 16 samples Signal amplitude preceded by header or parameter data, e.g. B. Area or filter data. The filter data serve to be a filter select the highest Compression leads or where the compression is chosen so that it is optimal for coding is. There are e.g. B. Filters with three operating modes used, namely directly with PCM, with first order and with second order. The differential filter first and second order are effective when decoding or reproducing as an IIR filter, so that when Decode or play back the first scan of a block or two samples preceding the block are required as initial values are.

Wenn Differentialfilter erster oder zweiter Ordnung für den ersten Block der Quelltondaten ausgewählt werden, fehlt jedoch eine vorhergehende Abtastung, was dazu führt, daß ein oder zwei Daten als Anfangswerte in einem Speicher abgelegt werden müssen. Die Hardware für den Dekoder wird also umfangreicher, was zur Schaltungsintegration und Kostenerniedrigung nicht erwünscht ist.If differential filter first or second order for the first block of source sound data is selected, but one is missing previous scan, which results in one or two data as initial values must be stored in a memory. The hardware for the decoder is therefore becoming more extensive, which leads to circuit integration and cost reduction not wanted is.

In der US 4,433,604 ist eine Vorrichtung zum Erzeugen von Quelltondaten beschrieben, bei der für ein analoges Signal ein Intervall regelmäßiger Signalanteile ermittelt wird. Dieses analoge Signal wird in ein digitales Signal umgesetzt, das einer Fourier-Transformation und einer Daten-Komprimierung unterworfen wird. Die komprimierten Daten werden sodann einer inversen Fourier-Transformation unterzogen. Aus den so erhaltenen Signalwerten werden die Perioden von Spitzenwerten ermittelt und als Intervall-Werte dargestellt. Damit sollen Musiktonsignale ohne hohe Speicheranforderungen abspeicherbar sein.In the US 4,433,604 describes a device for generating source sound data in which an interval of regular signal components is determined for an analog signal. This analog signal is converted into a digital signal, which is subjected to a Fourier transformation and a data compression. The compressed data is then subjected to an inverse Fourier transformation. The periods of peak values are determined from the signal values obtained in this way and represented as interval values. This should make it possible to store musical tone signals without high storage requirements.

Aus der EP 0 207 17 A1 eine digitale Signalübertragungsvorrichtung bekannt, bei der mit Koeffizienten multiplizierte Absolutwerte miteinander verglichen werden. Es wird sodann ein Filter aus einer Vielzahl von Filtern gewählt, das den kleinsten dieser miteinander verglichenen Werte liefert.From the EP 0 207 17 A1 a digital signal transmission device is known in which absolute values multiplied by coefficients are compared with one another. A filter is then selected from a large number of filters which delivers the smallest of these compared values.

Weiterhin beschreibt die EP 0 241 922 A2 einen Tonsignalgenerator, bei dem Tonsignale komprimiert werden, wozu ein digitales Kodierverfahren herangezogen wird. Dabei wird die Anzahl der Bits aller komprimierten Daten beträchtlich im Vergleich zu den ursprünglichen Signaldaten verringert.Furthermore describes the EP 0 241 922 A2 a sound signal generator in which sound signals are compressed, for which purpose a digital coding method is used. This significantly reduces the number of bits of all compressed data compared to the original signal data.

Schließlich ist in der US 4,641,564 ein Verfahren zum Erzeugen von Quelltondaten beschrieben, bei dem Bereiche vorgegebener Längen einer Wellenform eines Musiktonsignales erzeugt werden. Hierzu werden Änderungen an Abtastpunkten einer gegebenen Periode ermittelt und mit entsprechenden Werten einer benachbarten Periode verglichen. Aus diesem Vergleich werden Differenzen zwischen einzelnen Abtastwerten gewonnen, die an sich klein sind. Die Differenzen einer gegebenen folgenden Periode werden sodann zu den ermittelten Werten einer unmittelbar vorangehenden Periode addiert, um so ein genaues und hochqualitatives Tonsignal zu gewinnen.Finally, in the US 4,641,564 describes a method for generating source sound data in which regions of predetermined lengths of a waveform of a musical sound signal are generated. For this purpose, changes at sampling points of a given period are determined and compared with corresponding values of an adjacent period. From this comparison, differences between individual samples are obtained that are small in themselves. The differences of a given following period are then added to the determined values of an immediately preceding period in order to obtain an accurate and high quality sound signal.

Es ist Aufgabe der Erfindung, eine Vorrichtung zum Erzeugen von Quelltondaten in hervorragender Tonqualität anzugeben.It is an object of the invention Specify device for generating source sound data in excellent sound quality.

Diese Aufgabe wird erfindungsgemäß durch eine Vorrichtung gemäß dem Patentanspruch gelöst.This object is achieved according to the invention a device according to the claim solved.

Die vorliegende Erfindung sieht also insbesondere eine Datenaussiebeinrichtung und einen Zeitbasis-Korrekturblock vor.So the present invention sees in particular a data screening device and a time base correction block in front.

Mit der Datenaussiebeinrichtung wird ein Bereich vorgegebener Länge über den gesamten Signaldaten verschoben, und Bereiche um den Anfangs- und Endpunkt des jeweils verschobenen Bereiches herum werden untersucht. Auf eine richtige Lage des Bereichs wird dann entschieden, wenn die verglichenen Nachbarbereiche ähnlich sind. Das heißt, aus verschiedenen Sätzen von Werten wird der Satz mit größter Korrelation der Anfangs- und Endpunkte ausgewählt.With the data screening device an area of predetermined length over the entire signal data shifted, and areas around the start and The end point of the respective shifted area is examined. The correct location of the area is then decided when the compared neighboring areas are similar. That is, from different sentences of values becomes the sentence with the greatest correlation the start and end points selected.

Die Musiktondaten werden so mit Hilfe von Filtern komprimiert, wobei die Filterart von der Tondatenart abhängt. Damit das Filtern optimal erfolgt, wird vor die Tondaten ein Pseudosignal angehängt. Es erfolgt ein blockweises Komprimieren, wobei die Blocklänge und das Intervall des regelmäßig wiederkehrenden Musters aneinander angepaßt werden.The musical sound data is so with the help compressed by filters, the type of filter depends on the type of sound data. In order to If the filtering is optimal, a pseudo signal is generated before the audio data attached. There is a block-wise compression, the block length and the interval of the recurring Matched patterns become.

Das automatische Ermitteln der Intervall-Länge erfolgt mit hoher Genauigkeit auch dann, wenn nur wenige Abtastdaten zur Verfügung stehen. Das automatische Festlegen der richtigen Lage eines wiederkehrenden Musters wird mit hoher Präzision durchgeführt. Die Komprimierungen führen aufgrund der genannten Anpassung zu hoher Integration, ohne daß es erforderlich ist, spezielle Hardware zur Verfügung zu stellen. Auch kann Schleifenrauschen verringert werden.The interval length is determined automatically with high accuracy even if only a few sample data for disposal stand. Automatically determining the correct location of a recurring Pattern is made with high precision carried out. The compressions lead due to the mentioned adjustment to high integration without it being necessary special hardware is available to deliver. Loop noise can also be reduced.

Die Erfindung wird im folgenden anhand eines durch Figuren veranschaulichten Ausführungsbeispiels erläutert. Es zeigen:The invention is illustrated below of an embodiment illustrated by figures. It demonstrate:

1 ein Blockdiagramm einer Vorrichtung zum Erzeugen von Quelltondaten; 1 a block diagram of an apparatus for generating source sound data;

2 ein Musiktonsignal; 2 a musical tone signal;

3 ein Flußdiagramm zum Erläutern, wie eine Intervall-Länge ermittelt wird; 3 a flowchart for explaining how an interval length is determined;

4 ein Blockdiagramm zum Erläutern, wie Spitzenwerte festgestellt werden; 4 a block diagram for explaining how peak values are determined;

5 ein Musiktonsignal samt Hüllkurve; 5 a musical tone signal with envelope;

5 ein Diagramm zum Erläutern der Abklingkurve für ein Musiktonsignal; 5 a diagram for explaining the decay curve for a musical tone signal;

7 ein Blockdiagramm zum Erläutern einer Hüllkurvenbildung; 7 a block diagram for explaining an envelope formation;

8 eine Charakteristik eines FIR-Filters; 8th a characteristic of an FIR filter;

9 ein Signal nach Hüllkurvenkorrektur des Musiktonsignals; 9 a signal after envelope correction of the musical tone signal;

10 ein Diagramm zum Veranschaulichen der Charakteristik eines Kammfilters; 10 a diagram illustrating the characteristics of a comb filter;

11 ein Flußdiagramm zum Erläutern eines Aufzeichnungsverfahrens mit Hilfe eines Kammfilters; 11 a flowchart for explaining a recording method using a comb filter;

12 ein Diagramm zum Erläutern, wie Anfang und Ende eines Schleifenbereichs festgelegt werden; 12 a diagram for explaining how the start and end of a loop area are determined;

13 ein Flußdiagramm zum Erläutern, wie Signale mit Hilfe optimaler Schleifenlage geformt werden; 13 a flow chart for explaining how signals are formed using the optimal loop position;

14A und B ein Musiktonsignal vor bzw. nach Zeitbasiskorrektur; 14A and B a musical tone signal before or after time base correction;

15A und B Diagramme zum Erläutern von Blöcken für Bitkompression; 15A and B Diagrams for explaining blocks for bit compression;

16 ein Signal, wie es durch mehrfaches Aneinanderfügen von Schleifensignalen erhalten wird; 16 a signal as obtained by multiple loop signals being joined together;

17 einen Formantenbereich nach Hüllkurvenkorrektur; 17 a formant area after envelope correction;

18 ein Diagramm zum Erläutern der Signalverarbeitung vor und nach der Wahl eines Schleifenbereichs; 18 a diagram for explaining the signal processing before and after the selection of a loop area;

19 ein Blockdiagramm zum Erläutern der Funktion von Bitkompression und Kodierung; 19 a block diagram for explaining the function of bit compression and coding;

20 ein Diagramm zum Veranschaulichen des Inhalts eines Datenblocks, wie er durch Bitkompression und Kodierung erhalten wird; 20 a diagram illustrating the content of a data block as obtained by bit compression and coding;

21 ein Diagramm zum Veranschaulichen des Inhalts der Anfangsblöcke eines Musiksignals; und 21 a diagram illustrating the content of the headers of a music signal; and

22 ein Blockdiagramm eines Systems mit Audioverarbeitungseinheit. 22 a block diagram of a system with audio processing unit.

Anhand der 1 werden verschiedene Funktionen erläutert, die zwischen dem Abtasten eines Musikquellsignals und dem Speichern in einem Speicher erfolgen. Das Musikquelldatensignal wird an einem Anschluß 10 eingegeben. Es kann ein Signal sein, das direkt von einem Mikrophon aufgenommen wurde oder ein Signal, das in analoger oder digitaler Form von einem Aufzeichnungsmedium für digitale Audiosignale geliefert wird.Based on 1 Various functions are explained which take place between the sampling of a music source signal and the storage in a memory. The music source data signal is on one connector 10 entered. It can be a signal that was recorded directly by a microphone or a signal that is supplied in analog or digital form from a recording medium for digital audio signals.

Die von der Vorrichtung gemäß 1 gebildeten Quelldaten haben eine sogenannte Schleifenbildung erfahren, die nun anhand des Musiktonsignals gemäß 2 erläutert wird. Direkt nach dem Start der Erzeugung eines Tones, sind im Ton Nichttonkomponenten enthalten, wie sie z. B. vom Anschlagen einer Taste oder vom Anblasen bei einem Blasinstrument herrühren. Daher wird zunächst ein sogenannter Formantenbereich FR mit ungenauer Signalperiodizität erzeugt. Es folgt dann eine mehrfache Wiederholung derselben Signalform, die dem Musikintervall (Abstand oder Tonhöhe) des Musiktons entspricht.According to the device 1 Source data formed have experienced a so-called loop formation, which is now based on the musical tone signal 2 is explained. Immediately after the start of the generation of a tone, the tone contains non-tone components such as, for example, B. from hitting a key or from blowing on a wind instrument. Therefore, a so-called formant range FR with inaccurate signal periodicity is first generated. A repeated repetition of the same signal form follows, which corresponds to the musical interval (distance or pitch) of the musical tone.

Eine Anzahl n von Perioden dieser sich wiederholenden Signalform wird als Schleifendomäne LP verwendet. Sie liegt zwischen einem Schleifenstartpunkt LPS und einem Schleifenendpunkt LPE. Der Formantenbereich FR und die Schleifendomäne LP werden in einem Speicher aufgezeichnet, und zum Wiedergeben wird zunächst der Formantenbereich abgespielt und dann wird die Schleifendomäne LP mehrfach für eine gewünschte Zeitspanne wiedergegeben.A number n of periods of this repetitive waveform is used as the loop domain LP. It lies between a loop start point LP S and a loop end point LP E. The formant area FR and the loop domain LP are recorded in a memory, and for playback, the formant area is first played, and then the loop domain LP is played repeatedly for a desired period of time.

Das eingegebene Musiktonsignal wird in einem Abtastblock 11 abgetastet, z. B. mit 38 kHz. Vor Abtastung wird ein 16-Bit-Signal erhalten. Das Abtasten entspricht dem A/D-Wandeln analoger Eingangssignale.The input musical tone signal is in a sampling block 11 scanned, 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 Grundfrequenz, 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ß lediglich die Spitzen im Musikton entlang der Frequenzachse abgetastet 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 werden:

Figure 00110001
wobei a(ω) und ϕ(ω) die Amplitude bzw. Phase der Obertöne bedeuten. Wenn die Phasenverschiebung ϕ(ω) für jeden Oberton auf Null gesetzt wird, kann obige Formel wie folgt umgeschrieben werden:
Figure 00110002
The musical tone signal f (t), the interval of which is to be determined, can be expressed by Fourier expansion as follows:
Figure 00110001
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:
Figure 00110002

Die Spitzen des so angepaßten Signales f(t) entsprechen ganzzahligen Vielfachen der Perioden aller Obertöne des Signals bei t = 0. Die Spitzen zeigen nur die Periode des Grundtones.The peaks of the signal thus adjusted f (t) correspond to integer 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 3 die Schrittfolge zum Detektieren des Intervalls beschrieben.Based on this principle, we will now use 3 the sequence of steps for detecting the interval is described.

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" become a real part input 31 and an imaginary part 33 of a transformation block 33 fed for fast Fourier transform.

Bei der schnellen Fourier-Transformation gilt, wenn das Intervall mit x(t) bezeichnet wird: ancos (2π fnt + θ) (3),x(t) kann gegeben sein durch

Figure 00120001
For the fast Fourier transform, if the interval is designated x (t): a n cos (2π f n t + θ) (3), x (t) can be given by
Figure 00120001

Dies kann in komplexer Notation geschrieben werden als

Figure 00120002
wobei die folgende Gleichung n = –∞ cosθ = (exp(jθ) + exp(–jθ))/2 (6)benutzt wird. Durch Fourier-Transformation erhält man die folgende Gleichung:
Figure 00120003
in der δ(ω – ωn) eine Deltafunktion beschreibt.This can be written in complex notation as
Figure 00120002
where the following equation n = -∞ cosθ = (exp (jθ) + exp (–jθ)) / 2 (6) is used. The following equation is obtained by Fourier transformation:
Figure 00120003
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 berechnet.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 is calculated after the fast Fourier transformation.

Durch Verwenden des Absolutwertes Y(ω) von X(ω) hebt sich die Phasenkomponente heraus, so daß gilt:

Figure 00120004
By using the absolute value Y (ω) of X (ω), the phase component stands out, so that the following applies:
Figure 00120004

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

Der so berechnete Normierungswert wird als Realdatenteil einem weiteren Block 36 für schnelle Fourier-Transformation zugeführt, der in diesem Fall als Block für inverse schnelle Fourier-Transformation ausgebildet ist. Während diese Daten an einen Eingang für reelle Daten gelangen, wird einem Eingang für imaginäre Daten der Wert "0" zugeführt. Die inverse schnelle Fourier-Transformation kann ausgedrückt werden durch

Figure 00130001
The normalization value calculated in this way becomes part of another block as real data 36 for fast Fourier transformation, which in this case is designed as a block for inverse fast Fourier transformation. While this data arrives at an input for real data, the value "0" is fed to an input for imaginary data. The inverse fast Fourier transform can be expressed by
Figure 00130001

Die so nach der inversen schnellen Fourier-Transformation gewonnenen Musiktondaten werden als Signal ausgegeben, das der Synthese der Cosinuswellen entspricht, wobei die Anteile höherer Frequenz in der Phase angepaßt sind.The so after the inverse quick Fourier transform musical data obtained are used as a signal which corresponds to the synthesis of the cosine waves, where the proportions higher Frequency adjusted in phase are.

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

4 veranschaulicht eine Anordnung des Spitzendetektorblocks 37 von 3 zum Ermitteln der Spitzen, d. h. der Maximumwerte der Musiktondaten. 4 illustrates an arrangement of the peak detector block 37 of 3 to determine the peaks, ie the maximum values of the musical sound 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 should be noted that within of musical sound data a big one Number of peaks with different values is present. On Interval can be found by the distance between peaks is determined.

Gemäß 4 wird eine Folge von Musiktondaten, die aus der inversen Fourier-Transformation folgen, über einen Eingangsanschluß 41 einem (N + 1)-stufigen Schieberegister 42 zugeführt, und es wird über Register a–N/2, ..., a0, ..., aN/2 an einen Ausgangsanschluß 43 geliefert. Das Schieberegister 42 wirkt als Fenster der Breite (N + 1)-Abtastwerten in Bezug auf die Folge an Musiktondaten. Die Abtastwerte werden über dieses Fenster einem Maximalwertdetektor 44 zugeführt. Da die Musiktondaten zunächst in das Register a–N/2 gelangen und dann bis in das Register aN/2 transportiert werden, werden (N + 1) Abtastmusiktondaten aus den Registern in den Maximalwertdetektor 44 übertragen.According to 4 becomes a sequence of musical sound data resulting from the inverse Fourier transform through an input terminal 41 an (N + 1) level shift register 42 fed, and it is via registers a -N / 2, ..., a 0 , ..., a N / 2 to an output terminal 43 delivered. The shift register 42 acts as a window of width (N + 1) samples with respect to the sequence of musical sound data. The sample values become a maximum value detector via this window 44 fed. Since the musical sound data first reaches register a -N / 2 and then is transported to register aN / 2, (N + 1) scanning musical data from the registers becomes the maximum value detector 44 transfer.

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 of all values became maximum, this value as the maximum value to the output connection 45 gives. 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 Intervalldaten gewonnen. Das Einhüllendensignal, das in 5 mit B bezeichnet ist, wird dadurch gewonnen, daß die Spitzen im Musiktonsignal A aufeinanderfolgend verbunden werden. Es zeigt eine Änderung in der Lautstärke seit dem Zeitpunkt der Tonerzeugung an. Die Einhüllende wird durch Parameter ADSR (Attack Time/Decay Time/Sustain Level/Release Time) beschrieben. Im Fall eines Klaviertons beschreibt der Teil A (Attack Time TA) die Zeit, die zwischen dem Betätigen einer Taste und demjenigen Zeitpunkt vergeht, bis die gewünschte Lautstärke erreicht ist. Der zweite Anteil D (Decay Time TD) ist diejenige Zeit, die zwischen dem Zeitpunkt des Erreichens der gewünschten Lautstärke und dem Zeitpunkt des Erreichens einer Lautstärke vergeht, die gehalten wird. Der dritte Anteil S (Sustain Level LS) gibt die gehaltene Lautstarke an, während der letzte Anteil R (Release Time TR) die Zeit angibt, die zwischen dem Loslassen einer Taste und dem Ausklingen eines Tons vergeht. Die Zeiten TA, TD und TR können auch als Änderungsgrößen für die Lautstärke verstanden werden. Es können auch andere Hüllenparameter außer den vorgenannten vier Parametern verwendet werden.The envelope of the sampled digital musical tone signal is in an envelope detector 13 obtained with the help of the interval data. The envelope signal that is in 5 denoted by B is obtained by connecting the peaks in the musical tone signal A in succession. 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. Envelope 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ährend der Anschlagszeit TA an und fallen dann gleichmäßig ab, wie durch 6 veranschaulicht.It is noted that in the envelope detector 13 the overall rate of decay of the signal is obtained concurrently with envelope data as e.g. B. are given by the above-mentioned 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 by 6 illustrated.

Die Funktion des Hüllkurvendetektors 13 gemäß 1 wird nun anhand des Flußdiagramms von 7 veranschaulicht.The function of the envelope detector 13 according to 1 is now based on the flowchart of 7 illustrated.

Das verwendete Prinzip ist demjenigen ähnlich, das beim Ermitteln der Hüllkurve eines amplitudenmodulierten (AM)-Signals verwendet wird. Die Einhüllende wird ermittelt, indem angenommen wird, daß das ermittelte Intervall der Trägerfrequenz für ein AM-Signal entspricht. Die Hüllkurvendaten werden beim Wiedergeben von Musiktönen benutzt, die auf Grundlage der Hüllkurvendaten und der Intervalldaten gebildet werden.The principle used is similar to that used when determining the envelope of an amplitude amplitude Dulated (AM) signal is used. The envelope is determined by assuming that the interval determined corresponds to the carrier frequency for an AM signal. The envelope data is used in reproducing musical tones that are formed based on the envelope data and the interval data.

Die Musiktondaten werden über einen Eingangsanschluß 51 einem Absolutwertausgabeblock 52 zugeführt, der den Absolutwert der Signalhöhedaten der Musiktöne ermittelt. Diese Absolutwertdaten werden einem digitalen FIR(Finite Impulse Response)-Filterblock 55 zugeführt. Dieser FIR-Block 55 dient als Tief paßfilter, dessen Abschneidecharakteristik dadurch bestimmt wird, daß ihm Filterkoeffizienten zugeführt werden, die zunächst in einem LPF-Koeffizientengenerator 54 auf Grundlage von Intervalldaten erzeugt wurden, die über einen Eingangsanschluß 53 zugeführt werden.The musical sound data is through an input connector 51 an absolute value output block 52 supplied, which determines the absolute value of the signal height data of the musical tones. This absolute value data is a digital FIR (Finite Impulse Response) filter block 55 fed. 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 are initially in an LPF coefficient generator 54 based on interval data generated through an input port 53 are fed.

Die Filtercharakteristik gemäß dem Beispiel von 8 weist null Punkte bei Vielfachen der Grundfrequenz (f0) auf. Die in 5 mit B veranschaulichten Hüllkurvendaten können aus dem Musiktondatensignal A in 5 dadurch gewonnen werden, daß die Frequenzen des Grundtons und der Obertöne durch das FIR-Filter abgeschwächt werden. Für die Filtercharakteristik gilt die Formel H(f) = k · (sin(π f/f0))/f (11)in der f0 die Grundfrequenz, d. h. das Intervall des Musiktonsignals darstellt.The filter characteristic according to the example of 8th has zero points at multiples of the fundamental frequency (f 0 ). In the 5 Envelope data illustrated with B can be obtained from the musical sound data signal A in 5 can be obtained by attenuating the frequencies of the fundamental and the overtones by the FIR filter. The formula applies to the filter characteristics H (f) = k * (sin (π f / f 0 )) / f (11) in which f 0 represents the fundamental frequency, ie the interval of the musical tone signal.

Anhand von 1 wird nun erläutert, wie Tonhöhendaten für den Formantenteil FR und die Schleifendomäne LP aus den Tonhöhendaten des abgetasteten Musiktonsignals erzeugt werden.Based on 1 it will now be explained how pitch data for the formant part FR and the loop domain LP are generated from the pitch data of the sampled musical tone signal.

In einem ersten Block 14 zum Erzeugen der Schleifendaten werden die abgetasteten Musiktondaten geteilt, die mit Hilfe der zuvor ermittelten Hüllkurve B gemäß 5 gewonnen wurden (oder es wird mit dem Reziprokwert der Daten multipliziert). Dies dient dazu, eine Hüllkurvenkorrektur zu erzeugen, die für eine konstante Amplitude sorgt, wie dies in 9 dargestellt ist. Dieses korrigierte Signal, genauer gesagt die entsprechenden Signalhöhendaten werden gefiltert, um ebenfalls Tonhöhendaten zu erzeugen, in denen andere Komponenten neben den Tonkomponenten geschwächt sind, oder anders gesagt, in denen die Tonkomponenten hervorgehoben sind. Tonkomponenten sind hierbei Frequenzkomponenten mit ganzzahligen Vielfachen der Grundfrequenz f0. Die Daten werden durch ein Hochpaßfilter (HPF) geschickt, um Komponenten niedriger Frequenz, wie z. B. Vibratofrequenzen, zu entfernen, die in dem mit der Hüllkurve korrigierten Signal vorhanden sind. Anschließend folgt ein Kammfilter mit einer Frequenzcharakteristik, wie sie strichpunktiert in 10 angedeutet ist, d. h. mit einer Frequenzcharakteristik mit Frequenzbändern, die ganzzahlige Vielfache der Grundfrequenz f0 sind. Dadurch werden nur die im HPF-Signal vorhandenen Signale durchgelassen, wodurch Nichttonkomponenten oder Rauschkomponenten geschwächt werden. Falls erforderlich, werden die Daten auch durch ein Tiefpaßfilter (LPF) gesandt, um Rauschkomponenten zu entfernen, die dem Ausgangssignal vom Kammfilter überlagert sind.In a first block 14 to generate the loop data, the sampled musical sound data are divided, which are determined using the previously determined envelope curve B in accordance with 5 won (or it is multiplied by the reciprocal of the data). This is used to generate an envelope correction that ensures a constant amplitude, as shown in 9 is shown. 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 fundamental frequency f 0 . The data is passed through a high pass filter (HPF) to detect low frequency components such as. 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 shown in dot-dash lines in 10 is indicated, ie with a frequency characteristic with frequency bands that are integer multiples of the fundamental frequency f 0 . This allows only the signals present in the HPF signal to pass through, thereby weakening non-tone components or noise components. If necessary, the data is also passed 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 Energiekonzentration in der Nähe der Grundfrequenz f0 und ganzzahligen Vielfachen derselben auf. Rauschkomponenten weisen demgegenüber eine gleichmäßige Frequenzverteilung auf. Beim Bearbeiten der eingegebenen Musiktondaten mit Hilfe eines Kammfilters mit der Frequenzcharakteristik, wie sie in 10 strichpunktiert dargestellt ist, gelangen demgemäß nur Frequenzkomponenten der Grundfrequenz oder ganzzahliger Vielfachen derselben im wesentlichen ungeschwächt durch das Filter, während andere Komponenten geschwächt werden, wodurch das Signal/Rausch-Verhältnis verbessert wird. Die in 10 dargestellte Frequenzcharakteristik eines Kammfilters kann durch die Formel H(f) = [(cos(2π f/f0) + 1)/2]N (12)veranschaulicht werden, in der f0 die Grundfrequenz des Eingangssignals ist, d. h. die Frequenz des Grundtons mit einem bestimmten Intervall. N ist die Zahl der Stufen des Kammfilters.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 a uniform frequency distribution. When editing the entered musical sound data using a comb filter with the frequency characteristic as described in 10 is shown in dash-dotted lines, therefore only frequency components of the fundamental frequency or integer multiples thereof pass through the filter substantially unattenuated, while other components are weakened, thereby improving the signal / noise ratio. In the 10 The frequency characteristic of a comb filter can be represented by the formula H (f) = [(cos (2π f / f 0 ) + 1) / 2] N (12) 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äß 2 wird abgetrennt und der verbliebene Teil wird aufgezeichnet, z. B. in einem Halbleiterspeicher. Das gespeicherte Musiktondatensignal enthält die Nichttonkomponente und einen Teil des Rauschens. Dadurch wird dafür gesorgt, daß beim Wiedergeben des wiederholten Signalteils das Schleifenrauschen verringert wird.The musical tone signal, the noise components of which have been reduced in the manner mentioned, is fed to a circuit which determines repeated waveforms. Such waveforms, such as. B. the loop domain LP according to 2 is separated and the remaining part is recorded, e.g. B. in a semiconductor memory. The stored musical sound data signal contains the non-sound component and part of the noise. This ensures that the loop noise is reduced when the repeated signal part is played back.

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 it comes from the block 12 be won.

Ein Verfahren zum Signalaufzeichnen, bei dem das genannte Filtern benutzt wird, wird nun anhand von 11 veranschaulicht. In einem Schritt S1 wird die Grundfrequenz f0 des eingegebenen Analogsignals oder des zugehörigen digitalen Eingangssignals ermittelt. In einem Schritt S2 wird das eingegebene analoge Signal durch ein Kammfilter der oben beschriebenen Art gefiltert, um ein analoges oder digitales Ausgangssignal zu erzeugen. In einem Schritt S3 wird dafür gesorgt, daß nur Daten aus dem Grundfrequenzband und Frequenzbändern von harmonischen Vielfachen durchgelassen werden. In einem Schritt S4 wird das Ausgangssignal abgespeichert.A method of signal recording using said filtering will now be described with reference to 11 illustrated. In a step S1, the fundamental frequency f 0 of the input analog signal or the associated digital input signal is determined. In a step S2, the input analog signal is filtered by a comb filter of the type described above in order to generate an analog or digital output signal. In a step S3 it is ensured that only data from the fundamental frequency band and Frequency bands of harmonic multiples can be passed. The output signal is stored in a step S4.

Beim beschriebenen Aufzeichnungsverfahren wird also das Musiktonsignal durch ein Kammfilter geschickt, das nur die Grundschwingung und harmonische Oberschwinungen durchläßt, dagegen Nichttonkomponenten und Rauschkomponenten abschwächt, um das Signal/Rausch-Verhältnis zu verbessern. Bei Schleifenbildung werden Musiktondaten mit abgeschwächten Rauschkomponenten wiederholt, um das Rauschen zu unterdrücken.With the described recording method the musical tone signal is sent through a comb filter, the only allows the fundamental and harmonic harmonics to pass through Non-tone components and noise components attenuate to the signal-to-noise ratio improve. When loops are formed, musical sound data with attenuated noise components repeated to suppress the noise.

In einem Block 16 zum Erkennen der Schleifendomäne wird das Musiktonsignal auf wiederholte Signalformen hin untersucht, um aus Tonkomponenten, die sich von den zuvor genannten Ton komponenten, die durch das beschriebene Filterverfahren hervorgehoben wurden, zu ermitteln. Mit diesen werden der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE gebildet.In one block 16 To recognize the loop domain, the musical tone signal is examined for repeated waveforms in order to determine from tone components that are components of the aforementioned tone, which were emphasized by the filtering method described. The loop start point LP S and the loop end point LP E are formed with these.

Im Ermittlungsblock 16 werden Schleifenpunkte ausgewählt, die voneinander um ein ganzzahliges Vielfaches des Intervalls des Musiktonsignals entfernt liegen. Das Auswahlprinzip wird im folgenden erläutert. Wie eben genannt, muß der Schleifenpunktabstand ein ganzzahliges Vielfaches des Intervalls sein, wie es durch die Grundfrequenz des Musiktonsignals gegeben ist. Durch genaues Ermitteln des Intervalls kann also der Schleifenpunktabstand ermittelt werden.In the investigation block 16 loop points are selected that are separated from each other 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 exactly determining the interval, the loop point distance can be determined.

Da nach Ermitteln des Intervalls der Schleifenabstand vorbestimmt ist, werden zwei Punkte ausgewählt, die um den genannten Abstand voneinander entfernt sind. Dann werden die Signale in der Umgebung dieser Punkte untersucht, und es wird eine Korrelation gebildet. Es wird nun eine Auswertefunktion erläutert, die die Konvolution oder Summenbildung von Produkten in Bezug auf Abtastpunkte im Bereich der genannten zwei Punkte benutzt. Die Konvolution wird mehrfach für Sätze aller Punkte ausgeführt, um die Korrelation der Signale zu ermitteln. Die Musiktondaten werden dabei aufeinanderfolgend einer Einheit zum Aufsummieren von Produkten zugeführt, z. B. einer digitalen Signalverarbeitungseinrichtung, was weiter unten beschrieben wird. Die Konvolution wird dort berechnet und ausgegeben. Derjenige Satz von zwei Punkten, für den die Konvolution maximal wird, wird als Satz des richtigen Schleifenstartpunktes LPS und des richtigen Schleifenendpunktes LPE angesehen.Since the loop spacing is predetermined after the interval has been determined, two points are selected which are spaced apart by the stated distance. Then the signals around these points are examined and a correlation is established. An evaluation function is now explained which uses the convolution or sum formation 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 12 ist mit a0 ein Kandidatenpunkt für den Schleifenstartpunkt LPS eingezeichnet. b0 ist entsprechend ein Kandidat für den Schleifenendpunkt LPE. Weitere Amplitudendaten a–N, ..., a–2, a–1, a0, a1, a2,..., aN in mehreren Punkten, hier (2N + 1) Punkten vor und hinter dem Kandidatenpunkt a0 sind außerdem dargestellt. Entsprechend sind Amplitudenpunkte b–N, ..., b–2, b–1, b0, b1, b2, ..., bN vor und hinter dem Kandidatenpunkt b0 vorhanden. Die Abschätzfunktion E(a0, b0) wird dann:

Figure 00200001
In 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. Additional 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 are present before and after the candidate point b 0 . The estimation function E (a 0 , b 0 ) then becomes:
Figure 00200001

Die Konvolution um die Punkte a0 und b0 folgt aus Gleichung (13). Die Sätze von Kandidaten a0 und b0 werden schrittweise geändert, bis alle Schleifenpunktkandidaten untersucht sind. Diejenigen, für die die Auswertefunktion E maximal wird, werden als Schleifenpunkte angesehen.The convolution around points a 0 and b 0 follows from equation (13). The sets of candidates a 0 and b 0 are gradually changed 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 Schleifenpunkte aufzufinden. Es gilt dann die folgende Gleichung:

Figure 00200002
In addition to the convolution method, e.g. B. the method of mean squares can also be used to find loop points. The following equation then applies:
Figure 00200002

In diesem Fall liegen dann die richtigen Punkte vor, wenn die Auswertefunktion minimal wird.In this case, the correct ones are then Points before the evaluation function becomes minimal.

Das oben beschriebene Auswahlverfahren für optimale Schleifenpunkte kann immer eingesetzt werden, wenn analoge Signale mit wiederholten Perioden digitalisiert werden, um Schleifendaten zu bilden. Das Verfahren wird im folgenden anhand des Flußdiagramms von 13 weiter veranschaulicht.The optimal loop point selection method described above can be used whenever analog signals are digitized with repeated periods to form loop data. The process is described below using the flow chart of 13 further illustrated.

Gemäß 13 wird ein analoges Signal mit wiederholter Signalform in einem Schritt S11 in ein digitales Signal mit mehreren Abtastpunkten umgewandelt. In einem Schritt S12 werden Abtastpunkte ausgewählt, die voneinander um die Wiederholungsperiode getrennt sind. In einem Schritt S13 werden Werte für eine vorgegebene Auswertefunktion auf Grundlage von Ab tastpunkten berechnet, die sich in der Nähe der beiden ausgewählten Punkte befinden. Die ausgewählten Punkte werden dann in einem Schritt S14 bei aufrechterhaltenem Abstand solange verschoben, bis eine vorgegebene Anzahl von Verschiebungen erreicht ist. Ist letzteres der Fall, wird aus den berechneten Werten derjenige Satz ausgewählt, der die größte Korrelation zeigt. In einem Schritt S16 werden dann diejenigen Abtastdaten zwischen den ausgewählten Punkten als Abtastdaten für das wiederholte Signal herausgezogen.According to 13 an analog signal with repeated waveform is converted into a digital signal with multiple sampling points in a step S11. In a step S12, sampling points are selected which are separated from one another by the repetition period. In a step S13, values for a predetermined evaluation function are calculated on the basis of sampling points which are located in the vicinity of the two selected points. The selected points are then shifted in a step S14 with the distance maintained until a predetermined number of shifts has been reached. If the latter is the case, the set that shows the greatest correlation is selected from the calculated values. Then, in a step S16, those sample data between the selected points are extracted as sample data for the repeated signal.

Im Schleifenpunktermittlungsblock 16 gemäß 1 werden also der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE auf Grundlage des Intervalls ermittelt. Aus dem Abstand der Punkte, der mehrere 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 1 the loop start point LP S and the loop end point LP E are thus determined on the basis of the interval. From the distance of the points, which can span several intervals of the fundamental, follows an interval change ratio, which results in a time base correction block 17 is used.

Die Zeitbasiskorrektur erfolgt, um die Intervalle verschiedener Quelltondaten aneinander anzupassen, wenn diese Daten in einem Speicher abgelegt werden. Statt dem Intervall-Wandelverhältnis können für diesen Zweck 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 change ratio, the interval data as used by the interval detector can be used for this purpose 12 supplies.

Das im Zeitbasis-Korrekturblock ausgeführte Intervallnormalisierungsverfahren wird nun anhand von 14 erläutert.The interval normalization procedure carried out in the time base correction block is now based on 14 explained.

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

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

Mit einem Versatz ΔT van der vordersten Blockgrenze des Musiktonsignals kann ein Tonhöhensignalwert "0" eingefügt werden. Dieser Datenwert "0" dient als Pseudodatenwert, damit Filter, die einen Anfangswert für die Datenkompression benötigen, ausgewählt werden können. Dies wird weiter unten anhand einer durch 21 veranschaulichten blockweisen Kompression erläutert.A pitch signal value "0" can be inserted with an offset ΔT from the foremost block boundary of the musical tone signal. 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 21 block compression illustrated.

15 zeigt die Struktur für einen Block für Signalamplitudenwerte nach der Zeitbasiskorrektur, welche Daten dann einer Bitkompression und einem Kodieren unterworfen werden, wie später erläutert. In einem Block (Anzahl von Abtastwerten oder Worten) sind h Amplitudendaten vorhanden. Im vorliegenden Fall besteht die Intervallnormalisierung in einem Zeitbasiskompandieren, bei dem die Anzahl von Worten innerhalb von n Perioden (der konstanten Zeitdauer Tw gemäß 2), d. h. innerhalb der Schleifenperiode LP, ein ganzzahliges Vielfaches (m-faches) der Zahl der Worte h im Block sind. Vorzugsweise besteht die Intervallnormalisierung darin, daß der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE jeweils auf Blockgrenzen verschoben werden. Ist dies der Fall, wird es möglich, Fehler beim Schalten von Blöcken zu vermeiden, was beim Dekodieren mit Hilfe eines Bitkompressions- und Kodiersystems der Fall ist. 15 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 in a time base companding in which the number of words within n periods (according to the constant time period T w) 2 ), ie within the loop period LP, are an integer multiple (m times) of the number of words h in the block. The interval normalization preferably consists in 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 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 verschoben wird, fallen die genannten Start- und Endpunkte nicht notwendigerweise mit den Blockgrenzen zusammen, so daß, wie dies in 15B dargestellt ist, die Worte WLPS und WLPE an beliebigen Positionen innerhalb der Blöcke liegen. In jedem Fall ist jedoch die Anzahl von Worten zwischen den Worten WLPS und WLPE ein m-faches der Anzahl von Worten h in einem Block, wobei m ganzzahlig ist, was bedeutet, daß das Intervall normalisiert ist.In 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 are immediately before a loop end point LP E in the corrected signal. If there is no shifting, the specified start and end points do not necessarily coincide with the block boundaries, so that as shown in 15B is shown, 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 erfolgen. Z. B. kann es dadurch erfolgen, daß die Amplitudenwerte der abgetasteten Signale interpoliert werden, wobei ein Filter für übergeordnetes Abtasten verwendet wird.Companding a time base Music signal with the normalization just mentioned can be different Species. For example, it can be done that the amplitude values of the sampled signals are interpolated using a filter for superordinate Scanning is used.

Wenn die Schleifenperiode für ein Musiksignal nicht ein ganzzahliges Vielfaches der Abtastperiode ist, so daß ein Versatz der Amplitudenwerte im Schleifenstartpunkt LPS und im Schleifenendpunkt LPE besteht, kann die mit dem Amplitudenwert im Startpunkt übereinstimmende Amplitude benachbart zum Schleifenendpunkt gefunden werden, und zwar dadurch, daß z. B. übergeordnetes Abtasten verwendet wird, um die Schleifenperiode zu realisieren.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 by that z. B. parent scanning is used to implement the loop 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 erfolgt. Wenn Zeitbasiskompandieren durch z. B. 256-faches übergeordnetes Abtasten erfolgt, kann der Amplitudenfehler zwischen den Werten für den Startpunkt LPS und den Endpunkt LPE auf 1/256 verringert werden.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 Zeitbasis korrigiert ist, werden Schleifendomänen LP aneinandergehängt, wie dies durch 16 veranschaulicht ist, um Schleifendaten zu erzeugen. Das Signal gemäß 16 ist dadurch erhalten, daß eine einzige Schleifendomäne LP gemäß 148 herausgegriffen ist und diese eine Domäne mehrfach aneinandergehängt ist. Das Aneinanderhängen von Schleifendomänen erfolgt in einem Schleifensignal-Erzeugungsblock 21 (1).After the loop domain LP is determined and corrected in the time base, loop domains LP are appended to one another, as by 16 to generate loop data. The signal according to 16 is obtained in that a single loop domain LP according to 148 is picked out and this one domain is linked several times. The linking of loop domains takes place in a loop signal generation block 21 ( 1 ).

Da die Schleifendaten dadurch gebildet werden, daß eine Schleifendomäne LP mehrfach wiederholt wird, folgt auf einen Startblock mit dem Wort WLPS direkt ein Endblock mit dem Wort WLPE, das dem Schleifenendpunkt WLPE, genauer gesagt dem Punkt direkt vor diesem Punkt, entspricht. Damit ein Kodieren für Bitkompression erfolgen kann, muß zumindest der Endblock direkt vor dem Startblock der Schleifendomäne LP abgespeichert sein. Allgemeiner gesprochen, müssen zum Zeitpunkt einer Bitkompression und Kodierung auf Blockbasis die Parameter für den Startblock, d. h. die Daten für Bitkompression und Kodierung für jeden Block, z. B. Bereichs- oder Filterauswahldaten, was weiter unten beschrieben wird, nur auf Grundlage von Daten des Start- und des Endblocks gebildet werden. Diese Technik kann auch in dem Fall angewendet werden, in dem Musikdaten nur aus Schleifendaten ohne Formante bestehen.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 WLPE, 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 encoding Block basis 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 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 werden können. Die Musikdaten beim Wiedergeben sind dann stabil und frei Übergangsrauschen. Bei der Ausführungsform sind etwa 500 Abtastdaten in einem Schleifenbereich LP vor dem Startblock vorhanden.With this procedure, the same data is 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 (1) ausgeführt, entsprechend der Korrektur für Schleifendaten im Block 14. Die Hüllkurvenkorrektur wird dadurch ausgeführt, daß die abgetasteten Musiktondaten durch Hüllkurvendaten (6) geteilt werden, die nur aus den Daten für abfallende Signale bestehen, wodurch Amplitudenwerte für ein Signal erhalten werden, wie es in 17 dargestellt ist. Beim Ausgangssignal gemäß 17 macht sich demgemäß nur die Hüllkurve während der Zeitspanne TA bemerkbar, während in den anderen Bereichen konstante Amplitude vorliegt.For the signal generation for the formant area FR, an envelope correction is carried out in a block 18 ( 1 ) executed according to the correction for loop data in the block 14 , The envelope correction is carried out by the fact that the sampled musical sound data by envelope data ( 6 ) which consist only of the data for falling signals, whereby amplitude values for a signal are obtained, as described in 17 is shown. With the output signal according to 17 accordingly, only the envelope curve becomes noticeable during the time period T A , while there is constant amplitude in the other regions.

Das hüllkurvenkorrigierte Signal wird, falls erforderlich, in einem Block 19 gefiltert. Dies erfolgt mit einem Kammfilter mit einer Frequenzcharakteristik, die z. B. derjenigen entspricht, wie sie mit der strichpunktierten Linie in 10 dargestellt ist. Die Kammfilterdaten werden auf Grundlage der Intervalldaten für die Grundfrequenz gebildet, welche Daten vom Intervalldetektor 12 geliefert werden. Die Daten dienen dazu, Signaldaten aus dem Formantenbereich in den Quelltondaten zu erzeugen, die schließlich in einem Speicher abgelegt werden.The envelope corrected signal is, if necessary, in a block 19 filtered. This is done with a comb filter with a frequency characteristic that z. B. corresponds to that with the dash-dotted line in 10 is shown. The comb filter data are formed on the basis of the interval data for the fundamental frequency, which data from the interval detector 12 to be delivered. 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 normalisieren, daß die Zeitbasis auf Grundlage des Intervall-Wandelverhältnisses kompandiert wird, wie es im Block 16 gefunden wurde, oder auf Grundlage der Intervalldaten, wie sie vom Block 12 geliefert werden.In a subsequent time base correction block 20 there is a time base correction, as described above using the block 17 has been described. The time base correction is used to normalize the intervals for the sound data by companding the time base based on the interval changing ratio as it is in the block 16 was found, or based on the interval data as provided by the block 12 to be delivered.

In einem Mischer 22 werden die Formantendaten und die Schleifendaten, die mit denselben Intervalldaten oder Intervall-Wandelverhältnissen korrigiert wurden, gemischt. Hierzu wird ein Hamming-Fenster auf das Formantenbereichs-Bildungssignal vom Block 20 angewandt. Es wird ein mit den Schleifendaten zu mischendes Signal vom Ausblendtyp erzeugt, das abklingt. Auf die Schleifendaten vom Block 21 wird ein ähnliches Hamming-Fenster angewandt. Ein mit den Formantendaten zu mischendes Signal vom Ausblendtyp wird erzeugt, das anwächst. Die beiden Signale werden gemischt (oder überblendet), um ein Musiktonsignal zu erzeugen, das die Quelltondaten darstellt. Als abzuspeichernde Schleifendaten können Daten herausgegriffen werden, die von einer Schleifendomäne herrühren, die etwas vom überblendeten Bereich entfernt ist, um dadurch das Schleifenrauschen beim Wiedergeben von Schleifensignalen zu verringern. Auf diese Weise werden Tonhöhendaten eines Quelltonsignals erzeugt, das über einen Formantenbereich (Nichttonkomponenten) und Schleifendaten (wiederholte, regelmäßige Daten) verfügt.In a mixer 22 the formant data and the loop data corrected with the same interval data or interval change ratios are mixed. To do this, a Hamming window is placed on the formant area formation signal from the block 20 applied. A fade-out type signal to be mixed with the loop data is generated which decays. On the loop data from the block 21 a similar Hamming window is used. A fade-out type signal to be mixed with the formant data is generated which grows. The two signals are mixed (or faded) to produce a musical tone signal that represents the source sound data. As loop data to be stored, data can be picked out which comes from a loop domain which is somewhat away from the cross-faded area, thereby reducing the loop noise when loop signals are reproduced. In this way, pitch data of a source tone signal is generated that 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 verbunden sein.The starting point for the loop data signal can also start with the loop for the formant-forming signal be connected.

Zum Ermitteln der Schleifendomäne und zum Mischen des Formantenbereichs und der Schleifendaten wird zunächst von Hand gemischt. Man hört sich dann das Ergebnis an, und es wird dann auf Grundlage der Schleifenstart- und -endpunkte genauer verarbeitet.To determine the loop domain and Mixing the formant area and the loop data is initially done by Hand mixed. One hears then the result and it will be based on the loop start and endpoints processed more precisely.

Es wird also, bevor die genauere Schleifenbereichsermittlung in Block 16 erfolgt, diese Ermittlung und das Mischen von Hand genommen, und es erfolgt ein Probehören, wie in der folgenden 18 erläutert. Danach wird das oben beschriebene genauere Verfahren ab einem Schritt S26 in 18 ausgeführt.So it will be before the more precise loop range determination in block 16 is done, this determination and mixing is done by hand, and there is a trial listening as in the following 18 explained. Thereafter, the more detailed method described above is started from step S26 in 18 executed.

Im Flußdiagramm gemäß 18 werden die Schleifenpunkte in einem Schritt S21 mit geringer Genauigkeit festgelegt, indem Nullpunktsüberkreuzungen ermittelt werden oder das Signal optisch überprüft wird. In einem Schritt S22 wird das Signal zwischen den Schleifenpunkten mehrfach wiedergegeben. In einem Schritt S23 wird durch Hören beurteilt, ob die Schleifenbildung ordnungsgemäß erfolgt. Ist dies nicht der Fall, folgt Schritt S21, um erneut Schleifenpunkte zu ermitteln. Dieser Ablauf erfolgt solange, bis ein zufriedenstellendes Ergebnis erhalten wird. Ist dies der Fall, folgt ein Schritt S24, in dem das Signal z. B. durch Überblenden mit dem Formantensignal gemischt wird. In einem Schritt S25 wird überprüft, ob der Höreindruck beim Übergang von der Formante zu den Schleifen gut ist. Ist dies nicht der Fall, wird der Schritt S24 zum erneuten Mischen wiederholt. Ist der Höreindruck gut, folgt ein Schritt S26, in dem das Ermitteln der Schleifenpunkte gemäß dem Block 16 mit hoher Genauigkeit erfolgt. Es erfolgt. Abtasten z. B. mit einer Auflösung von 1/256 über die Abtastperiode mit z. B. 256-fachem übergeordnetem Abtasten. In einem folgenden Schritt S27 wird das Intervall-Wandelverhältnis für die Intervallnormalisierung berechnet. In einem Schritt S28 erfolgt die Zeitbasiskorrektur gemäß der Blöcke 17 oder 20. In einem Schritt S29 wird die Schleifenbildung gemäß Block 21 (1) ausgeführt. Das Mischen gemäß Block 22 erfolgt in einem folgenden Schritt S30. Der Ablauf ab Schritt S26 erfolgt mit Hilfe der Schleifenpunkte, wie sie in den Schritten S21 – S25 erhalten werden. Die Schritte S21 – S25 können für volle Automatisierung der Schleifenbildung weggelassen werden.In the flow chart according to 18 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 step S23, it is judged by listening whether the loop formation is done 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 cross-fading with the formant signal. 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 auditory impression is good, step S26 follows in which the loop points are determined in accordance with the block 16 done with high accuracy. It takes place. Scanning z. B. with a resolution of 1/256 over the sampling period with z. B. 256-fold higher-level scanning. In a subsequent step S27, the interval conversion ratio for the interval normalization is calculated. In a step S28, the time base correction takes place according to the blocks 17 or 20 , In a step S29, the loop formation according to block 21 ( 1 ) executed. Mixing according to block 22 takes place in a subsequent step S30. The procedure from step S26 is done using 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 Formantenbereich FR und der Schleifendomäne LP bestehen, werden in einem auf den Mischer 22 folgenden Block 23 bitkomprimiert und kodiert.The amplitude values obtained in this way, which consist of the formant region FR and the loop domain LP, are applied in one to the mixer 22 following block 23 bit-compressed and encoded.

Zum Komprimieren und Kodieren können verschiedene Systeme verwendet werden. Geeignet ist eines, wie es in JP-62-008629 A und JP-62-003516 A vorgeschlagen ist. Dort wird eine vorgegebene Anzahl von h Abtastworten mit Amplitudenwerten in einem Block gruppiert, und blockweise wird Bitkompression ausgeführt. Dieses hochwirkungsvolle System wird im folgenden anhand von 19 kurz erläutert.Various systems can be used for compression and encoding. One is suitable, as it is in JP-62-008629 A and JP-62-003516 A is proposed. 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 described below using 19 briefly explained.

Im Blockschaltbild gemäß 19 ist aufzeichnungsseitig ein Kodieren 70 und wiedergabeseitig ein Dekodieren 90 vorhanden. Die Amplitudenwerte x (n) des Quelltondatensignals werden einem Eingangsanschluß 71 des Kodierers 70 zugeführt.According to the block diagram 19 is coding on the recording side 70 and a decoding 90 is present on the reproduction side. The amplitude values x (n) of the source sound data signal become an input terminal 71 of the encoder 70 fed.

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 Amplitudenwert x (n) des Vorhersagesignals vom Vorhersageglied 72 wird dem Addierglied 73 als Subtraktionssignal. zugeführt. Dort wird es vom Eingangssignal x (n) abgezogen, um ein Vorhersagefehlersignal oder ein Abweichungssignal d (n) zu erzeugen. Das Vorhersageglied 72 berechnet den Vorhersagewert x (n) aus einer Primärkombination der letzten p Eingangswerte x(n – p), x(n – P + 1), ..., x(n – 1). Das FIR-Filter 74 wird im folgenden als Kodierfilter bezeichnet.The amplitude values x (n) of the input signal are a FIR digital filter 74 fed that by a predictor 72 and an adder 73 is formed. A respective amplitude value x (n) of the prediction signal from the prediction element 72 becomes the adder 73 as a subtraction signal. fed. There it is subtracted from the input signal x (n) to produce a prediction error signal or a deviation signal d (n). The predictor 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 Bitkompression und Kodierung werden die in eine vorgegebene Zeitspanne fallenden Quelltondaten, d. h. eine vorgegebene Anzahl h von Worten, die in Blöcken gruppiert sind, für jeden Block ausgewählt. Das Kodierfilter 74 hat hierfür optimale Charakteristik. Es kann dadurch gebildet sein, daß mehrere, im Beispielsfall vier, verschiedene Charakteristiken vorab festgelegt werden und dann die optimale Charakteristik ausgewählt wird, d. h. diejenige, mit der das höchste Kompressionsverhältnis erzielbar ist. Im Vorhersageglied 72 wird hierzu ein Satz von Koeffizienten in mehreren, im Beispielsfall vier, Sätzen von Koeffizientenspeichern abgelegt. Im Zeitmultiplex wird jeweils ein Koeffizientensatz angewählt.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 by defining several, in the example four, different characteristics in advance and then selecting the optimal characteristic, ie the one with which the highest compression ratio can be achieved. In the prediction link 72 For this purpose, one set of coefficients is stored in several, in the example four, 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 Bitkompressor zugeführt, der einen Pegelschieber 75(G) und einen Quantisierer 76 aufweist. Dort erfolgt das Komprimieren so, daß der Indexteil und die Mantisse bei Fließkommanotation der Verstärkung G bzw. dem Ausgangssignal vom Quantisierer 76 entsprechen. Es wird also eine Requantisierung ausgeführt, bei der die Eingangsdaten durch den Pegelschieber 75 um eine Anzahl von Bits verschoben werden, welche Anzahl der Verstärkung G entspricht. Dadurch wird der Bereich verschoben, und eine vorgegebene Anzahl von Bits der bitverschobenen Daten wird durch den Quantisierer 76 herausgenommen. Eine Rauschformschaltung 77 dient dazu, den quantisierten Fehler zwischen dem Ausgangssignal und dem Eingangssignal des Quantisierers 76 an einem Summierpunkt 78 zu bilden und dieses Signal über einen G–1-Pegelschieber 79 an ein Vorhersageglied 80 zu geben. Das vorhergesagte Signal für den Quantisierfehler wird als Subtraktionssignal auf den Summierpunkt 81 gegeben, um dadurch eine sogenannte Fehlerrückkopplung zu erhalten. Nach diesem Requantisieren durch den Quantisierer 76 und die Fehlerrückkopplung durch die Rauschformschaltung 77 wird an einem Ausgangsanschluß 82 ein Ausgangssignal d(n) erhalten.The deviation signal d (n), which represents a predicted error, is over a summing point 81 fed to a bit compressor, which has a level shifter 75 (G) and a quantizer 76 having. There the compression takes place in such a way that the index part and the mantissa in the case of floating point commanation of the gain G or the output signal from the quantizer 76 correspond. A requantization is therefore carried out, in which the input data is through the level shifter 75 are shifted 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 passed through the quantizer 76 removed. A noise shaping circuit 77 serves the quantized error between the output signal and the input signal of the quantizer 76 at a summing point 78 to form and this signal via a G -1 level shifter 79 to a predictor 80 to give. The predicted signal for the quantization error is used as a subtraction signal to the summing point 81 given 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 is on an output connector 82 receive an output signal d (n).

Das Ausgangssignal d'(n) vom Summierpunkt 81 ist die Differenz d(n) vom Summierpunkt 73, vermindert um das Vorhersagesignal e (n) für den Quantisierungsfehler, wie es von der Rauschformschaltung 77 gebildet wird. Das. Ausgangssignal d''(n) vom G-Pegelschieber 75 entspricht dem Ausgangssignal d'(n) vom Summierpunkt 81 multipliziert mit der Verstärkung G. Das Ausgangssignal d ^(n) vom Quantisierer 76 ist die Summe der Ausgangssignale d''(n) vom G-Pegelschieber 75 und des Quantisierfehlersignals e(n), wie es vom Summierpunkt 78 ausgegeben wird. Nach Durchlaufen des G–1-Pegelschiebers 79 und des Vorhersageglieds 80, wobei die Primärkombination der letzten r Eingangssignale verwendet wird, ist der Quantisierungsfehler e(n) in das Vorhersagesignal e (n) für den Quantisierungsfehler 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 e (n) for the quantization error as it is from the noise shaping circuit 77 is formed. 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 d ^ (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 from the summing point 78 is issued. 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 e (n) for the quantization error.

Nach dem vorstehend beschriebenen Kodieren sind die Quelltondaten in das Ausgangssignal d ^(n) vom Quantisierer 76 umgewandelt, und sie werden an einem Ausgangsanschluß 82 ausgegeben.After the coding described above, the source sound data is in the output signal d ^ (n) from the quantizer 76 converted, and they are on an output terminal 82 output.

Betriebsartauswahldaten für die optimale Filterwahl werden von einer adaptiven Bereichsvorhersageschaltung 84 ausgegeben und z. B. an das Vorhersageglied 72 des Kodierfilters 74 und einen Ausgangsanschluß 87 gegeben. Bereichsdaten zum Bestimmen der Bitschiebezahl oder der Verstärkungen G und G–1 werden auch an die Pegelschieber 75 und 79 und an einen Ausgangsanschluß 86 gegeben.Mode selection data for optimal filter selection is provided by an adaptive range prediction circuit 84 spent and z. B. the predictor 72 of the coding filter 74 and an output port 87 given. Range data for determining the bit shift number or the gains G and G -1 are also sent to the level shifters 75 and 79 and to an output port 86 given.

Der wiedergabeseitige Dekodierer 90 weist einen Eingangsanschluß 91 auf, dem ein Signal d ^'(n) zugeführt wird, das durch Übertragen oder Aufzeichnen und Wiedergeben des Ausganssignals d ^(n) vom Ausgangsanschluß 82 vom Kodierer 70 gebildet wird. Dieses Eingangssignal wird einem Summierpunkt 93 über einen G–1-Pegelschieber 92 zugeführt. Das Ausgangssignal x'(n) vom Summierpunkt 93 wird einem Vorhersageglied 94 zugeführt und dabei in ein Vorhersagesignal x (n) umgewandelt, das dann auf einen Summierpunkt 93 gegeben wird, wo zu ihm das Ausgangssignal d ^''(n) vom Schieber 92 addiert wird. Das Summensignal wird als Dekodierer-Ausgangssignal x ^'(n) an einen Ausgangsanschluß 95 gegeben.The playback side decoder 90 has an input port 91 on which a signal d ^ '(n) is supplied, which by transmitting or recording and reproducing the output signal d ^ (n) from the output terminal 82 from the encoder 70 is formed. This input signal becomes a summing point 93 via a G –1 level shifter 92 fed. The output signal x '(n) from the summing point 93 becomes a predictive link 94 fed and thereby converted into a prediction signal x (n), which then reaches a summing point 93 is given where to him the output signal d ^ '' (n) from the slide 92 is added. The sum signal is sent as a decoder output signal x ^ '(n) to an output terminal 95 given.

Die Bereichsdaten und die Betriebsartauswahldaten, die an den Ausgangsanschlüssen 86 und 87 des Kodierers 70 ausgegeben werden, werden an Eingangsanschlüssen 96 bzw. 97 des Deko dierers 90 eingegeben. Die Bereichsdaten vom Eingangsanschluß 96 werden an den Schieber 92 übertragen, um dessen Verstärkung G–1 festzulegen, während die Betriebsartauswahldaten vom Eingangsanschluß 97 an das Vorhersageglied 94 gegeben werden, um die Vorhersagecharakteristik so festzulegen, daß sie mit derjenigen des Vorhersageglieds 72 des Kodierers 70 übereinstimmt.The range data and the mode selection data available at the output terminals 86 and 87 of encoder 70 are output on input terminals 96 respectively. 97 the deco dier 90 entered. The range data from the input port 96 be on the slider 92 transmitted to set its gain G -1 during the mode selection data from the input terminal 97 to the predictor 94 are given to set the prediction characteristic to match that of the predictor 72 of the encoder 70 matches.

Bei dem so aufgebauten Dekodierer 90 ist das Ausgangssignal d ^''(n) vom Schieber 92 das Produkt aus dem Eingangssignal d ^'(n) und der Verstärkung G–1. Das Ausgangssignal x ^'(n) vom Summierpunkt 93 ist die Summe aus dem genannten Ausgangssignal vom Schieber 92 und vom Vorhersagesignal x '(n).With the decoder constructed in this way 90 is the output signal d ^ '' (n) from the slide 92 the product of the input signal d ^ '(n) and the gain G -1 . The output signal x ^ '(n) from the summing point 93 is the sum of the output signal from the slide 92 and from the prediction signal x '(n).

20 zeigt einen Block von Ausgangsdaten vom bitkomprimierenden Kodierer 70. Es sind 1-Byte-Kopfdaten (Parameterdaten, die die Kompression betreffen, oder Unterdaten) RF und 8-Byte-Abtastdaten DA0 – DB3 vorhanden. Die Kopfdaten RF sind 4-Bit-Bereichsdaten, 2-Bit-Betriebsartwahldaten oder Filterwahldaten und zwei 1-Bit-Flaggendaten, wie z. B. ein Datenwert LI, der das Vorhandensein oder das Fehlen einer Schleife anzeigt, und ein Datenwert EI, der anzeigt, ob der letzte Block des Signals negativ ist. Jeder Abtastwert der Amplitudendaten ist nach Bitkompression durch vier Bits wiedergegeben, während 16 Abtastwerte von 4-Bit-Daten DA0H – DB3L in den Daten DA0 – DB3 enthalten sind. 20 shows a block of output data from the bit compressing encoder 70 , 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 represented 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 .

21 zeigt einen Block von bitkomprimierten und kodierten Amplitudendaten, die dem Anfang des in 2 dargestellten Musiktonsignals entsprechen. Es sind nur die Amplitudendaten ohne den Kopf dargestellt. Der Anschaulichkeit halber besteht jeder Block nur aus acht Abtastdaten, es können aber auch z. B. 16 Abtastdaten vorhanden sein. Dies gilt für den Fall von 15. 21 shows a block of bit-compressed and encoded amplitude data that corresponds to the beginning of the in 2 correspond to the musical tone signal shown. Only the amplitude data without the head are shown. 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 15 ,

Die oben beschriebene quasi-augenblickliche Bitkompression und Kodierung wählt entweder unmittelbaren PCM-Modus aus, der direkt das eingegebene Musiktonsignal ausgibt, oder einen Differentialfiltermodus erster Ordnung oder einen solchen zweiter Ordnung, die jeweils das Musiktonsignal gefiltert ausgeben, was zu Ausgangssignalen mit höchstem Kompressionsverhältnis führt.The quasi-instantaneous described above Bit compression and coding chooses either immediate PCM mode that directly entered the Outputs musical tone signal, or a differential filter mode first Order or such a second order, each the musical tone signal output filtered, which leads to output signals with the highest compression ratio.

Wenn Musiktöne von einem Speicher abgetastet und gelesen werden, beginnt das Eingeben des Musiktonsignals in einem Tonerzeugungs-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 abzuspeichern. Es ist jedoch erwünscht, daß dies nicht erforderlich ist. Aus diesem Grund werden in der Anfangsperiode nach dem Tonerzeugungs-Startpunkt KS Pseudoeingangssignale erzeugt, die dazu führen, daß der unmittelbare PCM-Modus gewählt wird. Es erfolgt das Datenverarbeiten dann so, daß mit diesen Pseudosignalen die Eingangssignale bearbeitet werden.When music tones are sampled from a memory and be read, the input of the musical tone signal begins in a tone generation starting point KS. If a differential filter mode first or second order, which needs an initial value, in first block after the tone generation starting point KS is selected, it would be necessary save an initialization value. However, it is desirable that this not is required. For this reason, in the initial period generates pseudo input signals after the tone generation starting point KS, that lead to, that the immediate PCM mode selected becomes. The data is then processed in such a way that Pseudo signals the input signals are processed.

Dies erfolgt z. B. dadurch, daß, wie in 21 dargestellt, ein Block mit lauter Werten "0" als Pseudoeingangssignalblock vor dem Tonerzeugungs-Startpunkt KS angeordnet wird. Diese Daten "0" werden als Amplitudenwerte behandelt und bitkomprimiert. Dies kann dadurch erfolgen, daß ein Block mit den Werten "0" in einem Speicher abgelegt wird oder daß beim Beginn des Abtastens von Musiktönen zunächst Werte "0" vor dem Startpunkt KS angeordnet werden, d. h. ein stiller Bereich vor der Tonerzeugung. Mindestens ein Block von Pseudoeingangssignalen ist erforderlich.This is done e.g. B. in that, as in 21 shown, a block with loud values "0" is arranged as a pseudo input signal block in front of the tone generation start point KS. This data "0" is 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 Pseudoeingangssignale werden durch das anhand von 19 veranschaulichte System bitkomprimiert und kodiert und dann aufgezeich net, z. B. in einem Speicher. Das komprimierte Signal wird wiedergegeben.The musical sound data including the pseudo input signals thus formed are determined by the on the basis of 19 illustrated system bit-compressed and encoded 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 the pseudo input signal, the immediate PCM mode is activated first selected which eliminates the need for 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 Verzögerung etwa 0,5 msec, was im Höreindruck nicht auffällt.The delay in the beginning of the audio signals due to the pseudo input signal apparently leads to a bother of the sound signal since first There is silence. This bothers but not actually since the sampling frequency is 32 kHz, each with 16 samples in one block. This makes the delay about 0.5 msec, which in auditory sensation not noticeable.

Die oben beschriebene Bitkompression und Kodierung und andere Signalverarbeitungen erfolgen vorzugsweise mit Hilfe eines digitalen Signalprozessors (DSP). 22 veranschaulicht ein Ausführungsbeispiel für eine Audiosignalverarbeitungseinheit 107 als Tonquelleneinheit, die Quelltondaten verarbeitet. Auch Peripheriegeräte sind dargestellt.The bit compression and coding and other signal processing described above are preferably carried out with the aid of a digital signal processor (DSP). 22 illustrates an embodiment of an audio signal processing unit 107 as a sound source unit that processes source sound data. Peripherals are also shown.

Ein Host-Computer 104, z. B. in Form eines üblichen PCs eines digitalen elektronischen Musikinstruments oder eines Spielgerätes, wird an die Audiosignalverarbeitungseinheit 107 als Tonquelleneinheit angeschlossen, so daß die Quelltondaten vom Host-Computer 104 in die Verarbeitungseinheit 107 geladen werden. Die Audiosignalverarbeitungseinrichtung (APU = Audio Processing Unit) 107 weist eine CPU 103, wie einen Mikroprozessor, einen digitalen Signalprozessor DSP 101 und einen Speicher 102 zum Speichern der Quelltondaten auf. Es werden also zumindest die eben genannten Daten im Speicher 102 gespeichert. Die DSP 101 führt eine Vielzahl von Abläufen aus, einschließlich der Auslesesteuerung für die Quelltondaten, aber auch Schleifenbit-Expansion oder -Restauration, Inter vallkonversion, Hüllkurvenwertaddition oder Echoerzeugung. Der Speicher 102 dient auch als Pufferspeicher für Werte, die bei diesen Abläufen erzeugt werden. Die CPU 103 steuert die von der DSP 101 ausgeführten Abläufe.A host computer 104 , e.g. B. in the form of a conventional PC of a digital electronic musical instrument or a game device is sent to the audio signal processing unit 107 connected as a sound source unit so that the source sound data from the host computer 104 into the processing unit 107 Loading. The audio signal processing device (APU = Audio Processing Unit) 107 has a CPU 103 , such as a microprocessor, a digital signal processor DSP 101 and a memory 102 to save the source sound data. So there is at least the data just mentioned in the memory 102 saved. The DSP 101 performs a variety of processes, including readout control for the source sound data, but also loop bit expansion or restoration, interval conversion, envelope value addition or echo generation. The memory 102 also serves as a buffer for values that are generated during these processes. The CPU 103 controls the DSP 101 executed processes.

Die digitalen Musiktondaten, wie sie schließlich nach Abschluß der verschiedenen, von der DSP 101 ausgeführten Abläufe mit Hilfe der Quelltondaten vom Speicher 102 zur Verfügung stehen, werden durch einen D/A-Wandler 105 umgewandelt und an einen Lautsprecher 106 gegeben.The digital musical sound data, as it finally comes after the completion of the various, by the DSP 101 Executed processes using the source sound data from the memory 102 are available through a D / A converter 105 converted and to a speaker 106 given.

Beim Ausführungsbeispiel werden die Quelltondaten durch Verbinden des Formantenbereichs und der Schleifendomäne miteinander gebildet. Das beschriebene Verfahren kann aber auch auf Quelltondaten angewendet werden, die nur aus Schleifendomänen bestehen. Die dekodierseitigen Einrichtungen und die Speicher können auch extern, auch steckbar, angeordnet sein. Die Verfahren sind nicht nur auf das Erzeugen von Musiktönen anwendbar, sondern auch auf Spracherzeugung.In the embodiment, the source sound data by connecting the formant area and the loop domain together educated. The method described can also be based on source sound data applied that consist only of loop domains. The decoding side Facilities and the stores can also be arranged externally, also pluggable. The procedures are not only applicable to the generation of musical tones, but also on speech production.

Claims (1)

Vorrichtung zum Erzeugen von Quelltondaten zum Abspeichern derselben in einem Speicher, durch Verarbeiten von Musiktonsignalen mit sich wiederholenden Signalmustern, umfassend: – einen Intervalldetektor (12) zum Ermitteln des Intervalls des Tonsignals, das der Grundfrequenz des Tonsignals entspricht, mit Hilfe einer Fourier-Transformation, und – eine Filtereinrichtung (15), die das eingegebene Musiktonsignal erhält und mit einer Kammfiltercharakteristik ausgebildet ist, um nur Signalanteile der Grundfrequenz und harmonischer Oberschwingungen derselben durchzulassen, dadurch gekennzeichnet, daß – im Intervalldetektor (12) nach Ausführen einer Fourier-Transformation die Phasen der erhaltenen Frequenzkomponenten aneinander angepaßt werden, sodann erneut eine Fourier-Transformation ausgeführt wird und schließlich die Periode der Spitzenwerte in den Ausgangsdaten ermittelt wird, – eine Datenaussiebeinrichtung (16) sich wiederholende Daten aussondert, was dadurch erfolgt, daß ein Datenbereich der ermittelten Intervallbreite über die gesamten Signaldaten verschoben wird und Bereiche um den Anfangs- und Endpunkt des jeweils verschobenen Bereichs herum untersucht werden und daß auf richtige Lage des Bereichs entschieden wird, wenn die verglichenen Nachbarbereiche ähnlich sind, – ein Zeitbasis-Korrekturblock (17) Intervalle verschiedener Signaldaten aneinander anpaßt, – ein Mischer (22) ein Pseudoeingangssignal vor den Anfang des Eingangssignals anfügt und – eine Komprimier-Kodier-Einrichtung (23) jeweils n Perioden der Signaldaten in komprimierte Datenworte und in Parameter komprimiert und kodiert, die für die Kompression gelten, mit Komprimier-Kodier-Blöcken, die jeweils h Abtastworte als Einheit enthalten, wobei die Periode der Signaldaten konstant ist, wobei m Komprimier-Kodier-Blöcke gebildet werden, die mindestens einen Startblock und einen Endblock enthalten, wobei h, m und n natürliche Zahlen sind und wobei die Parameter für den Startblock auf Grundlage der Daten für den Startblock und den Endblock gebildet sind.Apparatus for generating source sound data for storing the same in a memory by processing musical sound signals with repeating signal patterns, comprising: an interval detector ( 12 ) to determine the interval of the audio signal, which corresponds to the fundamental frequency of the audio signal, with the aid of a Fourier transformation, and - a filter device ( 15 ), which receives the inputted musical tone signal and is designed with a comb filter characteristic in order to pass only signal components of the fundamental frequency and harmonic harmonics thereof, characterized in that - in the interval detector ( 12 ) after carrying out a Fourier transformation, the phases of the frequency components obtained are matched to one another, then a Fourier transformation is carried out again and the period of the peak values in the output data is finally determined, - a data screening device ( 16 ) separates repetitive data, which is done by shifting a data area of the determined interval width over the entire signal data and examining areas around the start and end point of the respective shifted area and deciding on the correct position of the area when the compared Neighboring areas are similar, - a time base correction block ( 17 ) Adapts intervals of different signal data to each other, - a mixer ( 22 ) appends a pseudo input signal before the start of the input signal and - a compression-coding device ( 23 ) Compressed and encoded n periods of the signal data into compressed data words and into parameters that apply to compression, with compression coding blocks, each containing h sample words, the period of the signal data being constant, where m compression coding Blocks are formed which contain at least one start block and one end block, where h, m and n are natural numbers and the parameters for the start block are formed on the basis of the data for the start block and the end block.
DE3943801A 1988-11-19 1989-11-17 Device for generating source sound data Expired - Lifetime DE3943801B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE3938312A DE3938312C2 (en) 1988-11-19 1989-11-17 Process for generating source sound data

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP63-292940 1988-11-19
JP63292932A JP2876604B2 (en) 1988-11-19 1988-11-19 Signal compression method
JP63-292932 1988-11-19
JP63292940A JP2864508B2 (en) 1988-11-19 1988-11-19 Waveform data compression encoding method and apparatus
DE3938312A DE3938312C2 (en) 1988-11-19 1989-11-17 Process for generating source sound data

Publications (1)

Publication Number Publication Date
DE3943801B4 true DE3943801B4 (en) 2004-09-16

Family

ID=32872331

Family Applications (3)

Application Number Title Priority Date Filing Date
DE3943798A Expired - Lifetime DE3943798B4 (en) 1988-11-19 1989-11-17 Process for generating source sound data
DE3943801A Expired - Lifetime DE3943801B4 (en) 1988-11-19 1989-11-17 Device for generating source sound data
DE3943800A Expired - Lifetime DE3943800B4 (en) 1988-11-19 1989-11-17 Generating source audio data - feeding analog or digital output signal to comb filter and passing only basic frequency and its harmonic oscillations

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE3943798A Expired - Lifetime DE3943798B4 (en) 1988-11-19 1989-11-17 Process for generating source sound data

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE3943800A Expired - Lifetime DE3943800B4 (en) 1988-11-19 1989-11-17 Generating source audio data - feeding analog or digital output signal to comb filter and passing only basic frequency and its harmonic oscillations

Country Status (1)

Country Link
DE (3) DE3943798B4 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4433604A (en) * 1981-09-22 1984-02-28 Texas Instruments Incorporated Frequency domain digital encoding technique for musical signals
EP0207171A1 (en) * 1984-12-29 1987-01-07 Sony Corporation Digital signal transmission device
US4641564A (en) * 1983-06-17 1987-02-10 Nippon Gakki Seizo Kabushiki Kaisha Musical tone producing device of waveform memory readout type
EP0241922A2 (en) * 1986-04-15 1987-10-21 Yamaha Corporation Musical tone generating apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4429609A (en) * 1981-12-14 1984-02-07 Warrender David J Pitch analyzer
JPS6029793A (en) * 1983-07-28 1985-02-15 ヤマハ株式会社 Musical tone forming apparatus
JPS6093495A (en) * 1983-10-27 1985-05-25 株式会社河合楽器製作所 Electronic musical instrument

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4433604A (en) * 1981-09-22 1984-02-28 Texas Instruments Incorporated Frequency domain digital encoding technique for musical signals
US4641564A (en) * 1983-06-17 1987-02-10 Nippon Gakki Seizo Kabushiki Kaisha Musical tone producing device of waveform memory readout type
EP0207171A1 (en) * 1984-12-29 1987-01-07 Sony Corporation Digital signal transmission device
EP0241922A2 (en) * 1986-04-15 1987-10-21 Yamaha Corporation Musical tone generating apparatus

Also Published As

Publication number Publication date
DE3943798B4 (en) 2004-09-23
DE3943800B4 (en) 2004-09-16

Similar Documents

Publication Publication Date Title
DE60024501T2 (en) Improvement of Perceptual Quality of SBR (Spectral Band Replication) AND HFR (Radio Frequency Reconstruction) Coding method by adaptively adding noise floor and limiting the noise substitution
EP1979901B1 (en) Method and arrangements for audio signal encoding
DE3041423C1 (en) Method and device for processing a speech signal
DE2818204A1 (en) SIGNAL PROCESSING SYSTEM, IN PARTICULAR FOR THE ELIMINATION OF ROOM REFLECTION
DE19709930A1 (en) Musical characteristics information detector
DE3936693A1 (en) DEVICE FOR GENERATING DIGITAL AUDIO SIGNALS
DE60031812T2 (en) Apparatus and method for sound synthesis
DE2500720C3 (en) Electronic musical instrument
DE3023581A1 (en) METHOD FOR DIGITAL CURVE CURVE CONTROL OF A POLYPHONE MUSIC SYNTHESIS INSTRUMENT AND CIRCUIT ARRANGEMENT FOR IMPLEMENTING THE METHOD
DE4190102B4 (en) Data compression of sound data
DE69736279T2 (en) SOUND-rate converter
EP0772764B1 (en) Process and device for determining the tonality of an audio signal
EP0658874B1 (en) Process and circuit for producing from a speech signal with small bandwidth a speech signal with great bandwidth
DE4218623C2 (en) Speech synthesizer
DE60030069T2 (en) Obfuscation procedure for loss of speech frames
DE3943801B4 (en) Device for generating source sound data
US8750530B2 (en) Method and arrangement for processing audio data, and a corresponding corresponding computer-readable storage medium
DE3037276C2 (en) Sound synthesizer
DE3938312C2 (en) Process for generating source sound data
DE3943797B4 (en) Device for processing source sound data
DE4190031B4 (en) Data compression of decaying musical instrument sounds for a digital scanning system
DE60125491T2 (en) Low-pass filtering of the excitation signal for speech coding
US4840100A (en) Tone signal generation device for an electric musical instrument
DE3938311C2 (en) Device for generating source sound data
DE102004020326B4 (en) Waveform adjustment system for a music file

Legal Events

Date Code Title Description
AC Divided out of

Ref document number: 3938312

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition