DE3938312C2 - Process for generating source sound data - Google Patents

Process for generating source sound data

Info

Publication number
DE3938312C2
DE3938312C2 DE3938312A DE3938312A DE3938312C2 DE 3938312 C2 DE3938312 C2 DE 3938312C2 DE 3938312 A DE3938312 A DE 3938312A DE 3938312 A DE3938312 A DE 3938312A DE 3938312 C2 DE3938312 C2 DE 3938312C2
Authority
DE
Germany
Prior art keywords
signal
data
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
DE3938312A
Other languages
German (de)
Other versions
DE3938312A1 (en
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 DE3943798A priority Critical patent/DE3943798B4/en
Priority to DE3943801A priority patent/DE3943801B4/en
Priority to DE3943800A priority patent/DE3943800B4/en
Priority claimed from DE3943798A external-priority patent/DE3943798B4/en
Publication of DE3938312A1 publication Critical patent/DE3938312A1/en
Application granted granted Critical
Publication of DE3938312C2 publication Critical patent/DE3938312C2/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

In the generating process, an analog or digital input signal is fed to a comb filter, passing only the basic frequency and its harmonic oscillations for generating analog or digital output signals. The reflating signal sections are separated from the output signal and recorded. To determine an interval of uniform analog signal portions, the analog signal is converted into a digital one by a Fourier transformation for generating second Fourier components. The phases of the latter are mutually matched, and another Fourier transformation is carried out. The periods of the peaks in the output data values are then determined.

Description

Die Erfindung betrifft ein Verfahren zum Erzeugen von Quelltondaten nach dem Oberbegriff des Patentanspruchs 1. Bei einem solchen Verfahren ist es erforderlich, verschiedene 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 method for generating source sound data according to the preamble of claim 1. In such a method it is required to generate various data from an input signal. Also data must be compressed and recorded. With musical sound data interval data must be determined. Compression takes place e.g. B. in blocks. Compressing and also winning repetition periods in one Signal occurs e.g. 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 Musikin­ strumenten Quelltondaten durch Abtasten ermittelt und diese Daten in einem Speicher ablegt.Sound sources as used in electronic musical instruments are z. B. analog sound sources z. B. consist of VCO, VCA and VCF, and digital sound sources that have a programmable sound generator or a ROM from which sound data are read out. As a digital sound source  also used one made from the tones of Musikin instruments source sound data determined by sampling and this Stores data in a memory.

Da zum Speichern von Quelltondaten in der Regel ein Speicher großer Kapazität erforderlich ist, bestehen umfangreiche Be­ mühungen, Verfahren so zu gestalten, daß Speicherplatz einge­ spart 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.There is usually a memory for storing source sound data large capacity is required, extensive loading exist efforts to design procedures so that storage space is saved. This particularly includes loop formation d. H. a procedure that determines the periodicity of musical tone signals exploits 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 Musik­ ton besteht typischerweise aus einer Nichttonkomponente, wie sie z. B. beim Anschlagen einer Klaviertaste oder beim Anbla­ sen eines Blasinstruments erfolgt, und einer periodischen Tonkomponente. Die Nichttonkomponente stellt einen Formanten­ teil mit nicht festliegender Periodizität dar. In der Tonkom­ ponente weist das Signal ein bestimmtes Signalintervall auf. Durch Wiederholen von n (ganzzahlig) des Intervalls als Schleifendomäne kann ein verlängerter Ton unter Nutzung ge­ ringen Speicherplatzes erzeugt werden.The looping also serves to generate tones that are longer than the original sampled tone. A music ton typically consists of a non-tone component, such as they z. B. when striking a piano key or when blowing a wind instrument and a periodic Sound component. The non-tone component represents a formant part with not fixed periodicity. In the Tonkom component, the signal has a specific signal interval. By repeating n (integer) of the interval as Loop domain can use an extended tone wrestle of storage space are generated.

Bei der Schleifenbildung besteht ein Problem, das als Schlei­ fenrauschen bekannt ist. Zum Schleifenrauschen kommt es auf­ grund einer besonderen Verteilung der Frequenzen. Das Rau­ schen fällt auch dann auf, wenn sein Pegel geringer ist als der des weißen Rauschens. Mehrere Faktoren sind wahrschein­ lich für das Schleifenrauschen verantwortlich.There is a problem with loop formation, that is as a loop fenrauschen is known. Loop noise occurs due to a special distribution of the frequencies. The rough is also noticeable when its level is lower than that of white noise. Several factors are likely responsible for the loop noise.

Einer der Faktoren ist der, daß die Schleifenperiode nicht genau mit der Signalperiode eines Quelltonsignals überein­ stimmt. Wenn z. B. ein Quellton von 401 kHz einer Schleifen­ bildung mit einer Periode von 400 Hz unterworfen wird, weist das durch Schleifenbildung gewonnene Signal nur noch Frequen­ zen auf, die einem ganzzahligen Vielfachen der Schleifenpe­ riode entsprechen. Die Grundfrequenz des Quelltons wird nach 400 Hz verschoben, mit harmonischen Oberschwingungen mit Fre­ quenzen 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:
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 sound of 401 kHz is subjected to a loop formation with a period of 400 Hz, the signal obtained by loop formation only has frequencies that correspond to an integer multiple of the Schleifenpe 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 if there is a 1% offset between the source tone frequency and the loop frequency, an nth order harmonic is formed as follows during loop formation, which is heard as loop noise:

Cn = (sin(n - 0.01))/(π(n - 0.01)) (a)C n = (sin (n - 0.01)) / (π (n - 0.01)) (a)

Ein anderer Faktor besteht darin, daß nichtgeradzahlige Har­ monische erzeugt werden, d. h. Harmonische k-ter Ordnung, wo­ bei k nichtgeradzahlig ist. Das Quellsignal, das auf den er­ sten Blick periodisch erscheint, ist strenggenommen nicht periodisch mit mehreren Harmonischen, die nichtgeradzahliger Ordnung sind. Bei der Schleifenbildung werden diese harmoni­ schen Oberschwingungen zwangsweise zu benachbarten geradzah­ ligen Harmonischen verschoben. Diese bei der Schleifenbildung erzeugte Verzerrung hört man als Schleifenrauschen. Wenn die harmonischen Schleifen-Oberschwingungen eine Frequenzkompo­ nente aufweisen, die das a-fache der Schleifenfrequenz ist, wobei a nicht notwendigerweise ganzzahlig ist, ist der Ver­ zerrungsfaktor, wie er bei der Schleifenbildung gebildet wird, eine Funktion von a, die durch die folgende Gleichung gegeben ist:
Another factor is that non-even harmonics are generated, that is, kth order harmonics where k is non-even. The source signal, which appears periodically at the first glance, is strictly not periodic with several harmonics that are of an odd order. When creating loops, these harmonic 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 loop formation is a function of a, which is given by the following equation given is:

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. where m is the integer closest to a lies. The distortion factor becomes for a = 0.5; 1.5; 2.5; . . . largest and for 1.0; 2.0; 3.0. . . the 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 Schleifen­ periode ein ganzzahliges Vielfaches der Quelltonperiode ist.It is believed that the two factors mentioned are: are the main ones for loop noise. In any Case the loop noise is generated when the loops period is an integer multiple of the 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 one spectral distribution, which is undesirable in reproduction is so that it should be removed as much as possible.

Andererseits sind die abgetasteten und gespeicherten Quell­ tondaten 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, ent­ hä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 er­ zeugte Seitenband zu nichtgeradzahligen Oberschwingungen, was als Schleifenrauschen wiedergegeben wird.On the other hand, the scanned and stored sources sound data those that were digitized directly so that the sound quality depends on the quality of the sampling. If the sound has many noise components during sampling, ent the read out and reproduced signal also holds it Noise components. If a musical tone with so-called vibrato is sampled, this tone is slightly frequency modulated. At this leads to the formation of loops in frequency modulation sideband produced odd harmonics what is reproduced as loop noise.

Zum Beginnen und Beenden der Schleifenbildung werden übli­ cherweise zwei Punkte gleichen Pegels, insbesondere des Pe­ gels 0 verwendet.To start and end the loop formation are usual Usually two points of the same level, especially the Pe gel 0 used.

Diese Auswahl von Schleifenpunkten ist schwierig und zeitauf­ wendig, da es nach einem Trial-and-Error-Verfahren erfolgt. Punkte mit in etwa gleichem Pegel werden als Start und End­ punkte festgelegt.This selection of loop points is difficult and time consuming manoeuvrable, since it is done according to a trial and error procedure Points with approximately the same level are called the start and end points set.

Für die Schleifenbildung ist es erforderlich, die Grundfre­ quenz der Quelltondaten zu erfassen. Herkömmlich wird so vor­ gegangen, daß die Musiktondaten ein Tiefpaßfilter (LPF) durchlaufen, um Rauschkomponenten hoher Frequenz auszufil­ tern. 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 loop formation it is necessary to set the basic fre to record the source sound data. Conventionally, this is how gone that the musical sound data a low pass filter (LPF) to filter out high frequency noise components tern. It then becomes the number of zero crossings through the Low pass filter determined to determine the interval. At  This method requires that the musical tone for is maintained for a long time since the interval of the Fundamental tone can only be measured if a larger number is counted from zero crossings. 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 Ver­ fahren 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 Ober­ schwingungen, 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 tone is considerably weaker than the harmonics, which also makes it difficult to reliably determine the peaks of the fundamental tone.

Außer der Schleifenbildung wird zum Einsparen von Speicher­ kapazität auch noch die eingangs genannte Bitkompression der Quelltondaten verwendet. Praktisch erfolgt dies z. B. da­ durch, daß aus mehreren vorgegebenen Filtern jeweils das aus­ gewählt wird, das auf blockweiser Grundlage zur höchsten Kom­ pression führt, wobei jeder Block aus mehreren Abtastungen besteht.In addition to creating loops, memory is saved capacity also the bit compression of the Source sound data used. In practice, this is done for. B. there through that from several given filters is chosen, which on a block basis to the highest comm pression leads, each block consisting of several samples consists.

Für eine solche Filterwahl werden jedem Block mit 16 Abta­ stungen der Signalamplitude Kopf- oder Parameterdaten voran­ gestellt, wie z. B. Bereichs- oder Filterdaten. Die Filter­ daten 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 Differentialfil­ ter erster und zweiter Ordnung wirken beim Dekodieren oder Wiedergeben als IIR-Filter, so daß beim Dekodieren oder Wiedergeben der ersten Abtastung eines Blocks eine oder zwei Abtastungen, die dem Block vorausgehen, als Anfangswerte erforderlich sind.For such a filter selection, each block with 16 samples head or parameter data posed such. B. area or filter data. The filters data is used to select a filter that is the highest Compression leads or where the compression is chosen is that it is optimal for coding. There are e.g. B. Filters used with three operating modes, namely directly with PCM, with first order and second order. The differential fil The first and second order act when decoding or Play back as an IIR filter so that when decoding or playing back  the first scan of a block, one or two scans that precede the block as initial values are required.

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, dass ein oder zwei Daten als Anfangswerte in einem Speicher abgelegt werden müssen. Die Hardware für den Dekoder wird also umfang­ reicher, was zur Schaltungsintegration und Kostenerniedrigung nicht erwünscht ist.If first or second order differential filter for the first block of Source sound data are selected, but a previous scan is missing, which results in one or two dates as initial values in a memory must be filed. The hardware for the decoder is therefore extensive richer, what not for circuit integration and cost reduction is desired.

Aus der US 4,044,204 ist ein Verfahren zum Abtrennen von gesprochenen und ungesprochenen Teilen aus einem Sprachsignal bekannt. Bei diesem Verfahren wird ein Sprache und Rauschen enthaltenes Eingangssignal über ein Verzögerungsglied verschiedenen Filtern zugeführt, denen ein Tiefpassfilter nachgeschaltet ist. Sich wiederholende Intervalle werden mit einer speziellen Schaltung ermittelt, bei der ein Spitzenwertdetektor Spitzenwerte eines von dem Verstärker abgegebenen Signales feststellt. Diesem Verstärker ist ein Toneingangssignal über parallele Kanäle mit entsprechenden Filtern zugeführt.From US 4,044,204 a method for separating spoken and unspoken parts known from a speech signal. With this procedure becomes an input signal containing speech and noise via a Delay element fed to various filters, which a low-pass filter is connected downstream. Repeating intervals are with a special Circuit determined in which a peak detector peak values one of signals delivered to the amplifier. This amplifier is a Sound input signal supplied via parallel channels with appropriate filters.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, das auf einfache Art ein Erzeugen von Quelltondaten mit guter Tonqualität erlaubt.The invention has for its object to provide a method based on simple way to generate source sound data with good sound quality.

Diese Aufgabe wird bei einem Verfahren der eingangs genannten Art erfindungsgemäß durch die im kennzeichnenden Teil des Patentanspruchs 1 enthaltenen Merkmal gelöst. Vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den Patentansprüchen 2 und 3.This task is carried out in a method of the type mentioned at the beginning according to the invention in the characterizing part of claim 1 contained feature solved. Advantageous developments of the invention result from patent claims 2 and 3.

Gemäß der Lösung von Anspruch 1 wird ein Kammfilter eingesetzt, das nur Signale einer Grundfrequenz und von harmonischen Oberschwingungen derselben durchlässt, wodurch das Signal/Rausch-Verhältnis verbessert, und es werden insbesondere sich wiederholende Signalbereiche mittels Schleifen­ startpunkten und Schleifenendpunkten abhängig von einem ganzzahligen Viel­ fachen des Intervalles der Grundfrequenz des Eingangssignals ermittelt.According to the solution of claim 1, a comb filter is used, the only Signals of a fundamental frequency and of harmonic harmonics passes through, thereby improving the signal / noise ratio, and there are in particular repetitive signal areas by means of loops start points and loop end points depend on an integer lot times the interval of the fundamental frequency of the input signal.

Anspruch 2 gibt ein Verfahren an, wie die Länge eines regelmäßig wieder­ kehrenden Musters ermittelt werden kann.Claim 2 specifies a method such as the length of a regular sweeping pattern can be determined.

Anspruch 3 beschreibt ein Verfahren, das zum Einsatz kommt, wenn die Länge eines regelmäßig wiederkehrenden Musters bestimmt ist, sei es nach dem Verfahren von Anspruch 2 oder nach einem anderen Verfahren. Es wird dann nämlich ein Bereich der ermittelten Länge solange im Gesamtsignal hin- und hergeschoben, bis festgestellt wird, dass benachbarte Bereiche ähnlich sind. Die Ähnlichkeit wird dabei nur durch Vergleich von Anfangs- bzw. End­ bereichen ermittelt.Claim 3 describes a method that is used when the length of a regularly recurring pattern, be it according to the The method of claim 2 or another method. Then it will namely a range of the determined length back and forth in the overall signal pushed until it is determined that neighboring areas are similar. The similarity is only by comparing the beginning or end areas determined.

Die Erfindung wird im folgenden anhand eines durch Figuren veranschaulichten Ausführungsbeispiels erläutert. Es zeigen:The invention is illustrated below with the aid of figures illustrated embodiment explained. Show it:

Fig. 1 ein Blockdiagramm einer Vorrichtung zum Erzeugen von Quelltondaten; Fig. 1 is a block diagram of an apparatus for generating Quelltondaten;

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

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

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

Fig. 5 ein Musiktonsignal samt Hüllkurve; Fig. 5, together with a musical tone signal envelope;

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

Fig. 7 ein Blockdiagramm zum Erläutern einer Hüllkurven­ bildung; Fig. 7 is a block diagram for explaining an envelope formation;

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

Fig. 9 ein Signal nach Hüllkurvenkorrektur des Musikton­ signals; Fig. 9 shows a signal after envelope correction of the musical tone signal;

Fig. 10 ein Diagramm zum Veranschaulichen der Charakteri­ stik eines Kammfilters; Fig. 10 is a diagram illustrating the characteristics of a comb filter;

Fig. 11 ein Flußdiagramm zum Erläutern eines Aufzeichnungs­ verfahrens mit Hilfe eines Kammfilters; FIG. 11 is a flowchart for explaining a recording method using a comb filter;

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

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

Fig. 14A und B ein Musiktonsignal vor bzw. nach Zeitbasis­ korrektur; FIG. 14A and B, a musical tone correction before and after time base;

Fig. 15A und B Diagramme zum Erläutern von Blöcken für Bit­ kompression;Compression 15A and B are diagrams for explaining of blocks by bit.

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

Fig. 17 einen Formantenbereich nach Hüllkurvenkorrektur; FIG. 17 is a formant region by envelope correction;

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

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

Fig. 20 ein Diagramm zum Veranschaulichen des Inhalts eines Datenblocks, wie er durch Bitkompression und Ko­ dierung erhalten wird; FIG. 20 is a diagram illustrating the contents of a data block, as is obtained by bit compression and consolidation Ko;

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

Fig. 22 ein Blockdiagramm eines Systems mit Audioverarbei­ tungseinheit. Fig. 22 is a block diagram of a system with audio processing unit.

Anhand der Fig. 1 werden verschiedene Funktionen erläutert, die zwischen dem Abtasten eines Musikquellsignals und dem Speichern in einem Speicher erfolgen. Das Musikquelldaten­ signal wird an einem Anschluß 10 eingegeben. Es kann ein Sig­ nal 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.Different functions are explained with reference to Fig. 1, which occur between the scanning of a music source signal and storing in a memory. The music source data signal is entered at a terminal 10 . It can be a signal that is picked up 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äß Fig. 1 gebildeten Quelldaten haben eine sogenannte Schleifenbildung erfahren, die nun an­ hand des Musiktonsignals gemäß Fig. 2 erläutert wird. Direkt nach dem Start der Erzeugung eines Tones, sind im Ton Nicht­ tonkomponenten 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 Musik­ intervall (Abstand oder Tonhöhe) des Musiktons entspricht. The source data formed by the device according to FIG. 1 has undergone a so-called loop formation, which is now explained on the basis of the musical tone signal according to FIG . Immediately after the start of the generation of a tone, non-tone components are contained in the tone, as they are e.g. 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. There then follows a repeated repetition of the same signal form which corresponds to the music interval (distance or pitch) of the musical tone.

Eine Anzahl n von Perioden dieser sich wiederholenden Signal­ form wird als Schleifendomäne LP verwendet. Sie liegt zwi­ schen einem Schleifenstartpunkt LPS und einem Schleifenend­ punkt 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 Zeitspan­ ne 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 ana­ loger Eingangssignale.The input musical tone signal is sampled in a sampling block 11 , e.g. B. at 38 kHz. A 16-bit signal is obtained before sampling. The sampling corresponds to the A / D conversion of analog input signals.

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

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

Das Musiktonsignal f(t), dessen Intervall ermittelt werden soll, kann durch Fourier-Expansion wie folgt ausgedrückt wer­ den:
wobei a(ω) und ϕ(ω) die Amplitude bzw. Phase der Obertöne bedeuten. Wenn die Phasenverschiebung ϕ(ω) für jeden Oberton auf Null gesetzt wird, kann obige Formel wie folgt umge­ schrieben werden:
The musical tone signal f (t), the interval of which is to be determined, can be expressed by Fourier expansion as follows:
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:

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

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

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

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

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

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

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

wobei die folgende Gleichung
where the following equation

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

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

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

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

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

Y(ω) = [X(ω)X(ω)]1/2 = (1/2)anδ(ω - ωn) (9).
Y (ω) = [X (ω) X (ω)] 1/2 = (1/2) a n δ (ω - ω n ) (9).

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

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

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

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

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

Es wird darauf hingewiesen, daß innerhalb von Musiktondaten eine große Anzahl von Spitzen mit unterschiedlichen Werten vorhanden ist. Ein Intervall kann dadurch gefunden werden, daß der Abstand zwischen Spitzen ermittelt wird.It should be noted that within musical sound data a large number of peaks with different values  is available. An interval can be found that the distance between peaks is determined.

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

Der Maximalwertdetektor 44 ist so ausgebildet, daß er dann, wenn z. B. der Wert aus dem mittleren Register a0 von allen Werten maximal wurde, diesen Wert als maximalen Wert an den Ausgangsanschluß 45 gibt. Die Breite (N + 1) des Fensters kann beliebig gesetzt werden.The maximum value detector 44 is designed so that when z. B. the value from the middle register a 0 of all values became maximum, gives this value as maximum value to the output terminal 45 . The width (N + 1) of the window can be set as desired.

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

Es wird darauf hingewiesen, daß im Hüllkurvendetektor 13 die Gesamtabfallrate des Signals erhalten wird, gleichzeitig mit Einhüllendendaten, wie sie z. B. durch die oben genannten Parameter ADSR gegeben sind. Diese Abfallszeitdaten nehmen einen Bezugswert "1" ab dem Zeitpunkt der Tonerzeugung wäh­ rend der Anschlagszeit TA an und fallen dann gleichmäßig ab, wie durch Fig. 6 veranschaulicht.It should be noted that the overall decay rate of the signal is obtained in the envelope detector 13 , at the same time as envelope data, as it is e.g. B. are given by the above-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 illustrated by FIG. 6.

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

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

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

Die Filtercharakteristik gemäß dem Beispiel von Fig. 8 weist null Punkte bei Vielfachen der Grundfrequenz (f0) auf. Die in Fig. 5 mit B veranschaulichten Hüllkurvendaten können aus dem Musiktondatensignal A in Fig. 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
The filter characteristic according to the example of FIG. 8 has zero points at multiples of the fundamental frequency (f 0 ). The envelope data illustrated with B in FIG. 5 can be obtained from the musical tone data signal A in FIG. 5 by weakening the frequencies of the fundamental and the overtones by the FIR filter. The formula applies to the filter characteristics

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

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

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

In einem ersten Block 14 zum Erzeugen der Schleifendaten wer­ den die abgetasteten Musiktondaten geteilt, die mit Hilfe der zuvor ermittelten Hüllkurve B gemäß Fig. 5 gewonnen wurden (oder es wird mit dem Reziprokwert der Daten multipliziert).In a first block 14 for generating the loop data, the sampled musical tone data is divided, which was obtained with the aid of the previously determined envelope curve B according to FIG. 5 (or it is multiplied by the reciprocal value of the data).

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

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

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

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

Das Musiktonsignal, dessen Rauschkomponenten auf die genannte Weise verringert wurden, wird einer Schaltung zugeführt, die wiederholte Signalformen ermittelt. Derartige Signalformen, wie z. B. die Schleifendomäne LP gemäß Fig. 2 wird abgetrennt und der verbliebene Teil wird aufgezeichnet, z. B. in einem Halbleiterspeicher. Das gespeicherte Musiktondatensignal ent­ hält die Nichttonkomponente und einen Teil des Rauschens. Da­ durch wird dafür gesorgt, daß beim Wiedergeben des wiederhol­ ten Signalteils das Schleifenrauschen verringert wird.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 of FIG. 2 is separated and the remaining part is recorded, for. B. in a semiconductor memory. The stored musical sound data signal contains the non-sound component and part of the noise. Since it is ensured that the loop noise is reduced when playing the repeat th signal part.

Die Frequenzcharakteristiken des HPF, des Kammfilters und des LPF werden auf Grundlage der Grundfrequenz f0 bestimmt, d. h. auf Grundlage der Intervalldaten, wie sie vom Block 12 gewon­ nen werden.The frequency characteristics of the HPF, the comb filter and the LPF are determined on the basis of the fundamental frequency f 0 , ie on the basis of the interval data as obtained from block 12 .

Ein Verfahren zum Signalaufzeichnen, bei dem das genannte Filtern benutzt wird, wird nun anhand von Fig. 11 veranschau­ licht. In einem Schritt S1 wird die Grundfrequenz f0 des ein­ gegebenen Analogsignals oder des zugehörigen digitalen Ein­ gangssignals ermittelt. In einem Schritt S2 wird das eingege­ bene analoge Signal durch ein Kammfilter der oben beschriebe­ nen Art gefiltert, um ein analoges oder digitales Ausgangs­ signal 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 illustrated with reference to FIG. 11. In a step S1, the fundamental frequency f 0 of the given 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 are passed through. 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 Schleifen­ bildung werden Musiktondaten mit abgeschwächten Rauschkompo­ nenten wiederholt, um das Rauschen zu unterdrücken.In the recording method described, that is Musical tone signal sent through a comb filter that only the Transmits fundamental and harmonic harmonics, attenuates non-tone components and noise components, to improve the signal-to-noise ratio. With loops education become musical sound data with weakened noise composers 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 Tonkomponenten, die durch das beschriebene Filterverfahren her­ vorgehoben wurden, zu ermitteln. Mit diesen werden der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE gebil­ det.In a block 16 for recognizing the loop domain, the musical tone signal is examined for repeated waveforms in order to determine from tone components that differ from the aforementioned tone components that were emphasized by the filter method described. With these, the loop start point LP S and the loop end point LP E are formed.

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

Da nach Ermitteln des Intervalls der Schleifenabstand vorbe­ stimmt ist, werden zwei Punkte ausgewählt, die um den genann­ ten Abstand voneinander entfernt sind. Dann werden die Sig­ nale in der Umgebung dieser Punkte untersucht, und es wird eine Korrelation gebildet. Es wird nun eine Auswertefunktion erläutert, die die Konvolution oder Summenbildung von Produk­ ten in bezug auf Abtastpunkte im Bereich der genannten zwei Punkte benutzt. Die Konvolution wird mehrfach für Sätze aller Punkte ausgeführt, um die Korrelation der Signale zu ermit­ teln. Die Musiktondaten werden dabei aufeinanderfolgend einer Einheit zum Aufsummieren von Produkten zugeführt, z. B. einer digitalen Signalverarbeitungseinrichtung, was weiter unten beschrieben wird. Die Konvolution wird dort berechnet und ausgegeben. Derjenige Satz von zwei Punkten, für den die Kon­ volution maximal wird, wird als Satz des richtigen Schleifen­ startpunktes LPS und des richtigen Schleifenendpunktes LPE angesehen.Since the loop spacing is predetermined after the interval has been determined, two points are selected which are separated from one another by the named spacing. The signals in the vicinity of these points are then examined and a correlation is formed. An evaluation function will now be explained which uses the convolution or 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 Fig. 12 ist mit a0 ein Kandidatenpunkt für den Schleifen­ startpunkt LPS eingezeichnet. b0 ist entsprechend ein Kandi­ dat für den Schleifenendpunkt LPE. Weitere Amplitudendaten a-N, . . ., a-2, a-1, a0, a1, a2, . . ., aN in mehreren Punkten, hier (2N + 1) Punkten vor und hinter dem Kandidatenpunkt a0 sind außerdem dargestellt. Entsprechend sind Amplitudenpunkte b-N, . . ., b-2, b-1, b0, b1, b2, . . ., bN vor und hinter dem Kandidatenpunkt b0 vorhanden. Die Abschätzfunktion E (a0, b0) wird dann:
In Fig. 12, a 0 is a candidate point for the loop starting point LP S. b 0 is accordingly a candidate for the loop end point LP E. Further amplitude data a -N,. . ., a -2 , a -1 , a 0 , a 1 , a 2,. . ., a N in several points, here (2N + 1) points before and after the candidate point a 0 are also shown. Correspondingly, amplitude points b -N,. . ., b -2 , b -1 , b 0 , b 1 , b 2 ,. . ., b N before and after the candidate point b 0 . The estimation function E (a 0 , b 0 ) then becomes:

Die Konvolution um die Punkte a0 und b0 folgt aus Gleichung (13). Die Sätze von Kandidaten a0 und b0 werden schrittweise geändert, bis alle Schleifenpunktkandidaten untersucht sind. Diejenigen, für die die Auswertefunktion E maximal wird, wer­ den 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 whom the evaluation function E becomes maximum, who are regarded as the loop points.

Neben der Konvolutionsmethode kann z. B. auch das Verfahren mittlerer Fehlerquadrate verwendet werden, um Schleifenpunkte aufzufinden. Es gilt dann die folgende Gleichung:
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:

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

Das oben beschriebene Auswahlverfahren für optimale Schlei­ fenpunkte kann immer eingesetzt werden, wenn analoge Signale mit wiederholten Perioden digitalisiert werden, um Schleifen­ daten zu bilden. Das Verfahren wird im folgenden anhand des Flußdiagramms von Fig. 13 weiter veranschaulicht.The selection method for optimal loop points described above can always be used when analog signals are digitized with repeated periods in order to form loop data. The method is further illustrated below using the flow chart of FIG. 13.

Gemäß Fig. 13 wird ein analoges Signal mit wiederholter Sig­ nalform in einem Schritt S11 in ein digitales Signal mit meh­ reren Abtastpunkten umgewandelt. In einem Schritt S12 werden Abtastpunkte ausgewählt, die voneinander um die Wiederho­ lungsperiode getrennt sind. In einem Schritt S13 werden Werte für eine vorgegebene Auswertefunktion auf Grundlage von Abtastpunkten berechnet, die sich in der Nähe der beiden ausge­ wä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 berechne­ ten Werten derjenige Satz ausgewählt, der die größte Korrela­ tion zeigt. In einem Schritt S16 werden dann diejenigen Ab­ tastdaten zwischen den ausgewählten Punkten als Abtastdaten für das wiederholte Signal herausgezogen.Referring to FIG. 13, an analog signal with repeated Sig is nalform converted in step S11 into a digital signal containing more reren sampling points. 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 predefined 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 sampling data between the selected points are extracted as sampling data for the repeated signal.

Im Schleifenpunktermittlungsblock 16 gemäß Fig. 1 werden also der Schleifenstartpunkt LPS und der Schleifenendpunkt LPE auf Grundlage des Intervalls ermittelt. Aus dem Abstand der Punk­ te, der mehrere Intervalle des Grundtons umfassen kann, folgt ein Intervall-Wandelverhältnis, das in einem Zeitbasis-Kor­ rekturblock 17 verwendet wird.In the loop point determination block 16 according to FIG. 1, the loop start point LP S and the loop end point LP E are determined on the basis of the interval. From the spacing of the points, which can comprise several intervals of the fundamental tone, there follows an interval conversion ratio, which is used in a time base correction block 17 .

Die Zeitbasiskorrektur erfolgt, um die Intervalle verschiede­ ner Quelltondaten aneinander anzupassen, wenn diese Daten in einem Speicher abgelegt werden. Statt dem Intervall-Wandel­ verhältnis können für diesen Zweck die Intervalldaten genutzt werden, wie sie der Intervalldetektor 12 liefert.The time base correction is carried out in order to adapt the intervals of different source sound data to one another when this data is stored in a memory. Instead of the interval change ratio, the interval data as supplied by the interval detector 12 can be used for this purpose.

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

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

Beim Signal A vor der Zeitbasiskorrektur steht die Schleifen­ domäne LP in der Regel nicht in direkter Relation mit einem Block. Beim Signal gemäß Fig. 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 verscho­ ben, so daß der Schleifenstartpunkt LPS und der Schleifenend­ punkt LPE mit den Grenzen von Blöcken übereinstimmen. Die Zeitbasiskorrektur, d. h. das Kompandieren der Zeitbasis und das Verschieben in der genannten Weise, sorgt dafür, daß Schleifenbildung für eine ganzzahlige Anzahl (m) von Blöcken erfolgen kann, wodurch das Normalisieren des Intervalls der Quelltondaten beim Aufzeichnen erfolgt.With signal A before the time base correction, the loop domain LP is generally not in direct relation to a block. In the signal of FIG. 14B, the loop LP domain is companded in the time base so as to (m-fold) is an integer multiple of a block length or block period. The loop domain is also shifted along the time axis, so that the loop start point LP S and the loop end point LP E match the boundaries of blocks. The time base correction, 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 von der vordersten Blockgrenze des Mu­ siktonsignals kann ein Tonhöhensignalwert "0" eingefügt wer­ den. Dieser Datenwert "0" dient als Pseudodatenwert, damit Filter, die einen Anfangswert für die Datenkompression benö­ tigen, ausgewählt werden können. Dies wird weiter unten an­ hand einer durch Fig. 21 veranschaulichten blockweisen Kom­ pression erläutert.With an offset ΔT from the foremost block limit of the musical signal, a pitch signal value "0" can be inserted. This data value "0" serves as a pseudo data value, so that filters which require an initial value for the data compression can be selected. This is explained below using a blockwise compression illustrated by FIG. 21.

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

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

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

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

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

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

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

Bei dieser Vorgehensweise stehen dieselben Daten für mehrere Abtastpunkte vor und nach dem Schleifenstartpunkt LPS und dem Schleifenendpunkt LPE zur Verfügung. Daher sind die Parameter für Bitkompression und Kodierung in den Blöcken direkt vor diesen Punkten dieselben, wodurch Fehler und Rauschen beim Wiedergeben der Schleifen nach dem Dekodieren verringert wer­ den können. Die Musikdaten beim Wiedergeben sind dann stabil und frei Übergangsrauschen. Bei der Ausführungsform sind etwa 500 Abtastdaten in einem Schleifenbereich LP vor dem Start­ block vorhanden.With this procedure, the same data 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 (Fig. 1) ausgeführt, entsprechend der Korrektur für Schleifendaten im Block 14. Die Hüllkurvenkorrektur wird dadurch ausgeführt, daß die ab­ getasteten Musiktondaten durch Hüllkurvendaten (Fig. 6) ge­ teilt werden, die nur aus den Daten für abfallende Signale bestehen, wodurch Amplitudenwerte für ein Signal erhalten werden, wie es in Fig. 17 dargestellt ist. Beim Ausgangssig­ nal gemäß Fig. 17 macht sich demgemäß nur die Hüllkurve wäh­ rend der Zeitspanne TA bemerkbar, während in den anderen Be­ reichen konstante Amplitude vorliegt.For the signal generation for the formant region FR, an envelope correction is carried out in a block 18 ( FIG. 1), corresponding to the correction for loop data in block 14 . The envelope correction is carried out by dividing the sampled musical sound data by envelope data ( Fig. 6) consisting only of the data for falling signals, thereby obtaining amplitude values for a signal as shown in Fig. 17. When Ausgangssig nal according to Fig. 17 makes accordingly just the envelope of currency end of the time period T A noticeable, while in the other rich Be constant amplitude is present.

Das hüllkurvenkorrigierte Signal wird, falls erforderlich, in einem Block 19 gefiltert. Dies erfolgt mit einem Kammfil­ ter mit einer Frequenzcharakteristik, die z. B. derjenigen entspricht, wie sie mit der strichpunktierten Linie in Fig. 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 Quellton­ daten zu erzeugen, die schließlich in einem Speicher abgelegt werden.If necessary, the envelope-corrected signal is filtered in a block 19 . This is done with a Kammfil ter with a frequency characteristic z. B. corresponds to that as shown by the dash-dotted line in Fig. 10. The comb filter data are formed on the basis of the interval data for the fundamental frequency, which data are supplied by the interval detector 12 . The data are used to generate signal data from the formant area in the source sound data, which are finally stored in a memory.

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

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

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

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

Im Flußdiagramm gemäß Fig. 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 Schlei­ fenbildung ordnungsgemäß erfolgt. Ist dies nicht der Fall, folgt Schritt S21, um erneut Schleifenpunkte zu ermitteln. Dieser Ablauf erfolgt solange, bis ein zufriedenstellendes Ergebnis erhalten wird. Ist dies der Fall, folgt ein Schritt S24, in dem das Signal z. B. durch Überblenden mit dem For­ mantensignal gemischt wird. In einem Schritt S25 wird über­ prüft, ob der Höreindruck beim Übergang von der Formante zu den Schleifen gut ist. Ist dies nicht der Fall, wird der Schritt S24 zum erneuten Mischen wiederholt. Ist der Hörein­ druck gut, folgt ein Schritt S26, in dem das Ermitteln der Schleifenpunkte gemäß dem Block 16 mit hoher Genauigkeit er­ folgt. Es erfolgt Abtasten z. B. mit einer Auflösung von 1/256 über die Abtastperiode mit z. B. 256-fachem übergeord­ netem Abtasten. In einem folgenden Schritt S27 wird das In­ tervall-Wandelverhältnis für die Intervallnormalisierung be­ rechnet. In einem Schritt S28 erfolgt die Zeitbasiskorrektur gemäß der Blöcke 17 oder 20. In einem Schritt S29 wird die Schleifenbildung gemäß Block 21 (Fig. 1) ausgeführt. Das Mi­ schen gemäß Block 22 erfolgt in einem folgenden Schritt S30. Der Ablauf ab Schritt S26 erfolgt mit Hilfe der Schleifen­ punkte, wie sie in den Schritten S21-S25 erhalten werden. Die Schritte S21-S25 können für volle Automatisierung der Schleifenbildung weggelassen werden.In the flowchart according to FIG. 18, the loop points are determined with a low accuracy in a step S21 by determining zero point crossings or by optically checking the signal. In a step S22, the signal between the loop points is reproduced several times. In a step S23, it is judged by listening whether the loop formation is carried out properly. If this is not the case, step S21 follows in order to determine loop points again. This process continues until a satisfactory result is obtained. If this is the case, a step S24 follows in which the signal z. B. is mixed by fading with the For mantensignal. In a step S25, it is checked whether the auditory impression is good at the transition from the formant to the loops. If this is not the case, step S24 is repeated to mix again. If the hearing pressure is good, a step S26 follows in which the loop points are determined according to block 16 with high accuracy. There is scanning z. B. with a resolution of 1/256 over the sampling period with z. B. 256-fold superordinate scanning. In a subsequent step S27, the interval conversion ratio for the interval normalization is calculated. In a step S28, the time base correction is carried out in accordance with blocks 17 or 20 . In a step S29, the loop formation according to block 21 ( FIG. 1) is carried out. The mixing according to block 22 takes place in a subsequent step S30. The process from step S26 is carried out 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 Formantenbe­ reich FR und der Schleifendomäne LP bestehen, werden in einem auf den Mischer 22 folgenden Block 23 bitkomprimiert und kodiert. The amplitude values thus obtained, which consist of the formant region FR and the loop domain LP, are bit-compressed and encoded in a block 23 following the mixer 22 .

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

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

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

Mit dem oben angegebenen hochwirksamen System zur Bitkompres­ sion und Kodierung werden die in eine vorgegebene Zeitspanne fallenden Quelltondaten, d. h. eine vorgegebene Anzahl h von Worten, die in Blöcken gruppiert sind, für jeden Block ausge­ wählt. Das Kodierfilter 74 hat hierfür optimale Charakteri­ stik. Es kann dadurch gebildet sein, daß mehrere, im Bei­ spielsfall vier, verschiedene Charakteristiken vorab festge­ legt werden und dann die optimale Charakteristik ausgewählt wird, d. h. diejenige, mit der das höchste Kompressionsver­ hältnis erzielbar ist. Im Vorhersageglied 72 wird hierzu ein Satz von Koeffizienten in mehreren, im Beispielsfall vier, Sätzen von Koeffizientenspeichern abgelegt. Im Zeitmultiplex wird jeweils ein Koeffizientensatz angewählt.With the highly effective system for bit compression and coding specified above, the source sound data falling within a predetermined period of time, ie a predetermined number h of words grouped into blocks, are selected for each block. The coding filter 74 has optimal characteristics for this. It can be formed that several, in the case of four, different characteristics are defined in advance and then the optimal characteristic is selected, ie the one with which the highest compression ratio can be achieved. For this purpose, a set of coefficients is stored in the predictor 72 in a plurality of, 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 Bitkompres­ sor zugeführt, der einen Pegelschieber 75(G) und einen Quan­ tisierer 76 aufweist. Dort erfolgt das Komprimieren so, daß der Indexteil und die Mantisse bei Fließkommanotation der Verstärkung G bzw. dem Ausgangssignal vom Quantisierer 76 entsprechen. Es wird also eine Requantisierung ausgeführt, bei der die Eingangsdaten durch den Pegelschieber 75 um eine Anzahl von Bits verschoben werden, welche Anzahl der Verstär­ kung G entspricht. Dadurch wird der Bereich verschoben, und eine vorgegebene Anzahl von Bits der bitverschobenen Daten wird durch den Quantisierer 76 herausgenommen. Eine Rausch­ formschaltung 77 dient dazu, den quantisierten Fehler zwi­ schen dem Ausgangssignal und dem Eingangssignal des Quanti­ sierers 76 an einem Summierpunkt 78 zu bilden und dieses Sig­ nal über einen G-1-Pegelschieber 79 an ein Vorhersageglied 80 zu geben. Das vorhergesagte Signal für den Quantisierfehler wird als Subtraktionssignal auf den Summierpunkt 81 gegeben, um dadurch eine sogenannte Fehlerrückkopplung zu erhalten. Nach diesem Requantisieren durch den Quantisierer 76 und die Fehlerrückkopplung durch die Rauschformschaltung 77 wird an einem Ausgangsanschluß 82 ein Ausgangssignal (n) erhalten.The deviation signal d (n), which represents a predicted error, is fed via a summing point 81 to a bit compressor, which has a level shifter 75 (G) and a quantizer 76 . There the compression takes place in such a way that the index part and the mantissa correspond to the gain G or the output signal from the quantizer 76 in the case of floating-point command. A requantization is thus carried out, in which the input data are shifted by the level shifter 75 by a number of bits, which number corresponds to the gain G. This shifts the range and a predetermined number of bits of the bit shifted data is taken out by the quantizer 76 . A noise shaping circuit 77 is used to form the quantized error between the output signal and the input signal of the quantizer 76 at a summing point 78 and to give this signal via a G -1 level shifter 79 to a predictor 80 . The predicted signal for the quantization error is given as a subtraction signal to the summing point 81 in order to obtain a so-called error feedback. After this requantization by the quantizer 76 and the error feedback by the noise shaping circuit 77 , an output signal (s) is obtained at an output terminal 82 .

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

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

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

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

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

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

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

Fig. 21 zeigt einen Block von bitkomprimierten und kodierten Amplitudendaten, die dem Anfang des in Fig. 2 dargestellten Musiktonsignals entsprechen. Es sind nur die Amplitudendaten ohne den Kopf dargestellt. Der Anschaulichkeit halber besteht jeder Block nur aus acht Abtastdaten, es können aber auch z. B. 16 Abtastdaten vorhanden sein. Dies gilt für den Fall von Fig. 15. FIG. 21 shows a block of bit compressed and encoded amplitude data corresponding to the beginning of the musical tone signal shown in FIG. 2. Only the amplitude data 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 FIG. 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 Kompressions­ verhältnis führt.The quasi-instantaneous bit compression described above and encoding selects either immediate PCM mode that directly outputs the entered musical tone signal, or one First order differential filter mode or such second order, each of which filtered the musical tone signal output, resulting in output signals with the highest compression relationship leads.

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

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

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

Beim Wiedergeben von Musiktondaten mit Pseudoeingangssignal wird zunächst der unmittelbare PCM-Modus gewählt, wodurch es nicht erforderlich ist, Anfangswerte für Differentialfilter erster oder zweiter Ordnung vorab festzulegen.When playing music sound data with pseudo input signal the immediate PCM mode is selected first, which makes it is not necessary, initial values for differential filters to determine first or second order in advance.

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

Die oben beschriebene Bitkompression und Kodierung und andere Signalverarbeitungen erfolgen vorzugsweise mit Hilfe eines digitalen Signalprozessors (DSP). Fig. 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). Fig. 22 illustrates an embodiment for an audio signal processing unit 107 as a sound source unit, processes the Quelltondaten. Peripherals are also shown.

Ein Host-Computer 104, z. B. in Form eines üblichen PCs eines digitalen elektronischen Musikinstruments oder eines Spielge­ rä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 Mikropro­ zessor, 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 ge­ speichert. 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, Intervallkonversion, 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 Spielge device is connected to the audio signal processing unit 107 as a sound source unit, so that the source sound data from the host computer 104 are loaded into the processing unit 107 . The audio signal processing device (APU) 107 has a CPU 103 , such as a microprocessor, a digital signal processor DSP 101 and a memory 102 for storing the source sound data. So at least the data just mentioned are stored in memory 102 . The DSP 101 performs a variety of operations, 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 memory for values that are generated in these processes. The CPU 103 controls the operations performed by the DSP 101 .

Die digitalen Musiktondaten, wie sie schließlich nach Ab­ schluß der verschiedenen, von der DSP 101 ausgeführten Abläu­ fe 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 they are finally available from the end of the various processes carried out by the DSP 101 using the source sound data from the memory 102 , are converted by a D / A converter 105 and sent to a loudspeaker 106 .

Beim Ausführungsbeispiel werden die Quelltondaten durch Ver­ binden des Formantenbereichs und der Schleifendomäne mitein­ ander 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 Ver­ fahren sind nicht nur auf das Erzeugen von Musiktönen anwend­ bar, sondern auch auf Spracherzeugung.In the embodiment, the source sound data is verified by Ver bind the formant area and the loop domain other formed. The method described can also be based on Source sound data can be applied only from loop domains consist. The decoder-side devices and the memories can also be arranged externally, also pluggable. The Ver Driving is not only applicable to the creation of musical tones cash, but also on language production.

Claims (3)

1. Verfahren zum Erzeugen von Quelltondaten, bei dem ein analoges oder digitales Eingangssignal einem Kammfilter zugeführt wird, das nur die Grund­ frequenz und harmonische Oberschwingungen derselben durchlässt, um analoge oder digitale Ausgangssignale zu erzeugen, und bei dem sich wieder­ holende Signalbereiche aus dem Ausgangssignal ausgesondert und auf­ gezeichnet werden, gekennzeichnet dadurch, dass
das Ausgangssignal auf die sich wiederholenden Signalbereiche hin untersucht wird,
Schleifenstartpunkt (LPS) und Schleifenendpunkte (LPE) für diese Signal­ bereiche gebildet werden, und
solche Schleifenstartpunkte (LPS) und Schleifenendpunkte (LPE) ausgewählt werden, die voneinander um ein ganzzahliges Vielfaches des Intervalls der Grundfrequenz des Eingangssignals entfernt sind.
1. A method for generating source sound data, in which an analog or digital input signal is fed to a comb filter, which only allows the fundamental frequency and harmonics to pass through to produce analog or digital output signals, and in which repeating signal areas are separated from the output signal and are drawn on, characterized in that
the output signal is examined for the repeating signal areas,
Loop start point (LP S ) and loop end points (LP E ) are formed for these signal areas, and
such loop start points (LP S ) and loop end points (LP E ) are selected that are separated from each other by an integer multiple of the interval of the fundamental frequency of the input signal.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zum Ermitteln eines Intervalls sich wiederholender Signalbereiche in einem analogen Eingangssignal dieses nach Umwandlung in ein digitales Signal einer Fourier- Transformation unterworfen wird, um mehrere Fourier- Komponenten zu erzeugen, daß die Phasen der Komponenten aneinander angepaßt werden, daß erneut eine Fourier- Transformation erfolgt, und daß die Perioden der Spitzen in den Ausgangsdatenwerten ermittelt werden. 2. The method according to claim 1, characterized in that to determine a repetitive interval Signal areas in an analog input signal this after conversion into a digital signal of a Fourier Transformation is subjected to multiple Fourier Components that generate the phases of the components can be adapted to one another so that a Fourier Transformation takes place, and that the periods of the peaks can be determined in the output data values.   3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zum Ermitteln der Lage sich wiederholender Signal­ bereiche innerhalb eines Signales ein Bereich vorgegebe­ ner Länge über das Signal verschoben wird, daß unter­ sucht wird, ob einander entsprechende Bereiche in der Nachbarschaft der Anfangs- und Endpunkte des verschobe­ nen Bereichs zueinander ähnlich sind und daß auf richti­ ge Lage entschieden wird, wenn Ähnlichkeit gefunden wird.3. The method according to claim 1, characterized in that to determine the location of repetitive signal areas specify a range within a signal ner length is shifted over the signal that under is searched whether corresponding areas in the Neighborhood of the start and end points of the shifted NEN area are similar to each other and that on dir ge location is decided if similarity is found becomes.
DE3938312A 1988-11-19 1989-11-17 Process for generating source sound data Expired - Lifetime DE3938312C2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE3943798A DE3943798B4 (en) 1988-11-19 1989-11-17 Process for generating source sound data
DE3943801A DE3943801B4 (en) 1988-11-19 1989-11-17 Device for generating source sound data
DE3943800A 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

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP63292932A JP2876604B2 (en) 1988-11-19 1988-11-19 Signal compression method
JP63292940A JP2864508B2 (en) 1988-11-19 1988-11-19 Waveform data compression encoding method and apparatus
DE3943798A DE3943798B4 (en) 1988-11-19 1989-11-17 Process for generating source sound data
DE3943801A DE3943801B4 (en) 1988-11-19 1989-11-17 Device for generating source sound data
DE3943800A 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

Publications (2)

Publication Number Publication Date
DE3938312A1 DE3938312A1 (en) 1990-05-23
DE3938312C2 true DE3938312C2 (en) 2002-03-28

Family

ID=27511378

Family Applications (1)

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

Country Status (1)

Country Link
DE (1) DE3938312C2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4044204A (en) * 1976-02-02 1977-08-23 Lockheed Missiles & Space Company, Inc. Device for separating the voiced and unvoiced portions of speech
US4433604A (en) * 1981-09-22 1984-02-28 Texas Instruments Incorporated Frequency domain digital encoding technique for musical signals
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4044204A (en) * 1976-02-02 1977-08-23 Lockheed Missiles & Space Company, Inc. Device for separating the voiced and unvoiced portions of speech
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
US4635520A (en) * 1983-07-28 1987-01-13 Nippon Gakki Seizo Kabushiki Kaisha Tone waveshape forming device
EP0241922A2 (en) * 1986-04-15 1987-10-21 Yamaha Corporation Musical tone generating apparatus

Also Published As

Publication number Publication date
DE3938312A1 (en) 1990-05-23

Similar Documents

Publication Publication Date Title
EP1979901B1 (en) Method and arrangements for audio signal encoding
CN1838239B (en) Apparatus for enhancing audio source decoder and method thereof
DE60012198T2 (en) ENCODING THE CORD OF THE SPECTRUM BY VARIABLE TIME / FREQUENCY RESOLUTION
DE69910239T2 (en) METHOD AND DEVICE FOR ADAPTIVE BANDWIDTH-DEPENDENT BASIC FREQUENCY SEARCH FOR ENCODING BROADBAND SIGNALS
DE69821089T2 (en) IMPROVE SOURCE ENCODING USING SPECTRAL BAND REPLICATION
DE19709930B4 (en) Sound processor, which detects the pitch and the envelope of an acoustic signal frequency matched
DE60103086T2 (en) IMPROVEMENT OF SOURCE DELIVERY SYSTEMS BY ADAPTIVE TRANSPOSITION
DE602004005784T2 (en) Improved excitation for higher-band coding in a codec based on frequency band separation coding method
DE3936693A1 (en) DEVICE FOR GENERATING DIGITAL AUDIO SIGNALS
DE60031812T2 (en) Apparatus and method for sound synthesis
DE3023581A1 (en) METHOD FOR DIGITAL CURVE CURVE CONTROL OF A POLYPHONE MUSIC SYNTHESIS INSTRUMENT AND CIRCUIT ARRANGEMENT FOR IMPLEMENTING THE METHOD
DE102007029381A1 (en) Digital signal e.g. audio signal, processing device, has decision section, which assumes forecast data before deletion as interpolation data, when absolute value is lower than resolution
DE4190102B4 (en) Data compression of sound data
DE4218623C2 (en) Speech synthesizer
DE4343366C2 (en) Method and circuit arrangement for increasing the bandwidth of narrowband speech signals
US8750530B2 (en) Method and arrangement for processing audio data, and a corresponding corresponding computer-readable storage medium
DE3938312C2 (en) Process for generating source sound data
DE3943800B4 (en) Generating source audio data - feeding analog or digital output signal to comb filter and passing only basic frequency and its harmonic oscillations
DE3037276C2 (en) Sound synthesizer
DE4190031B4 (en) Data compression of decaying musical instrument sounds for a digital scanning system
DE3943795C2 (en) interpolation
DE3938311C2 (en) Device for generating source sound data
DE3226600A1 (en) Electronic musical instrument equipped with a reverberation tone generating apparatus
DE4008875C1 (en)
JPH02137889A (en) Signal recording method

Legal Events

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

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

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3943798

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3943798

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3943801

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3943800

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3943801

Ref country code: DE

Ref document number: 3943800

8127 New person/name/address of the applicant

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

AH Division in

Ref country code: DE

Ref document number: 3943800

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3943801

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3943798

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition