EP1797552B1 - Method and device for the extraction of a melody on which an audio signal is based - Google Patents

Method and device for the extraction of a melody on which an audio signal is based Download PDF

Info

Publication number
EP1797552B1
EP1797552B1 EP05790019A EP05790019A EP1797552B1 EP 1797552 B1 EP1797552 B1 EP 1797552B1 EP 05790019 A EP05790019 A EP 05790019A EP 05790019 A EP05790019 A EP 05790019A EP 1797552 B1 EP1797552 B1 EP 1797552B1
Authority
EP
European Patent Office
Prior art keywords
time
segment
spectral
melody
predetermined
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.)
Ceased
Application number
EP05790019A
Other languages
German (de)
French (fr)
Other versions
EP1797552A2 (en
Inventor
Frank Streitenberger
Martin Weis
Claas Derboven
Markus Cremer
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.)
Gracenote Inc
Original Assignee
Gracenote 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
Application filed by Gracenote Inc filed Critical Gracenote Inc
Publication of EP1797552A2 publication Critical patent/EP1797552A2/en
Application granted granted Critical
Publication of EP1797552B1 publication Critical patent/EP1797552B1/en
Ceased legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • 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
    • G10H1/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • 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
    • 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/086Musical 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 transcription of raw audio or music data to a displayed or printed staff representation or to displayable MIDI-like note-oriented data, e.g. in pianoroll format
    • 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/025Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
    • G10H2250/031Spectrum envelope processing
    • 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/161Logarithmic functions, scaling or conversion, e.g. to reflect human auditory perception of loudness or frequency
    • 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]

Definitions

  • the present invention relates to the extraction of a melody underlying an audio signal.
  • Such extraction may be used, for example, to obtain a transcribed representation of a melody underlying a monophonic or polyphonic audio signal, which may also be in an analog form or in a digital sampled form.
  • melody extractions for example, enable the generation of ringtones for mobile phones from any audio signal, e.g. Singing, humming, whistling or the like.
  • Such combinability of ready-made melody and accompaniment patterns is implemented, for example, in the Sony-Ericsson T610 phone.
  • the user relies on the purchase of commercially available pre-made ringtones.
  • Klapuri AP: Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., December 2003
  • Klapuri AP, Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., December 2003
  • AP Klapuri "Number Theoretical Means of Resolving a Mixture of Several Harmonic Sounds”. In Proceedings European Signal Processing Conference, Rhodes, Greece, 1998 .
  • AP Klapuri "Sound Onset Detection by Applying Psychoacoustic Knowledge," in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, Phoenix, Arizona, 1999 .
  • Stably functioning automatic transcription would also allow for the production of similarity relationships associated with other musical features, e.g. Key, harmony and rhythm, such as for a "recomandation engine” or "suggestion engine”.
  • a stable automatic transcription could create new views and lead to a re-examination of judgments on older music.
  • automatic transcription that is stable in use could be used.
  • melody recognition or auto-transcription is not limited to the generation of ringtones for mobile phones mentioned above, but can generally serve as a support for musicians and those interested in music.
  • the object of the present invention is to provide a more stable melody recognition scheme which works correctly for a wider variety of audio signals.
  • the recognition of the present invention is that the melody extraction or automatic transcription can be made much more stable and possibly even unsuitable if the assumption is sufficiently taken into account that the main melody is that part of a piece of music that the person perceives loudest and most concise.
  • the time-over-spectral representation or spectrogram of an audio signal of interest is scaled using the equal volume curves that reflect human loudness perception to determine the melody based on the resulting perceptual time-over-spectral representation of the audio signal.
  • the above musicological statement that the main melody is that portion of a piece of music that the person perceives most loudly and succinctly is taken into account in two ways. Namely, according to this embodiment, when determining the melody of the audio signal, first a melody line extending through the time-over-spectral representation is determined, namely by assigning to each time period or frame - uniquely - exactly one spectral component Frequency bin is assigned to the time-over-spectral representation, namely that which leads to the sound result with the maximum intensity. More specifically, according to this embodiment, the spectrogram of the audio signal is first logarithmized, so that the logarithmized spectral values indicate the sound pressure level.
  • the logarithmic spectral values of the logarithmized spectrogram become dependent on their respective value and the spectral component to which they belong perceptually related spectral values.
  • Functions are used that represent the curves of equal volume as sound pressure as a function of spectral components or as a function of the frequency and are assigned to different volumes.
  • the present invention is described there merely by way of example with reference to a specific application, namely the generation of a polyphonic ringing melody from an audio signal.
  • a melody extraction or automatic transcription according to the invention can also be used elsewhere, such as e.g. for facilitating searching in a database, merely recognizing pieces of music, enabling copyright protection by objectively comparing pieces of music or the like, or just transcribing audio signals to display the transcription result to a musician.
  • Fig. 1 shows an embodiment of a device for generating a polyphonic melody from an audio signal containing a desired tune.
  • Fig. 1 a device for the rhythmic and harmonic conditioning and re-instrumentation of a melody representing audio signal and to complement the resulting melody to a suitable accompaniment.
  • the device of Fig. 1 includes an input 302 for receiving the audio signal.
  • the audio signal in a time sample representation, such as a WAV file, expected.
  • the audio signal could also be present in other form at input 302, such as in uncompressed or compressed form or in a frequency band representation.
  • an extraction device 304 Between the input 302 and the output 304, an extraction device 304, a rhythm device 306, a key device 308, a harmony device 310 and a synthesis device 312 are connected in series in this order. Furthermore, the device 300 comprises a melody memory 314. An output of the key device 308 is connected not only to an input of the subsequent harmony device 310, but also to an input of the melody memory 314. Accordingly, the input of the harmony device 310 is not limited to the output of the processing direction but also with an output of the melody memory 314. Another input of the melody memory 314 is provided to receive a provision identification number ID. Another input of the synthesizer 312 is configured to receive style information. The meaning of the style information and the provision identification number is apparent from the following functional description. Extractor 304 and rhythm means 306 together form a rhythm editor 316.
  • the extraction device 304 is designed to subject the audio signal received at the input 302 to note extraction or recognition in order to extract a signal from the audio signal To get a score.
  • the note sequence 318 which forwards the extraction device 304 to the rhythm device 306, in the present exemplary embodiment is in a form in which, for each note n, a note start time t n indicating the beginning of the note, for example, in seconds, a tone or note duration ⁇ n , which indicates the note duration of the note, for example, in seconds, a quantized note or pitch, ie C, Fis or the like, for example as a MIDI note, a volume Ln of the note and an exact frequency f n of the tone or the note is contained in the note sequence, where n is to represent an index for the respective note in the note sequence, which increases with the order of the successive notes or indicates the position of the respective note in the note sequence.
  • the note sequence 318 still represents the melody as it was also represented by the audio signal 302.
  • the note sequence 318 is now fed to the rhythm device 306.
  • the rhythm means 306 is arranged to analyze the supplied note sequence to one bar length, one prelude, i. a clock raster to determine the note sequence and thereby the individual notes of the note sequence of appropriate clock-quantified lengths, such as. whole, half, quarter, eighth notes, etc., for the particular bar, and to match the notes' notes to the bar pattern.
  • the note sequence that the rhythm device 306 outputs thus represents a rhythmically processed note sequence 324.
  • the key device 308 performs a key determination and possibly a key correction. More specifically, that determines Means 308 based on the note sequence 324 a major key of the user melody represented by the note sequence 324 and the audio signal 302 including the tone gender, ie major or minor, of the example sung piece. Thereafter, it also recognizes, at this point, non-scale notes in the note sequence 114 and corrects them to arrive at a harmonic-sounding final result, a rhythmically edited and pitch-corrected note sequence 700, which is passed to the harmony device 310 and corrects a key Represents the form of the user's desired melody.
  • the functioning of the device 324 with regard to the determination of the key can be carried out in various ways.
  • the key determination may, for example, those in the article Krumhansl, Carol L .: Cognitive Foundations of Musical Pitch, Oxford University Press, 1990 , or in the article Temperley, David: The cognition of basic musical structures. The MIT Press, 2001 , described manner take place.
  • the harmony device 310 is configured to receive the note sequence 700 from the device 308 and to find a suitable accompaniment for the tune represented by this note sequence 700.
  • device 310 acts or acts in a cyclic manner.
  • the means 310 operates on each clock as determined by the clock raster set by the rhythm means 306, such that it provides statistics about the tones of the notes T n occurring in the respective clock.
  • the statistic of the occurring tones is then compared with the possible chords of the major scale scale as determined by the key device 308.
  • Means 310 selects, among the possible chords, in particular, that chord whose tones best match the notes that are in the respective measure, as indicated by statistics.
  • means 310 determines the chord that best fits the notes or notes, for example, in the respective measure.
  • the means 310 allocates chord levels of the root key to the pitches found by the means 306 in dependence on the pitch, so that a chord progression forms over the course of the melody. Consequently, at the output of the device 310, in addition to the rhythmically processed and key-corrected note sequence including NL, it also outputs a chord step specification to the synthesis device 312 for each measure.
  • Synthesizer 312 uses style information that can be entered by a user as indicated by case 702 to perform the synthesis, ie, artificially generate the eventually resulting polyphonic melody.
  • style information allows a user to select from four different styles in which the polyphonic melody can be generated, namely Pop, Techno, Latin or Reggae.
  • either one or more companion patterns are stored in the synthesis device 312.
  • the synthesizer 312 To generate the accompaniment, the synthesizer 312 now uses the accompaniment pattern (s) indicated by the style information 702. To produce the accompaniment, the synthesis device 312 hangs the accompaniment patterns per cycle together.
  • the synthesizer 312 simply selects the corresponding accompaniment pattern for the current style for that accompaniment clock. However, if, for a particular clock, the chord determined by the means 310 is not the one in which an accompaniment pattern is stored in the means 312, the synthesizer 312 shifts the notes of the accompaniment pattern by the corresponding semitone, respectively, and changes the sixth and fifth by a semitone in the case of another Sound-like, namely by shifting by a semitone up in the case of a major chord reversed in the case of a minor chord.
  • the synthesizer 312 orchestrates the melody represented by the note string 700 forwarded from the harmony 310 to the synthesizer 312 to obtain a main melody, and then combines accompaniment and main melody into a polyphonic melody, exemplified herein in the form of MIDI File at output 304 outputs.
  • the key device 308 is further configured to store the note string 700 in the melody memory 314 under a provision identification number. If the user is dissatisfied with the result of the polyphonic melody at the output 304, he may re-enter the provision identification number together with a new style information into the apparatus of FIG Fig. 1 whereupon the melody memory 314 forwards the sequence 700 stored under the providing identification number to the harmony device 310, which then determines the chords as described above, whereupon the synthesizer 312 uses the new style information depending on the chords a new accompaniment and depending on the note sequence 700 generates a new main melody and joins together to form a new polyphonic melody at the output 304.
  • Fig. 2 shows first the rough procedure in the melody extraction or autotranscription.
  • Starting point is the reading or the input of the audio file in a step 750, which, as described above, may be present as a WAV file.
  • the device 304 then performs a frequency analysis on the audio file in a step 752 to thereby provide a time / frequency representation or spectrogram of the audio signal contained in the file.
  • step 752 includes decomposing the audio signal into frequency bands.
  • the audio signal is subdivided into preferably time-overlapping time segments which are then spectrally decomposed in each case in order to obtain a spectral value for each of a set of spectral components for each time interval or each frame.
  • the set of spectral components depends on the choice of the transformation underlying the frequency analysis 752, a specific embodiment of which will be described below with reference to FIG Fig. 4 is explained.
  • step 752 means 304 determines a weighted amplitude spectrum or a perceptual spectrogram, respectively, in step 754.
  • the detailed procedure for determining the perceptual spectrogram will be described in the following Fig. 3 - 8 explained in more detail.
  • the result of step 754 is to rescale the spectrogram obtained from the frequency analysis 752 using the equal volume curves that reflect the human perceptual sensation to fit the spectrogram to the human perceptual perception.
  • the processing 756 subsequent to step 754 uses, among other things, the perceptual spectrogram obtained from step 754 to finally obtain the melody of the output signal in the form of a musical segmented melody line, ie in a form in which groups of consecutive frames interleave each other same pitch, these groups being temporally spaced over one or more frames spaced from each other, so do not overlap and thus correspond to note segments of a monophonic melody.
  • processing 756 is decomposed into three substeps 758, 760 and 762.
  • the perceptual spectrogram is used to obtain a time / fundamental frequency representation from the same, and in turn to use this time / fundamental frequency representation to determine a melody line such that each frame in a unique manner has exactly one spectral component Frequency bin is assigned.
  • the time / fundamental representation accounts for the division of sounds into partial tones by first delogarithmizing the perceptual spectrogram from step 754 to summate for each frame and for each frequency bin the delogarithmized perceptual spectral values at that frequency bin and the overtones to the respective frequency bin. The result is a sound spectrum per frame.
  • the determination of the melody line is carried out by selecting for each frame the fundamental tone or the frequency or that frequency bin at which the sound spectrum has its maximum.
  • the result of step 758 is thus, so to speak, a melody line function which uniquely assigns exactly one frequency bin to each frame.
  • This melody line function in turn defines a melody line progression in the time / frequency domain or a two-dimensional melody matrix spanned by the possible speech components or bins on one side and the possible frames on the other side.
  • the following substeps 760 and 762 are provided to segment the continuous melody line, thus giving single notes.
  • the segmentation is divided into two sub-steps 760 and 762, depending on whether the segmentation takes place in input frequency resolution, ie in Frequenzbinetzments, or whether the Segmentation takes place in halftone resolution, ie after quantization of the frequencies to semitone frequencies.
  • the result of processing 756 is processed in step 764 to generate a sequence of notes from the melody line segments, each note being assigned a note start time, a note duration, a quantized pitch, an exact pitch, and so on.
  • Fig. 3 its operation in more detail in the case where the music represented by the audio file at input 302 is of polyphonic origin.
  • the distinction between polyphonic and monophonic audio signals stems from the observation that monophonic audio signals often originate from less well-trained individuals and therefore have musical inadequacies that require a slightly different approach to segmentation.
  • the WAV file is in a format since the individual audio samples are sampled at a sampling frequency of 16 kHz.
  • the individual samples are present, for example, in a 16-bit format.
  • the audio signal is present as a mono-file.
  • the frequency analysis 752 can then be carried out, for example, by means of a warped filter bank and an FFT (Fast Fourier Transformation).
  • the sequence of audio values is first windowed with a window length of 512 samples, where with a Hopsize of 128 samples, ie the windowing is repeated every 128 samples.
  • these parameters represent a good compromise between time and frequency resolution.
  • a time frame corresponds to a duration of 8 milliseconds.
  • the warped filter bank is used according to a special embodiment for the frequency range up to about 1550 Hz. This is necessary to achieve a sufficiently good resolution for low frequencies. For a good halftone resolution enough frequency bands should be available. At a lambda value of -0.85 at 16 kHz sampling rate, approximately two to four frequency bands correspond to one semitone on a frequency of 100 Hz. For low frequencies, each frequency band can be assigned a semitone. For the frequency range up to 8 kHz the FFT is used. The frequency resolution of the FFT is sufficient from about 1,550 Hz for a good halftone representation. Here approx. Two to six frequency bands correspond to one semitone.
  • the transient response of the warped filter bank must be taken into account.
  • a temporal synchronization in the combination of the two transformations is made.
  • the first 16 frames of the filterbank output are discarded, as well as the last 16 frames of the output spectrum FFT are disregarded.
  • the amplitude level of the filter bank and FFT is identical and requires no adaptation.
  • Fig. 4 shows by way of example an amplitude spectrum or a time / frequency representation or a spectrogram of an audio signal, as obtained by the preceding embodiment of a combination of a warped filter bank and an FFT.
  • the height of the individual spectral values is gray scale.
  • the time / frequency representation of an audio signal is a two-dimensional field spanned by the possible frequency bins or spectral components on one side (vertical axis) and the time segments or frames on the other side (horizontal axis), each Position of this field is assigned to a specific tuple of frame and Frequenzbin a spectral value or an amplitude.
  • the amplitudes in the spectrum of Fig. 4 is still postprocessed in the frequency analysis 752, as the amplitudes calculated by the warped filterbank may sometimes not be accurate enough for subsequent processing.
  • the frequencies that are not exactly at the center frequency of a frequency band have a lower amplitude value than frequencies that correspond exactly to the center frequency of a frequency band.
  • in the output spectrum of the warped filter bank crosstalk to adjacent frequency bands, which are also referred to as bins or frequency bins.
  • the analysis result of frequency analysis 752 is a matrix of spectral values. These spectral values represent the volume by the amplitude. However, the human volume perception possesses a logarithmic division. It is therefore useful to the amplitude spectrum adapt this classification. This is done in a logarithmization 770 following step 752. In logarithmization 770, all spectral values are logarithmized to the level of the sound pressure level, which corresponds to the logarithmic perception of loudness of humans.
  • this reference value must first be determined. While the smallest perceptible sound pressure p 0 is used as the reference value in analog signal analysis, this law is not easily transferred to digital signal processing. In order to determine the reference value, according to one exemplary embodiment, therefore, a trial audio signal is used for this purpose, as described in US Pat Fig. 7 is illustrated.
  • Fig. 7 shows the rehearsal audio signal 772 over time t, where in the Y direction the amplitude A is plotted in the smallest representable digital units.
  • the sample audio signal or reference signal 772 is present with an amplitude value of one LSB or with the smallest representable digital value. In other words, the amplitude of the reference signal 772 only oscillates by one bit.
  • the frequency of the reference signal 772 corresponds to the frequency of the highest sensitivity of the human Hearing threshold. However, other determinations of the benchmark may be more beneficial on a case-by-case basis.
  • Fig. 5 is exemplarily the result of the logarithmization 770 of the spectrogram of Fig. 4 shown. If, due to the logarithmization, a part of the logarithmic spectrogram is in the negative value range, these negative spectral or amplitude values are set to 0 dB to avoid non-meaningful results in the further processing in order to obtain positive results over the entire frequency range .
  • the logarithmized spectral values in the same way as in Fig. 4 are shown, that is arranged in a spanned by the time t and the frequency f matrix and grayscale depending on the value, namely the darker the greater the respective spectral value.
  • the volume rating of humans is frequency dependent. Therefore, the logarithmic spectrum, as it results from the logarithm 770, must be evaluated in a subsequent step 772 in order to adapt to this frequency-dependent evaluation of the human. For this purpose, the curves of equal volume 774 are used.
  • the score 772 is therefore necessary to match the different amplitude scores of the musical sounds across the frequency scale of human perception since, according to human perception, the amplitude values of low frequencies experience a lower score than amplitudes of higher frequencies.
  • the curves 774 of equal volume the curve characteristic from DIN 45630 Part 2, Deutsches Institut für Normung eV, Kunststoffn der Sound measurement, normal curves of equal volume, 1967, used.
  • the graph history is in Fig. 6 is shown.
  • the equal volume curves 774 are respectively assigned to different volume levels indicated in phon.
  • these curves 774 represent functions that assign each frequency a sound pressure level in dB such that all the sound pressure levels that are on the respective curve correspond to the same volume level of the respective curve.
  • the equal volume curves 774 are present in the device 204 in analytic form, of course, it would also be possible to provide a look-up table which assigns a volume level value to each pair of frequency bin and sound pressure level quantization value.
  • the formula L T 4 dB 3 . 64 ⁇ f kHz - 0 . 8th - 6 . 5 ⁇ exp - 0 . 6 ⁇ f kHz - 3 . 3 2 + 10 - 3 ⁇ f kHz 4 be used.
  • deviations in the low- and high-frequency value range are present between this curve and the hearing threshold under DIN standard.
  • the function parameters of the resting hearing threshold can be changed according to the above equation to the curve of the lowest volume curve of the above-mentioned DIN standard of Fig. 6 correspond to. Thereafter, this curve is shifted vertically in the direction of higher volume levels at intervals of 10 dB, and the function parameters are adapted to the respective characteristic of the function graphs 774.
  • the intermediate values are determined in 1 dB increments by linear interpolation.
  • the function with evaluate the highest value range to a level of 100 dB. This is sufficient, since a word width of 16 bits corresponds to a dynamic range of 98 dB.
  • step 772 means 304 forms each logarithmic spectral value, ie, each value in the array of Fig. 5 depending on the frequency f or frequency bin to which it belongs and its value representing the sound pressure level, on a perceptual spectral value representing the volume level.
  • steps 770-774 illustrate possible substeps of step 754 Fig. 2 represents.
  • a step 776 it proceeds with a fundamental frequency determination or with the calculation of the total intensity of each sound in the audio signal.
  • the intensities of each fundamental tone and the associated harmonics are added up.
  • a sound consists of a fundamental tone under the corresponding partial tones.
  • the partial tones are integer multiples of the fundamental frequency of a Sound.
  • the partial or overtones are also called harmonics.
  • a harmonic grid 778 is used in step 776 in order to search for each possible fundamental tone, ie each frequency bin, for overtones that are an integral multiple of the respective one Fundamental tones are.
  • further frequency bins corresponding to an integer multiple of the frequency bin of the fundamental are assigned as harmonic frequencies.
  • step 776 the intensities in the spectrogram of the audio signal at the respective fundamental tone and its harmonics are then added up for all possible fundamental tone frequencies.
  • a weighting of the individual intensity values is carried out, since due to several sounds occurring simultaneously in a piece of music, there is the possibility that the fundamental tone of a sound is obscured by an overtone of another sound with a lower-frequency fundamental tone. Also overtones of a sound can be obscured by overtones of another sound.
  • a tone model based on the principle of the model of Mosataka Goto and adapted to the spectral resolution of the frequency analysis 752 is used in step 776, the tone model of Goto in Goto, M .: A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines, in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, Istanbul, Turkey, 2000 , is described.
  • harmonic grid 778 assigns the respective harmonic frequencies for each frequency band or frequency bin.
  • overtones are searched for fundamental frequencies in only one particular frequency bin range, such as from 80 Hz to 4,100 Hz, and harmonics are considered only up to the 15th order.
  • the overtones of different sounds can be assigned to the sound model of several fundamental frequencies.
  • the amplitude ratio of a sought sound can be changed considerably.
  • the amplitudes of the partial tones are evaluated with a halved Gaussian filter. The keynote receives the highest value.
  • All the following partial tones receive a lower weighting according to their order, the weighting decreasing in a Gauss-shaped manner, for example, with increasing order.
  • an overtone amplitude of another sound that obscures the actual overtone has no particular effect on the overall result of a sought-after voice.
  • a bin with the corresponding frequency does not exist for each higher order overtone.
  • the amplitude of the sought harmonic can be simulated relatively well by means of a Gaussian filter over the nearest frequency bands. Therefore, overtone frequencies or the intensities thereon do not have to be determined in units of frequency bins, but interpolation can also be used to accurately determine the intensity value at the overtone frequency.
  • step 776 the perceptual spectrum of Fig. 8 first delogarithmized with the aid of the reference value from step 770.
  • the result is a delogarithmized perceptual spectrum, ie an array of delogarithmized perceptual spectral values for each frequency bin and frame tuple.
  • the result of step 776 is a sound spectrogram, step 776 itself corresponding to a level addition within the spectrogram of the audio signal.
  • the result of step 776 is entered, for example, in a new matrix having one row for each frequency bin within the frequency range of possible fundamental frequencies and one column for each frame, wherein in each matrix element, ie at each column and row crossing, the result of the summation is entered as the fundamental tone for the corresponding frequency bin.
  • a preliminary determination of a potential melody line is made.
  • the melody line corresponds to a function over time, namely one Function that assigns exactly one frequency band or one frequency bin to each frame.
  • the melody line determined in step 780 defines a track along the domain of definition of the sound spectrogram or matrix of step 776, the track never being ambiguous along the frequency axis.
  • step 780 The determination is made in step 780 such that the maximum amplitude is determined for each frame over the entire frequency range of the sound spectrogram, i. the largest summation value.
  • the result, i. the melody line largely corresponds to the basic course of the melody of the audio track underlying the audio signal 302.
  • the evaluation of the spectralogram with the equal volume curves in step 772 and the search for the maximum intensity sound result in step 780 take into account the musicological statement that the main melody is that portion of a song that the person perceives loudest and most concisely.
  • steps 776-780 illustrate possible substeps of step 758 Fig. 2 represents.
  • a general segmentation 782 is first performed in a step 782 which ensures that parts of the potential melody line are eliminated which prima facie can not belong to the actual melody line.
  • the result of the melody line determination of step 780 is exemplary of the case of the perceptual spectrum of Fig. 8 shown.
  • Fig. 9 shows the melody line plotted over the time t or over the sequence of frames along the x-axis, along the y-axis, the frequency f and the frequency bins are displayed. In other words, in Fig.
  • the melody line from step 780 is represented in the form of a binary image array, which is also sometimes referred to as a melody matrix and has one row for each frequency bin and one column for each frame. All points of the array where the melody line is not located have a value of 0 or are white, while the points of the array where the melody line is located have a value of 1 or are black. These points are thus located on frequency bin and frame tuples, which are associated with each other by the melody line function of step 780.
  • step 782 of general segmentation now operates, with reference to a possible implementation Fig. 10 is explained in more detail.
  • the general segmentation 782 begins in a step 786 with the filtering of the melody line 784 in the frequency / time domain in a representation in which the melody line 784 as in FIG Fig. 9 shown as a binary track in an array, which is spanned by the frequency bins on one side and the frames on the other side.
  • the pixel array of Fig. 9 For example, consider an x by y pixel array, where x is the number of frames and y is the number of frequency bins.
  • Step 786 is now intended to remove smaller outliers or artifacts in the melody line.
  • Fig. 11 shows by way of example in a schematic form a possible course of a melody line 784 in a representation according to FIG Fig. 9 , As can be seen, the pixel array shows regions 788 in which there are sporadic black pixel elements corresponding to portions of the potential melody line 784 which, due to their temporal brevity, are certainly not part of the actual melody and therefore should be removed.
  • Fig. 11 in which the melody line is represented in binary form, first generates a second pixel array by entering for each pixel a value corresponding to the summation of the binary values at the corresponding pixel and the pixel adjacent to this pixel.
  • Fig. 12a Referenced.
  • the exemplary section of Fig. 12a includes five rows corresponding to different frequency bins 1-5 and five columns AE corresponding to different adjacent frames.
  • the course of the melody line is in Fig. 12a symbolized by the fact that the corresponding pixel elements representing parts of the melody line are hatched.
  • the frequency bin 4, the frame C, the frequency bin 3, etc. are assigned to the frame B by the melody line.
  • the frame A is also assigned a frequency bin by the melody line, but this is not among the five frequency bins from the section of Fig. 12a ,
  • the binary value of the same as well as the binary value of the neighboring pixels is first summed up for each pixel 790, as already mentioned.
  • This is for example in Fig. 12a
  • the pixel 792 it illustrates which figure at 794 has a square drawn around the pixels adjacent to the pixel 792 and the pixel 792 itself. Consequently, a sum value of 2 would result for the pixel 792, since in the area 794 around the pixel 792 there are only 2 pixels belonging to the melody line, namely the pixel 792 itself and the pixel C3, ie at the frame C and the bin 3.
  • This summation is repeated by shifting the area 794 for all other pixels, resulting in a second pixel image, also sometimes referred to below as an intermediate matrix.
  • This second pixel image is then subjected to a pixel-by-pixel mapping, wherein in the pixel image all summation values from 0 or 1 to zero and all summation values greater than or equal to 2 are mapped to one.
  • the result of this mapping is for the exemplary case of Fig. 12a in Fig. 12a represented by numbers of "0" and "1" in the individual pixels 790.
  • the combination of 3x3 summation and subsequent mapping to "0" and "1" using the Threshold 2 causes the melody line to "smear".
  • the combination acts as a kind of low-pass filter, which would be undesirable. Therefore, as part of step 786, the first pixel image, ie Fig. 9 respectively.
  • Fig. 12b Therefore, to illustrate the mode of operation of the filtering 786, there is shown another exemplary excerpt from the melody matrix of FIG Fig. 9 respectively.
  • Fig. 11 As can be seen there, the combination of summation and threshold mapping results in an intermediate matrix in which two separated pixels P4 and R2 receive a binary value of 0, although at these pixel positions the melody matrix has a binary value of 1 as indicated by the Hatching in Fig. 12b to recognize that is to show at these pixel positions the melody line. These isolated "outliers" of the melody line are therefore removed by the filtering in step 786 after multiplication.
  • step 796 in which portions of melody line 784 are removed by neglecting those portions of the melody line that are not within a predetermined frequency range.
  • the value range of the melody line function is restricted to the predetermined frequency range from step 780.
  • Fig. 11 set to zero, which are outside the predetermined frequency range.
  • a frequency range is, for example, 100-200-200-10000 Hz, and preferably 150-1050 Hz.
  • a monophonic analysis as described with reference to FIGS Fig.
  • a frequency range is, for example, from 50-150 to 1,000-1,100 Hz and preferably from 80 to 1,050 Hz.
  • the limitation of the frequency range to this bandwidth contributes to the observation that melodies in popular music are usually represented by vocals, the is in this frequency range as well as human language.
  • FIG. 12 shows the melody line filtered by step 786 and clipped by step 796, which is used to distinguish in FIG Fig. 13 is provided with the reference numeral 802.
  • step 804 removal of portions of the melody line 802 of too small an amplitude occurs, wherein the extraction means 304 in this case on the logarithmic spectrum Fig. 5 from step 770. More specifically, the extractor 304 beats in the logarithmic spectrum of each frequency bin and frame tuple through which the melody line 802 passes Fig. 5 after the corresponding logarithmic spectral value, and determines whether the corresponding logarithmic spectral value is less than a predetermined percentage of the maximum amplitude or logarithmic spectral value in the logarithmic spectrum of Fig. 5 is.
  • this percentage is preferably between 50 and 70% and preferably 60%, while in monophonic analysis this percentage is preferably between 20 and 40% and preferably 30%.
  • Parts of the melody line 802 for which this is the case are neglected. This approach takes into account the fact that a melody usually always has approximately the same volume, or that sudden extreme volume fluctuations are unlikely to be expected.
  • step 804 all pixels of the melody matrix of Fig. 9 and 17 are set to zero at which the logarithmic spectral values are less than the predetermined percentage of the maximum logarithmic value.
  • Step 804 is followed, in a step 806, by a separation of those sections of the remaining melody line at which the course of the melody line in the frequency direction changes abruptly so as to have only a short halfway uniform melody curve.
  • Fig. 14 shows a section of the melody matrix over AM consecutive frames, with the frames arranged in columns as the frequency increases along the column direction from bottom to top.
  • the frequency bin resolution is in Fig. 14 for the sake of clarity not shown.
  • the melody line as revealed by step 804 is in Fig. 14 exemplified by the reference numeral 808.
  • the melody line 808 in the frames AD remains constant on a frequency bin, to then show a frequency hopping between the frames D and E that is greater than a semitone distance HT.
  • the melody line 808 then remains constant again on a frequency bin, in order then to fall back from frame H to frame I by more than one semitone interval HT.
  • Such a frequency hopping, which is greater than a semitone distance HT also occurs between the frames J and K. From then on, the melody line 808 between frames J and M again remains constant on a frequency bin.
  • the device 304 now scans the melody line in a frame-wise manner, for example from the front to the back. In this case, the device 304 checks for each frame whether a frequency jump greater than the semitone distance HT takes place between this frame and the subsequent frame. If so, means 304 marks these frames. In Fig. 14 the result of this marking is exemplarily illustrated by the fact that the corresponding frames are surrounded by a circle, here the frames D, H and J. In a second step, means 304 now checks between which of the marked frames less than a predetermined number of frames are arranged, wherein in the present case, the predetermined number is preferably three.
  • this extracts portions of the melody line 808 where the same jumps between immediately consecutive frames less than a semitone but is less than four frame elements long. Between frames D and H there are three frames in the present exemplary case. This means nothing else than that the melody line 808 does not jump over the frames E - H by more than a semitone. However, there is only one frame between the marked frames H and J. This means nothing else than that in the area of the frames I and J, the melody line 808 jumps more than one semitone both forward and backward in the time direction. This section of the melody line 808, namely in the area of the frames I and J, is therefore neglected in the subsequent processing of the melody line.
  • the corresponding melody line element is set to zero on frames I and J, ie it turns white.
  • This exclusion can therefore comprise at most three consecutive frames, which corresponds to 24 ms.
  • tones shorter than 30 ms rarely occur in today's music, so that the exclusion after step 806 does not lead to a deterioration of the transcription result.
  • step 806 processing within general segmentation 782 proceeds to step 810, where device 304 divides the remaining remnants of the former potential melody line from step 780 into a sequence of segments.
  • the division into segments all elements in the melody matrix are combined into a segment or a trajectory, which are directly adjacent.
  • Fig. 15 shows a section of the melody line 812, as they are after the Step 806 results.
  • Fig. 15 only the individual matrix elements 814 from the melody matrix along which the melody line 812 extends are shown.
  • the device 304 scans them in the following manner. The device 304 first of all checks whether the melody matrix at all has a marked matrix element 814 for a first frame.
  • means 304 proceeds to the next matrix element and again checks the next frame for the presence of a corresponding matrix element. Otherwise, that is, if a matrix element that is part of the melody line 812 is present, the device 304 checks the next frame for the presence of a matrix element that is part of the melody line 812. If so, means 304 further checks if that matrix element is directly adjacent to the matrix element of the previous frame. Immediately adjacent is one matrix element to another if they are directly adjacent one another in the row direction, or if they are diagonally corner to corner. If there is a neighborhood relationship, means 304 checks for the presence of a neighborhood relationship also for the next frame. Otherwise, ie in the absence of a neighborhood relationship, a currently recognized segment on the previous frame ends and a new segment begins on the current frame.
  • the in Fig. 15 The section of the melody line 812 shown represents an incomplete segment in which all the matrix elements 814 that are part of, or run along, the melody line are immediately adjacent to each other.
  • the segments found in this way are numbered consecutively, resulting in a sequence of segments.
  • the result of the general segmentation 782 is thus a sequence of melody segments, each melody segment covering a sequence of immediately adjacent frames.
  • the melody line jumps from frame to frame by at most a predetermined number of frequency bins, in the preceding exemplary embodiment by at most one frequency bin.
  • Step 816 is to close the gaps between adjacent segments to address the case that, due to, for example, percussive events in the melody line determination in step 780, other sound components have been inadvertently detected and filtered out in the general segmentation 782.
  • the gap closure 816 will be referred to Fig. 16 in more detail, wherein the gap closure 816 relies on a halftone vector, which is determined in a step 818, the determination of the halftone vector referring to Fig. 17 will be explained in more detail.
  • FIG. 17 shows the patchy melody line 812 resulting from the general segmentation 782 in a shape plotted in the melody matrix.
  • the device Upon determination of the halftone vector in step 818, the device now sets 304 determines which frequency bins the melody line 812 passes through and how often or in how many frames.
  • the result of this approach illustrated with the case 820, is a histogram 822 indicating, for each frequency bin f, the frequency with which it is traversed by the melody line 812 and how many matrix elements of the melody matrix that are part of the melody line 812 , are arranged at the respective Frequenzbin.
  • device 304 determines in a step 824 the frequency bin with the maximum frequency. This is in Fig. 17 indicated by an arrow 826. Starting from this frequency bin 826 of the frequency f 0 , the device 304 then determines a vector of frequencies f i which, relative to one another and above all to the frequency f 0, have a frequency spacing which corresponds to an integer multiple of a half tone length HT.
  • the frequencies in the halftone vector will be referred to as halftone frequencies hereinafter.
  • halftone cutoff frequencies will also be referred to below. These are located exactly between adjacent halftone frequencies, ie exactly centered on this.
  • a halftone interval as is customary in music, is defined as 2 1/12 of the frequency of use f 0 .
  • the frequency axis f along which the frequency bins are plotted can be divided into halftone regions 828 extending from halftone cutoff frequency to the adjacent halftone cutoff frequency.
  • gap closure 816 attempts are made to close gaps between adjacent segments of melody line 812 which are unintentionally in melody line recognition 780 and general segmentation 782, respectively, as described above.
  • the gap closure is carried out segment by segment.
  • a step 830 it is first determined in a step 830 whether the gap between the reference segment and the subsequent segment is less than a predetermined number of p frames.
  • Fig. 18 shows by way of example a section of the melody matrix with a section of the melody line 812.
  • the melody line 812 has a gap 832 between two segments 812a and 812b, of which the segment 812a is the aforementioned reference segment.
  • the gap in the exemplary case of Fig. 18 six frames.
  • step 834 it is checked whether the facing segment ends of the reference segment 812a and the successor segment 812b, ie the end of the segment 812a and the beginning of the successor segment 812b, are in a same or in relation to each other adjacent halftone areas lie.
  • the frequency axis f is divided into halftone areas, as determined in step 818. As can be seen, lie in the case of Fig. 18 the facing segment ends of the segments 812a and 812b in one and the same halftone area 838.
  • step 836 the gap closure processing continues at step 840, where it is checked which amplitude difference in the perceptual spectrum of step 772 exists at the positions of the end of the reference segment 812a and the beginning of the successor segment 812b.
  • step 840 in the perceptual spectrum of step 772, means 304 looks up the respective perceptual spectral values at the positions of the end of segment 812a and the beginning of segment 812b and determines the absolute value of the difference of the two spectral values. Further, means 304 determines in step 840 whether the difference is greater than a predetermined threshold r, preferably being 20-40% and preferably 30% of the perceptual spectral value at the end of the reference segment 812a.
  • a predetermined threshold r preferably being 20-40% and preferably 30% of the perceptual spectral value at the end of the reference segment 812a.
  • step 840 determines a gap closure line 844 in the melody matrix which directly connects the end of the reference segment 812a and the beginning of the successor segment 812b.
  • the gap closure line is preferably rectilinear, as it is in Fig. 18 is shown. More specifically, the connecting line 844 is a function across the frames over which the gap 832 extends, the function assigning a frequency bin to each of these frames so that a desired connecting line 844 results in the melody matrix.
  • means 304 determines the corresponding perceptual spectral values from the perceptual spectrum from step 772 by looking up the respective frequency bin and frame tuples of gap closure line 844 in the perceptual spectrum. Via these perceptual spectral values along the gap closure line, means 304 determines the mean and compares it in step 842 with the corresponding averages of perceptual spectral values along reference segment 812a and successor segment 812b. If both comparisons indicate that the mean for the gap closure line is greater than or equal to the average of the reference or successor segment 812a or b, then the gap 832 is closed in a step 846 by entering or closing the gap closure line 844 in the melody matrix the corresponding matrix elements thereof are set to 1. At the same time, in step 846, the list of segments is changed to merge the segments 812a and 812b into a common segment, whereupon the gap closure for the reference segment and the successor segment is completed.
  • a gap closure along the gap closure line 844 also occurs if, at step 830, the gap 832 is less than 4 frames long.
  • the gap 832 is closed, as in the case of step 846 along a direct and preferably straight gap closure line 844 connecting the facing ends of the segments 812a-812b, whereupon the gap closure for the two segments is finished and continues with the subsequent segment, as far as such exists.
  • the gap closure in step 848 will still be made dependent on a condition corresponding to that of step 836, ie, that the two mutually facing segment ends lie in the same or adjacent halftone areas.
  • the result of the gap closure 816 is thus a possibly shortened list of segments or a melody line, which may have gap closure lines in the melody matrix in some places. As was apparent from the previous discussion, at a gap of less than 4 frames, a connection between adjacent segments in the same or adjacent halftone area is always made.
  • the gap closure 816 is followed by a harmony map 850, which is intended to eliminate errors in the melody line that have arisen by incorrectly determining the wrong root note of a sound in determining the potential melody line 780.
  • the harmony mapping 850 operates segment by segment to shift individual segments of the melody line resulting from gap closure 816 by an octave, fifth, or major third, as will be described in more detail below. As the following description will show, the conditions for this are strict in order not to erroneously shift a segment wrong in frequency.
  • the Harmoniemapping 850 is in the following detailed reference Fig. 19 and Fig. 20 described.
  • Fig. 20 shows by way of example a section of the melody line, as it has revealed after the gap closure 816.
  • This melody line is in Fig. 20 provided with the reference numeral 852, wherein in the section of Fig. 20 three segments can be seen from the melody line 852, namely the segments 852a-c.
  • the representation of the melody line is again as a track in the melody matrix, but again it is recalled that the melody line 852 is a function that uniquely assigns a single frequency bin to the individual frames - meanwhile not all of them - so that the in Fig. 20 show traces shown.
  • the segment 852b located between the segments 852a and 852c appears to be cut out of the melody line progression as it would result from the segments 852a and 852c.
  • the segment 852b with no frame gap follows the reference segment 852a by way of example, as indicated by a dashed line 854.
  • the time range covered by the segment 852b is intended to be directly adjacent to the time range covered by the segment 852c, as indicated by a dashed line 856.
  • Fig. 20 are now in the melody matrix or in the time / frequency representation further dashed, dot-dashed and dot-dash lines shown, which also result from a parallel displacement of the segment 852b along the frequency axis f.
  • Dashed line 858b is shifted down twelve halftones of frequency direction f, ie one octave.
  • a third line 858c is dash-dotted to this line and a quint line 858d is shown as a dot-and-dash line, ie a line shifted by seven semitones towards higher frequencies relative to the line 858b.
  • the segment 852b appears to have been erroneously determined in the context of the melody line determination 780, since it would be less abruptly inserted between the adjacent segments 852a and 852c when shifted one octave down.
  • the task of the Harmoniemappings 850 is therefore to check whether a shift to such "outliers" should take place or not, since such frequency jumps occur less frequently in a melody.
  • the harmony mapping 850 begins with the determination of a melody centroid line by means of a mean value filter in a step 860.
  • step 860 comprises calculating a moving average of the melody curve 852 with a certain number of frames over the segments in the time direction t, the window length being 80 - 120, for example and preferably 100 frames at the above-mentioned frame length of 8 ms, ie correspondingly different number of frames at a different frame length. More precisely, to determine the melody centroid line, a window of length 100 frames is frame-shifted along the time axis t.
  • a melody centroid line 862 a function that uniquely assigns a frequency to the individual frames.
  • the melody centroid line 862 may extend over the entire time range of the audio signal, in which case the filter window at the beginning and end of the piece must be "squashed” accordingly, or only over a range from the beginning and the end of the audio piece half the filter window width is spaced.
  • a subsequent step 864 the device 304 checks whether the reference segment 852a is adjacent to the successor segment 852b along the time axis t. If this is not the case, the processing with the subsequent segment as the reference segment is performed again (866).
  • step 868 the successor segment 852b is virtually shifted to obtain the octave, fifth, and / or third lines 858a-d.
  • the selection of major thirds, fifths and octaves is advantageous in pop music, as there is usually used a major chord, in which the highest and the lowest tone of a chord have a spacing of a major third plus a minor third of a fifth.
  • the above procedure is of course also applicable to minor keys, in which chords of minor third and then major third occur.
  • a step 870 means 304 in the spectrum evaluated with equal loudness curves or the perceptual spectrum from step 772, respectively, look up the minimum perceptual spectral value along reference segment 852a and the octave, quintet, and / or third line, respectively 858a-d. In the exemplary case of Fig. 20 Consequently, there are five minimum values.
  • These minimum values are used in subsequent step 872 to select one or none among the octave, fifth, and / or third shift lines 858a-d, depending on whether the octave, fifth, and / or octave shift lines or third-line minimum value has a predetermined reference to the minimum value of the reference segment.
  • an octave line 858b is selected below the lines 858a-858d if the minimum value is at most 30% less than the minimum value for the reference segment 852a.
  • a quint-line 858d is selected if the minimum value determined for it is at most 2.5% smaller than the minimum value of the reference segment 852a.
  • One of the triplets 858c is used if the corresponding minimum value for that line is at least 10% greater than the minimum value for the reference segment 852a.
  • the device 304 shifts the segment 852b to the selected line 858a-858d, if such was selected in step 872, provided that the shift points in the direction of the melody centerline 862 as viewed from the follower segment 852b , In the exemplary case from Fig. 20 if the latter condition were satisfied, as long as the third line 858a was not selected in step 872.
  • Step 876 is performed segment by segment for each segment 878 in the melody line as it results after harmony mapping 850.
  • Fig. 22 For example, an exemplary segment 878 is shown enlarged in a representation in which the horizontal axis corresponds to the time axis and the vertical axis corresponds to the frequency axis, as was the case in the previous figures.
  • the reference segment 878 is first examined in the context of the vibrato detection 876 for local extrema.
  • the melody line function and thus also the part of the segment corresponding to the interest clearly maps the frames over this segment unambiguously on frequency bins in order to form the segment 888. This segment function is examined for local extrema.
  • step 880 the reference segment 878 is examined for those locations where it has local extremal locations along the time axis with respect to the frequency direction, ie, locations where the slope of the melody line function is zero.
  • These posts are in Fig. 22 exemplified with vertical lines 882 indicated.
  • a subsequent step 884 it is checked whether the extrema sites 882 are arranged such that temporally adjacent local extreme sites 882 are located at frequency bins having a frequency spacing greater or less equal to a predetermined number of bins, e.g., 15 to 25, preferably but 22 bins referring to Fig. 4 described implementation of the frequency analysis or a Number of bins per semitone range of about 2 to 6, is.
  • a predetermined number of bins e.g., 15 to 25, preferably but 22 bins referring to Fig. 4 described implementation of the frequency analysis or a Number of bins per semitone range of about 2 to 6, is.
  • Fig. 22 is exemplified by a double arrow 886 the length of 22 frequency bins.
  • extremals 882 satisfy criterion 884.
  • the device 304 checks whether, between the adjacent extreme digits 882, the time interval is always less than or equal to a predetermined number of time frames, the predetermined number being 21, for example.
  • step 888 If the check in step 888 turns out to be positive, as in the example of Fig. 22 That is, if the number of extrema 882 is greater than or equal to a predetermined number, which is preferably 5 in the present case, it is checked in a step 892, as shown by the double arrow 890, which should be 21 frames long , In the example of Fig. 22 this is given. Thus, even if the check in step 892 is positive, in a subsequent step 894 the reference segment 878 or the detected vibrato is replaced by its mean value. The result of step 894 is in Fig. 22 displayed at 896.
  • a predetermined number which is preferably 5 in the present case
  • step 894 the reference segment 878 on the current melody line is removed and replaced by a reference segment 896 which extends over the same frames as the reference segment 878 but along a constant frequency bin corresponding to the average of the frequency bins through which the replaced reference segment 878 was. If the result of one of the checks 884, 888 and 892 is negative, the vibrato detection or compensation ends for the relevant reference segment.
  • vibrato detection and vibrato equalization are performed according to Fig. 21 a vibrato detection by stepwise feature extraction, which searches for local extrema, namely local minima and maxima, with a restriction on the number of allowed frequency bins of the modulation and a limitation in the temporal distance of the extrema, where as a vibrato only a group of at least 5 extrema is considered.
  • a recognized vibrato is then replaced in the melody matrix by its mean value.
  • a statistical correction is performed in step 898, which also accounts for the observation that in a tune short and extreme pitch variations are not to be expected.
  • the statistical correction of 898 will be referred to Fig. 23 explained in more detail.
  • Fig. 23 shows by way of example a section of a melody line 900, as it may result from the vibrato recognition 876. Again, the course of the melody line 900 is shown registered in the melody matrix, which is spanned by the frequency axis f and the time axis t.
  • a melody centerline for the melody line 900 is first determined similar to the step 860 in the harmony mapping.
  • a window 902 of predetermined length is frame-shifted along the time axis t to calculate, frame by frame, an average of the frequency bins containing the melody line 900 within the window 902, the average being assigned to the frame in the middle of the window 902 as a frequency bin, resulting in a point 904 of the melody centerline to be determined.
  • the resulting melody centerline is in Fig. 23 indicated by the reference numeral 906.
  • a second window to appear in Fig. 23 not shown, shifted along the time axis t frame-wise, which has, for example, a window length of 170 frames.
  • the standard deviation of the melody line 900 to the melody center line 906 is determined.
  • the resulting standard deviation for each frame is multiplied by 2 and added by 1 bin.
  • This value then becomes the respective frequency bin for each frame, which is the Melody centerline 906 at this frame traverses, adds, and subtracts to obtain upper and lower standard deviation lines 908a and 908b.
  • the two standard deviation lines 908a and 908b define an allowed area 910 between them.
  • all segments of the melody line 900 that are completely outside of the approval area 910 are now removed. The result of the statistical correction 898 is thus a reduction in the number of segments.
  • the step 898 is followed by a halftone mapping 912.
  • the halftone mapping is performed frame-wise by resorting to the halftone vector, step 818, which defines the halftone frequencies.
  • the halftone mapping 912 functions such that, for each frame on which the melody line resulting from step 898 is present, it is checked in which of the halftone areas the frequency bin lies in which the melody line passes through the respective frame Frequency bin the melody line function the respective frame maps.
  • the melody line is then changed such that in the respective frame the melody line is changed to the frequency value corresponding to the semitone frequency of the semitone area in which the frequency bin through which the melody line passed was.
  • segment-wise semitone quantization can also be carried out, for example by assigning only the frequency mean value per segment to one of the halftone areas and thus to the corresponding halftone area frequency in the previously described manner, which then over the entire time length of the corresponding segment the frequency is used.
  • Steps 782, 816, 818, 850, 876, 898 and 912 thus correspond to step 760 in FIG Fig. 2 .
  • step 914 Upon halftone mapping 912, an onset detection and correction per segment is performed in step 914. This will be referred to the Fig. 24 - 26 explained in more detail.
  • the goal of the onset detection and correction 914 is to correct the individual segments of the melody line resulting from the halftone mapping 912, which correspond more and more to the individual notes of the searched tune, with respect to their starting times.
  • the incoming or in step 750 provided audio signal 302 is used again, as will be described in more detail below.
  • a step 916 first the audio signal 302 is filtered with a bandpass filter corresponding to the halftone frequency to which the respective reference segment has been quantized in step 912, or with a bandpass filter having cutoff frequencies between which the quantized halftone frequency of the respective segment lies ,
  • the bandpass filter is used as one having cutoff frequencies corresponding to the halftone cutoff frequencies f u and f o of the halftone region in which the considered segment is located.
  • an IIR band-pass filter with the cutoff frequencies f u and f o associated with the respective halftone region is filtered as filter cutoff frequencies or with a Butterworth bandpass filter whose transfer function in Fig. 25 is shown.
  • a two-way rectification of the audio signal filtered in step 916 is performed, whereupon, in a step 920, the time signal obtained in step 918 is interpolated and the interpolated time signal is convolved with a Hamming window, whereby an envelope of the two-way rectified and filtered audio signals, respectively, is determined.
  • Steps 916-920 will be referred to Fig. 26 once again illustrated.
  • Fig. 26 Numeral 922 shows the two-way rectified audio signal, as it does after step 918, in a graph plotting horizontally the time t in virtual units and vertically the amplitude of the audio signal A in virtual units. Further, in the graph, the envelope 924 resulting in step 920 is shown.
  • Steps 916-920 are only one way of generating the envelope 924 and of course can be varied.
  • envelopes 924 are generated for the audio signal for all those semitone frequencies or halftone areas in which segments or note segments of the current melody line are arranged. For each such envelope 924, the following steps of Fig. 24 executed.
  • potential start times are determined as the locations of locally maximum rise of the envelope 924.
  • inflection points in the envelope 924 are determined in step 926.
  • the times of the turning points in the case of Fig. 26 are illustrated with vertical bars 928.
  • step 926 For the following evaluation of the determined potential starting times or potential increases, a downsampling to the time resolution of the preprocessing is carried out, if necessary in the context of step 926, which is described in Fig. 24 not shown. It should be noted that in step 926 not all potential start times or all inflection points have to be determined. It is also not necessary that all determined or determined potential starting times must be supplied to the subsequent processing. Rather, it is possible to determine or further process only those inflection points as potential starting times, which are arranged in temporal proximity before or in a time range of one of the segments corresponds to the melody line located in the halftone area underlying the determination of the envelope 924.
  • step 928 it is now checked whether, for a potential start time, it lies before the segment start of the same corresponding segment. If so, processing continues at step 930. Otherwise, however, i. if the potential start time is past the existing start of the segment, step 928 is repeated for a next potential start time, or step 926 for a next envelope determined for another half-tone range, or segmented onset detection and correction is performed for a next segment ,
  • step 930 a check is made as to whether the potential start time is more than x frames before the beginning of the corresponding segment, where x is between 8 and 12, for example, and preferably 10 with a frame length of 8 ms, changing the values for other frame lengths accordingly would. If this is not the case, ie if the potential start time or the determined start time is 10 frames before the segment of interest, the gap between the potential start time and the previous segment start is closed or the previous start of the segment is corrected to the potential start time in a step 932 , If necessary, the predecessor segment is correspondingly shortened or its segment end is changed to the frame before the potential start time.
  • step 932 includes extending the reference segment forward to the potential start time and possibly shortening the length of the precursor segment at the end thereof to avoid overlapping the two segments.
  • step 934 it is checked in step 934 whether step 934 is being traversed the first time for that potential start time. If this is not the case here, the processing for this potential start time and the relevant segment ends here, and the processing of the onset detection continues in step 928 for another potential start time or in step 926 for a further envelope.
  • a step 936 the previous segment start of the segment of interest is virtually moved forward. In doing so, the perceptual spectral values in the perception-related spectrum are looked up, which are located at the virtually shifted segment start times. If the fall of these perceptual spectral values in the perceptual spectrum exceeds a certain value, the frame in which this transgression has taken place is provisionally used as segment start of the reference segment and step 930 is repeated again. If then the potential start time is not more than x frames before the beginning of the corresponding segment determined in step 936, the gap is also closed in step 932, as described above.
  • the effect of the onset detection and correction 914 is thus that individual segments in the current melody line are changed in their time extent, namely extended forward or shortened back.
  • segmental length segmentation 938 all segments of the melody line which, because of halftone mapping 912, now appear in the melody matrix as horizontal lines lying at semitone frequencies, are scanned through, and those segments from the melody line removed, which are smaller than a predetermined length. For example, segments are removed that are less than 10-14 frames long, and preferably 12 frames and less long, again assuming a frame length of 8ms above or adjusting the numbers of frames accordingly. 12 frames at 8 milliseconds correspond to 96 milliseconds time resolution, which is less than about 1/64 note.
  • Steps 914 and 938 thus correspond to step 762 Fig. 2 .
  • the melody line held in step 938 then consists of a somewhat reduced number of segments having one and the same semitone frequency over a certain number of consecutive frames. These segments are clearly attributable to musical segments.
  • This melody line is then entered in a step 940 corresponding to the above-described step 764 of FIG Fig. 2 corresponds, converted into a notation or into a midi file.
  • each segment still in the melody line after the length segmentation 938 is examined to find the first frame in the respective segment. This frame then determines the note start time of the note corresponding to that segment. For the note, the note length is then determined from the number of frames over which the corresponding segment extends.
  • the quantized pitch of the note results from the halftone frequency, which is constant in each segment due to step 912.
  • the MIDI output 914 by means 304 then provides the note sequence, based on which the rhythm means 306 performs the operations described above.
  • FIG. 4 shows the alternative mode of operation of device 304, which is similar to that of monophonic audio signals Fig. 3 is preferable, but in principle also for polyphonic audio signals would be applicable.
  • a sound separation is performed in step 950.
  • the reason for performing the sound separation in step 950 referring to FIG Fig. 28 can be explained in more detail, with reference to Fig. 29 for a portion of the frequency / time space of the spectrogram of the audio signal, the nature of the spectrogram, as determined by frequency analysis 752, for a predetermined segment 952 of the melody line resulting after general segmentation 782 , as a root and for their overtones illustrated.
  • the exemplary segment 952 has been shifted along the frequency direction f by integer multiples of the respective frequency to determine overtone lines.
  • Fig. 29 now shows only those parts of the reference segment 952 and corresponding overtone lines 954a-g, where the Spectrogram from step 752 has spectral values that exceed an exemplary value.
  • the amplitude of the fundamental of the reference segment 952 obtained in the general segmentation 782 is consistently above the exemplary value. Only the overtones arranged above indicate an interruption approximately in the middle of the segment. The patency of the root has caused the segment in general segmentation 782 not to split into two notes, although there is likely to be a note boundary at about the middle of segment 952. Errors of this kind occur primarily only in monophonic music, which is why the sound separation only in the case of Fig. 27 is carried out.
  • the tone separation 950 begins at step 958, starting from the melody line obtained in step 782, with the search for that overtone or tone lines 954a-954g along which the spectrogram obtained by frequency analysis 752 has the most dynamic amplitude response.
  • Fig. 30a shows in a graph in which the x-axis of a time axis t and the y-axis of the amplitude or the value of the spectrogram corresponds, such an amplitude characteristic 960 for one of the upper tone lines 954a - 954g.
  • the dynamics for the amplitude curve 960 is determined from the difference between the maximum spectral value of the curve 960 and the minimum value within the curve 960.
  • Fig. 30a will exemplify the amplitude curve of the spectrogram along that harmonic line 450a - 450g, which has the greatest dynamics among all these amplitude curves.
  • step 958 preferably only the 4th through 15th order overtones are considered.
  • a local amplitude minimum falls below a predetermined threshold, identified as potential separation points.
  • a predetermined threshold identified as potential separation points.
  • a predetermined threshold identified as potential separation points.
  • Fig. 30b illustrated.
  • the absolute minimum 964 which of course also represents a local minimum
  • the threshold value which in Fig. 30b exemplified by dashed line 966.
  • Fig. 30b there is only one potential separation point, namely the time or frame at which the minimum 964 is located.
  • step 968 those which are located in a boundary area 970 around the segment start 972 or in a boundary area 974 around the segment end 976 are then sorted out among the possibly multiple separation sites.
  • step 978 the difference between the amplitude minimum at the minimum 964 and the mean of the amplitudes of the local maxima 980 and 982 adjacent to the minimum 964 is formed in the amplitude curve 960.
  • the difference is in Fig. 30b illustrated with a double arrow 984.
  • a subsequent step 986 it is checked whether the difference 984 is greater than a predetermined threshold value. Otherwise, in a step 988, the reference segment at the potential separation point or minimum 964 is separated into two segments, one of which is separated from the second Segment start 972 extends to the frame of the minimum 964, and the other between the frame of the minimum 964 and the subsequent frame and the segment end 976. The list of segments is extended accordingly. Another way of separating 988 is to provide a gap between the two emerging segments. For example, in the area in which the amplitude curve 960 is below the threshold value, in Fig. 30b for example, over the time range 990.
  • tone smoothing is performed in step 992, referring to FIG Fig. 31 and 32 is explained in more detail.
  • FIG. 8 shows schematically a segment 994, as it is in the melody line, which results on the sound separation 950.
  • the representation in Fig. 32 is such that in Fig. 32 for each tuple of frequency bin and frame traversed by segment 994, a digit is provided on the corresponding tuple. The assignment of the digit will be referred to below Fig. 31 explained in more detail.
  • segment 994 varies in the exemplary case of FIG Fig. 32 across 4 frequency bins and spans 27 frames.
  • tone smoothing is now to select, among the frequency bins between which segment 994 oscillates, the one which is to be assigned to segment 994 constantly for all frames.
  • the tone smoothing begins in step 996 with the initialization of a counter variable i to 1.
  • a counter value z is initialized to 1.
  • the counter variable i has the meaning of the numbering of the frames of the segment 994 from left to right in FIG Fig. 32
  • the counter variable z has the meaning of a counter that counts over how many consecutive frames the segment 994 is in one and the same frequency bin.
  • the value for z for the individual frames is shown in the form of the numbers representing the course of segment 994 in FIG Fig. 32 represent.
  • the counter value z is then accumulated to a sum for the frequency bin of the ith frame of the segment. For each frequency bin in which the segment 994 oscillates, there exists a sum or an accumulation value.
  • the counter value could be weighted according to a varying exemplary embodiment, such as a factor f (i), where f (i) is a function that increases steadily with i, thus the shares to be totalized at the end of a segment, ie the voice, for example better tuned to the tone, to weight more strongly compared to the transient at the beginning of a note.
  • a factor f (i) is a function that increases steadily with i, thus the shares to be totalized at the end of a segment, ie the voice, for example better tuned to the tone, to weight more strongly compared to the transient at the beginning of a note.
  • 32 i increases along the time and indicates how many positions a given frame occupies among the frames of the considered segment, and successive values which occupy the function shown by way of example for successive sections, again indicated by small vertical bars along the time axis, with numbers shown in these square brackets.
  • the exemplary weighting function increases with i from 1 to 2.2.
  • a step 1002 it is checked if the i-th frame is the last frame of the segment 994. If this is not the case, the counter variable i is incremented in a step 1004, ie it is moved to the next frame.
  • a subsequent step 1006 it is checked whether the segment 994 in the current frame, ie the ith frame, is in the same frequency bin as it was in the (i-1) th frame. If so, in a step 1008 the counter variable z is incremented, whereupon processing continues again at step 1000. However, if the segment 994 is not in the same frequency bin in the i-th frame and the (i-1) th frame, processing proceeds to 1 with the initialization of the counter variable z in step 998.
  • step 1002 determines whether i-th frame is the last frame of segment 994, then for each frequency bin in which segment 994 is located, a sum resulting in Fig. 32 at 1010.
  • step 1012 upon determination of the last frame in step 1002, the frequency bin for which the accumulated sum 1010 is greatest is selected. In the exemplary case of Fig. 32 this is the second lowest frequency bin among the four frequency bins in which segment 994 is located.
  • the reference segment 994 is then smoothed by swapping it to a segment in which each of the frames where the segment 994 was located is assigned the selected frequency bin. The sound smoothing off Fig. 31 is repeated segment by segment for all segments.
  • tone smoothing serves to equalize the singing and singing of tones from lower or higher frequencies, and accomplishes this by finding a value over the time course of a tone corresponding to the frequency of the settled tone.
  • tone smoothing serves to equalize the singing and singing of tones from lower or higher frequencies, and accomplishes this by finding a value over the time course of a tone corresponding to the frequency of the settled tone.
  • all elements of a frequency band are counted up, after which all the incremented elements of a frequency band, which are located on the note segment, are added up. Then the tone is entered over the time of the note segment in the frequency band with the largest sum.
  • a statistical correction 916 is then performed, performing the statistical correction of those Fig. 3 in particular corresponds to step 898.
  • the statistical correction 1016 is followed by a halftone mapping 1018 that corresponds to the halftone mapping 912 Fig. 3 corresponds and also uses a halftone vector determined at a halftone vector detection 1020, which corresponds to that of Fig. 818.
  • Steps 950, 992, 1016, 1018, and 1020 thus correspond to step 760 Fig. 2 .
  • the halftone mapping 1018 is followed by an onset identifier 1022, which essentially corresponds to that of FIG Fig. 3 , step 914, corresponds. Only in step 932 is it preferably prevented that gaps are closed again, or segments imposed by the tone separation 950 are closed again.
  • the onset detector 1022 is followed by offset detection and correction 1024, which will be described below with reference to FIGS. 33-35 is explained in more detail.
  • the offset detection and correction is used to correct the end of the note.
  • the offset detection 1024 serves to prevent the reverberation of monophonic pieces of music.
  • step 1026 first the audio signal is filtered with a bandpass filter corresponding to the halftone frequency of the reference segment, whereupon, in a step 1028 corresponding to step 918, the filtered audio signal is two-way rectified. Further, in step 1028, an interpretation of the rectified time signal is performed. This approach is sufficient in the case of offset detection and correction to determine approximately an envelope, thereby eliminating the more complicated step 920 of onset detection.
  • Fig. 34 shows in a graph in which along the x-axis, the time t is plotted in virtual units and along the y-axis of the amplitude A in virtual units, the interpolated time signal, for example with a Reference numeral 1030 and, for comparison thereto, the envelope, as determined in the Onseterkennung in step 920, with a reference numeral 1032.
  • a maximum 1040 of the interpolated time signal 1030 is determined, in particular the value of the interpolated time signal 1030 at the maximum 1040.
  • a potential note end time is then determined as the time wherein the rectified audio signal has dropped in time to the maximum 1040 to a predetermined percentage of the value at the maximum 1040, the percentage in step 1042 being preferably 15%.
  • the potential note end is in Fig. 34 illustrated with a dashed line 1044.
  • a subsequent step 1046 it is then checked whether the potential note end 1044 is behind the segment end 1048 in time. If not, as it is in Fig. 34 by way of example, the reference segment is shortened from the time range 1036 to end at the potential note end 1044. However, if the note end is earlier than the end of the segment, as exemplified in Fig. 35 5, it is checked in a step 1050 whether the time interval between potential note end 1044 and segment end 1048 is less than a predetermined percentage of the current segment length a, the predetermined percentage preferably being 25% in step 1050. If the result of the check 1050 is positive, an extension 1051 of the reference segment of length a takes place, in order to end now at the potential note end 1044. However, to prevent overlap with the subsequent segment, step 1051 may also be contingent upon an impending overlap, in order not to be performed in this case, or just up to the beginning of the successor segment, possibly with a certain distance therefrom.
  • step 1050 determines whether the check in step 1050 is negative, no offset correction is performed and step 1034 and the following steps are repeated for another reference segment of equal semitone frequency or step 1026 for other semitone frequencies is continued.
  • step 1052 is followed by step 938 Fig. 3 corresponding length segmentation 1052 is performed, followed by a MIDI output 1054 following step 940 Fig. 3 equivalent.
  • Step 762 off Fig. 2 correspond to steps 1022, 1024 and 1052.
  • steps 770-774 could also be combined with each other by converting the spectral values of the spectrogram from the frequency analysis 752 into the perceptual spectral values using only a single lookup in a lookup table.
  • basic frequency determination 776 a tone model from Goto was used.
  • other sound models or other weightings of the overtone components would also be possible and could be adapted, for example, to the origin or origin of the audio signal, as far as this or these is known, such as when in the embodiment of the ringtone generation, the user is set to a Vorsumsmen.
  • the determination of the potential melody line 780 could include assigning multiple frequency bins to the same frame. Subsequently, a finding of multiple trajectories could be performed. This means allowing a selection of multiple fundamental frequencies or multiple sounds for each frame. Of course, the subsequent segmentation would then have to be carried out differently and, in particular, the subsequent segmentation would be somewhat more complicated since several trajectories or segments would have to be considered and found.
  • Step 806 could be transferred to the case where the melody line consists of time-overlapping trajectories, if this step took place after the trajectories were identified.
  • the identification of trajectories could be similar to step 810, but modifications would have to be made such that multiple trajectories overlapping in time can also be tracked.
  • the gap closure could also be carried out in a similar way for those trajectories between which there is no gap in time.
  • the general segmentation implementation described above does not have to have all substeps 786, 796, 804, and 806, but may also include a selection thereof.
  • the perceptual spectrum was used in steps 840 and 842. In principle, however, it is also possible to use in these steps the logarithmic spectrum or the spectrogram obtained directly from the frequency analysis, but the use of the perceptual spectrum in these steps has given the best result in terms of melody extraction. The same applies to step 870 from the harmony mapping.
  • harmoniemapping it is pointed out that it could be provided there, during the displacement 868 of the successor segment, to apply the displacement just in the direction of the melody centerline line, so that the second condition could be omitted in step 874.
  • uniqueness among the selection of the various octave, fifth, and / or third lines could be achieved by creating a priority ranking among them, e.g. rete line before fifth line before third line and below lines of the same line type (octave, quint, or third line) that is closer to the original position of the successor segment.
  • the determination of the envelope or of the interpolated time signal used instead in the case of offset detection could also be carried out differently. It is only essential that in the onset and offset detection the audio signal is used back, which is filtered by a bandpass filter with a transmission characteristic around the respective semitone frequency, to the rise of the envelope of the resulting filtered signal the note start time or on the basis of Drop of the envelope to recognize the end of the note.
  • FIGS. 8-41 show the operation of the melody extractor 304 and that each of the steps represented by a block in these flowcharts may be implemented in a corresponding subunit of the device 304.
  • the implementation of the individual steps can be implemented in hardware, as an ASIC circuit part, or in software, as a subroutine.
  • the inscriptions inscribed in the blocks roughly indicate which ones The respective step corresponds to the respective block, while the arrows between the blocks illustrate the sequence of steps in the operation of the device 304.
  • the inventive scheme can also be implemented in software.
  • the implementation may be on a digital storage medium, in particular a floppy disk or a CD with electronically readable control signals, which may cooperate with a programmable computer system such that the corresponding method is executed.
  • the invention thus also consists in a computer program product with program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer.
  • the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

The finding of the present invention is that the melody extraction or automatic transcription may be implemented clearly more stable and if applicable even less expensive when the assumption is considered sufficiently that the main melody is the portion of a piece of music which man perceives the loudest and the most precise. Regarding this, according to the present invention the time/spectral representation or the spectrogram of an interesting audio signal is scaled using the curves of equal volume reflecting human volume perception in order to determine the melody of the audio signal on the basis of the resulting perception-related time/spectral representation.

Description

Die vorliegende Erfindung bezieht sich auf die Extraktion einer einem Audiosignal zu Grunde liegenden Melodie. Eine solche Extraktion kann beispielsweise verwendet werden, um eine transkribierte Darstellung bzw. Notendarstellung einer Melodie zu erhalten, die einem monophonen oder polyphonen Audiosignal zu Grunde liegt, das auch in einer analogen Form oder in einer digitalen, abgetasteten Form vorliegen kann. Melodieextraktionen ermöglichen somit beispielsweise die Erzeugung von Klingeltönen für Mobiltelefone aus jedwedem Audiosignal, wie z.B. Gesang, Vorsummen, Vorpfeifen oder dergleichen.The present invention relates to the extraction of a melody underlying an audio signal. Such extraction may be used, for example, to obtain a transcribed representation of a melody underlying a monophonic or polyphonic audio signal, which may also be in an analog form or in a digital sampled form. Thus, melody extractions, for example, enable the generation of ringtones for mobile phones from any audio signal, e.g. Singing, humming, whistling or the like.

Schon seit einigen Jahren dienen Signaltöne von Mobiltelefonen nicht mehr nur alleine der Signalisierung eines Anrufes. Vielmehr wurden dieselben mit wachsenden melodischen Fähigkeiten der mobilen Geräte zu einem Unterhaltungsfaktor und unter Jugendlichen zu einem Statussymbol.Already for some years, beeps of mobile phones are no longer just the signaling of a call alone. Rather, they have become an entertainment factor with growing melodic capabilities of mobile devices and a status symbol among teenagers.

Frühere Mobiltelefone boten zum Teil die Möglichkeit, monophone Klingeltöne am Gerät selber zu komponieren. Dies war jedoch kompliziert und für musikalisch wenig vorgebildete Benutzer oft frustrierend und vom Ergebnis her betrachtet unbefriedigend. Daher ist diese Möglichkeit bzw. Funktionalität aus neueren Telefonen weitgehend verschwunden.Earlier mobile phones offered in part the possibility to compose monophone ringtones on the device itself. However, this was complicated and often frustrating for musically under-educated users and unsatisfactory in their results. Therefore, this possibility or functionality has largely disappeared from newer phones.

Insbesondere moderne Telefone, die mehrstimmige Signalisierungsmelodien bzw. Klingeltöne zulassen, bieten eine solche Fülle an Kombinationen, dass eine eigenständige Komposition einer Melodie auf einem solchen Mobilgerät kaum noch möglich ist. Allenfalls lassen sich vorgefertigte Melodie- und Begleitmuster neu kombinieren, um so in einem beschränkten Maße eigenständige Klingeltöne zu ermöglichen.In particular, modern phones that allow polyphonic signaling melodies or ringtones, offer such a wealth of combinations that an independent composition of a melody on such a mobile device is hardly possible. At most, ready-made melody and accompaniment patterns can be recombined to provide a limited amount of independent ringtones.

Eine solche Kombinierbarkeit vorgefertigter Melodie- und Begleitmuster ist beispielsweise in dem Telefon Sony-Ericsson T610 implementiert. Darüber hinaus ist der Benutzer jedoch auf das Zukaufen kommerziell erhältlicher, vorgefertigter Klingeltöne angewiesen.Such combinability of ready-made melody and accompaniment patterns is implemented, for example, in the Sony-Ericsson T610 phone. In addition, however, the user relies on the purchase of commercially available pre-made ringtones.

Wünschenswert wäre es, dem Benutzer eine intuitiv bedienbare Schnittstelle zur Erstellung einer eigenen Signalisierungsmelodie zur Verfügung stellen zu können, die keine große musikalische Bildung voraussetzt, aber trotzdem zur Umsetzung eigener polyphoner Melodien geeignet ist.It would be desirable to be able to provide the user with an intuitively operable interface for creating his own signaling melody, which does not require a large musical education, but is nevertheless suitable for the implementation of their own polyphonic melodies.

In den meisten Keyboards besteht heutzutage eine als sogenannte Begleitautomatik bezeichnete Funktionalität, eine Melodie bei Vorgabe der zu verwendenden Akkorde automatisch zu begleiten. Ganz abgesehen davon, dass solche Keyboards keine Möglichkeit liefern, über eine Schnittstelle zu einem Computer die mit einer Begleitung versehene Melodie an einen Computer zu übertragen und dort in ein geeignetes Handy-Format umzuwandeln zu lassen, um dieselben als Klingeltöne in ein Mobiltelefon verwenden zu können, scheidet die Verwendung eines Keyboards zur Erzeugung eigener polyphoner Signalisierungsmelodien für Mobiltelefone für die meisten Benutzer aus, da dieselben nicht in der Lage sind, dieses Musikinstrument zu bedienen.In most keyboards today, there is a so-called automatic accompaniment called functionality to automatically accompany a melody given the chords to be used. Quite apart from the fact that such keyboards provide no way to use an interface to a computer to transfer the provided with a tune melody to a computer and there to convert into a suitable mobile phone format to use them as ringtones in a mobile phone can , the use of a keyboard to generate its own polyphonic signaling melodies for mobile phones for most users, because they are not able to operate this musical instrument.

In der DE 102004010878.1 mit dem Titel "Vorrichtung und Verfahren zum Liefern einer Signalisierungs-Melodie", deren Anmelderin gleich der Anmelderin der vorliegenden Anmeldung ist, und die am 5. März 2004 beim Deutschen Patent- und Markenamt hinterlegt worden ist, wird ein Verfahren beschrieben, mit dem sich mit Hilfe eines Java-Applets und einer Server-Software monophone und polyphone Klingeltöne generieren und auf ein Mobilgerät versenden lassen. Die dort vorgeschlagenen Vorgehensweisen zur Extraktion der Melodie aus Audiosignalen sind aber sehr fehleranfällig oder nur begrenzt einsetzbar. Unter anderem wird dort vorgeschlagen, dadurch zu einer Melodie eines Audiosignals zu gelangen, dass charakteristische Merkmale aus dem Audiosignal extrahiert werden, um dieselben mit entsprechenden Merkmalen vorgespeicherter Melodien zu vergleichen, und dann als die erzeugte Melodie diejenige unter den vorgespeicherten auszuwählen, bei der sich die beste Übereinstimmung ergibt. Dieser Lösungsansatz schränkt jedoch die Melodieerkennung inhärent auf den vorgespeicherten Satz von Melodien ein.In the DE 102004010878.1 entitled "Apparatus and Method for Providing a Signaling Tune" whose assignee is the same as the assignee of the present application and which was filed with the German Patent and Trademark Office on Mar. 5, 2004, a method is described with which Use a Java applet and server software to generate monophonic and polyphonic ringtones and send them to a mobile device. However, the procedures proposed there for extracting the melody from audio signals are very error-prone or have only limited applicability. Among other things, it is proposed there to thereby arrive at a melody of an audio signal that characteristic features are extracted from the audio signal to compare the same with corresponding features of pre-stored tunes, and then select as the generated tune that among the pre-stored ones giving the best match. However, this approach inherently restricts the melody recognition to the pre-stored set of tunes.

Die DE 102004033867.1 mit dem Titel "Verfahren und Vorrichtung zur rhythmischen Aufbereitung von Audiosignalen" und die DE 102004033829.9 mit dem Titel "Verfahren und Vorrichtung zur Erzeugung einer polyphonen Melodie", die am selben Tag, beim Deutschen Patent- und Markenamt hinterlegt worden sind, beschäftigen sich ebenfalls mit der Erzeugung von Melodien aus Audiosignalen, gehen aber nicht näher auf die eigentliche Melodieerkennung ein, sondern eher auf den sich daran anschließenden Prozess der Ableitung einer Begleitung aus der Melodie zusammen mit einer rhythmischen und harmonieabhängigen Aufbereitung der Melodie.The DE 102004033867.1 entitled "Method and Apparatus for the Rhythmic Conditioning of Audio Signals" and the DE 102004033829.9 entitled "Method and Apparatus for Producing a Polyphonic Melody" filed with the German Patent and Trademark Office on the same day also deal with the generation of melodies from audio signals, but do not elaborate on the actual melody recognition, but rather the ensuing process of deriving an accompaniment from the melody along with a rhythmic and harmonic-dependent treatment of the melody.

Mit Möglichkeiten der Melodieerkennung beschäftigt sich beispielsweise Bello, J.P., Towards the Automated Analysis of Simple Polyphonic Music: A Knowledge-based Approach, University of London, Diss., Januar 2003 , werden verschiedene Arten der Anfangszeitpunkterkennung von Noten beschrieben, die entweder auf der lokalen Energie im Zeitsignal oder auf einer Analyse in der Frequenzdomäne basieren. Darüber hinaus werden verschiedene Verfahren zur Melodielinienerkennung beschrieben. Das Gemeinsame an diesen Vorgehensweisen ist, dass dieselben darin kompliziert sind, dass die schließlich erhaltene Melodie über Umwege dadurch erhalten wird, dass zunächst in der Zeit-/Spektraldarstellung des Audiosignals mehrere Trajektorien verarbeitet bzw. verfolgt werden, und dass erst unter diesen Trajektorien schließlich die Auswahl der Melodielinie bzw. der Melodie getroffen wird.With possibilities of melody recognition deals for example Bello, JP, Towards the Automated Analysis of Simple Polyphonic Music: A Knowledge-based Approach, University of London, Diss., January 2003 , various types of start timing of notes are described, based either on the local energy in the time signal or on an analysis in the frequency domain. In addition, various methods for melody line detection are described. The common feature of these approaches is that they are complicated in that the final melody is obtained indirectly by first processing or tracking several trajectories in the time / spectral representation of the audio signal, and finally, under these trajectories Selection of the melody line or the melody is made.

Auch in Martin, K.D., A Blackboard System for Automatic Transcription of Simple Polyphonic Music, M.I.T Media Laboratory Perceptual Computing Section Technical Report No. 385, 1996 , wird eine Möglichkeit zur automatischen Transkription beschrieben, wobei diese ebenfalls auf der Auswertung mehrerer harmonischer Spuren in einer Zeit-/Frequenzdarstellung des Audiosignals bzw. dem Spektrogramm des Audiosignals beruht.Also in Martin, KD, A Blackboard System for Automatic Transcription of Simple Polyphonic Music, MIT Media Laboratory Perceptual Computing Section 385, 1996 , a possibility for automatic transcription is described, which is also based on the evaluation of several harmonic tracks in a time / frequency representation of the audio signal or the spectrogram of the audio signal.

M. Karjalainen and Tero Tolonen: "Multi-Pitch and Periodicity Analysis Model for Sound Separation and Auditory Scene Analysis" Proc. IEEE Int. Conf. Acoustics, Speech, and signal Processing (ICASSP'99), vol. 2, pp. 929-932, Phoenix, Arizona, March 15-19, 1999 , zeigt ein System zur Detektion von Tönen, wobei das Eingangssignal durch ein Filter, das auf die Kurven gleicher Lautstärke bezogen ist (equal-loudness sensitivity filtering), verarbeitet wird. Das verarbeitete Signal wird dann im Zeitbereich anhand einer Autokorrelation analysiert, um die Periode der Töne zu schätzen (Siehe D1, Abbildung 2). M. Karjalainen and Tero Tolonen: "Multi-Pitch and Periodicity Analysis Model for Sound Separation and Auditory Scene Analysis" Proc. IEEE Int. Conf. Acoustics, speech, and signal processing (ICASSP'99), vol. 2, pp. 929-932, Phoenix, Arizona, March 15-19, 1999 shows a system for detecting sounds, wherein the input signal is processed by a filter, which is related to the equal-volume curves (equal-loudness sensitivity filtering). The processed signal is then analyzed in the time domain by autocorrelation to estimate the period of the tones (See D1, Figure 2 ).

G. Monti, M. Sandler : "Automatic Polyphonic Piano Note Extraction Using Fuzzy Logic in a Blackboard System", Proc. of the 5th Int. Conference on Digital Audio Effects (DAFx-02) Hamburg, Germany, September 26-28,2002 , zeigt wie schwellen zur Maskierung ("Masking Thresholds") aus den Kurven gleicher Lautstärke errechnet werden (siehe Gleichungen (3)-(8) und Abbildung 1). Das Signal wird dann mit diesen Schwellen verglichen um die dem Signal zugrundeliegenden hörbaren Komponenten zu identifizieren. G. Monti, M. Sandler: "Automatic Polyphonic Piano Note Extraction Using Fuzzy Logic in a Blackboard System", Proc. of the 5th Int. Conference on Digital Audio Effects (DAFx-02) Hamburg, Germany, September 26-28,2002 , shows how thresholds for masking ("masking thresholds") are calculated from the curves of equal volume (see equations (3) - (8) and illustration 1 ). The signal is then compared to these thresholds to identify the audible components underlying the signal.

In Klapuri, A.P.: Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Summary Diss., Dezember 2003 , und Klapuri, A.P., Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., Dezember 2003 , A.P. Klapuri, "Number Theoretical Means of Resolving a Mixture of several Harmonic Sounds". In Proceedings European Signal Processing Conference, Rhodos, Griechenland, 1998 , A.P. Klapuri, "Sound Onset Detection by Applying Psychoacoustic Knowledge", in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, Phoenix, Arizona, 1999 , A.P. Klapuri, "Multipitch Estimation and sound separation by the Spectral Smoothness Principle", in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, Salt Lake City, Utah, 2001 , Klapuri A.P. und Astola J.T., "Efficient Calculation of a Physiologically-motivated Representation for Sound", in Proceedings 14th IEEE International Conference on Digital Signal Processing, Santorin, Griechenland, 2002 , A.P. Klapuri, "Multiple Fundamental Frequency Estimation based on Harmonicity and Spectral Smoothness", IEEE Trans. Speech and Audio Proc., 11(6), S. 804-816, 2003 , Klapuri A.P., Eronen A.J. und Astola J.T., "Automatic Estimation of the Meter of Acoustic Musical Signals", Tempere University of Technology, Institute of Signal Processing, Report 1-2004, Tampere, Finnland, 2004, ISSN: 1459-4595, ISBN: 952-15-1149-4 , werden verschiedene Verfahren rund um die automatische Transkription von Musik beschrieben.In Klapuri, AP: Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., December 2003 , and Klapuri, AP, Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., December 2003 . AP Klapuri, "Number Theoretical Means of Resolving a Mixture of Several Harmonic Sounds". In Proceedings European Signal Processing Conference, Rhodes, Greece, 1998 . AP Klapuri, "Sound Onset Detection by Applying Psychoacoustic Knowledge," in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, Phoenix, Arizona, 1999 . AP Klapuri, "Multipitch Estimation and Sound Separation by the Spectral Smoothness Principle," in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, Salt Lake City, Utah, 2001 . Klapuri AP and Astola JT, "Efficient Calculation of a Physiologically-Motivated Representation for Sound", in Proceedings 14th IEEE International Conference on Digital Signal Processing, Santorini, Greece, 2002 . AP Klapuri, "Multiple Fundamental Frequency Estimation based on Harmonicity and Spectral Smoothness", IEEE Trans. Speech and Audio Proc., 11 (6), pp. 804-816, 2003 . Klapuri AP, Eronen AJ and Astola JT, "Automatic Estimation of the Meter of Acoustic Musical Signals", Tempere University of Technology, Institute of Signal Processing, Report 1-2004, Tampere, Finland, 2004, ISSN: 1459-4595, ISBN: 952-15-1149-4 , various methods are described around the automatic transcription of music.

Im Rahmen der Grundlagenforschung zu dem Themengebiet Extraktion einer Hauptmelodie als einem Spezialfall der polyphonen Transkription ist ferner Baumann, U.: Ein Verfahren zur Erkennung und Trennung multipler akustischer Objekte, Diss., Lehrstuhl für Mensch-Maschine-Kommunikation, Technische Universität München, 1995 , hervorzuheben.In the context of basic research on the subject extraction of a main melody as a special case of polyphonic transcription is further Baumann, U .: A Method for the Detection and Separation of Multiple Acoustic Objects, Diss., Chair of Human-Machine Communication, Technische Universität München, 1995 to emphasize.

Die oben genannten unterschiedlichen Ansätze zur Melodieerkennung bzw. automatischen Transkription stellen meist besondere Anforderungen an das Eingangssignal. Sie lassen beispielsweise nur Klaviermusik zu oder nur eine bestimmte Anzahl von Instrumenten oder schließen perkussive Instrumente aus oder dergleichen:The above-mentioned different approaches to melody recognition or automatic transcription usually make special demands on the input signal. For example, they only allow piano music or only a certain number of instruments or exclude percussive instruments or the like:

Den bisher praktikabelsten Ansatz für aktuelle moderne und populäre Musik stellt das Vorgehen von Goto dar, wie es beispielsweise in Goto, M.: A Robust Predominant-FO Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, pp.II- 757-760, Juni 2000 , beschrieben wird. Ziel bei diesem Verfahren ist das Extrahieren einer dominanten Melodie- und Basslinie, wobei der Umweg zur Linienfindung wieder über das Auswählen unter mehreren Trajektorien stattfindet, nämlich unter Verwendung sogenannter "Agents". Das Verfahren ist damit aufwendig.The most practicable approach to current modern and popular music is the approach of Goto, as it is, for example, in Goto, M .: A Robust Predominant-FO Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, pp.II-757-760, June 2000 , is described. The aim of this method is to extract a dominant melody and bass line, with the detour to line finding again taking place by selecting among several trajectories, namely using so-called "agents". The process is so expensive.

Mit der Melodiedetektion beschäftigt sich auch Paiva R.P. u. a.: A Methodology for Detection of Melody in Polyphonic Musical Signals, 116-te AES Convention, Berlin, Mai 2004 . Auch dort wird vorgeschlagen, den Weg einer Trajektorienverfolgung in der Zeit-/Spektraldarstellung einzuschlagen. Das Dokument beschäftigt sich zudem mit der Segmentierung der einzelnen Trajektorien, bis dieselben zu einer Notenfolge nachverarbeitet werden.Also deals with melody detection Paiva RP et al: A Methodology for Detection of Melody at Polyphonic Musical Signals, 116th AES Convention, Berlin, May 2004 , There, too, it is proposed to follow the path of trajectory tracking in the time / spectral representation. The document also deals with the segmentation of the individual trajectories, until they are processed into a sequence of notes.

Wünschenswert wäre es, ein Verfahren zur Melodieextraktion bzw. automatischen Transkription zu besitzen, das robuster und für eine breitere Vielzahl von verschiedenen Audiosignalen zuverlässig funktioniert. Ein solches robustes System könnte zu einer hohen Zeit- und Kostenersparnis bei "Query by Huming"-Systemen, d.h. bei Systemen, bei denen es einem Benutzer möglich ist, Lieder durch Vorsummen in einer Datenbank zu finden, liefern, da eine automatische Transkription für die Referenzdateien der Systemdatenbank möglich wäre. Eine robust funktionierende Transkription könnte natürlich auch Einsatz als Aufnahmefrontend finden. Ferner wäre es möglich, eine automatische Transkription als Ergänzung zu einem Audio-ID-System zu verwenden, also einem System, das Audiodateien an einem in ihnen enthaltenen Fingerabdruck erkennt, da bei Nichterkennung durch das Audio-ID-System, wie z.B. auf Grund eines fehlenden Fingerabdrucks, die automatische Transkription alternativ verwendet werden könnte, um eine eingehende Audiodatei auszuwerten.It would be desirable to have a method of melody extraction or automatic transcription that is more robust and reliable for a wider variety of different audio signals. Such a robust System could provide a high time and cost savings in "query by huming" systems, ie in systems where a user is able to find songs by pre-sums in a database, as an automatic transcription for the system database reference files it is possible. Of course, a robustly functioning transcription could also find use as a recording frontend. Furthermore, it would be possible to use automatic transcription as a supplement to an audio ID system, ie a system that recognizes audio files on a fingerprint contained in them, as in the case of non-recognition by the audio ID system, such as due to a missing fingerprint, the automatic transcription could alternatively be used to evaluate an incoming audio file.

Eine stabil funktionierende automatische Transkription würde ferner eine Herstellung von Ähnlichkeitsbeziehungen im Zusammenhang mit anderen musikalischen Merkmalen, wie z.B. Tonart, Harmonie und Rhythmus, wie z.B. für eine "recomandation-engine" bzw. "Vorschlagsmaschine" liefern. In der Musikwissenschaft könnte eine stabile automatische Transkription neue Ansichten schaffen und zur Neuüberprüfung von Urteilen zu älterer Musik führen. Auch zur Wahrung des Urheberrechts durch objektiven Vergleich von Musikstücken könnte eine automatische Transkription, die in ihrer Anwendung stabil ist, verwendet werden.Stably functioning automatic transcription would also allow for the production of similarity relationships associated with other musical features, e.g. Key, harmony and rhythm, such as for a "recomandation engine" or "suggestion engine". In musicology, a stable automatic transcription could create new views and lead to a re-examination of judgments on older music. Also, to preserve copyright by objectively comparing pieces of music, automatic transcription that is stable in use could be used.

Zusammenfassend ausgedrückt ist die Anwendung der Melodieerkennung bzw. Autotranskription nicht auf die eingangs erwähnte Generierung von Klingeltönen für Mobiltelefone eingeschränkt, sondern kann ganz allgemein als Hilfestellung für Musiker und musikalisch Interessierte dienen.In summary, the application of melody recognition or auto-transcription is not limited to the generation of ringtones for mobile phones mentioned above, but can generally serve as a support for musicians and those interested in music.

Die Aufgabe der vorliegenden Erfindung besteht deshalb darin, ein stabileres bzw. für eine breitere Vielzahl von Audiosignalen korrekt arbeitendes Schema zur Melodieerkennung zu schaffen.Therefore, the object of the present invention is to provide a more stable melody recognition scheme which works correctly for a wider variety of audio signals.

Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren gemäß Anspruch 33 und Computer-Programm gemäß Anspruch 34 gelöst.This object is achieved by a device according to claim 1, a method according to claim 33 and computer program according to claim 34.

Die Erkenntnis der vorliegenden Erfindung besteht darin, dass die Melodieextraktion oder automatische Transkription deutlich stabiler und gegebenenfalls sogar unanfwendiger gestaltet werden kann, wenn die Annahme genügend Berücksichtigung findet, dass die Hauptmelodie derjenige Anteil eines Musikstückes ist, den der Mensch am lautesten und prägnantesten wahrnimmt. Dies aufgreifend wird gemäß der vorliegenden Erfindung die Zeit-über-Spektraldarstellung bzw. das Spektrogramm eines interessierenden Audiosignals unter Verwendung der Kurven gleicher Lautstärke, die die menschliche Lautstärkewahrnehmung wiederspiegeln, skaliert, um auf der Basis der sich ergebenden wahrnehmungsbezogenen Zeit-über-Spektraldarstellung die Melodie des Audiosignals zu ermitteln.The recognition of the present invention is that the melody extraction or automatic transcription can be made much more stable and possibly even unsuitable if the assumption is sufficiently taken into account that the main melody is that part of a piece of music that the person perceives loudest and most concise. Taking this into account, according to the present invention, the time-over-spectral representation or spectrogram of an audio signal of interest is scaled using the equal volume curves that reflect human loudness perception to determine the melody based on the resulting perceptual time-over-spectral representation of the audio signal.

Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird der obigen musikwissenschaftlichen Aussage, dass die Hauptmelodie derjenige Anteil eines Musikstückes ist, den der Mensch am lautesten und prägnantesten wahrnimmt, gleich in zweifacher Hinsicht Rechnung getragen. Nach diesem Ausführungsbeispiel wird nämlich bei der Ermittlung der Melodie des Audiosignals zunächst eine Melodielinie, die sich durch die Zeit-über-Spektraldarstellung erstreckt, ermittelt, und zwar dadurch, dass jedem Zeitabschnitt bzw. Frame - in eindeutiger Weise - genau eine Spektralkomponente bzw. ein Frequenzbin der Zeit-über-Spektraldarstellung zugewiesen wird, nämlich diejenige, die zu dem Schallergebnis mit der maximalen Intensität führt. Genauer ausgedrückt wird gemäß diesem Ausführungsbeispiel das Spektrogramm des Audiosignals zunächst logarithmiert, so dass die logarithmierten Spektralwerte den Schalldruckpegel anzeigen. Anschließend werden die logarithmierten Spektralwerte des logarithmierten Spektrogramms abhängig von ihrem jeweiligen Wert und der Spektralkomponente, zu der sie gehören, auf wahrnehmungsbezogene Spektralwerte abgebildet. Dabei werden Funktionen verwendet, die die Kurven gleicher Lautstärke als Schalldruck in Abhängigkeit von Spektralkomponenten bzw. in Abhängigkeit von der Frequenz darstellen und unterschiedlichen Lautstärken zugewiesen sind.According to a preferred embodiment of the present invention, the above musicological statement that the main melody is that portion of a piece of music that the person perceives most loudly and succinctly is taken into account in two ways. Namely, according to this embodiment, when determining the melody of the audio signal, first a melody line extending through the time-over-spectral representation is determined, namely by assigning to each time period or frame - uniquely - exactly one spectral component Frequency bin is assigned to the time-over-spectral representation, namely that which leads to the sound result with the maximum intensity. More specifically, according to this embodiment, the spectrogram of the audio signal is first logarithmized, so that the logarithmized spectral values indicate the sound pressure level. Subsequently, the logarithmic spectral values of the logarithmized spectrogram become dependent on their respective value and the spectral component to which they belong perceptually related spectral values. Functions are used that represent the curves of equal volume as sound pressure as a function of spectral components or as a function of the frequency and are assigned to different volumes.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

Fig. 1
ein Blockschaltbild einer Vorrichtung zur Erzeugung einer polyphonen Melodie;
Fig. 2
ein Flussdiagramm zur Veranschaulichung der Funktionsweise der Extraktionseinrichtung der Vorrichtung von Fig. 1;
Fig. 3
ein detaillierteres Flussdiagramm zur Veranschaulichung der Funktionsweise der Extraktionseinrichtung der Vorrichtung von Fig. 1 für den Fall eines polyphonen Audioeingangssignals;
Fig. 4
ein exemplarisches Beispiel für eine Zeit/Spektraldarstellung bzw. ein Spektrogramm eines Audiosignals, wie es bei der Frequenzanalyse in Fig. 3 entstehen könnte;
Fig. 5
ein logarithmiertes Spektrogramm, wie es sich nach der Logarithmierung in Fig. 3 ergibt;
Fig. 6
ein Diagramm mit den Kurven gleicher Lautstärke, wie sie der Bewertung des Spektrums in Fig. 3 zu Grunde liegen;
Fig. 7
einen Graphen eines Audiosignals, wie es vor der eigentlichen Logarithmierung in Fig. 3 verwendet wird, um einen Bezugswert für die Logarithmierung zu erhalten;
Fig. 8
ein wahrnehmungsbezogenes Spektrogramm, wie es nach der Bewertung des Spektrogramms von Fig. 5 in Fig. 3 erhalten wird;
Fig. 9
die sich aus dem wahrnehmungsbezogenen Spektrum von Fig. 8 durch die Melodielinienermittlung von Fig. 3 ergebende Melodielinie bzw. -funktion eingezeichnet in der Zeit-/Spektraldomäne;
Fig. 10
ein Flussdiagramm zur Veranschaulichung der allgemeinen Segmentierung von Fig. 3;
Fig. 11
eine schematische Darstellung eines exemplarischen Melodielinienverlaufs in der Zeit-/Spektraldomäne;
Fig. 12
eine schematische Darstellung eines Ausschnitts aus der Melodielinienverlaufsdarstellung von Fig. 11 zur Veranschaulichung der Wirkweise der Filterung in der allgemeinen Segmentierung von Fig. 10;
Fig. 13
der Melodielinienverlauf von Fig. 9 nach der Frequenzbereichseingrenzung in der allgemeinen Segmentierung von Fig. 10;
Fig. 14
eine schematische Zeichnung, in der ein Ausschnitt aus einer Melodielinie gezeigt ist, zur Veranschaulichung der Wirkweise des vorletzten Schritts in der allgemeinen Segmentierung von Fig. 10;
Fig. 15
eine schematische Zeichnung eines Ausschnitts aus einer Melodienlinie zur Veranschaulichung der Wirkweise der Segmenteinteilung in der allgemeinen Segmentierung von Fig. 10;
Fig. 16
ein Flussdiagramm zur Veranschaulichung der Lückenschließung in Fig. 3;
Fig. 17
eine schematische Zeichnung zur Veranschaulichung der Vorgehensweise beim Setzen des variablen Halbtonvektors in Fig. 3;
Fig. 18
eine schematische Zeichnung zur Veranschaulichung der Lückenschließung nach Fig. 16;
Fig. 19
ein Flussdiagramm zur Veranschaulichung des Harmoniemappings bzw. der Harmonieabbildung in Fig. 3;
Fig. 20
eine schematische Darstellung eines Ausschnitts aus dem Melodielinienverlauf zur Veranschaulichung der Wirkweise des Harmoniemappings nach Fig. 19;
Fig. 21
ein Flussdiagramm zur Veranschaulichung der Vibratorerkennung und des Vibratorausgleichs in Fig. 3;
Fig. 22
eine schematische Darstellung eines Segmentverlaufs zur Veranschaulichung der Vorgehensweise nach Fig. 21;
Fig. 23
eine schematische Darstellung eines Ausschnitts aus dem Melodielinienverlauf zur Veranschaulichung der Vorgehensweise bei der statistischen Korrektur in Fig. 3;
Fig. 24
ein Flussdiagramm zur Veranschaulichung der Vorgehensweise bei der Onset-Erkennung und - Korrektur in Fig. 3;
Fig. 25
einen Graphen, der eine exemplarische Filterübertragungsfunktion zur Verwendung bei der Onset-Erkennung nach Fig. 24 zeigt;
Fig. 26
einen schematischen Verlauf eines zweiwegegleichgerichteten gefilterten Audiosignals sowie der Hüllkurve desselben, wie sie zur Onset-Erkennung und -Korrektur in Fig. 24 verwendet werden;
Fig. 27
ein Flussdiagramm zur Veranschaulichung der Funktionsweise der Extraktionseinrichtung aus Fig. 1 für den Fall monophoner Audioeingangssignale;
Fig. 28
ein Flussdiagramm zur Veranschaulichung der Tontrennung in Fig. 27;
Fig. 29
eine schematische Darstellung eines Ausschnitts aus dem Amplitudenverlauf des Spektrogramms eines Audiosignals entlang eines Segments zur Veranschaulichung der Funktionsweise der Tontrennung nach Fig. 28;
Fig. 30a
und b schematische Darstellungen eines Ausschnitts aus dem Amplitudenverlauf des Spektrogramms eines Audiosignals entlang eines Segments zur Veranschaulichung der Funktionsweise der Tontrennung nach Fig. 28;
Fig. 31
ein Flussdiagramm zur Veranschaulichung der Tonglättung in Fig. 27;
Fig. 32
eine schematische Darstellung eines Segments aus dem Melodielinienverlauf zur Veranschaulichung der Vorgehensweise der Tonglättung nach Fig. 31;
Fig. 33
ein Flussdiagramm zur Veranschaulichung der Offset-Erkennung und -Korrektur in Fig. 27;
Fig. 34
eine schematische Darstellung eines Ausschnitts aus einem zweiwegegleichgerichteten gefilterten Audiosignals und dessen Interpolation zur Veranschaulichung der Vorgehensweise nach Fig. 33; und
Fig. 35
ein Ausschnitt aus einem zweiwegegleichgerichteten gefilterten Audiosignals und dessen Interpolation für den Fall einer potentiellen Segmentverlängerung.
Preferred embodiments of the present invention will be explained in more detail below with reference to the accompanying drawings. Show it:
Fig. 1
a block diagram of an apparatus for generating a polyphonic melody;
Fig. 2
a flowchart illustrating the operation of the extraction device of the device of Fig. 1 ;
Fig. 3
a more detailed flow chart for illustrating the operation of the extraction device of the device of Fig. 1 in the case of a polyphonic audio input signal;
Fig. 4
an exemplary example of a time / spectral representation or a spectrogram of an audio signal, as in the frequency analysis in Fig. 3 could arise;
Fig. 5
a logarithmic spectrogram, as it appears after logarithmation in Fig. 3 results;
Fig. 6
a graph with the curves of equal volume, as the evaluation of the spectrum in Fig. 3 underlie;
Fig. 7
a graph of an audio signal, as it was before the actual logarithmization in Fig. 3 is used to obtain a reference value for the logarithm;
Fig. 8
a perceptual spectrogram, as shown by the evaluation of the spectrogram of Fig. 5 in Fig. 3 is obtained;
Fig. 9
arising from the perceptual spectrum of Fig. 8 through the melody line detection of Fig. 3 resulting melody line or function plotted in the time / spectral domain;
Fig. 10
a flowchart illustrating the general segmentation of Fig. 3 ;
Fig. 11
a schematic representation of an exemplary melody line curve in the time / spectral domain;
Fig. 12
a schematic representation of a section of the melody line progression of Fig. 11 to illustrate the mode of action of filtering in the general segmentation of Fig. 10 ;
Fig. 13
the melody line course of Fig. 9 after frequency domain confinement in the general segmentation of Fig. 10 ;
Fig. 14
a schematic drawing, in which a section of a melody line is shown, to illustrate the operation of the penultimate step in the general segmentation of Fig. 10 ;
Fig. 15
a schematic drawing of a section of a melody line to illustrate the mode of operation of the segmentation in the general segmentation of Fig. 10 ;
Fig. 16
a flow chart illustrating the gap closure in Fig. 3 ;
Fig. 17
a schematic drawing illustrating the procedure when setting the variable halftone vector in Fig. 3 ;
Fig. 18
a schematic drawing illustrating the gap closure after Fig. 16 ;
Fig. 19
a flowchart for illustrating the Harmoniemappings or the harmony mapping in Fig. 3 ;
Fig. 20
a schematic representation of a section of the melody line course to illustrate the mode of action of Harmoniemappings after Fig. 19 ;
Fig. 21
a flowchart illustrating the vibrator detection and the vibrator compensation in Fig. 3 ;
Fig. 22
a schematic representation of a segment profile to illustrate the procedure according to Fig. 21 ;
Fig. 23
a schematic representation of a section of the melody line course to illustrate the procedure in the statistical correction in Fig. 3 ;
Fig. 24
a flow chart illustrating the procedure for onset detection and correction in Fig. 3 ;
Fig. 25
a graph depicting an exemplary filter transfer function for use in onset detection Fig. 24 shows;
Fig. 26
a schematic course of a two-way rectified filtered audio signal and the envelope thereof, as they are for onset detection and correction in Fig. 24 be used;
Fig. 27
a flowchart for illustrating the operation of the extraction device Fig. 1 in the case of monophonic audio input signals;
Fig. 28
a flow chart illustrating the sound separation in Fig. 27 ;
Fig. 29
a schematic representation of a portion of the amplitude profile of the spectrogram of an audio signal along a segment to illustrate the operation of the sound separation according to Fig. 28 ;
Fig. 30a
and b are schematic representations of a portion of the amplitude profile of the spectrogram of an audio signal along a segment to illustrate the operation of the sound separation according to FIG Fig. 28 ;
Fig. 31
a flow chart illustrating the sound smoothing in Fig. 27 ;
Fig. 32
a schematic representation of a segment from the melody line progression to illustrate the procedure of tone smoothing after Fig. 31 ;
Fig. 33
a flow chart illustrating the offset detection and correction in Fig. 27 ;
Fig. 34
a schematic representation of a section of a two-way rectified filtered audio signal and its interpolation to Illustrating the procedure according to Fig. 33 ; and
Fig. 35
a section of a two-way rectified filtered audio signal and its interpolation for the case of a potential segment extension.

Bezug nehmend auf die nachfolgende Figurenbeschreibung wird darauf hingewiesen, dass dort die vorliegende Erfindung lediglich exemplarisch anhand eines speziellen Anwendungsfalles beschrieben wird, nämlich der Erzeugung einer polyphonen Klingelmelodie aus einem Audiosignal. Explizit wird an dieser Stelle jedoch darauf hingewiesen, dass die vorliegende Erfindung natürlich nicht auf diesen Anwendungsfall beschränkt ist, sondern dass eine erfindungsgemäße Melodieextraktion bzw. automatische Transkription auch anderswo Einsatz finden kann, wie z.B. zur Erleichterung der Suche in einer Datenbank, der bloßen Erkennung von Musikstücken, der Ermöglichung der Wahrung des Urheberrechts durch objektiven Vergleich von Musikstücken oder dergleichen, oder eben zur bloßen Transkription von Audiosignalen, um das Transkriptionsergebnis einem Musiker gegenüber anzeigen zu können.With reference to the following description of the figures, it is pointed out that the present invention is described there merely by way of example with reference to a specific application, namely the generation of a polyphonic ringing melody from an audio signal. However, it should be pointed out explicitly that the present invention is of course not limited to this application, but that a melody extraction or automatic transcription according to the invention can also be used elsewhere, such as e.g. for facilitating searching in a database, merely recognizing pieces of music, enabling copyright protection by objectively comparing pieces of music or the like, or just transcribing audio signals to display the transcription result to a musician.

Fig. 1 zeigt ein Ausführungsbeispiel für eine Vorrichtung zur Erzeugung einer polyphonen Melodie aus einem Audiosignal, das eine gewünschte Melodie enthält. Anders ausgedrückt zeigt Fig. 1 eine Vorrichtung zur rhythmischen und harmonischen Aufbereitung und Neuinstrumentierung eines eine Melodie darstellenden Audiosignals und zum ergänzen der entstehenden Melodie um eine geeignete Begleitung. Fig. 1 shows an embodiment of a device for generating a polyphonic melody from an audio signal containing a desired tune. In other words, shows Fig. 1 a device for the rhythmic and harmonic conditioning and re-instrumentation of a melody representing audio signal and to complement the resulting melody to a suitable accompaniment.

Die Vorrichtung von Fig. 1, die allgemein mit 300 angezeigt ist, umfasst einen Eingang 302 zum Empfang des Audiosignals. In dem vorliegenden Fall wird exemplarisch davon ausgegangen, dass die Vorrichtung 300 bzw. der Eingang 302 das Audiosignal in einer Zeitabtastungsdarstellung, wie z.B. als WAV-Datei, erwartet. Das Audiosignal könnte am Eingang 302 allerdings auch in anderer Form vorliegen, wie z.B. in einer unkomprimierten oder komprimierten Form oder in einer Frequenzbanddarstellung. Die Vorrichtung 300 umfasst ferner einen Ausgang 304 zur Ausgabe einer polyphonen Melodie in jedwedem Format, wobei in dem vorliegenden Fall exemplarisch von einer Ausgabe der polyphonen Melodie im MIDI-Format ausgegangen wird (MIDI = musical instrument digital interface). Zwischen den Eingang 302 und den Ausgang 304 sind eine Extraktionseinrichtung 304, eine Rhythmuseinrichtung 306, eine Tonarteinrichtung 308, eine Harmonieeinrichtung 310 und eine Syntheseeinrichtung 312 in dieser Reihenfolge in Reihe geschaltet. Ferner umfasst die Einrichtung 300 einen Melodiespeicher 314. Ein Ausgang der Tonartarteinrichtung 308 ist nicht nur mit einem Eingang der nachfolgenden Harmonieeinrichtung 310 verbunden, sondern ferner mit einem Eingang des Melodiespeichers 314. Dementsprechend ist der Eingang der Harmonieeinrichtung 310 nicht nur mit dem Ausgang der in Verarbeitungsrichtung vorher angeordneten Tonarteinrichtung 308 sondern auch mit einem Ausgang des Melodiespeichers 314. Ein weiterer Eingang des Melodiespeichers 314 ist dazu vorgesehen, eine Bereitstellungs-Identifikationsnummer ID zu empfangen. Ein weiterer Eingang der Syntheseeinrichtung 312 ist dazu ausgelegt, eine Stilinformation zu empfangen. Die Bedeutung der Stilinformation und der Bereitstellungs-Identifikationsnummer geht aus der folgenden Funktionsbeschreibung hervor. Extraktionseinrichtung 304 und Rhythmuseinrichtung 306 bilden zusammen eine Rhythmus-Aufbereitungseinrichtung 316.The device of Fig. 1 , indicated generally at 300, includes an input 302 for receiving the audio signal. In the present case, it is assumed by way of example that the device 300 or the input 302, respectively, the audio signal in a time sample representation, such as a WAV file, expected. However, the audio signal could also be present in other form at input 302, such as in uncompressed or compressed form or in a frequency band representation. The device 300 further comprises an output 304 for outputting a polyphonic melody in any format, in the present case starting from an output of the polyphonic melody in MIDI format (MIDI = musical instrument digital interface). Between the input 302 and the output 304, an extraction device 304, a rhythm device 306, a key device 308, a harmony device 310 and a synthesis device 312 are connected in series in this order. Furthermore, the device 300 comprises a melody memory 314. An output of the key device 308 is connected not only to an input of the subsequent harmony device 310, but also to an input of the melody memory 314. Accordingly, the input of the harmony device 310 is not limited to the output of the processing direction but also with an output of the melody memory 314. Another input of the melody memory 314 is provided to receive a provision identification number ID. Another input of the synthesizer 312 is configured to receive style information. The meaning of the style information and the provision identification number is apparent from the following functional description. Extractor 304 and rhythm means 306 together form a rhythm editor 316.

Nachdem im Vorhergehenden der Aufbau der Vorrichtung 300 von Fig. 1 beschrieben worden ist, wird im folgenden ihre Funktionsweise beschrieben.Once above, the structure of the device 300 of Fig. 1 has been described, their operation will be described below.

Die Extraktionseinrichtung 304 ist dazu ausgebildet, das am Eingang 302 empfangene Audiosignal einer Notenextraktion bzw. -erkennung zu unterziehen, um aus dem Audiosignal eine Notenfolge zu erhalten. Die Notenfolge 318, die die Extraktionseinrichtung 304 an die Rhythmuseinrichtung 306 weiterleitet, liegt bei dem vorliegenden Ausführungsbeispiel in einer Form vor, bei der für jede Note n ein Notenanfangszeitpunkt tn, der den Ton- bzw. Notenanfang beispielsweise in Sekunden angibt, eine Ton- bzw. Notendauer τn, die die Notendauer der Note beispielsweise in Sekunden angibt, eine quantisierte Noten- bzw. Tonhöhe, d.h. C, Fis oder dergleichen, beispielsweise als MIDI-Note, eine Lautstärke Ln der Note und eine exakte Frequenz fn des Tons bzw. der Note in der Notenfolge enthalten ist, wobei n einen Index für die jeweilige Note in der Notenfolge darstellen soll, der mit der Reihenfolge der aufeinanderfolgenden Noten zunimmt bzw. die Position der jeweiligen Note in der Notenfolge angibt.The extraction device 304 is designed to subject the audio signal received at the input 302 to note extraction or recognition in order to extract a signal from the audio signal To get a score. The note sequence 318, which forwards the extraction device 304 to the rhythm device 306, in the present exemplary embodiment is in a form in which, for each note n, a note start time t n indicating the beginning of the note, for example, in seconds, a tone or note duration τ n , which indicates the note duration of the note, for example, in seconds, a quantized note or pitch, ie C, Fis or the like, for example as a MIDI note, a volume Ln of the note and an exact frequency f n of the tone or the note is contained in the note sequence, where n is to represent an index for the respective note in the note sequence, which increases with the order of the successive notes or indicates the position of the respective note in the note sequence.

Die Melodieerkennung bzw. Autotranskription, die durch die Einrichtung 304 zur Generierung der Notenfolge 318 durchgeführt wird, wird später Bezug nehmend auf die Fig. 2 - 35 näher erläutert.The auto-transcription performed by the note sequence generation unit 318 will be described later with reference to FIG Fig. 2 - 35 explained in more detail.

Die Notenfolge 318 stellt immer noch die Melodie dar, wie sie auch durch das Audiosignal 302 dargestellt wurde. Die Notenfolge 318 wird nun der Rhythmuseinrichtung 306 zugeführt. Die Rhythmuseinrichtung 306 ist ausgebildet, um die zugeführte Notenfolge zu analysieren, um eine Taktlänge, einen Auftakt, d.h. ein Taktraster, für die Notenfolge zu bestimmen und dabei die einzelnen Noten der Notenfolge geeigneten Takt-quantifizierten Längen, wie z.B. ganzen, halben, Viertel-, Achtelnoten usw., für den bestimmten Takt zuzuordnen und die Notenanfänge der Noten an das Taktraster anzupassen. Die Notenfolge, die die Rhythmuseinrichtung 306 ausgibt, stellt somit eine rhythmisch aufbereitete Notenfolge 324 dar.The note sequence 318 still represents the melody as it was also represented by the audio signal 302. The note sequence 318 is now fed to the rhythm device 306. The rhythm means 306 is arranged to analyze the supplied note sequence to one bar length, one prelude, i. a clock raster to determine the note sequence and thereby the individual notes of the note sequence of appropriate clock-quantified lengths, such as. whole, half, quarter, eighth notes, etc., for the particular bar, and to match the notes' notes to the bar pattern. The note sequence that the rhythm device 306 outputs, thus represents a rhythmically processed note sequence 324.

An der rhythmisch aufbereiteten Notenfolge 324 führt die Tonarteinrichtung 308 eine Tonartbestimmung und ggf. eine Tonartkorrektur durch. Genauer ausgedrückt bestimmt die Einrichtung 308 basierend auf der Notenfolge 324 eine Haupttonart bzw. Tonart der durch die Notenfolge 324 bzw. das Audiosignal 302 repräsentierten Benutzermelodie inklusive des Tongeschlechtes, d.h. Dur oder Moll, des beispielsweise gesungenen Stückes. Danach erkennt dieselbe an dieser Stelle ferner tonleiterfremde Töne bzw. Noten in der Notenfolge 114 und korrigiert dieselben, um zu einem harmonisch klingenden Endergebnis zu kommen, nämlich einer rhythmisch aufbereiteten und tonart-korrigierten Notenfolge 700, die an die Harmonieeinrichtung 310 weitergeleitet wird und eine Tonartkorrigierte Form der von dem Benutzer gewünschten Melodie darstellt.At the rhythmically processed note sequence 324, the key device 308 performs a key determination and possibly a key correction. More specifically, that determines Means 308 based on the note sequence 324 a major key of the user melody represented by the note sequence 324 and the audio signal 302 including the tone gender, ie major or minor, of the example sung piece. Thereafter, it also recognizes, at this point, non-scale notes in the note sequence 114 and corrects them to arrive at a harmonic-sounding final result, a rhythmically edited and pitch-corrected note sequence 700, which is passed to the harmony device 310 and corrects a key Represents the form of the user's desired melody.

Die Funktionsweise der Einrichtung 324 hinsichtlich der Tonartbestimmung kann auf verschiedene Weisen ausgeführt sein. Die Tonartbestimmung kann beispielsweise auf die in dem Artikel Krumhansl, Carol L.: Cognitive Foundations of Musical Pitch, Oxford University Press, 1990 , oder die in dem Artikel Temperley, David: The cognition of basical musical structures. The MIT Press, 2001 , beschriebene Weise stattfinden.The functioning of the device 324 with regard to the determination of the key can be carried out in various ways. The key determination may, for example, those in the article Krumhansl, Carol L .: Cognitive Foundations of Musical Pitch, Oxford University Press, 1990 , or in the article Temperley, David: The cognition of basic musical structures. The MIT Press, 2001 , described manner take place.

Die Harmonieeinrichtung 310 ist dazu ausgebildet, die Notenfolge 700 von der Einrichtung 308 zu empfangen und für die Melodie, die durch diese Notenfolge 700 repräsentiert wird, eine passende Begleitung zu finden. Dazu agiert bzw. wirkt die Einrichtung 310 taktweise. Insbesondere wirkt die Einrichtung 310 an jedem Takt, wie er durch das durch die Rhythmuseinrichtung 306 festgelegte Taktraster bestimmt ist, derart, dass sie eine Statistik über die in dem jeweiligen Takt vorkommenden Töne bzw. Tonhöhen der Noten Tn erstellt. Die Statistik der vorkommenden Töne wird dann mit den möglichen Akkorden der Tonleiter der Haupttonart verglichen, wie sie von der Tonarteinrichtung 308 bestimmt worden ist. Die Einrichtung 310 wählt unter den möglichen Akkorden dann insbesondere denjenigen Akkord aus, dessen Töne am besten mit den Tönen übereinstimmen, die sich in dem jeweiligen Takt befinden, wie es durch Statistik angezeigt wird. Auf diese Weise bestimmt die Einrichtung 310 für jeden Takt denjenigen Akkord, der am besten zu den beispielsweise eingesungenen Tönen bzw. Noten in dem jeweiligen Takt passt. Mit anderen Worten ausgedrückt, ordnet die Einrichtung 310 den durch die Einrichtung 306 gefundenen Takten Akkordstufen der Grundtonart in Abhängigkeit des Tongeschlechtes zu, so dass sich eine Akkordprogression über den Verlauf der Melodie bildet. Am Ausgang der Einrichtung 310 gibt dieselbe folglich neben der rhythmisch aufbereiteten und Tonart-korrigierten Notenfolge inklusive NL ferner für jeden Takt eine Akkordstufenangabe an die Syntheseeinrichtung 312 aus.The harmony device 310 is configured to receive the note sequence 700 from the device 308 and to find a suitable accompaniment for the tune represented by this note sequence 700. For this purpose, device 310 acts or acts in a cyclic manner. Specifically, the means 310 operates on each clock as determined by the clock raster set by the rhythm means 306, such that it provides statistics about the tones of the notes T n occurring in the respective clock. The statistic of the occurring tones is then compared with the possible chords of the major scale scale as determined by the key device 308. Means 310 then selects, among the possible chords, in particular, that chord whose tones best match the notes that are in the respective measure, as indicated by statistics. To this Thus, for each clock, means 310 determines the chord that best fits the notes or notes, for example, in the respective measure. In other words, the means 310 allocates chord levels of the root key to the pitches found by the means 306 in dependence on the pitch, so that a chord progression forms over the course of the melody. Consequently, at the output of the device 310, in addition to the rhythmically processed and key-corrected note sequence including NL, it also outputs a chord step specification to the synthesis device 312 for each measure.

Die Syntheseeinrichtung 312 benutzt zur Durchführung der Synthese, d.h. zur künstlichen Erzeugung der sich schließlich ergebenden polyphonen Melodie, eine Stilinformation, die von einem Benutzer eingegeben werden kann, wie es durch den Fall 702 angezeigt ist. Beispielsweise kann ein Benutzer durch die Stilinformation aus vier verschiedenen Stilen bzw. Musikrichtungen auswählen, in denen die polyphone Melodie generiert werden kann, nämlich Pop, Techno, Latin oder Reggae. Zu jedem dieser Stile ist entweder eine oder sind mehrere Begleitpatterns in der Syntheseeinrichtung 312 hinterlegt. Zur Erzeugung der Begleitung verwendet nun die Syntheseeinrichtung 312 das bzw. die durch die Stilinformation 702 angezeigte(n) Begleitmuster. Zur Erzeugung der Begleitung hängt die Syntheseeinrichtung 312 die Begleitmuster pro Takt aneinander. Handelt es sich bei dem durch die Einrichtung 310 bestimmten Akkord zu einem Takt um die Akkordversion, in der ein Begleitmuster bereits vorliegt, so wählt die Syntheseeinrichtung 312 für diesen Takt für die Begleitung einfach das entsprechende Begleitmuster zu dem aktuellen Stil aus. Ist jedoch für einen bestimmten Takt, der durch die Einrichtung 310 bestimmte Akkord nicht derjenige, in welchem ein Begleitmuster in der Einrichtung 312 hinterlegt ist, so verschiebt die Syntheseeinrichtung 312 die Noten des Begleitpatterns um die entsprechende Halbtonzahl bzw. ändert die Terz und ändert die Sext und Quinte um einen Halbton im Falle eines anderen Tongeschlechtes, nämlich durch Verschiebung um einen Halbton nach oben im Fall von einem Dur-Akkord umgekehrt im Fall eines Moll-Akkords.Synthesizer 312 uses style information that can be entered by a user as indicated by case 702 to perform the synthesis, ie, artificially generate the eventually resulting polyphonic melody. For example, the stylist information allows a user to select from four different styles in which the polyphonic melody can be generated, namely Pop, Techno, Latin or Reggae. For each of these styles, either one or more companion patterns are stored in the synthesis device 312. To generate the accompaniment, the synthesizer 312 now uses the accompaniment pattern (s) indicated by the style information 702. To produce the accompaniment, the synthesis device 312 hangs the accompaniment patterns per cycle together. If the chord determined by the device 310 is a clock around the chord version in which an accompaniment pattern already exists, then the synthesizer 312 simply selects the corresponding accompaniment pattern for the current style for that accompaniment clock. However, if, for a particular clock, the chord determined by the means 310 is not the one in which an accompaniment pattern is stored in the means 312, the synthesizer 312 shifts the notes of the accompaniment pattern by the corresponding semitone, respectively, and changes the sixth and fifth by a semitone in the case of another Sound-like, namely by shifting by a semitone up in the case of a major chord reversed in the case of a minor chord.

Ferner instrumentiert die Syntheseeinrichtung 312 die durch die Notenfolge 700, die von der Harmonieeinrichtung 310 an die Syntheseeinrichtung 312 weitergeleitet wird, repräsentierte Melodie, um eine Hauptmelodie zu erhalten und kombiniert anschließend Begleitung und Hauptmelodie zu einer polyphonen Melodie, die sie vorliegend exemplarisch in Form einer MIDI-Datei am Ausgang 304 ausgibt.Further, the synthesizer 312 orchestrates the melody represented by the note string 700 forwarded from the harmony 310 to the synthesizer 312 to obtain a main melody, and then combines accompaniment and main melody into a polyphonic melody, exemplified herein in the form of MIDI File at output 304 outputs.

Die Tonarteinrichtung 308 ist ferner dazu ausgebildet, die Notenfolge 700 im Melodiespeicher 314 unter einer Bereitstellungsidentifikationsnummer zu speichern. Ist der Benutzer mit dem Ergebnis der polyphonen Melodie am Ausgang 304 unzufrieden, kann er die Bereitstellungsidentifikationsnummer zusammen mit einer neuen Stilinformation neu in die Vorrichtung von Fig. 1 eingeben, woraufhin der Melodiespeicher 314 die unter der Bereitstellungsidentifikationsnummer gespeicherte Folge 700 an die Harmonieeinrichtung 310 weiterleitet, die daraufhin - wie im Vorhergehenden beschrieben - die Akkorde bestimmt, woraufhin die Syntheseeinrichtung 312 unter Verwendung der neuen Stilinformation abhängig von den Akkorden eine neue Begleitung und abhängig von der Notenfolge 700 eine neue Hauptmelodie erzeugt und zu einer neuen polyphonen Melodie am Ausgang 304 zusammenfügt.The key device 308 is further configured to store the note string 700 in the melody memory 314 under a provision identification number. If the user is dissatisfied with the result of the polyphonic melody at the output 304, he may re-enter the provision identification number together with a new style information into the apparatus of FIG Fig. 1 whereupon the melody memory 314 forwards the sequence 700 stored under the providing identification number to the harmony device 310, which then determines the chords as described above, whereupon the synthesizer 312 uses the new style information depending on the chords a new accompaniment and depending on the note sequence 700 generates a new main melody and joins together to form a new polyphonic melody at the output 304.

Im folgenden wird nun anhand der Fig. 2 - 35 die Funktionsweise der Extraktionseinrichtung 304 beschrieben. Dabei wird zunächst Bezug nehmend auf die Fig. 2 - 26 die Vorgehensweise bei der Melodieerkennung für den Fall polyphoner Audiosignale 302 am Eingang der Einrichtung 304 beschrieben.The following will now be based on the Fig. 2 - 35 the operation of the extraction device 304 described. It is first referring to the Fig. 2 - 26 the procedure for melody recognition in the case of polyphonic audio signals 302 at the input of device 304 is described.

Fig. 2 zeigt zunächst die grobe Vorgehensweise bei der Melodieextraktion bzw. Autotranskription. Ausgangspunkt ist das Einlesen bzw. die Eingabe der Audiodatei in einem Schritt 750, die, wie es im vorhergehenden beschrieben wurde, als WAV-Datei vorliegen kann. Daraufhin führt die Einrichtung 304 in einem Schritt 752 eine Frequenzanalyse an der Audiodatei durch, um hierdurch eine Zeit-/Frequenzdarstellung bzw. ein Spektrogramm des in der Datei enthaltenen Audiosignals bereitzustellen. Insbesondere umfasst der Schritt 752 eine Zerlegung des Audiosignals in Frequenzbänder. Dabei wird das Audiosignal im Rahmen einer Fensterung in vorzugsweise sich zeitlich überlappende Zeitabschnitte unterteilt, die dann jeweils spektral zerlegt werden, um für jeden Zeitabschnitt bzw. jedes Frame einen Spektralwert für jeden aus einem Satz von Spektralkomponenten zu erhalten. Der Satz von Spektralkomponenten hängt von der Wahl der der Frequenzanalyse 752 zu Grunde liegenden Transformation ab, wobei ein spezielles Ausführungsbeispiel hierfür im folgenden Bezug nehmend auf Fig. 4 erläutert wird. Fig. 2 shows first the rough procedure in the melody extraction or autotranscription. Starting point is the reading or the input of the audio file in a step 750, which, as described above, may be present as a WAV file. The device 304 then performs a frequency analysis on the audio file in a step 752 to thereby provide a time / frequency representation or spectrogram of the audio signal contained in the file. In particular, step 752 includes decomposing the audio signal into frequency bands. In the course of a windowing, the audio signal is subdivided into preferably time-overlapping time segments which are then spectrally decomposed in each case in order to obtain a spectral value for each of a set of spectral components for each time interval or each frame. The set of spectral components depends on the choice of the transformation underlying the frequency analysis 752, a specific embodiment of which will be described below with reference to FIG Fig. 4 is explained.

Nach dem Schritt 752 ermittelt die Einrichtung 304 ein gewichtetes Amplitudenspektrum bzw. ein wahrnehmungsbezogenes Spektrogramm in einem Schritt 754. Die genaue Vorgehensweise zur Ermittlung des wahrnehmungsbezogenen Spektrogramms wird im folgenden Bezug nehmend die Fig. 3 - 8 näher erläutert. Das Ergebnis des Schrittes 754 ist eine Umskalierung des aus der Frequenzanalyse 752 erhaltenen Spektrogramms unter Verwendung der Kurven gleicher Lautstärke, die das menschliche Wahrnehmungsempfinden widerspiegeln, um das Spektrogramm an das menschliche Wahrnehmungsempfinden anzupassen.After step 752, means 304 determines a weighted amplitude spectrum or a perceptual spectrogram, respectively, in step 754. The detailed procedure for determining the perceptual spectrogram will be described in the following Fig. 3 - 8 explained in more detail. The result of step 754 is to rescale the spectrogram obtained from the frequency analysis 752 using the equal volume curves that reflect the human perceptual sensation to fit the spectrogram to the human perceptual perception.

Die sich an den Schritt 754 anschließende Verarbeitung 756 verwendet unter anderem das aus Schritt 754 erhaltene wahrnehmungsbezogene Spektrogramm, um schließlich die Melodie des Ausgangssignals in Form einer in Notensegmente gegliederten Melodielinie zu erhalten, d.h. in einer Form, bei der Gruppen von aufeinanderfolgenden Frames untereinander jeweils die gleiche Tonhöhe zugewiesen ist, wobei diese Gruppen zeitlich über ein oder mehrere Frames hinweg voneinander beabstandet sind, sich also nicht überlappen und somit Notensegmenten einer monophonen Melodie entsprechen.The processing 756 subsequent to step 754 uses, among other things, the perceptual spectrogram obtained from step 754 to finally obtain the melody of the output signal in the form of a musical segmented melody line, ie in a form in which groups of consecutive frames interleave each other same pitch, these groups being temporally spaced over one or more frames spaced from each other, so do not overlap and thus correspond to note segments of a monophonic melody.

In Fig. 2 ist die Verarbeitung 756 in drei Teilschritte 758, 760 und 762 zergliedert. In dem ersten Teilschritt wird das wahrnehmungsbezogene Spektrogramm herangezogen, um aus demselben eine Zeit-/Grundfrequenzdarstellung zu erhalten, und diese Zeit-/Grundfrequenzdarstellung wiederum dazu zu verwenden, eine Melodielinie derart zu ermitteln, dass jedem Frame auf eindeutige Weise genau eine Spektralkomponente bzw. ein Frequenzbin zugeordnet wird. Die Zeit-/Grundfrequenzdarstellung berücksichtigt die Aufteilung von Klängen in Partialtöne dadurch, dass zunächst das wahrnehmungsbezogene Spektrogramm aus Schritt 754 delogarithmiert wird, um für jedes Frame und für jedes Frequenzbin eine Aufsummierung über die delogarithmierten wahrnehmungsbezogenen Spektralwerte an diesem Frequenzbin und an den Frequenzbins, die Obertöne zu dem jeweiligen Frequenzbin darstellen, durchzuführen. Das Ergebnis ist ein Klangspektrum pro Frame. Aus diesem Klangspektrum wird die Ermittlung der Melodielinie durchgeführt, indem für jedes Frame derjenige Grundton bzw. diejenige Frequenz bzw. dasjenige Frequenzbin ausgewählt wird, bei dem das Klangspektrum sein Maximum aufweist. Das Ergebnis von Schritt 758 ist damit quasi eine Melodielinienfunktion, die jedem Frame eindeutig genau ein Frequenzbin zuweist. Diese Melodielinienfunktion definiert wiederum einen Melodielinienverlauf in der Zeit-/Frequenzdomäne bzw. einer zweidimensionalen Melodiematrix, die durch die möglichen Spekralkomponenten bzw. Bins auf der einen Seite und die möglichen Frames auf der anderen Seite aufgespannt wird.In Fig. 2 For example, processing 756 is decomposed into three substeps 758, 760 and 762. In the first sub-step, the perceptual spectrogram is used to obtain a time / fundamental frequency representation from the same, and in turn to use this time / fundamental frequency representation to determine a melody line such that each frame in a unique manner has exactly one spectral component Frequency bin is assigned. The time / fundamental representation accounts for the division of sounds into partial tones by first delogarithmizing the perceptual spectrogram from step 754 to summate for each frame and for each frequency bin the delogarithmized perceptual spectral values at that frequency bin and the overtones to the respective frequency bin. The result is a sound spectrum per frame. From this sound spectrum, the determination of the melody line is carried out by selecting for each frame the fundamental tone or the frequency or that frequency bin at which the sound spectrum has its maximum. The result of step 758 is thus, so to speak, a melody line function which uniquely assigns exactly one frequency bin to each frame. This melody line function in turn defines a melody line progression in the time / frequency domain or a two-dimensional melody matrix spanned by the possible speech components or bins on one side and the possible frames on the other side.

Die nachfolgenden Teilschritte 760 und 762 sind dazu vorgesehen, um die durchgehende Melodielinie zu segmentieren, um somit einzelne Noten zu ergeben. In Fig. 2 ist die Segmentierung in zwei Teilschritte 760 und 762 aufgegliedert, je nachdem ob die Segmentierung in Eingangsfrequenzauflösung stattfindet, d.h. in Frequenzbinauflösung, oder ob die Segmentierung in Halbtonauflösung stattfindet, d.h. nach Quantisierung der Frequenzen auf Halbtonfrequenzen.The following substeps 760 and 762 are provided to segment the continuous melody line, thus giving single notes. In Fig. 2 the segmentation is divided into two sub-steps 760 and 762, depending on whether the segmentation takes place in input frequency resolution, ie in Frequenzbinauflösung, or whether the Segmentation takes place in halftone resolution, ie after quantization of the frequencies to semitone frequencies.

Das Ergebnis der Verarbeitung 756 wird in Schritt 764 verarbeitet, um aus den Melodieliniensegmenten eine Folge von Noten zu erzeugen, wobei jeder Note ein Notenanfangszeitpunkt, eine Notendauer, eine quantisierte Tonhöhe, eine exakte Tonhöhe usw. zugewiesen ist.The result of processing 756 is processed in step 764 to generate a sequence of notes from the melody line segments, each note being assigned a note start time, a note duration, a quantized pitch, an exact pitch, and so on.

Nachdem nun im vorhergehenden Bezug nehmend auf Fig. 2 die Funktionsweise der Extraktionseinrichtung 304 von Fig. 1 eher allgemein beschrieben worden ist, wird im folgenden Bezug nehmend auf Fig. 3 die Funktionsweise derselben für den Fall detaillierter beschrieben, dass die durch die Audiodatei am Eingang 302 repräsentierte Musik polyphonen Ursprungs ist. Die Unterscheidung zwischen polyphonen und monophonen Audiosignalen rührt aus der Beobachtung her, dass monophone Audiosignale häufig von musikalisch weniger geübten Personen stammen und deshalb musikalische Unzulänglichkeiten aufweisen, die eine etwas andere Vorgehensweise im Hinblick auf die Segmentierung erfordern.Having now made reference to above Fig. 2 the operation of the extraction device 304 of Fig. 1 is more generally described, reference is made in the following Fig. 3 its operation in more detail in the case where the music represented by the audio file at input 302 is of polyphonic origin. The distinction between polyphonic and monophonic audio signals stems from the observation that monophonic audio signals often originate from less well-trained individuals and therefore have musical inadequacies that require a slightly different approach to segmentation.

In den ersten beiden Schritten 750 und 752 stimmt Fig. 3 mit Fig. 2 überein, d.h. es wird zunächst ein Audiosignal bereitgestellt 750 und dieses dann einer Frequenzanalyse 752 unterzogen. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung liegt die WAV-Datei beispielsweise in einem Format vor, da die einzelnen Audioabtastwerte mit einer Abtastfrequenz von 16 kHz abgetastet sind. Die einzelnen Abtastwerte liegen dabei beispielsweise in einem 16-Bit-Format vor. Ferner wird im folgenden exemplarisch davon ausgegangen, dass das Audiosignal als Mono-Datei vorliegt.In the first two steps 750 and 752 is correct Fig. 3 With Fig. 2 An audio signal is first provided 750 and then subjected to a frequency analysis 752. For example, according to an embodiment of the present invention, the WAV file is in a format since the individual audio samples are sampled at a sampling frequency of 16 kHz. The individual samples are present, for example, in a 16-bit format. Furthermore, it is assumed in the following by way of example that the audio signal is present as a mono-file.

Die Frequenzanalyse 752 kann dann beispielsweise mittels einer Warped-Filterbank und einer FFT (Fast Fourier Transformation) durchgeführt werden. Insbesondere wird bei der Frequenzanalyse 752 die Folge von Audiowerten zunächst mit einer Fensterlänge von 512 Abtastwerten gefenstert, wobei mit einer Hopsize von 128 Abtastwerten gearbeitet wird, d.h. die Fensterung alle 128 Abtastwerte wiederholt wird. Zusammen mit der Abtastrate von 16 kHz und der Quantisierungsauflösung von 16 Bit stellen diese Parameter einen guten Kompromiss zwischen Zeit und Frequenzauflösung dar. Bei diesen exemplarischen Einstellungen entspricht ein Zeitabschnitt bzw. ein Frame einer Dauer von 8 Millisekunden.The frequency analysis 752 can then be carried out, for example, by means of a warped filter bank and an FFT (Fast Fourier Transformation). In particular, in the frequency analysis 752, the sequence of audio values is first windowed with a window length of 512 samples, where with a Hopsize of 128 samples, ie the windowing is repeated every 128 samples. Together with the sampling rate of 16 kHz and the quantization resolution of 16 bits, these parameters represent a good compromise between time and frequency resolution. In these exemplary settings, a time frame corresponds to a duration of 8 milliseconds.

Die Warped-Filterbank wird gemäß einem speziellen Ausführungsbeispiel für den Frequenzbereich bis ca. 1.550 Hz verwendet. Dies ist notwendig, um für tiefe Frequenzen eine ausreichend gute Auflösung zu erzielen. Für eine gute Halbtonauflösung sollten genügend Frequenzbänder zur Verfügung stehen. Bei einem Lambdawert ab -0,85 bei 16 kHz Abtastrate entsprechen auf einer Frequenz von 100 Hz etwa zwei bis vier Frequenzbänder einem Halbton. Für kleine Frequenzen kann jedes Frequenzband einem Halbton zugeordnet werden. Für den Frequenzbereich bis 8 kHz wird dann die FFT verwendet. Die Frequenzauflösung der FFT ist ab etwa 1.550 Hz ausreichend für eine gute Halbtonrepräsentation. Hier entsprechen ca. zwei bis sechs Frequenzbänder einem Halbton.The warped filter bank is used according to a special embodiment for the frequency range up to about 1550 Hz. This is necessary to achieve a sufficiently good resolution for low frequencies. For a good halftone resolution enough frequency bands should be available. At a lambda value of -0.85 at 16 kHz sampling rate, approximately two to four frequency bands correspond to one semitone on a frequency of 100 Hz. For low frequencies, each frequency band can be assigned a semitone. For the frequency range up to 8 kHz the FFT is used. The frequency resolution of the FFT is sufficient from about 1,550 Hz for a good halftone representation. Here approx. Two to six frequency bands correspond to one semitone.

Bei der oben exemplarisch beschriebenen Implementierung ist das Einschwingverhalten der Warped Filterbank zu beachten. Vorzugsweise wird deshalb eine zeitliche Synchronisation bei der Kombination der beiden Transformationen vorgenommen. Die ersten 16 Frames der Filterbankausgabe werden beispielsweise verworfen, ebenso wie die letzten 16 Frames des Ausgangsspektrums FFT nicht beachtet werden. Bei geeigneter Auslegung ist das Amplitudenniveau bei Filterbank und FFT identisch und bedarf keiner Anpassung.In the implementation described above by way of example, the transient response of the warped filter bank must be taken into account. Preferably, therefore, a temporal synchronization in the combination of the two transformations is made. For example, the first 16 frames of the filterbank output are discarded, as well as the last 16 frames of the output spectrum FFT are disregarded. With a suitable design, the amplitude level of the filter bank and FFT is identical and requires no adaptation.

Fig. 4 zeigt exemplarisch ein Amplitudenspektrum bzw. eine Zeit-/Frequenzdarstellung bzw. ein Spektrogramm eines Audiosignals, wie es durch das vorhergehende Ausführungsbeispiel einer Kombination einer Warped Filterbank und einer FFT erhalten wurde. Entlang der horizontalen Achse in Fig. 4 ist die Zeit t in Sekunden s abgetragen, während entlang der vertikalen Achse die Frequenz f in Hz verläuft. Die Höhe der einzelnen Spektralwerte ist grauskaliert. Anders ausgedrückt ist also die Zeit-/Frequenzdarstellung eines Audiosignals ein zweidimensionales Feld, das durch die möglichen Frequenzbins bzw. Spektralkomponenten auf der einen Seite (vertikale Achse) und die Zeitabschnitte bzw. Frames auf der anderen Seite (horizontale Achse) aufgespannt wird, wobei jeder Position dieses Feldes an einem bestimmten Tupel aus Frame und Frequenzbin ein Spektralwert bzw. eine Amplitude zugeordnet ist. Fig. 4 shows by way of example an amplitude spectrum or a time / frequency representation or a spectrogram of an audio signal, as obtained by the preceding embodiment of a combination of a warped filter bank and an FFT. Along the horizontal axis in Fig. 4 is the time t in seconds s worn away while along the vertical axis, the frequency f is in Hz. The height of the individual spectral values is gray scale. In other words, the time / frequency representation of an audio signal is a two-dimensional field spanned by the possible frequency bins or spectral components on one side (vertical axis) and the time segments or frames on the other side (horizontal axis), each Position of this field is assigned to a specific tuple of frame and Frequenzbin a spectral value or an amplitude.

Gemäß einem speziellen Ausführungsbeispiel werden die Amplituden in dem Spektrum von Fig. 4 im Rahmen der Frequenzanalyse 752 noch nachverarbeitet, da die Amplituden, die von der Warped Filterbank berechnet werden, für die anschließende Verarbeitung manchmal nicht exakt genug sein könnten. Die Frequenzen, die nicht genau auf der Mittenfrequenz eines Frequenzbandes liegen, besitzen einen niedrigeren Amplitudenwert als Frequenzen, die genau der Mittenfrequenz eines Frequenzbandes entsprechen. Zusätzlich entsteht im Ausgangsspektrum der Warped Filterbank ein Übersprechen auf benachbarte Frequenzbänder, die auch als Bins bzw. als Frequenzbins bezeichnet werden.According to a specific embodiment, the amplitudes in the spectrum of Fig. 4 is still postprocessed in the frequency analysis 752, as the amplitudes calculated by the warped filterbank may sometimes not be accurate enough for subsequent processing. The frequencies that are not exactly at the center frequency of a frequency band, have a lower amplitude value than frequencies that correspond exactly to the center frequency of a frequency band. In addition, in the output spectrum of the warped filter bank crosstalk to adjacent frequency bands, which are also referred to as bins or frequency bins.

Zur Korrektur der fehlerhaften Amplituden kann der Effekt des Übersprechen ausgenutzt werden. Von diesem Fehler sind maximal zwei angrenzende Frequenzbänder in jeder Richtung betroffen. Gemäß einem Ausführungsbeispiel werden deshalb in dem Spektrogramm von Fig. 4 innerhalb jedes Frames die Amplituden benachbarter Bins zu dem Amplitudenwert eines mittleren Bins addiert, und dies für alle Bins. Da die Gefahr besteht, dass falsche Amplitudenwerte berechnet werden, wenn in einem Musiksignal zwei Tonfrequenzen besonders nahe beieinander liegen, und so Phantomfrequenzen erzeugt werden, die größere Werte als die beiden ursprünglichen Sinusanteile besitzen, werden gemäß einem bevorzugten Ausführungsbeispiel nur die Amplitudenwerte der direkt angrenzenden Nachbarbins zur Amplitude des ursprünglichen Signalanteils hinzuaddiert.To correct the erroneous amplitudes of the effect of crosstalk can be exploited. This error affects a maximum of two adjacent frequency bands in each direction. According to one embodiment, therefore, in the spectrogram of Fig. 4 within each frame adds the amplitudes of adjacent bins to the amplitude value of a middle bin, and this for all bins. Because there is a risk that incorrect amplitude values will be calculated when two audio frequencies are particularly close together in a music signal, and thus phantom frequencies are generated having greater values than the two original sine parts, according to a preferred embodiment only the amplitude values of the directly adjacent neighbor bins will be generated added to the amplitude of the original signal component.

Dies stellt einen Kompromiss zwischen Genauigkeit und dem Auftreten von Seiteneffekten dar, die durch die Addition der direkt benachbarten Bins entstehen. Trotz der geringeren Genauigkeit der Amplitudenwerte ist dieser Kompromiss im Zusammenhang mit der Melodieextraktion akzeptabel, da die Änderung des berechneten Amplitudenwertes bei der Addition von drei oder fünf Frequenzbändern vernachlässigt werden kann. Im Gegensatz dazu fällt das Entstehen von Phantomfrequenzen viel höher ins Gewicht. Das Erzeugen von Phantomfrequenzen erhöht sich mit der Anzahl der gleichzeitig auftretenden Klänge in einem Musikstück. Bei der Suche nach der Melodielinie kann dies zu falschen Ergebnissen führen. Die Berechnung der exakten Amplituden wird vorzugsweise sowohl für die Warped Filterbank als auch für die FFT durchgeführt, damit das Musiksignal anschließend über das gesamte Frequenzspektrum hinweg durch ein Amplitudenniveau repräsentiert wird.This represents a compromise between accuracy and the occurrence of side effects caused by the addition of the directly adjacent bins. Despite the lower accuracy of the amplitude values, this trade-off is acceptable in the context of melody extraction, since the change in the calculated amplitude value can be neglected in the addition of three or five frequency bands. In contrast, the emergence of phantom frequencies is much more important. The generation of phantom frequencies increases with the number of simultaneous sounds in a piece of music. When searching for the melody line, this can lead to wrong results. The calculation of the exact amplitudes is preferably carried out both for the warped filter bank and for the FFT, so that the music signal is subsequently represented over the entire frequency spectrum by an amplitude level.

Das obige Ausführungsbeispiel für eine Signalanalyse aus einer Kombination einer Warped Filterbank und einer FFT ermöglicht eine gehörgerechte Frequenzauflösung und das Vorhandensein ausreichender Frequenzbins pro Halbton. Für nähere Details zur Implementierung wird auf die Diplomarbeit von Claas Derboven mit dem Titel "Implementierung und Untersuchung eines Verfahrens zur Erkennung von Klangobjekten aus polyphonen Audiosignalen", entstanden an der Technischen Universität Ilmenau im Jahr 2003, und die Diplomarbeit von Olaf Schleusing mit dem Titel "Untersuchung von Frequenzbereichstransformationen zur Metadatenextraktion aus Audiosignalen", entstanden an der Technischen Universität Ilmenau im Jahr 2002, verwiesen.The above embodiment for a signal analysis from a combination of a warped filter bank and an FFT enables a hearing-friendly frequency resolution and the presence of sufficient frequency bins per semitone. For more details on the implementation, refer to the thesis of Claas Derboven entitled "Implementation and investigation of a method for the detection of sound objects from polyphonic audio signals", developed at the Technical University Ilmenau in 2003, and the diploma thesis of Olaf Schleusing entitled " Investigation of frequency range transformations for metadata extraction from audio signals ", developed at the Technical University Ilmenau in 2002, referenced.

Wie im vorhergehenden erwähnt ist das Analyseergebnis der Frequenzanalyse 752 eine Matrix bzw. ein Feld aus Spektralwerten. Diese Spektralwerte stellen die Lautstärke durch die Amplitude dar. Die menschliche Lautstärkewahrnehmung besitzt jedoch eine logarithmische Einteilung. Es ist somit sinnvoll, das Amplitudenspektrum an diese Einteilung anzupassen. Dies geschieht in einer sich an den Schritt 752 anschließenden Logarithmierung 770. Bei der Logarithmierung 770 werden alle Spektralwerte auf das Niveau des Schalldruckpegels logarithmiert, was der logarithmischen Lautstärkewahrnehmung des Menschen entspricht. Genauer ausgedrückt wird bei der Logarithmierung 770 zu dem Spektralwert p in dem Spektrogramm, wie es von der Frequenzanalyse 752 erhalten wird, p auf einen Schalldruckpegelwert bzw. einen logarithmierten Spektralwert L abgebildet durch L dB = 20 Log p p 0

Figure imgb0001
p0 gibt hierbei den Bezugsschalldruck an, d.h. den Lautstärkepegel, der den kleinsten wahrnehmbaren Schalldruck bei 1.000 Hz besitzt.As mentioned above, the analysis result of frequency analysis 752 is a matrix of spectral values. These spectral values represent the volume by the amplitude. However, the human volume perception possesses a logarithmic division. It is therefore useful to the amplitude spectrum adapt this classification. This is done in a logarithmization 770 following step 752. In logarithmization 770, all spectral values are logarithmized to the level of the sound pressure level, which corresponds to the logarithmic perception of loudness of humans. More specifically, in the logarithmization 770 to the spectral value p in the spectrogram obtained from the frequency analysis 752, p is mapped to a sound pressure level value and a logarithmic spectral value L, respectively L dB = 20 log p p 0
Figure imgb0001
p 0 indicates the reference sound pressure, ie the volume level, which has the smallest perceptible sound pressure at 1,000 Hz.

Im Rahmen der Logarithmierung 770 muss dieser Bezugswert erst ermittelt werden. Während in der analogen Signalanalyse als Bezugwert der kleinste wahrnehmbare Schalldruck p0 verwendet wird, lässt sich diese Gesetzmäßigkeit auf die digitale Signalverarbeitung nicht ohne weiteres übertragen. Zur Ermittlung des Bezugswertes wird gemäß einem Ausführungsbeispiel deshalb hierzu ein Probeaudiosignal verwendet, wie es in Fig. 7 veranschaulicht ist. Fig. 7 zeigt das Probeaudiosignal 772 über die Zeit t, wobei in Y-Richtung die Amplitude A in den kleinsten darstellbaren Digitaleinheiten aufgetragen ist. Wie es zu sehen ist, liegt das Probeaudiosignal bzw. Referenzsignal 772 mit einem Amplitudenwert von einem LSB bzw. mit dem kleinsten darstellbaren digitalen Wert vor. Anders ausgedrückt oszilliert die Amplitude des Referenzsignals 772 lediglich um ein Bit. Die Frequenz des Referenzsignals 772 entspricht der Frequenz der höchsten Sensitivität der menschlichen Hörschwelle. Andere Ermittlungen für den Bezugswert können jedoch von Fall zu Fall vorteilhafter sein.Within logarithmization 770, this reference value must first be determined. While the smallest perceptible sound pressure p 0 is used as the reference value in analog signal analysis, this law is not easily transferred to digital signal processing. In order to determine the reference value, according to one exemplary embodiment, therefore, a trial audio signal is used for this purpose, as described in US Pat Fig. 7 is illustrated. Fig. 7 shows the rehearsal audio signal 772 over time t, where in the Y direction the amplitude A is plotted in the smallest representable digital units. As can be seen, the sample audio signal or reference signal 772 is present with an amplitude value of one LSB or with the smallest representable digital value. In other words, the amplitude of the reference signal 772 only oscillates by one bit. The frequency of the reference signal 772 corresponds to the frequency of the highest sensitivity of the human Hearing threshold. However, other determinations of the benchmark may be more beneficial on a case-by-case basis.

In Fig. 5 ist exemplarisch das Ergebnis der Logarithmierung 770 des Spektrogramms von Fig. 4 dargestellt. Sollte sich auf Grund der Logarithmierung ein Teil des logarithmierten Spektrogramms in dem negativen Wertebereich befinden, werden diese negativen Spektral- bzw. Amplitudenwerte zur Vermeidung von nicht-sinnvollen Ergebnissen in der weiteren Verarbeitung auf 0 dB gesetzt, um über den gesamten Frequenzbereich positive Ergebnisse zu erhalten. Lediglich vorsichtshalber wird darauf hingewiesen, dass in Fig. 5 die logarithmierten Spektralwerte auf dieselbe Weise wie in Fig. 4 dargestellt sind, d.h. angeordnet in einer durch die Zeit t und die Frequenz f aufgespannte Matrix und je nach Wert grauskaliert, nämlich um so dunkler je größer der jeweilige Spektralwert.In Fig. 5 is exemplarily the result of the logarithmization 770 of the spectrogram of Fig. 4 shown. If, due to the logarithmization, a part of the logarithmic spectrogram is in the negative value range, these negative spectral or amplitude values are set to 0 dB to avoid non-meaningful results in the further processing in order to obtain positive results over the entire frequency range , For the sake of brevity, please note that in Fig. 5 the logarithmized spectral values in the same way as in Fig. 4 are shown, that is arranged in a spanned by the time t and the frequency f matrix and grayscale depending on the value, namely the darker the greater the respective spectral value.

Die Lautstärkebewertung des Menschen ist frequenzabhängig. Deshalb muss das logarithmierte Spektrum, wie es sich aus der Logarithmierung 770 ergibt, in einem nachfolgenden Schritt 772 bewertet werden, um eine Anpassung an diese frequenzabhängige Bewertung des Menschen zu erfahren. Hierzu werden die Kurven gleicher Lautstärke 774 verwendet. Die Bewertung 772 ist insbesondere deshalb notwendig, um die unterschiedliche Amplitudenbewertung der musikalischen Klänge über die Frequenzskala hinweg der menschlichen Wahrnehmung anzupassen, da gemäß der menschlichen Wahrnehmung die Amplitudenwerte tiefer Frequenzen eine geringere Bewertung als Amplituden höherer Frequenzen erfahren.The volume rating of humans is frequency dependent. Therefore, the logarithmic spectrum, as it results from the logarithm 770, must be evaluated in a subsequent step 772 in order to adapt to this frequency-dependent evaluation of the human. For this purpose, the curves of equal volume 774 are used. In particular, the score 772 is therefore necessary to match the different amplitude scores of the musical sounds across the frequency scale of human perception since, according to human perception, the amplitude values of low frequencies experience a lower score than amplitudes of higher frequencies.

Für die Kurven 774 gleicher Lautstärke wurde vorliegend exemplarisch die Kurvencharakteristik aus DIN 45630 Blatt 2, Deutsches Institut für Normung e.V., Grundlagen der Schallmessung, Normalkurven gleicher Lautstärke, 1967, verwendet. Der Graphenverlauf ist in Fig. 6 gezeigt ist. Wie es aus Fig. 6 ersichtlich ist, sind die Kurven gleicher Lautstärke 774 jeweils unterschiedlichen Lautstärkepegeln, die in Phon angegeben sind, zugeordnet. Insbesondere stellen diese Kurven 774 Funktionen dar, die jeder Frequenz einen Schalldruckpegel in dB derart zuordnen, dass alle Schalldruckpegel, die sich auf der jeweiligen Kurve befinden, dem selben Lautstärkepegel der jeweiligen Kurve entsprechen.For the curves 774 of equal volume, the curve characteristic from DIN 45630 Part 2, Deutsches Institut für Normung eV, Grundlagen der Sound measurement, normal curves of equal volume, 1967, used. The graph history is in Fig. 6 is shown. Like it out Fig. 6 As can be seen, the equal volume curves 774 are respectively assigned to different volume levels indicated in phon. In particular, these curves 774 represent functions that assign each frequency a sound pressure level in dB such that all the sound pressure levels that are on the respective curve correspond to the same volume level of the respective curve.

Bevorzugterweise liegen die Kurven gleicher Lautstärke 774 in der Einrichtung 204 in analytischer Form vor, wobei es natürlich auch möglich wäre, eine Nachschlagtabelle vorzusehen, die jedem Paar von Frequenzbin und Schalldruckpegelquantisierungswert einen Lautstärkepegelwert zuordnet. Für die Lautstärkekurve mit dem niedrigsten Lautstärkepegel könnte beispielsweise die Formel L T 4 dB = 3 , 64 f kHz - 0 , 8 - 6 , 5 exp - 0 , 6 f kHz - 3 , 3 2 + 10 - 3 f kHz 4

Figure imgb0002
verwendet werden. Zwischen diesem Kurvenverlauf und der Hörschwelle unter DIN-Norm sind allerdings Abweichungen im tief- und hochfrequenten Wertbereich vorhanden. Zur Anpassung können die Funktionsparameter der Ruhe-Hörschwelle nach der obigen Gleichung verändert werden, um den Verlauf der niedrigsten Lautstärkekurve der oben genannten DIN-Norm von Fig. 6 zu entsprechen. Danach wird diese Kurve vertikal in Richtung höherer Lautstärkepegel in Abständen von 10 dB verschoben und die Funktionsparameter an die jeweilige Charakteristik der Funktionsgraphen 774 angepasst. Die Zwischenwerte werden in 1-dB-Schritten durch lineare Interpolation ermittelt. Vorzugsweise kann die Funktion mit dem höchsten Wertebereich einen Pegel von 100 dB bewerten. Dies ist ausreichend, da eine Wortbreite von 16 Bit einem Dynamikbereich von 98 dB entspricht.Preferably, the equal volume curves 774 are present in the device 204 in analytic form, of course, it would also be possible to provide a look-up table which assigns a volume level value to each pair of frequency bin and sound pressure level quantization value. For the volume curve with the lowest volume level, for example, the formula L T 4 dB = 3 . 64 f kHz - 0 . 8th - 6 . 5 exp - 0 . 6 f kHz - 3 . 3 2 + 10 - 3 f kHz 4
Figure imgb0002
be used. However, deviations in the low- and high-frequency value range are present between this curve and the hearing threshold under DIN standard. For adaptation, the function parameters of the resting hearing threshold can be changed according to the above equation to the curve of the lowest volume curve of the above-mentioned DIN standard of Fig. 6 correspond to. Thereafter, this curve is shifted vertically in the direction of higher volume levels at intervals of 10 dB, and the function parameters are adapted to the respective characteristic of the function graphs 774. The intermediate values are determined in 1 dB increments by linear interpolation. Preferably, the function with evaluate the highest value range to a level of 100 dB. This is sufficient, since a word width of 16 bits corresponds to a dynamic range of 98 dB.

Basierend auf den Kurven 774 gleicher Lautstärke bildet die Einrichtung 304 in dem Schritt 772 jeden logarithmierten Spektralwert, d.h. jeden Wert in dem Array von Fig. 5, abhängig von der Frequenz f bzw. dem Frequenzbin, zu dem er gehört, und seinem Wert, der den Schalldruckpegel repräsentiert, auf einen wahrnehmungsbezogenen Spektralwert ab, der den Lautstärkepegel repräsentiert.Based on the equal volume curves 774, in step 772 means 304 forms each logarithmic spectral value, ie, each value in the array of Fig. 5 depending on the frequency f or frequency bin to which it belongs and its value representing the sound pressure level, on a perceptual spectral value representing the volume level.

Das Ergebnis dieser Vorgehensweise für den Fall des logarithmierten Spektrums von Fig. 5 ist in Fig. 8 gezeigt. Wie es zu erkennen ist, besitzen in dem Spektrogramm von Fig. 8 tiefe Frequenzen keine besonders große Bedeutung mehr. Höhere Frequenzen und deren Obertöne werden durch diese Bewertung stärker hervorgehoben. Dies entspricht auch der menschlichen Wahrnehmung zur Bewertung der Lautstärke für unterschiedliche Frequenzen.The result of this procedure for the case of the logarithmic spectrum of Fig. 5 is in Fig. 8 shown. As can be seen, in the spectrogram of Fig. 8 low frequencies no longer of great importance. Higher frequencies and their overtones are emphasized by this rating. This also corresponds to human perception for evaluating the volume for different frequencies.

Die vorbeschriebenen Schritte 770-774 stellen mögliche Teilschritte des Schritts 754 aus Fig. 2 dar.The above-described steps 770-774 illustrate possible substeps of step 754 Fig. 2 represents.

Das Verfahren von Fig. 3 fährt nach Bewertung 772 des Spektrums in einem Schritt 776 mit einer Grundfrequenzbestimmung bzw. mit der Berechnung der Gesamtintensität jedes Klanges in dem Audiosignal fort. Hierzu werden in Schritt 776 die Intensitäten jeden Grundtones und der zugehörigen Harmonischen aufaddiert. Aus physikalischer Sicht besteht ein Klang aus einem Grundton unter den dazugehörigen Partialtönen. Dabei sind die Partialtöne ganzzahlige Vielfache der Grundfrequenz eines Klanges. Die Partial- oder Obertöne werden auch als Harmonische bezeichnet. Um nun für jeden Grundton die Intensität desselben und die jeweils zugehörigen Harmonischen aufzusummieren, wird in Schritt 776 auf ein harmonisches Raster 778 zurückgegriffen, um für jeden möglichen Grundton, d.h. jedes Frequenzbin, nach Oberton bzw. Obertöne zu suchen, die ein ganzzahliges Vielfaches des jeweiligen Grundtons sind. Zu einem bestimmten Frequenzbin als einem Grundton werden somit weitere Frequenzbins, die einem ganzzahligen Vielfachen des Frequenzbins des Grundtons entsprechen, als Obertonfrequenzen zugeordnet.The procedure of Fig. 3 After evaluation 772 of the spectrum, in a step 776, it proceeds with a fundamental frequency determination or with the calculation of the total intensity of each sound in the audio signal. For this purpose, in step 776 the intensities of each fundamental tone and the associated harmonics are added up. From a physical point of view, a sound consists of a fundamental tone under the corresponding partial tones. The partial tones are integer multiples of the fundamental frequency of a Sound. The partial or overtones are also called harmonics. In order to sum up the intensity of the same and the associated harmonics for each fundamental tone, a harmonic grid 778 is used in step 776 in order to search for each possible fundamental tone, ie each frequency bin, for overtones that are an integral multiple of the respective one Fundamental tones are. Thus, at a particular frequency bin as a fundamental, further frequency bins corresponding to an integer multiple of the frequency bin of the fundamental are assigned as harmonic frequencies.

In Schritt 776 werden nun für alle möglichen Grundtonfrequenzen die Intensitäten im Spektrogramm des Audiosignals an dem jeweiligen Grundton sowie seinen Obertönen aufaddiert. Dabei wird jedoch eine Gewichtung der einzelnen Intensitätswerte durchgeführt, da auf Grund mehrerer gleichzeitig auftretender Klänge in einem Musikstück die Möglichkeit besteht, dass der Grundton eines Klanges von einem Oberton eines anderen Klanges mit einem tieferfrequenten Grundton verdeckt wird. Ebenfalls können auch Obertöne eines Klanges durch Obertöne eines anderen Klanges verdeckt sein.In step 776, the intensities in the spectrogram of the audio signal at the respective fundamental tone and its harmonics are then added up for all possible fundamental tone frequencies. In this case, however, a weighting of the individual intensity values is carried out, since due to several sounds occurring simultaneously in a piece of music, there is the possibility that the fundamental tone of a sound is obscured by an overtone of another sound with a lower-frequency fundamental tone. Also overtones of a sound can be obscured by overtones of another sound.

Um dennoch die zusammengehörigen Töne eines Klanges zu ermitteln, wird in Schritt 776 ein Tonmodell verwendet, das auf dem Prinzip des Modells von Mosataka Goto basiert und an die spektrale Auflösung der Frequenzanalyse 752 angepasst ist, wobei das Tonmodell von Goto in Goto, M.: A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines, in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, Istanbul, Türkei, 2000 , beschrieben ist.Nevertheless, to determine the associated sounds of a sound, a tone model based on the principle of the model of Mosataka Goto and adapted to the spectral resolution of the frequency analysis 752 is used in step 776, the tone model of Goto in Goto, M .: A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines, in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, Istanbul, Turkey, 2000 , is described.

Ausgehend von der möglichen Grundfrequenz eines Klanges werden durch das harmonische Raster 778 für jedes Frequenzband bzw. Frequenzbin die dazugehörigen Obertonfrequenzen zugeordnet. Gemäß einem bevorzugten Ausführungsbeispiel wird nach Obertönen für Grundfrequenzen in lediglich einem bestimmten Frequenzbinbereich gesucht, wie z.B. von 80 Hz - 4.100 Hz, und Harmonische lediglich bis zur 15. Ordnung berücksichtigt. Dabei können die Obertöne unterschiedlicher Klänge dem Tonmodell von mehreren Grundfrequenzen zugeordnet sein. Durch diesen Effekt kann das Amplitudenverhältnis eines gesuchten Klanges erheblich verändert werden. Um diesen Effekt abzuschwächen, werden die Amplituden der Partialtöne mit einem halbierten Gaussfilter bewertet. Der Grundton erhält dabei die höchste Wertigkeit. Alle folgenden Partialtöne erhalten entsprechend ihrer Ordnung eine geringere Gewichtung, wobei die Gewichtung beispielsweise mit steigender Ordnung Gauss-förmig abfällt. Somit besitzt eine Obertonamplitude eines anderen Klanges, die den eigentlichen Oberton verdeckt, keine besondere Auswirkung auf das Gesamtergebnis einer gesuchten Stimme. Da die Frequenzauflösung des Spektrums für höhere Frequenzen geringer wird, existiert nicht für jeden Oberton höherer Ordnung ein Bin mit der entsprechenden Frequenz. Auf Grund des Übersprechens auf die angrenzenden Bins der Frequenzumgebung des gesuchten Obertons kann mittels eines Gaussfilters über die nächstliegenden Frequenzbänder die Amplitude des gesuchten Obertons relativ gut nachgebildet werden. Obertonfrequenzen bzw. die Intensitäten an denselben müssen deshalb nicht in Einheiten von Frequenzbins bestimmt werden, sondern es kann auch eine Interpolation verwendet werden, um den Intensitätswert an der Obertonfrequenz genau zu ermitteln.Starting from the possible fundamental frequency of a sound, harmonic grid 778 assigns the respective harmonic frequencies for each frequency band or frequency bin. According to a preferred embodiment, overtones are searched for fundamental frequencies in only one particular frequency bin range, such as from 80 Hz to 4,100 Hz, and harmonics are considered only up to the 15th order. The overtones of different sounds can be assigned to the sound model of several fundamental frequencies. By this effect, the amplitude ratio of a sought sound can be changed considerably. To attenuate this effect, the amplitudes of the partial tones are evaluated with a halved Gaussian filter. The keynote receives the highest value. All the following partial tones receive a lower weighting according to their order, the weighting decreasing in a Gauss-shaped manner, for example, with increasing order. Thus, an overtone amplitude of another sound that obscures the actual overtone has no particular effect on the overall result of a sought-after voice. As the frequency resolution of the spectrum becomes lower for higher frequencies, a bin with the corresponding frequency does not exist for each higher order overtone. Due to the crosstalk to the adjacent bins of the frequency environment of the sought overtone, the amplitude of the sought harmonic can be simulated relatively well by means of a Gaussian filter over the nearest frequency bands. Therefore, overtone frequencies or the intensities thereon do not have to be determined in units of frequency bins, but interpolation can also be used to accurately determine the intensity value at the overtone frequency.

Die Summation über die Intensitätswerte wird jedoch nicht unmittelbar an dem wahrnehmungsbezogenen Spektrum aus Schritt 772 durchgeführt. Vielmehr wird zunächst in dem Schritt 776 das wahrnehmungsbezogene Spektrum von Fig. 8 zunächst unter Zuhilfenahme des Bezugswertes aus Schritt 770 delogarithmiert. Das Ergebnis ist ein delogarithmiertes wahrnehmungsbezogenes Spektrum, d.h. ein Array aus delogarithmierten wahrnehmungsbezogenen Spektralwerten zu jedem Tupel aus Frequenzbin und Frame. Innerhalb dieses delogarithmierten wahrnehmungsbezogenen Spektrums werden für jeden möglichen Grundton der Spektralwert des Grundtons und die gegebenenfalls interpolierten Spektralwerte unter Zuhilfenahme des harmonisches Rasters 778 der zugehörigen Harmonischen aufaddiert, was für den Frequenzbereich aller möglichen Grundtonfrequenzen einen Klangintensitätswert ergibt, und dies für jedes Frame - im vorhergehenden Beispiel lediglich innerhalb des Bereichs von 80 bis 4.000 Hz. Anders ausgedrückt ist das Ergebnis des Schrittes 776 ein Klang-Spektrogramm, wobei der Schritt 776 selbst einer Pegeladdition innerhalb des Spektrogramms des Audiosignals entspricht. Das Ergebnis des Schrittes 776 wird beispielsweise in einer neuen Matrix eingetragen, die für jedes Frequenzbin innerhalb des Frequenzbereichs möglicher Grundtonfrequenzen eine Zeile und für jedes Frame eine Spalte aufweist, wobei in jedem Matrixelement, d.h. an jeder Kreuzung aus Spalte und Zeile, das Ergebnis der Aufsummation für das entsprechende Frequenzbin als Grundton eingetragen wird.However, the summation over the intensity values is not performed directly on the perceptual spectrum from step 772. Rather, first in step 776, the perceptual spectrum of Fig. 8 first delogarithmized with the aid of the reference value from step 770. The result is a delogarithmized perceptual spectrum, ie an array of delogarithmized perceptual spectral values for each frequency bin and frame tuple. Within this delogarithmized perceptual spectrum, for each possible root, the spectral value of the fundamental and the possibly interpolated spectral values are added together using the harmonic grid 778 of the associated harmonic, giving a sound intensity value for the frequency range of all possible fundamental frequencies, for each frame - in the previous example In other words, the result of step 776 is a sound spectrogram, step 776 itself corresponding to a level addition within the spectrogram of the audio signal. The result of step 776 is entered, for example, in a new matrix having one row for each frequency bin within the frequency range of possible fundamental frequencies and one column for each frame, wherein in each matrix element, ie at each column and row crossing, the result of the summation is entered as the fundamental tone for the corresponding frequency bin.

Als nächstes erfolgt in einem Schritt 780 eine vorläufige Ermittlung einer potentiellen Melodielinie. Die Melodielinie entspricht einer Funktion über die Zeit, nämlich einer Funktion, die jedem Frame eindeutig genau ein Frequenzband bzw. ein Frequenzbin zuordnet. Anders ausgedrückt definiert die in Schritt 780 ermittelte Melodielinie eine Spur entlang des Definitionsbereiches des Klang-Spektrogramms bzw. der Matrix aus Schritt 776, wobei die Spur entlang der Frequenzachse nie überlappt bzw. doppeldeutig ist.Next, in a step 780, a preliminary determination of a potential melody line is made. The melody line corresponds to a function over time, namely one Function that assigns exactly one frequency band or one frequency bin to each frame. In other words, the melody line determined in step 780 defines a track along the domain of definition of the sound spectrogram or matrix of step 776, the track never being ambiguous along the frequency axis.

Die Ermittlung wird in Schritt 780 derart durchgeführt, dass für jedes Frame über den gesamten Frequenzbereich des Klang-Spektrogramms die Maximal-Amplitude ermittelt wird, d.h. der größte Summationswert. Das Ergebnis, d.h. die Melodielinie, entspricht weitestgehend dem grundsätzlichen Verlauf der Melodie des dem Audiosignal 302 zu Grunde liegenden Musiktitels.The determination is made in step 780 such that the maximum amplitude is determined for each frame over the entire frequency range of the sound spectrogram, i. the largest summation value. The result, i. the melody line largely corresponds to the basic course of the melody of the audio track underlying the audio signal 302.

Die Bewertung des Spektrogramms mit den Kurven gleicher Lautstärke in Schritt 772 und die Suche nach dem Schallergebnis mit der maximalen Intensität in Schritt 780 tragen der musikwissenschaftlichen Aussage Rechnung, dass die Hauptmelodie derjenige Anteil eines Musiktitels ist, den der Mensch am lautesten und prägnantesten wahrnimmt.The evaluation of the spectralogram with the equal volume curves in step 772 and the search for the maximum intensity sound result in step 780 take into account the musicological statement that the main melody is that portion of a song that the person perceives loudest and most concisely.

Die vorbeschriebenen Schritte 776-780 stellen mögliche Teilschritte des Schritts 758 aus Fig. 2 dar.The above-described steps 776-780 illustrate possible substeps of step 758 Fig. 2 represents.

In der potentiellen Melodielinie aus Schritt 780 befinden sich Segmente, die nicht zur Melodie gehören. In Melodiepausen oder zwischen Melodienoten werden dominante Segmente, wie z.B. aus dem Bassverlauf oder andere Begleitinstrumente gefunden. Diese Melodiepausen müssen durch die späteren Schritte in Fig. 3 beseitigt werden. Außerdem entstehen kurze, einzelne Elemente, die keinem Bereich des Titels zugeordnet werden können. Sie werden beispielsweise mittels eines 3x3-Mittelwertfilters entfernt, wie es im folgenden noch beschrieben werden wird.In the potential melody line from step 780 are segments that do not belong to the melody. In melody pauses or between melody notes, dominant segments such as those from the bass progression or other accompaniment instruments are found. These melody pauses need to go through the later steps in Fig. 3 be eliminated. In addition, short, individual elements that can not be assigned to any area of the title arise. They become, for example by means of a 3x3 average filter, as will be described below.

Nach der Ermittlung der potentiellen Melodielinie in Schritt 780 wird in einem Schritt 782 zunächst eine allgemeine Segmentierung 782 durchgeführt, welche dafür sorgt, dass Teile der potentiellen Melodielinie beseitigt werden, die prima facie nicht zur tatsächlichen Melodielinie gehören können. In Fig. 9 ist beispielsweise das Ergebnis der Melodielinienermittlung von Schritt 780 exemplarisch für den Fall des wahrnehmungsbezogenen Spektrums von Fig. 8 gezeigt. Fig. 9 zeigt die Melodielinie aufgetragen über die Zeit t bzw. über die Abfolge von Frames entlang der x-Achse, wobei entlang der y-Achse die Frequenz f bzw. die Frequenzbins angezeigt sind. Anders ausgedrückt ist in Fig. 9 die Melodielinie aus Schritt 780 in Form eines binären Bildarrays dargestellt, das im folgenden auch manchmal als Melodiematrix bezeichnet wird und eine Zeile für jedes Frequenzbin und eine Spalte für jedes Frame aufweist. Alle Punkte des Arrays, an denen sich die Melodielinie nicht befindet, weisen einen Wert von 0 auf bzw. sind weiß, während die Punkte des Arrays, an denen sich die Melodielinie befindet, einen Wert von 1 aufweisen bzw. schwarz sind. Diese Punkte befinden sich folglich an Tupeln aus Frequenzbin und Frame, die einander durch die Melodielinienfunktion aus Schritt 780 einander zugeordnet sind.After the determination of the potential melody line in step 780, a general segmentation 782 is first performed in a step 782 which ensures that parts of the potential melody line are eliminated which prima facie can not belong to the actual melody line. In Fig. 9 For example, the result of the melody line determination of step 780 is exemplary of the case of the perceptual spectrum of Fig. 8 shown. Fig. 9 shows the melody line plotted over the time t or over the sequence of frames along the x-axis, along the y-axis, the frequency f and the frequency bins are displayed. In other words, in Fig. 9 the melody line from step 780 is represented in the form of a binary image array, which is also sometimes referred to as a melody matrix and has one row for each frequency bin and one column for each frame. All points of the array where the melody line is not located have a value of 0 or are white, while the points of the array where the melody line is located have a value of 1 or are black. These points are thus located on frequency bin and frame tuples, which are associated with each other by the melody line function of step 780.

An der Melodielinie von Fig. 9, die in Fig. 9 mit dem Bezugszeichen 784 versehen ist, arbeitet nun der Schritt 782 der allgemeinen Segmentierung, für den ein mögliche Implementierung Bezug nehmend auf Fig. 10 näher erläutert wird.At the melody line of Fig. 9 , in the Fig. 9 labeled 784, step 782 of general segmentation now operates, with reference to a possible implementation Fig. 10 is explained in more detail.

Die allgemeine Segmentierung 782 beginnt in einem Schritt 786 mit der Filterung der Melodielinie 784 im Frequenz/Zeitbereich in einer Darstellung, in der die Melodielinie 784 wie in Fig. 9 gezeigt als binäre Spur in einem Array eingezeichnet ist, das durch die Frequenzbins auf der einen und die Frames auf der anderen Seite aufgespannt wird. Das Pixelarray von Fig. 9 sei beispielsweise ein x-mal-y-Pixel-Array, wobei x der Anzahl an Frames und y der Anzahl an Frequenzbins entsprechen.The general segmentation 782 begins in a step 786 with the filtering of the melody line 784 in the frequency / time domain in a representation in which the melody line 784 as in FIG Fig. 9 shown as a binary track in an array, which is spanned by the frequency bins on one side and the frames on the other side. The pixel array of Fig. 9 For example, consider an x by y pixel array, where x is the number of frames and y is the number of frequency bins.

Der Schritt 786 ist nun dazu vorgesehen, kleinere Ausreißer bzw. Artefakte in der Melodielinie zu entfernen. Fig. 11 zeigt exemplarisch in schematischer Form einen möglichen Verlauf einer Melodielinie 784 in einer Darstellung gemäß Fig. 9. Wie es zu sehen ist, zeigt das Pixel-Array Bereiche 788, in welchen sich vereinzelt schwarze Pixelelemente befinden, die Abschnitten der potentiellen Melodielinie 784 entsprechen, die auf Grund ihrer zeitlichen Kürze bestimmt nicht zur tatsächlichen Melodie gehören und deshalb entfernt werden sollten.Step 786 is now intended to remove smaller outliers or artifacts in the melody line. Fig. 11 shows by way of example in a schematic form a possible course of a melody line 784 in a representation according to FIG Fig. 9 , As can be seen, the pixel array shows regions 788 in which there are sporadic black pixel elements corresponding to portions of the potential melody line 784 which, due to their temporal brevity, are certainly not part of the actual melody and therefore should be removed.

In Schritt 786 wird deshalb aus dem Pixel-Array von Fig. 9 bzw. Fig. 11, in welchem die Melodielinie binär dargestellt ist, zunächst ein zweites Pixel-Array erzeugt, indem für jedes Pixel ein Wert eingetragen wird, der der Summation der Binärwerte an dem entsprechenden Pixel sowie der zu diesem Pixel benachbarten Pixel entspricht. Hierzu sei auf Fig. 12a Bezug genommen. Dort ist ein exemplarischer Ausschnitt aus dem Verlauf einer Melodielinie in dem Binärbild von Fig. 9 oder Fig. 11 dargestellt. Der exemplarische Ausschnitt von Fig. 12a umfasst fünf Zeilen, die verschiedenen Frequenzbins 1-5 entsprechen, und fünf Spalten A-E, die unterschiedlichen benachbarten Frames entsprechen. Der Verlauf der Melodielinie ist in Fig. 12a dadurch versinnbildlicht, dass die entsprechenden Pixelelemente, die Teile der Melodielinie darstellen, schraffiert sind. Gemäß dem Ausführungsbeispiel von Fig. Fig. 12a wird also durch die Melodielinie dem Frame B das Frequenzbin 4, dem Frame C das Frequenzbin 3 usw. zugeordnet. Dem Frame A wird durch die Melodielinie natürlich auch ein Frequenzbin zugeordnet, dieses befindet sich jedoch nicht unter den fünf Frequenzbins aus dem Ausschnitt von Fig. 12a.In step 786, therefore, the pixel array is replaced by Fig. 9 respectively. Fig. 11 in which the melody line is represented in binary form, first generates a second pixel array by entering for each pixel a value corresponding to the summation of the binary values at the corresponding pixel and the pixel adjacent to this pixel. Be on this Fig. 12a Referenced. There is an exemplary excerpt from the course of a melody line in the binary image of Fig. 9 or Fig. 11 shown. The exemplary section of Fig. 12a includes five rows corresponding to different frequency bins 1-5 and five columns AE corresponding to different adjacent frames. The course of the melody line is in Fig. 12a symbolized by the fact that the corresponding pixel elements representing parts of the melody line are hatched. According to the embodiment of FIG. Fig. 12a Therefore, the frequency bin 4, the frame C, the frequency bin 3, etc. are assigned to the frame B by the melody line. Of course, the frame A is also assigned a frequency bin by the melody line, but this is not among the five frequency bins from the section of Fig. 12a ,

Bei der Filterung in Schritt 786 wird nun zunächst - wie bereits erwähnt - für jedes Pixel 790 der Binärwert desselben sowie der Binärwert der benachbarten Pixel summiert. Dies ist beispielsweise in Fig. 12a exemplarisch für das Pixel 792 veranschaulicht, in welche Figur bei 794 ein Quadrat eingezeichnet ist, das die zu dem Pixel 792 benachbarten Pixel sowie das Pixel 792 selbst umgibt. Für das Pixel 792 ergäbe sich folglich ein Summenwert von 2, da sich in dem Bereich 794 um das Pixel 792 lediglich 2 Pixel befinden, die der Melodielinie angehören, nämlich das Pixel 792 selbst sowie das Pixel C3, d.h. an dem Frame C und dem Bin 3. Diese Summation wird durch Verschiebung des Bereichs 794 für alle weiteren Pixel wiederholt, wodurch sich ein zweites Pixelbild ergibt, im folgenden auch manchmal als Zwischenmatrix bezeichnet.In the filtering in step 786, the binary value of the same as well as the binary value of the neighboring pixels is first summed up for each pixel 790, as already mentioned. This is for example in Fig. 12a As an example of the pixel 792, it illustrates which figure at 794 has a square drawn around the pixels adjacent to the pixel 792 and the pixel 792 itself. Consequently, a sum value of 2 would result for the pixel 792, since in the area 794 around the pixel 792 there are only 2 pixels belonging to the melody line, namely the pixel 792 itself and the pixel C3, ie at the frame C and the bin 3. This summation is repeated by shifting the area 794 for all other pixels, resulting in a second pixel image, also sometimes referred to below as an intermediate matrix.

Dieses zweite Pixelbild wird dann einer pixelweisen Abbildung unterzogen, wobei in dem Pixelbild alle Summenwerte von 0 oder 1 auf Null und alle Summenwerte größer oder gleich 2 auf Eins abgebildet werden. Das Ergebnis dieser Abbildung ist für den exemplarischen Fall von Fig. 12a in Fig. 12a mit Zahlen von "0" und "1" in den einzelnen Pixeln 790 dargestellt. Wie es zu erkennen ist, führt die Kombination aus 3x3-Summation und anschließender Abbildung auf "0" und "1" mittels des Schwellwertes 2 dazu, dass die Melodienlinie "verschmiert". Die Kombination wirkt quasi als Tiefpassfilter, was unerwünscht wäre. Deshalb wird im Rahmen des Schrittes 786 das erste Pixelbild, d.h. das aus Fig. 9 bzw. Fig. 11, bzw. in Fig. 12a das Pixelbild, das durch die schraffierten Pixel veranschaulicht wird, mit dem zweiten Pixel-Array, d.h. demjenigen, das in Fig. 12a durch die Nullen und Einsen veranschaulicht ist, multipliziert. Diese Multiplikation verhindert eine Tiefpassfilterung der Melodielinie durch die Filterung 786 und stellt zudem die Eindeutigkeit der Zuordnung von Frequenzbins zu Frames weiterhin sicher.This second pixel image is then subjected to a pixel-by-pixel mapping, wherein in the pixel image all summation values from 0 or 1 to zero and all summation values greater than or equal to 2 are mapped to one. The result of this mapping is for the exemplary case of Fig. 12a in Fig. 12a represented by numbers of "0" and "1" in the individual pixels 790. As can be seen, the combination of 3x3 summation and subsequent mapping to "0" and "1" using the Threshold 2 causes the melody line to "smear". The combination acts as a kind of low-pass filter, which would be undesirable. Therefore, as part of step 786, the first pixel image, ie Fig. 9 respectively. Fig. 11 , or in Fig. 12a the pixel image, which is illustrated by the hatched pixels, with the second pixel array, ie the one in Fig. 12a is illustrated by the zeros and ones multiplied. This multiplication prevents low-pass filtering of the melody line by the filtering 786 and further ensures the uniqueness of the assignment of frequency bins to frames.

Das Ergebnis der Multiplikation für den Ausschnitt aus Fig. 12a ist, dass die Filterung 786 nichts an der Melodielinie ändert. Dies ist an dieser Stelle auch erwünscht, da die Melodielinie ja offensichtlich zusammenhängend in diesem Bereich ist und die Filterung aus Schritt 786 ja lediglich zur Beseitigung von Ausreißern bzw. Artefakten 788 gedacht ist.The result of the multiplication for the clipping Fig. 12a is that filtering 786 does not change anything on the melody line. This is also desirable at this point since the melody line is obviously contiguous in this area and the filtering from step 786 is only intended to remove outliers or artifacts 788.

Fig. 12b zeigt deshalb zur Veranschaulichung der Wirkweise der Filterung 786 einen weiteren exemplarischen Ausschnitt aus der Melodiematrix von Fig. 9 bzw. Fig. 11. Wie es dort zu erkennen ist, führt die Kombination aus Summenbildung und Schwellenwertabbildung zu einer Zwischenmatrix, bei der zwei vereinzelte Pixel P4 und R2 einen binären Wert von 0 erhalten, obwohl an diesen Pixelpositionen die Melodiematrix einen binären Wert von 1 aufweist, wie es durch die Schraffur in Fig. 12b zu erkennen ist, die veranschaulichen soll, dass sich an diesen Pixelpositionen die Melodielinie befindet. Diese vereinzelten "Ausreißer" der Melodielinie werden deshalb durch die Filterung in Schritt 786 nach der Multiplikation entfernt. Fig. 12b Therefore, to illustrate the mode of operation of the filtering 786, there is shown another exemplary excerpt from the melody matrix of FIG Fig. 9 respectively. Fig. 11 , As can be seen there, the combination of summation and threshold mapping results in an intermediate matrix in which two separated pixels P4 and R2 receive a binary value of 0, although at these pixel positions the melody matrix has a binary value of 1 as indicated by the Hatching in Fig. 12b to recognize that is to show at these pixel positions the melody line. These isolated "outliers" of the melody line are therefore removed by the filtering in step 786 after multiplication.

Nach dem Schritt 786 folgt im Rahmen der allgemeinen Segmentierung 782 ein Schritt 796, in welchem Teile der Melodielinie 784 dadurch entfernt werden, dass diejenigen Teile der Melodielinie vernachlässigt werden, die sich nicht innerhalb eines vorbestimmten Frequenzbereichs befinden. Anders ausgedrückt, wird in dem Schritt 796 der Wertebereich der Melodielinienfunktion aus Schritt 780 auf den vorbestimmten Frequenzbereich eingeschränkt. Wiederum anders ausgedrückt werden in Schritt 796 alle Pixel der Melodiematrix von Fig. 9 bzw. Fig. 11 auf Null gesetzt, die sich außerhalb des vorbestimmten Frequenzbereichs befinden. In dem Fall einer polyphonen Analyse, wie sie vorliegend angenommen wird, reicht ein Frequenzbereich beispielsweise von 100 - 200 bis 1.000 - 1.100 Hz und vorzugsweise von 150 bis 1.050 Hz. In dem Fall einer monophonen Analyse, wie sie bezugnehmend auf die Fig. 27 ff. angenommen wird, reicht ein Frequenzbereich beispielsweise von 50 - 150 bis 1.000 - 1.100 Hz und vorzugsweise von 80 bis 1.050 Hz. Die Begrenzung des Frequenzbereichs auf diese Bandbreite trägt der Beobachtung Rechnung, dass Melodien bei populärer Musik meist durch Gesang repräsentiert werden, der sich in diesem Frequenzbereich befindet ebenso wie die menschliche Sprache.After step 786, general segmentation 782 is followed by step 796, in which portions of melody line 784 are removed by neglecting those portions of the melody line that are not within a predetermined frequency range. In other words, in step 796, the value range of the melody line function is restricted to the predetermined frequency range from step 780. In other words, in step 796, all pixels of the melody matrix of Fig. 9 respectively. Fig. 11 set to zero, which are outside the predetermined frequency range. In the case of a polyphonic analysis as adopted herein, a frequency range is, for example, 100-200-200-10000 Hz, and preferably 150-1050 Hz. In the case of a monophonic analysis as described with reference to FIGS Fig. 27 ff., a frequency range is, for example, from 50-150 to 1,000-1,100 Hz and preferably from 80 to 1,050 Hz. The limitation of the frequency range to this bandwidth contributes to the observation that melodies in popular music are usually represented by vocals, the is in this frequency range as well as human language.

Zur Veranschaulichung von Schritt 796 ist in Fig. 9 exemplarisch ein Frequenzbereich von 150 bis 1.050 Hz durch eine untere Grenzfrequenzlinie 798 und eine obere Grenzfrequenzlinie 800 angezeigt. Fig. 13 zeigt die durch den Schritt 786 gefilterte und durch den Schritt 796 geclipte Melodielinie, die zur Unterscheidung in Fig. 13 mit dem Bezugszeichen 802 versehen ist.To illustrate step 796, see Fig. 9 By way of example, a frequency range of 150 to 1050 Hz is indicated by a lower limit frequency line 798 and an upper limit frequency line 800. Fig. 13 FIG. 12 shows the melody line filtered by step 786 and clipped by step 796, which is used to distinguish in FIG Fig. 13 is provided with the reference numeral 802.

Nach dem Schritt 796 erfolgt in einem Schritt 804 eine Entfernung von Abschnitten der Melodielinie 802 mit zu kleiner Amplitude, wobei die Extraktionseinrichtung 304 hierbei auf das logarithmische Spektrum aus Fig. 5 von Schritt 770 zurückgreift. Genauer ausgedrückt schlägt die Extraktionseinrichtung 304 für jedes Tupel aus Frequenzbin und Frame, durch welches die Melodielinie 802 verläuft, in dem logarithmierten Spektrum von Fig. 5 nach dem entsprechenden logarithmierten Spektralwert nach, und stellt fest, ob der entsprechende logarithmierte Spektralwert weniger als ein vorbestimmter Prozentsatz der Maximalamplitude bzw. des maximalen logarithmierten Spektralwertes in dem logarithmierten Spektrum von Fig. 5 beträgt. In dem Fall polyphoner Analyse beträgt dieser Prozentsatz vorzugsweise zwischen 50 und 70% und vorzugsweise 60%, während bei monophoner Analyse dieser Prozentsatz vorzugsweise zwischen 20 und 40% liegt und vorzugsweise 30% beträgt. Teile der Melodielinie 802, für die dies der Fall ist, werden vernachlässigt. Diese Vorgehensweise trägt dem Umstand Rechnung, dass eine Melodie normalerweise immer annähernd die gleiche Lautstärke besitzt, bzw. dass plötzliche extreme Lautstärkeschwankungen kaum zu erwarten sind. Anders ausgedrückt werden also in Schritt 804 alle Pixel der Melodiematrix von Fig. 9 bzw. 17 auf Null gesetzt, an denen die logarithmierten Spektralwerte weniger als der vorbestimmte Prozentsatz des maximalen logarithmierten Spektralwertes betragen.After step 796, in a step 804, removal of portions of the melody line 802 of too small an amplitude occurs, wherein the extraction means 304 in this case on the logarithmic spectrum Fig. 5 from step 770. More specifically, the extractor 304 beats in the logarithmic spectrum of each frequency bin and frame tuple through which the melody line 802 passes Fig. 5 after the corresponding logarithmic spectral value, and determines whether the corresponding logarithmic spectral value is less than a predetermined percentage of the maximum amplitude or logarithmic spectral value in the logarithmic spectrum of Fig. 5 is. In the case of polyphonic analysis, this percentage is preferably between 50 and 70% and preferably 60%, while in monophonic analysis this percentage is preferably between 20 and 40% and preferably 30%. Parts of the melody line 802 for which this is the case are neglected. This approach takes into account the fact that a melody usually always has approximately the same volume, or that sudden extreme volume fluctuations are unlikely to be expected. In other words, in step 804, all pixels of the melody matrix of Fig. 9 and 17 are set to zero at which the logarithmic spectral values are less than the predetermined percentage of the maximum logarithmic value.

Auf den Schritt 804 folgt in einem Schritt 806 eine Aussonderung derjenigen Abschnitte der verbleibenden Melodielinie, an denen sich der Verlauf der Melodielinie in Frequenzrichtung sprunghaft ändert, um nur kurz einen halbwegs gleichmäßigen Melodieverlauf aufzuweisen. Um dies zu erläutern, sei Bezug auf Fig. 14 genommen, die einen Ausschnitt aus der Melodiematrix über A-M aufeinanderfolgende Frames hinweg zeigt, wobei die Frames spaltenweise angeordnet sind, während die Frequenz entlang der Spaltenrichtung von unten nach oben zunimmt. Die Frequenzbinauflösung ist in Fig. 14 der Übersichtlichkeit halber nicht gezeigt.Step 804 is followed, in a step 806, by a separation of those sections of the remaining melody line at which the course of the melody line in the frequency direction changes abruptly so as to have only a short halfway uniform melody curve. To this, too explain, refer to Fig. 14 which shows a section of the melody matrix over AM consecutive frames, with the frames arranged in columns as the frequency increases along the column direction from bottom to top. The frequency bin resolution is in Fig. 14 for the sake of clarity not shown.

Die Melodielinie, wie sie sich aus Schritt 804 ergeben hat, ist in Fig. 14 exemplarisch mit dem Bezugszeichen 808 angegeben. Wie es zu sehen ist, bleibt die Melodienlinie 808 in den Frames A-D konstant auf einem Frequenzbin, um dann zwischen den Frames D und E einen Frequenzsprung zu zeigen, der größer als ein Halbtonabstand HT ist. Zwischen den Frames E und H bleibt dann die Melodielinie 808 wieder konstant auf einem Frequenzbin, um daraufhin von Frame H auf Frame I um wieder mehr als einen Halbtonabstand HT abzufallen. Ein solcher Frequenzsprung, der größer als einen Halbtonabstand HT ist, tritt auch zwischen den Frames J und K auf. Von da an bleibt die Melodielinie 808 zwischen den Frames J und M wieder konstant auf einem Frequenzbin.The melody line as revealed by step 804 is in Fig. 14 exemplified by the reference numeral 808. As can be seen, the melody line 808 in the frames AD remains constant on a frequency bin, to then show a frequency hopping between the frames D and E that is greater than a semitone distance HT. Between the frames E and H, the melody line 808 then remains constant again on a frequency bin, in order then to fall back from frame H to frame I by more than one semitone interval HT. Such a frequency hopping, which is greater than a semitone distance HT, also occurs between the frames J and K. From then on, the melody line 808 between frames J and M again remains constant on a frequency bin.

Zur Durchführung der Schritte 806 scannt die Einrichtung 304 nun die Melodielinie frameweise von beispielsweise vorne nach hinten durch. Dabei prüft die Einrichtung 304 für jedes Frame, ob zwischen diesem Frame und dem nachfolgenden Frame ein Frequenzsprung größer dem Halbtonabstand HT stattfindet. Falls dies der Fall ist, markiert die Einrichtung 304 diese Frames. In Fig. 14 ist das Ergebnis dieser Markierung exemplarisch dadurch veranschaulicht, dass die entsprechenden Frames mit einem Kreis umringt sind, hier die Frames D, H und J. In einem zweiten Schritt prüft nun die Einrichtung 304, zwischen welchen der markierten Frames weniger als eine vorbestimmte Anzahl von Frames angeordnet sind, wobei in dem vorliegenden Fall die vorbestimmte Anzahl vorzugsweise drei beträgt. Insgesamt werden hierdurch Abschnitte der Melodielinie 808 herausgesucht, an denen dieselbe zwischen unmittelbar aufeinanderfolgenden Frames weniger als ein Halbton springt aber dabei weniger als vier Frameelemente lang sind. Zwischen den Frames D und H liegen in dem vorliegenden exemplarischen Fall drei Frames. Dies bedeutet nichts anderes, als dass über die Frames E - H hinweg die Melodielinie 808 nicht um mehr als einen Halbton springt. Zwischen den markierten Frames H und J jedoch befindet sich lediglich ein Frame. Dies bedeutet nichts anderes, als dass in dem Bereich der Frames I und J die Melodielinie 808 sowohl nach vorne als auch nach hinten in Zeitrichtung um mehr als ein Halbton springt. Dieser Abschnitt der Melodielinie 808, nämlich im Bereich der Frames I und J, wird deshalb bei der folgenden Verarbeitung der Melodielinie vernachlässigt. In der aktuellen Melodiematrix wird deshalb an den Frame I und J das entsprechende Melodielinienelement auf Null gesetzt, d.h. es wird weiß. Dieser Ausschluss kann also höchstens drei aufeinanderfolgende Frames umfassen, was 24 ms entspricht. Töne kürzer als 30 ms kommen in der heutigen Musik aber nur selten vor, so dass der Ausschluss nach Schritt 806 nicht zu einer Verschlechterung des Transkriptionsergebnisses führt.To carry out the steps 806, the device 304 now scans the melody line in a frame-wise manner, for example from the front to the back. In this case, the device 304 checks for each frame whether a frequency jump greater than the semitone distance HT takes place between this frame and the subsequent frame. If so, means 304 marks these frames. In Fig. 14 the result of this marking is exemplarily illustrated by the fact that the corresponding frames are surrounded by a circle, here the frames D, H and J. In a second step, means 304 now checks between which of the marked frames less than a predetermined number of frames are arranged, wherein in the present case, the predetermined number is preferably three. Overall, this extracts portions of the melody line 808 where the same jumps between immediately consecutive frames less than a semitone but is less than four frame elements long. Between frames D and H there are three frames in the present exemplary case. This means nothing else than that the melody line 808 does not jump over the frames E - H by more than a semitone. However, there is only one frame between the marked frames H and J. This means nothing else than that in the area of the frames I and J, the melody line 808 jumps more than one semitone both forward and backward in the time direction. This section of the melody line 808, namely in the area of the frames I and J, is therefore neglected in the subsequent processing of the melody line. In the current melody matrix, therefore, the corresponding melody line element is set to zero on frames I and J, ie it turns white. This exclusion can therefore comprise at most three consecutive frames, which corresponds to 24 ms. However, tones shorter than 30 ms rarely occur in today's music, so that the exclusion after step 806 does not lead to a deterioration of the transcription result.

Nach dem Schritt 806 schreitet die Verarbeitung im Rahmen der allgemeinen Segmentierung 782 zu Schritt 810 fort, wo die Einrichtung 304 die verbleibenden Reste der einstigen potentiellen Melodielinie aus Schritt 780 in eine Folge von Segmenten einteilt. Bei der Einteilung in Segmente werden alle Elemente in der Melodiematrix zu einem Segment bzw. einer Trajektorie zusammengefasst, welche direkt benachbart sind. Um dies zu veranschaulichen, zeigt Fig. 15 einen Ausschnitt aus der Melodielinie 812, wie sie sich nach dem Schritt 806 ergibt. In Fig. 15 sind nur die einzelnen Matrixelemente 814 aus der Melodiematrix gezeigt, entlang derer die Melodielinie 812 verläuft. Um zu prüfen, welche Matrixelemente 814 zu einem Segment zusammenzufassen sind, scannt die Einrichtung 304 beispielsweise dieselben auf die folgende Weise durch. Zunächst prüft die Einrichtung 304, ob für ein erstes Frame die Melodiematrix überhaupt ein markiertes Matrixelement 814 aufweist. Falls nicht, schreitet die Einrichtung 304 zum nächsten Matrixelement fort und prüft abermals das nächste Frame auf das Vorhandensein eines entsprechenden Matrixelementes. Anderenfalls, d.h. falls ein Matrixelement, das Teil der Melodielinie 812 ist, vorhanden ist, prüft die Einrichtung 304 das nächste Frame auf das Vorhandensein eines Matrixelementes, das Teil der Melodielinie 812 ist. Falls dies der Fall ist, prüft die Einrichtung 304 ferner, ob dieses Matrixelement direkt benachbart zu dem Matrixelement des vorhergehenden Frames ist. Direkt benachbart ist ein Matrixelement zu einem anderen, falls dieselben in Zeilenrichtung direkt aneinandergrenzen, oder falls dieselben diagonal Ecke an Ecke liegen. Liegt eine Nachbarschaftsbeziehung vor, so führt die Einrichtung 304 die Überprüfung auf das Vorhandensein einer Nachbarschaftsbeziehung auch für das nächste Frame durch. Anderenfalls, d.h. bei Nicht-Vorliegen einer Nachbarschaftsbeziehung, endet ein aktuell erkanntes Segment an dem vorhergehenden Frame, und ein neues Segment beginnt an dem aktuellen Frame.After step 806, processing within general segmentation 782 proceeds to step 810, where device 304 divides the remaining remnants of the former potential melody line from step 780 into a sequence of segments. In the division into segments, all elements in the melody matrix are combined into a segment or a trajectory, which are directly adjacent. To illustrate this, shows Fig. 15 a section of the melody line 812, as they are after the Step 806 results. In Fig. 15 only the individual matrix elements 814 from the melody matrix along which the melody line 812 extends are shown. For example, to check which matrix elements 814 are to be segmented, the device 304 scans them in the following manner. The device 304 first of all checks whether the melody matrix at all has a marked matrix element 814 for a first frame. If not, means 304 proceeds to the next matrix element and again checks the next frame for the presence of a corresponding matrix element. Otherwise, that is, if a matrix element that is part of the melody line 812 is present, the device 304 checks the next frame for the presence of a matrix element that is part of the melody line 812. If so, means 304 further checks if that matrix element is directly adjacent to the matrix element of the previous frame. Immediately adjacent is one matrix element to another if they are directly adjacent one another in the row direction, or if they are diagonally corner to corner. If there is a neighborhood relationship, means 304 checks for the presence of a neighborhood relationship also for the next frame. Otherwise, ie in the absence of a neighborhood relationship, a currently recognized segment on the previous frame ends and a new segment begins on the current frame.

Der in Fig. 15 gezeigte Ausschnitt aus der Melodielinie 812 stellt ein unvollständiges Segment dar, bei dem alle Matrixelemente 814, die Teil der Melodielinie sind bzw. entlang derer dieselbe verläuft, zueinander unmittelbar benachbart sind.The in Fig. 15 The section of the melody line 812 shown represents an incomplete segment in which all the matrix elements 814 that are part of, or run along, the melody line are immediately adjacent to each other.

Die auf diese Weise gefundenen Segmente werden durchnumeriert, so dass sich eine Folge von Segmenten ergibt.The segments found in this way are numbered consecutively, resulting in a sequence of segments.

Das Ergebnis der allgemeinen Segmentierung 782 ist folglich eine Folge von Melodiesegmenten, wobei jedes Melodiesegment eine Folge von unmittelbar benachbarten Frames abdeckt. Innerhalb jedes Segments springt die Melodielinie von Frame zu Frame um höchstens eine vorbestimmte Anzahl von Frequenzbins, im vorhergehenden Ausführungsbeispiel um höchstens ein Frequenzbin.The result of the general segmentation 782 is thus a sequence of melody segments, each melody segment covering a sequence of immediately adjacent frames. Within each segment, the melody line jumps from frame to frame by at most a predetermined number of frequency bins, in the preceding exemplary embodiment by at most one frequency bin.

Nach der allgemeinen Segmentierung 782 fährt die Einrichtung 304 mit der Melodieextraktion bei Schritt 816 fort. Der Schritt 816 dient der Lückenschließung zwischen benachbarten Segmenten, um den Fall zu adressieren, dass aufgrund beispielsweise perkussiver Ereignisse bei der Melodielinienermittlung in Schritt 780 versehentlich andere Klanganteile erkannt und bei der allgemeinen Segmentierung 782 herausgefiltert worden sind. Die Lückenschließung 816 wird Bezug nehmend auf Fig. 16 näher erläutert werden, wobei die Lückenschließung 816 auf einen Halbtonvektor zurückgreift, der in einem Schritt 818 ermittelt wird, wobei die Ermittlung des Halbtonvektors Bezug nehmend auf Fig. 17 näher erläutert werden wird.After the general segmentation 782, the device 304 proceeds with the melody extraction at step 816. Step 816 is to close the gaps between adjacent segments to address the case that, due to, for example, percussive events in the melody line determination in step 780, other sound components have been inadvertently detected and filtered out in the general segmentation 782. The gap closure 816 will be referred to Fig. 16 in more detail, wherein the gap closure 816 relies on a halftone vector, which is determined in a step 818, the determination of the halftone vector referring to Fig. 17 will be explained in more detail.

Da die Lückenschließung 816 auf den Halbtonvektor zurückgreift, wird im folgenden zunächst Bezug nehmend auf Fig. 17 die Ermittlung des variablen Halbtonvektors erläutert. Fig. 17 zeigt die sich aus der allgemeinen Segmentierung 782 ergebende lückenhafte Melodielinie 812 in in die Melodiematrix eingetragener Form. Bei der Ermittlung des Halbtonvektors in Schritt 818 stellt nun die Einrichtung 304 fest, welche Frequenzbins die Melodielinie 812 durchläuft und wie oft bzw. in wie viel Frames. Das Ergebnis dieser Vorgehensweise, die mit dem Fall 820 veranschaulicht ist, ist ein Histogramm 822, das für jedes Frequenzbin f die Häufigkeit angibt, mit welcher dasselbe von der Melodielinie 812 durchlaufen wird bzw. wie viele Matrixelemente der Melodiematrix, die Teil der Melodielinie 812 sind, an dem jeweiligen Frequenzbin angeordnet sind. Aus diesem Histogramm 822 bestimmt dann die Einrichtung 304 in einem Schritt 824 dasjenige Frequenzbin mit der maximalen Häufigkeit. Dieses ist in Fig. 17 mit einem Pfeil 826 angezeigt. Ausgehend von diesem Frequenzbin 826 der Frequenz f0 bestimmt dann die Einrichtung 304 einen Vektor von Frequenzen fi, die zueinander und vor allem zu der Frequenz f0 einen Frequenzabstand aufweisen, die einem ganzzahligen Vielfachen einer Halbtonlänge HT entspricht. Die Frequenzen im Halbtonvektor werden im folgenden als Halbtonfrequenzen bezeichnet werden. Manchmal wird im folgenden auch auf Halbtongrenzfrequenzen Bezug genommen. Diese befinden sich genau zwischen benachbarten Halbtonfrequenzen, d.h. genau zentriert hierzu. Ein Halbtonabstand ist wie in der Musik üblich als 21/12 der Nutzungsfrequenz f0 definiert. Durch die Bestimmung des Halbtonvektors in Schritt 818 kann die Frequenzachse f, entlang der die Frequenzbins aufgetragen sind, in Halbtonbereiche 828 untergliedert werden, die sich von Halbtongrenzfrequenz zur benachbarter Halbtongrenzfrequenz erstrecken.Since the gap closure 816 uses the halftone vector, reference will first be made below Fig. 17 the determination of the variable halftone vector explained. Fig. 17 FIG. 12 shows the patchy melody line 812 resulting from the general segmentation 782 in a shape plotted in the melody matrix. Upon determination of the halftone vector in step 818, the device now sets 304 determines which frequency bins the melody line 812 passes through and how often or in how many frames. The result of this approach, illustrated with the case 820, is a histogram 822 indicating, for each frequency bin f, the frequency with which it is traversed by the melody line 812 and how many matrix elements of the melody matrix that are part of the melody line 812 , are arranged at the respective Frequenzbin. From this histogram 822, device 304 then determines in a step 824 the frequency bin with the maximum frequency. This is in Fig. 17 indicated by an arrow 826. Starting from this frequency bin 826 of the frequency f 0 , the device 304 then determines a vector of frequencies f i which, relative to one another and above all to the frequency f 0, have a frequency spacing which corresponds to an integer multiple of a half tone length HT. The frequencies in the halftone vector will be referred to as halftone frequencies hereinafter. Sometimes, halftone cutoff frequencies will also be referred to below. These are located exactly between adjacent halftone frequencies, ie exactly centered on this. A halftone interval, as is customary in music, is defined as 2 1/12 of the frequency of use f 0 . By determining the halftone vector in step 818, the frequency axis f along which the frequency bins are plotted can be divided into halftone regions 828 extending from halftone cutoff frequency to the adjacent halftone cutoff frequency.

Auf dieser Einteilung der Frequenzachse f in Halbtonbereiche basiert die Lückenschließung, die im folgenden Bezug nehmend auf Fig. 16 erläutert wird. Wie bereits erwähnt wird in der Lückenschließung 816 versucht, Lücken zwischen benachbarten Segmenten der Melodielinie 812 zu schließen, die sich ungewollt bei der Melodielinienerkennung 780 bzw. der allgemeinen Segmentierung 782 ergaben, wie es oben beschrieben wurde. Die Lückenschließung wird segmentweise durchgeführt. Für ein aktuelles Bezugssegment wird im Rahmen der Lückenschließung 816 zunächst in einem Schritt 830 bestimmt, ob die Lücke zwischen dem Bezugssegment und dem nachfolgenden Segment weniger als eine vorbestimmte Anzahl von p Frames beträgt. Fig. 18 zeigt exemplarisch einen Ausschnitt aus der Melodiematrix mit einem Ausschnitt aus der Melodielinie 812. In dem exemplarisch betrachteten Fall weist die Melodielinie 812 eine Lücke 832 zwischen zwei Segmenten 812a und 812b auf, von denen das Segment 812a das vorerwähnte Bezugssegment sei. Wie es zu erkennen ist, beträgt die Lücke in dem exemplarischen Fall von Fig. 18 sechs Frames.On this division of the frequency axis f into halftone areas, the gap closure is based on the following Fig. 16 is explained. As previously mentioned, in gap closure 816, attempts are made to close gaps between adjacent segments of melody line 812 which are unintentionally in melody line recognition 780 and general segmentation 782, respectively, as described above. The gap closure is carried out segment by segment. For a current reference segment, within gap closure 816, it is first determined in a step 830 whether the gap between the reference segment and the subsequent segment is less than a predetermined number of p frames. Fig. 18 shows by way of example a section of the melody matrix with a section of the melody line 812. In the example considered, the melody line 812 has a gap 832 between two segments 812a and 812b, of which the segment 812a is the aforementioned reference segment. As can be seen, the gap in the exemplary case of Fig. 18 six frames.

In dem vorliegenden exemplarischen Fall mit den oben angegebenen bevorzugten Abtastfrequenzen usw. beträgt p vorzugsweise 4. In dem vorliegenden Fall ist die Lücke 832 also nicht kleiner als vier Frames, woraufhin die Verarbeitung mit Schritt 834 fortfährt, um zu überprüfen, ob die Lücke 832 kleiner gleich q Frames groß ist, wobei q vorzugsweise 15 beträgt. Dies ist vorliegend der Fall, weshalb die Verarbeitung bei Schritt 836 fortfährt, wo überprüft wird, ob die einander zugewandten Segmentenden des Bezugssegments 812a und des Nachfolgersegments 812b, d.h. das Ende des Segments 812a und der Anfang des Nachfolgersegments 812b, in einem gleichen oder in zueinander angrenzenden Halbtonbereichen liegen. In Fig. 18 ist zur Veranschaulichung des Sachverhaltes die Frequenzachse f in Halbtonbereiche untergliedert, wie sie in Schritt 818 ermittelt worden sind. Wie es zu erkennen ist, liegen in dem Fall von Fig. 18 die einander zugewandten Segmentenden der Segmente 812a und 812b in einem und demselben Halbtonbereich 838.In the present exemplary case, with the preferred sampling frequencies, etc. given above, p is preferably 4. Thus, in the present case, the gap 832 is not less than four frames, whereupon the processing proceeds to step 834 to check if the gap 832 is smaller is equal to q frames, where q is preferably 15. This is the case in the present case, so processing continues at step 836, where it is checked whether the facing segment ends of the reference segment 812a and the successor segment 812b, ie the end of the segment 812a and the beginning of the successor segment 812b, are in a same or in relation to each other adjacent halftone areas lie. In Fig. 18 To illustrate the situation, the frequency axis f is divided into halftone areas, as determined in step 818. As can be seen, lie in the case of Fig. 18 the facing segment ends of the segments 812a and 812b in one and the same halftone area 838.

Für diesen Fall der positiven Überprüfung in Schritt 836 fährt die Verarbeitung im Rahmen der Lückenschließung bei Schritt 840 fort, wo überprüft wird, welcher Amplitudenunterschied in dem wahrnehmungsbezogenen Spektrum aus Schritt 772 an den Positionen des Endes des Bezugssegments 812a und des Beginns des Nachfolgersegments 812b herrscht. Anders ausgedrückt schlägt die Einrichtung 304 in Schritt 840 in dem wahrnehmungsbezogenen Spektrum aus Schritt 772 die jeweiligen wahrnehmungsbezogenen Spektralwerte an den Positionen des Endes des Segments 812a und des Anfangs des Segments 812b nach und ermittelt den Absolutwert der Differenz der beiden Spektralwerte. Ferner stellt die Einrichtung 304 in Schritt 840 fest, ob der Unterschied größer als ein vorbestimmter Schwellenwert r ist, wobei derselbe vorzugsweise 20-40% und vorzugsweise 30% des wahrnehmungsbezogenen Spektralwertes an dem Ende des Bezugssegmentes 812a beträgt.For this positive check case, in step 836, the gap closure processing continues at step 840, where it is checked which amplitude difference in the perceptual spectrum of step 772 exists at the positions of the end of the reference segment 812a and the beginning of the successor segment 812b. In other words, in step 840, in the perceptual spectrum of step 772, means 304 looks up the respective perceptual spectral values at the positions of the end of segment 812a and the beginning of segment 812b and determines the absolute value of the difference of the two spectral values. Further, means 304 determines in step 840 whether the difference is greater than a predetermined threshold r, preferably being 20-40% and preferably 30% of the perceptual spectral value at the end of the reference segment 812a.

Liefert die Ermittlung in Schritt 840 ein positives Ergebnis, so schreitet die Lückenschließung mit Schritt 842 fort. Dort ermittelt die Einrichtung 304 eine Lückenschließungslinie 844 in der Melodiematrix, die das Ende des Bezugssegmentes 812a und den Anfang des Nachfolgersegmentes 812b direkt verbindet. Die Lückenschließungslinie ist vorzugsweise geradlinig, wie es auch in Fig. 18 gezeigt ist. Genauer ausgedrückt ist die Verbindungslinie 844 eine Funktion über die Frames, über welche hinweg sich die Lücke 832 erstreckt, wobei die Funktion jedem dieser Frames ein Frequenzbin zuordnet, so dass sich in der Melodiematrix eine gewünschte Verbindungslinie 844 ergibt.If the determination in step 840 gives a positive result, the gap closure proceeds to step 842. There, means 304 determines a gap closure line 844 in the melody matrix which directly connects the end of the reference segment 812a and the beginning of the successor segment 812b. The gap closure line is preferably rectilinear, as it is in Fig. 18 is shown. More specifically, the connecting line 844 is a function across the frames over which the gap 832 extends, the function assigning a frequency bin to each of these frames so that a desired connecting line 844 results in the melody matrix.

Entlang dieser Verbindungslinie ermittelt dann die Einrichtung 304 die entsprechenden wahrnehmungsbezogenen Spektralwerte aus dem wahrnehmungsbezogenen Spektrum aus Schritt 772, indem dieselbe an den entsprechenden Tupeln aus Frequenzbin und Frame der Lückenschließungslinie 844 in dem wahrnehmungsbezogenen Spektrum nachschlägt. Über diese wahrnehmungsbezogenen Spektralwerte entlang der Lückenschließungslinie ermittelt die Einrichtung 304 den Mittelwert und vergleicht denselben im Rahmen des Schrittes 842 mit den entsprechenden Mittelwerten der wahrnehmungsbezogenen Spektralwerte entlang des Bezugssegmentes 812a und des Nachfolgersegmentes 812b. Ergeben beide Vergleiche, dass der Mittelwert für die Lückenschließungslinie größer oder gleich dem Mittelwert des Bezugs- bzw. Nachfolgersegments 812a bzw. b ist, so wird die Lücke 832 in einem Schritt 846 geschlossen, und zwar indem in der Melodiematrix die Lückenschließungslinie 844 eingetragen wird bzw. die entsprechenden Matrixelemente derselben auf 1 gesetzt werden. Gleichzeitig wird in Schritt 846 die Liste von Segmenten verändert, um die Segmente 812a und 812b zu einem gemeinsamen Segment zu vereinigen, woraufhin die Lückenschließung für das Bezugssegment und das Nachfolgersegment beendet ist.Along this line of connection, then, means 304 determines the corresponding perceptual spectral values from the perceptual spectrum from step 772 by looking up the respective frequency bin and frame tuples of gap closure line 844 in the perceptual spectrum. Via these perceptual spectral values along the gap closure line, means 304 determines the mean and compares it in step 842 with the corresponding averages of perceptual spectral values along reference segment 812a and successor segment 812b. If both comparisons indicate that the mean for the gap closure line is greater than or equal to the average of the reference or successor segment 812a or b, then the gap 832 is closed in a step 846 by entering or closing the gap closure line 844 in the melody matrix the corresponding matrix elements thereof are set to 1. At the same time, in step 846, the list of segments is changed to merge the segments 812a and 812b into a common segment, whereupon the gap closure for the reference segment and the successor segment is completed.

Eine Lückenschließung entlang der Lückenschließungslinie 844 erfolgt auch, wenn sich in Schritt 830 ergibt, dass die Lücke 832 kleiner als 4 Frames lang ist. In diesem Fall wird in einem Schritt 848 die Lücke 832 geschlossen, und zwar wie in dem Fall von Schritt 846 entlang einer direkten und vorzugsweise geradlinigen Lückenschließungslinie 844, die die einander zugewandten Enden der Segmente 812a - 812b verbindet, woraufhin die Lückenschließung für die beiden Segmente beendet ist und mit dem nachfolgenden Segment fortfährt, so weit ein solches vorhanden ist. Obwohl dies in Fig. 16 nicht gezeigt ist, wird die Lückenschließung in Schritt 848 noch von einer Bedingung abhängig gemacht werden, die derjenigen von Schritt 836 entspricht, d.h. davon, dass die beiden einander zugewandten Segmentenden in dem gleichen oder benachbarten Halbtonbereichen liegen.A gap closure along the gap closure line 844 also occurs if, at step 830, the gap 832 is less than 4 frames long. In this case, in a step 848, the gap 832 is closed, as in the case of step 846 along a direct and preferably straight gap closure line 844 connecting the facing ends of the segments 812a-812b, whereupon the gap closure for the two segments is finished and continues with the subsequent segment, as far as such exists. Although this in Fig. 16 is not shown, the gap closure in step 848 will still be made dependent on a condition corresponding to that of step 836, ie, that the two mutually facing segment ends lie in the same or adjacent halftone areas.

Führt einer der Schritte 834, 836, 840 oder 842 zu einem negativen Überprüfungsergebnis, so endet die Lückenschließung für das Bezugssegment 812a und wird für das Nachfolgersegment 812b erneut durchgeführt.If any of the steps 834, 836, 840 or 842 result in a negative check result, the gap closure ends for the reference segment 812a and is performed again for the follower segment 812b.

Das Ergebnis der Lückenschließung 816 ist also eine möglicherweise verkürzte Liste von Segmenten bzw. eine Melodielinie, die in der Melodiematrix an manchen Stellen gegebenenfalls Lückenschließungslinien aufweist. Wie sich aus der vorhergehenden Erörterung ergab, wird bei einer Lücke kleiner 4 Frames eine Verbindung zwischen benachbarten Segmenten im gleichen oder angrenzenden Halbtonbereich immer hergestellt.The result of the gap closure 816 is thus a possibly shortened list of segments or a melody line, which may have gap closure lines in the melody matrix in some places. As was apparent from the previous discussion, at a gap of less than 4 frames, a connection between adjacent segments in the same or adjacent halftone area is always made.

Auf die Lückenschließung 816 folgt ein Harmoniemapping bzw. eine Harmonieabbildung 850, die dazu vorgesehen ist, Fehler in der Melodielinie zu beseitigen, die dadurch entstanden sind, dass bei der Ermittlung der potentiellen Melodielinie 780 fälschlicherweise der falsche Grundton eines Klanges bestimmt worden ist. Insbesondere arbeitet das Harmoniemapping 850 segmentweise, um einzelne Segmente der sich nach der Lückenschließung 816 ergebenden Melodielinie um eine Oktave, Quinte oder große Terz zu verschieben, wie es im folgenden noch näher beschrieben wird. Wie es die folgende Beschreibung zeigen wird, sind die Bedingungen hierfür streng, um nicht fälschlicherweise ein Segment falsch in der Frequenz zu verschieben. Das Harmoniemapping 850 wird im folgenden detaillierter Bezug nehmend auf Fig. 19 und Fig. 20 beschrieben.The gap closure 816 is followed by a harmony map 850, which is intended to eliminate errors in the melody line that have arisen by incorrectly determining the wrong root note of a sound in determining the potential melody line 780. In particular, the harmony mapping 850 operates segment by segment to shift individual segments of the melody line resulting from gap closure 816 by an octave, fifth, or major third, as will be described in more detail below. As the following description will show, the conditions for this are strict in order not to erroneously shift a segment wrong in frequency. The Harmoniemapping 850 is in the following detailed reference Fig. 19 and Fig. 20 described.

Wie bereits erwähnt wird das Harmoniemapping 850 segmentweise durchgeführt. Fig. 20 zeigt exemplarisch einen Ausschnitt aus der Melodielinie, wie sie sich nach der Lückenschließung 816 ergeben hat. Diese Melodielinie ist in Fig. 20 mit dem Bezugszeichen 852 versehen, wobei in dem Ausschnitt von Fig. 20 drei Segmente aus der Melodielinie 852 zu sehen sind, nämlich die Segmente 852a-c. Die Darstellung der Melodielinie erfolgt wieder als Spur in der Melodiematrix, wobei jedoch wieder daran erinnert wird, dass die Melodielinie 852 eine Funktion ist, die einzelnen - mittlerweile nicht mehr allen - Frames eindeutig ein Frequenzbin zuordnet, so dass sich die in Fig. 20 gezeigten Spuren ergeben.As already mentioned, the harmony mapping 850 is performed segment by segment. Fig. 20 shows by way of example a section of the melody line, as it has revealed after the gap closure 816. This melody line is in Fig. 20 provided with the reference numeral 852, wherein in the section of Fig. 20 three segments can be seen from the melody line 852, namely the segments 852a-c. The representation of the melody line is again as a track in the melody matrix, but again it is recalled that the melody line 852 is a function that uniquely assigns a single frequency bin to the individual frames - meanwhile not all of them - so that the in Fig. 20 show traces shown.

Das sich zwischen den Segmenten 852a und 852c befindliche Segment 852b scheint aus dem Melodielinienverlauf, wie er sich durch die Segmente 852a und 852c ergeben würde, herausgeschnitten zu sein. Insbesondere schließt sich in dem vorliegenden Fall exemplarisch das Segment 852b ohne Frame-Lücke an das Bezugssegment 852a an, wie es durch eine gestrichelte Linie 854 angedeutet ist. Ebenso soll exemplarisch der durch das Segment 852b abgedeckte Zeitbereich unmittelbar an den durch das Segment 852c abgedeckten Zeitbereich angrenzen, wie es durch eine gestrichelte Linie 856 angedeutet ist.The segment 852b located between the segments 852a and 852c appears to be cut out of the melody line progression as it would result from the segments 852a and 852c. In particular, in the present case, the segment 852b with no frame gap follows the reference segment 852a by way of example, as indicated by a dashed line 854. Likewise, by way of example, the time range covered by the segment 852b is intended to be directly adjacent to the time range covered by the segment 852c, as indicated by a dashed line 856.

In Fig. 20 sind nun in der Melodiematrix bzw. in der Zeit-/Frequenzdarstellung weitere gestrichelte, strichpunktierte und strichpunkt-punktierte Linien gezeigt, die sich auch aus einer Parallelverschiebung des Segmentes 852b entlang der Frequenzachse f ergeben. Insbesondere ist eine Strich-Punkt-Linie 858 um vier Halbtöne, d.h. um eine große Terz, zu dem Segment 852b zu höheren Frequenzen hin verschoben. Eine gestrichelte Linie 858b ist um zwölf Halbtöne von Frequenzrichtung f nach unten verschoben, d.h. um eine Oktav. Zu dieser Linie sind wieder eine Terzlinie 858c strichpunktiert und eine Quintlinie 858d als Strich-Punkt-Punkt-Linie, d.h. eine um sieben Halbtöne zu höheren Frequenzen hin relativ zu der Linie 858b verschobene Linie, dargestellt.In Fig. 20 are now in the melody matrix or in the time / frequency representation further dashed, dot-dashed and dot-dash lines shown, which also result from a parallel displacement of the segment 852b along the frequency axis f. In particular, a dash-dot line 858 by four semitones, ie a major third, to the segment 852b shifted to higher frequencies. Dashed line 858b is shifted down twelve halftones of frequency direction f, ie one octave. Again a third line 858c is dash-dotted to this line and a quint line 858d is shown as a dot-and-dash line, ie a line shifted by seven semitones towards higher frequencies relative to the line 858b.

Wie es Fig. 20 zu entnehmen ist, scheint das Segment 852b im Rahmen der Melodienlinienermittlung 780 fälschlicherweise ermittelt worden zu sein, da sich dieselbe bei Verschiebung um eine Oktav nach unten weniger sprunghaft zwischen die benachbarten Segmente 852a und 852c einfügen würde. Aufgabe des Harmoniemappings 850 besteht deshalb darin zu überprüfen, ob eine Verschiebung an solchen "Ausreißern" stattfinden soll oder nicht, da solche Frequenzsprünge in einer Melodie seltener vorkommen.Like it Fig. 20 As can be seen, the segment 852b appears to have been erroneously determined in the context of the melody line determination 780, since it would be less abruptly inserted between the adjacent segments 852a and 852c when shifted one octave down. The task of the Harmoniemappings 850 is therefore to check whether a shift to such "outliers" should take place or not, since such frequency jumps occur less frequently in a melody.

Das Harmoniemapping 850 beginnt mit der Ermittlung einer Melodieschwerpunktlinie mittels eines Mittelwertfilters in einem Schritt 860. Insbesondere umfasst der Schritt 860 die Berechnung eines gleitenden Mittelwertes des Melodieverlaufs 852 mit einer bestimmten Anzahl von Frames über die Segmente in Zeitrichtung t, wobei die Fensterlänge beispielsweise 80 - 120 und vorzugsweise 100 Frames bei oben exemplarisch genannter Framelänge von 8ms beträgt, d.h. entsprechend andere Anzahl an Frames bei einer anderen Framelänge. Genauer ausgedrückt wird zur Bestimmung der Melodieschwerpunktlinie ein Fenster der Länge 100 Frames frameweise entlang der Zeitachse t verschoben. Dabei werden alle Frequenzbins, die Frames innerhalb des Filterfensters durch die Melodielinie 852 zugeordnet sind, gemittelt und dieser Mittelwert für das Frame in der Mitte des Filterfensters eingetragen, wodurch sich nach Wiederholung für aufeinanderfolge Frames in dem Fall von Fig. 20 eine Melodieschwerpunktlinie 862 ergibt, eine Funktion, die den einzelnen Frames eindeutig eine Frequenz zuordnet. Die Melodieschwerpunktlinie 862 kann sich über den gesamten Zeitbereich des Audiosignals erstrecken, in welchem Fall das Filterfenster an dem Anfang und dem Ende des Stückes entsprechend "gestaucht" werden muss, oder nur über einen Bereich, der von dem Anfang und dem -Ende des Audiostückes um die Hälfte der Filterfensterbreite beabstandet ist.The harmony mapping 850 begins with the determination of a melody centroid line by means of a mean value filter in a step 860. In particular, step 860 comprises calculating a moving average of the melody curve 852 with a certain number of frames over the segments in the time direction t, the window length being 80 - 120, for example and preferably 100 frames at the above-mentioned frame length of 8 ms, ie correspondingly different number of frames at a different frame length. More precisely, to determine the melody centroid line, a window of length 100 frames is frame-shifted along the time axis t. In this case, all the frequency bins associated with frames within the filter window by the melody line 852 are averaged and this average value for the frame is entered in the middle of the filter window, which causes repetition of successive frames in the filter frame Case of Fig. 20 results in a melody centroid line 862, a function that uniquely assigns a frequency to the individual frames. The melody centroid line 862 may extend over the entire time range of the audio signal, in which case the filter window at the beginning and end of the piece must be "squashed" accordingly, or only over a range from the beginning and the end of the audio piece half the filter window width is spaced.

In einem darauffolgenden Schritt 864 überprüft die Einrichtung 304, ob das Bezugssegment 852a entlang der Zeitachse t direkt an das Nachfolgesegment 852b angrenzt. Ist dies nicht der Fall, wird die Verarbeitung mit dem nachfolgenden Segment als Bezugssegment erneut durchgeführt (866).In a subsequent step 864, the device 304 checks whether the reference segment 852a is adjacent to the successor segment 852b along the time axis t. If this is not the case, the processing with the subsequent segment as the reference segment is performed again (866).

In dem vorliegenden Fall von Fig. 20 führt jedoch die Überprüfung in Schritt 864 zu einem positiven Ergebnis, woraufhin die Verarbeitung mit Schritt 868 fortfährt. In Schritt 868 wird das Nachfolgesegment 852b virtuell verschoben, um die Oktav-, Quint- und/oder Terz-Linien 858a-d zu erhalten. Die Auswahl von großer Terz, Quinte und Oktav ist bei Pop-Musik vorteilhaft, da dort meist ein Dur-Akkord verwendet wird, bei dem der höchste und der niedrigste Ton eines Akkords einen Abstand einer großen Terz plus einer kleinen Terz also einer Quinte aufweisen. Alternativ ist obiges Vorgehen natürlich auch bei Molltonarten anwendbar, bei denen Akkorde von kleiner Terz und dann großer Terz auftreten.In the present case of Fig. 20 however, the check at step 864 results in a positive result, whereupon the processing proceeds to step 868. In step 868, the successor segment 852b is virtually shifted to obtain the octave, fifth, and / or third lines 858a-d. The selection of major thirds, fifths and octaves is advantageous in pop music, as there is usually used a major chord, in which the highest and the lowest tone of a chord have a spacing of a major third plus a minor third of a fifth. Alternatively, the above procedure is of course also applicable to minor keys, in which chords of minor third and then major third occur.

In einem Schritt 870 schlägt dann die Einrichtung 304 in dem Spektrum bewertet mit Kurven gleicher Lautstärke bzw. dem wahrnehmungsbezogenen Spektrum aus Schritt 772 nach, um den minimalen wahrnehmungsbezogenen Spektralwert jeweils entlang des Bezugssegmentes 852a und der Oktav-, Quint- und/oder Terz-Linie 858a-d zu erhalten. In dem exemplarischen Fall von Fig. 20 ergeben sich folglich fünf Minimalwerte.In a step 870, then, means 304 in the spectrum evaluated with equal loudness curves or the perceptual spectrum from step 772, respectively, look up the minimum perceptual spectral value along reference segment 852a and the octave, quintet, and / or third line, respectively 858a-d. In the exemplary case of Fig. 20 Consequently, there are five minimum values.

Diese Minimalwerte werden bei dem nachfolgenden Schritt 872 dazu verwendet, um unter den Oktav-, Quint- und/oder Terz-Verschiebungslinien 858a-d eine oder keine auszuwählen, und zwar abhängig davon, ob der für die jeweilige Oktav-, Quint- und/oder Terz-Linie ermittelte Minimalwert einen vorbestimmten Bezug zum Minimalwert des Bezugssegmentes aufweist. Insbesondere wird eine Oktavlinie 858b unter den Linien 858a - 858d ausgewählt, falls der Minimalwert um höchstens 30% kleiner als der Minimalwert für das Bezugssegment 852a ist. Eine Quintlinie 858d wird ausgewählt, falls der für sie ermittelte Minimalwert um höchstens 2,5% kleiner als der Minimalwert des Bezugssegmentes 852a ist. Eine der Terzlinien 858c wird verwendet, falls der entsprechende Minimalwert für diese Linie um mindestens 10% größer als der Minimalwert für das Bezugssegment 852a ist.These minimum values are used in subsequent step 872 to select one or none among the octave, fifth, and / or third shift lines 858a-d, depending on whether the octave, fifth, and / or octave shift lines or third-line minimum value has a predetermined reference to the minimum value of the reference segment. In particular, an octave line 858b is selected below the lines 858a-858d if the minimum value is at most 30% less than the minimum value for the reference segment 852a. A quint-line 858d is selected if the minimum value determined for it is at most 2.5% smaller than the minimum value of the reference segment 852a. One of the triplets 858c is used if the corresponding minimum value for that line is at least 10% greater than the minimum value for the reference segment 852a.

Die oben erwähnten Werte, die als Kriterien zur Auswahl aus den Linien 858a - 858b herangezogen wurden, können natürlich variiert werden, wiewohl dieselben für Pop-Musik-Stücke sehr gute Ergebnisse lieferten. Ebenfalls ist es nicht unbedingt notwendig, die Minimalwerte für das Bezugssegment bzw. die einzelnen Linien 858a-d zu ermitteln, sondern es könnten beispielsweise auch die einzelnen Mittelwerte herangezogen werden. Der Vorteil an der Unterschiedlichkeit der Kriterien für die einzelnen Linien besteht darin, dass hierdurch einer Wahrscheinlichkeit Rechnung getragen werden kann, dass bei der Melodielinienermittlung 780 fälschlicherweise ein Oktav-, Quint- bzw. Terz-Sprung aufgetreten ist, bzw. dass ein solcher Sprung in der Melodie tatsächlich gewünscht war.Of course, the above-mentioned values used as criteria for selection from lines 858a-858b can be varied, although they provided very good results for pop music pieces. Likewise, it is not absolutely necessary to determine the minimum values for the reference segment or the individual lines 858a-d, but the individual average values could also be used, for example. The advantage of the diversity of the criteria for the individual lines is that this can take into account a probability that an octave, fifth or third jump has erroneously occurred in the melody line determination 780, or that such a jump in the melody was actually wanted.

In einem nachfolgenden Schritt 874 verschiebt die Einrichtung 304 das Segment 852b auf die ausgewählte Linie 858a - 858d, sofern eine solche in Schritt 872 ausgewählt wurde, vorausgesetzt, dass die Verschiebung in die Richtung der Melodieschwerpunktlinie 862 zeigt, und zwar von dem Nachfolgesegment 852b aus gesehen. In dem exemplarischen Fall von Fig. 20 wäre letztere Bedingung erfüllt, solange in Schritt 872 nicht die Terzlinie 858a ausgewählt würde.In a subsequent step 874, the device 304 shifts the segment 852b to the selected line 858a-858d, if such was selected in step 872, provided that the shift points in the direction of the melody centerline 862 as viewed from the follower segment 852b , In the exemplary case from Fig. 20 if the latter condition were satisfied, as long as the third line 858a was not selected in step 872.

Nach dem Harmoniemapping 850 erfolgt in einem Schritt 876 eine Vibratoerkennung und ein Vibratoausgleich, dessen Funktionsweise Bezug nehmend auf die Fig. 21 und 27 näher erläutert wird.After Harmoniemapping 850 takes place in a step 876 a Vibratoerkennung and vibrato compensation, the operation of which reference to the Fig. 21 and 27 is explained in more detail.

Der Schritt 876 wird segmentweise für jedes Segment 878 in der Melodielinie durchgeführt, wie sie sich nach dem Harmoniemapping 850 ergibt. In Fig. 22 ist ein exemplarisches Segment 878 vergrößert dargestellt, und zwar in einer Darstellung bei der die waagrechte Achse der Zeitachse und die senkrechte Achse der Frequenzachse entspricht, wie es auch in den vorhergehenden Figuren der Fall war. In einem ersten Schritt 880 wird nun im Rahmen der Vibratoerkennung 876 das Bezugssegment 878 zunächst auf lokale Extrema hin untersucht. Hierbei wird wieder daran erinnert, dass ja die Melodielinienfunktion und somit auch der dem interessierenden Segment entsprechende Teil derselben die Frames über dieses Segment hinweg eindeutig auf Frequenzbins abbildet, um das Segment 888 zu bilden. Diese Segmentfunktion wird auf lokale Extrema hin untersucht. Anders ausgedrückt wird in Schritt 880 das Bezugssegment 878 auf diejenigen Stellen hin untersucht, wo dasselbe entlang der Zeitachse im Hinblick auf die Frequenzrichtung lokale Extremalstellen aufweist, also Stellen, an denen die Steigung der Melodielinienfunktion Null beträgt. Diese Stellen sind in Fig. 22 exemplarisch mit senkrechten Strichen 882 angedeutet.Step 876 is performed segment by segment for each segment 878 in the melody line as it results after harmony mapping 850. In Fig. 22 For example, an exemplary segment 878 is shown enlarged in a representation in which the horizontal axis corresponds to the time axis and the vertical axis corresponds to the frequency axis, as was the case in the previous figures. In a first step 880, the reference segment 878 is first examined in the context of the vibrato detection 876 for local extrema. Here again it is recalled that yes, the melody line function and thus also the part of the segment corresponding to the interest clearly maps the frames over this segment unambiguously on frequency bins in order to form the segment 888. This segment function is examined for local extrema. In other words, in step 880, the reference segment 878 is examined for those locations where it has local extremal locations along the time axis with respect to the frequency direction, ie, locations where the slope of the melody line function is zero. These posts are in Fig. 22 exemplified with vertical lines 882 indicated.

In einem nachfolgenden Schritt 884 wird überprüft, ob die Extremastellen 882 derart angeordnet sind, dass in Zeitrichtung benachbarte lokale Extremalstellen 882 an Frequenzbins angeordnet sind, die einen Frequenzabstand aufweisen, der größer oder kleiner gleich einer vorbestimmten Anzahl von Bins, nämlich beispielsweise 15 bis 25 vorzugsweise aber 22 Bins bei bezugnehmend auf Fig. 4 beschriebener Implementierung der Frequenzanalyse bzw. einer Anzahl von Bins pro Halbtonbereich von etwa 2 bis 6, ist. In Fig. 22 ist mit einem Doppelpfeil 886 exemplarisch die Länge von 22 Frequenzbins dargestellt. Wie es zu erkennen ist, erfüllen die Extremalstellen 882 das Kriterium 884.In a subsequent step 884, it is checked whether the extrema sites 882 are arranged such that temporally adjacent local extreme sites 882 are located at frequency bins having a frequency spacing greater or less equal to a predetermined number of bins, e.g., 15 to 25, preferably but 22 bins referring to Fig. 4 described implementation of the frequency analysis or a Number of bins per semitone range of about 2 to 6, is. In Fig. 22 is exemplified by a double arrow 886 the length of 22 frequency bins. As can be seen, extremals 882 satisfy criterion 884.

In einem darauffolgenden Schritt 888 überprüft die Einrichtung 304, ob zwischen den benachbarten Extremalstellen 882 der zeitliche Abstand immer kleiner gleich einer vorbestimmten Anzahl von Zeitframes ist, wobei die vorbestimmte Anzahl beispielsweise 21 beträgt.In a subsequent step 888, the device 304 checks whether, between the adjacent extreme digits 882, the time interval is always less than or equal to a predetermined number of time frames, the predetermined number being 21, for example.

Fällt die Überprüfung in Schritt 888 positiv aus, wie es in dem Beispiel von Fig. 22 der Fall ist, was an dem Doppelpfeil 890 erkennbar ist, der der Länge von 21 Frames entsprechen soll, wird in einem Schritt 892 überprüft, ob die Anzahl der Extrema 882 größer oder gleich einer vorbestimmten Anzahl ist, die in dem vorliegenden Fall vorzugsweise 5 beträgt. In dem Beispiel von Fig. 22 ist dies gegeben. Fällt also auch die Überprüfung in Schritt 892 positiv aus, wird in einem darauffolgenden Schritt 894 das Bezugssegment 878 bzw. das erkannte Vibrato durch dessen Mittelwert ersetzt. Das Ergebnis des Schrittes 894 ist in Fig. 22 bei 896 angezeigt. Genauer ausgedrückt wird in Schritt 894 das Bezugssegment 878 auf der aktuellen Melodielinie entfernt und durch ein Bezugssegment 896 ersetzt, das sich über dieselben Frames wie das Bezugssegment 878 erstreckt jedoch entlang eines konstanten Frequenzbins verläuft, das den Mittelwert der Frequenzbins entspricht, durch die das ersetzte Bezugssegment 878 verlief. Fällt das Ergebnis einer der Überprüfungen 884, 888 und 892 negativ aus, so endet die Vibratoerkennung bzw. - ausgleich für das betreffende Bezugssegment.If the check in step 888 turns out to be positive, as in the example of Fig. 22 That is, if the number of extrema 882 is greater than or equal to a predetermined number, which is preferably 5 in the present case, it is checked in a step 892, as shown by the double arrow 890, which should be 21 frames long , In the example of Fig. 22 this is given. Thus, even if the check in step 892 is positive, in a subsequent step 894 the reference segment 878 or the detected vibrato is replaced by its mean value. The result of step 894 is in Fig. 22 displayed at 896. More specifically, in step 894, the reference segment 878 on the current melody line is removed and replaced by a reference segment 896 which extends over the same frames as the reference segment 878 but along a constant frequency bin corresponding to the average of the frequency bins through which the replaced reference segment 878 was. If the result of one of the checks 884, 888 and 892 is negative, the vibrato detection or compensation ends for the relevant reference segment.

Anders ausgedrückt, führt die Vibratoerkennung und der Vibratoausgleich gemäß Fig. 21 eine Vibratoerkennung durch schrittweise Merkmalsextraktion durch, bei welcher nach lokalen Extrema, nämlich lokalen Minima und Maxima, gesucht wird, mit einer Einschränkung über die Anzahl der zulässigen Frequenzbins der Modulation und einer Einschränkung im zeitlichen Abstand der Extrema, wobei als ein Vibrato nur eine Gruppe von mindestens 5 Extrema angesehen wird. Ein erkanntes Vibrato wird dann in der Melodiematrix durch dessen Mittelwert ersetzt.In other words, vibrato detection and vibrato equalization are performed according to Fig. 21 a vibrato detection by stepwise feature extraction, which searches for local extrema, namely local minima and maxima, with a restriction on the number of allowed frequency bins of the modulation and a limitation in the temporal distance of the extrema, where as a vibrato only a group of at least 5 extrema is considered. A recognized vibrato is then replaced in the melody matrix by its mean value.

Nach der Vibratoerkennung in Schritt 876 wird in Schritt 898 eine statistische Korrektur durchgeführt, die ebenfalls der Beobachtung Rechnung trägt, dass in einer Melodie kurze und extreme Tonhöhenschwankungen nicht zu erwarten sind. Die statistische Korrektur nach 898 wird Bezug nehmend auf Fig. 23 näher erläutert. Fig. 23 zeigt exemplarisch einen Ausschnitt aus einer Melodielinie 900, wie sie sich nach der Vibratoerkennung 876 ergeben mag. Wieder ist der Verlauf der Melodielinie 900 in der Melodiematrix eingetragen dargestellt, die von der Frequenzachse f und der Zeitachse t aufgespannt wird. In der statistischen Korrektur 898 wird zunächst ähnlich dem Schritt 860 bei dem Harmoniemapping eine Melodieschwerpunktlinie für die Melodielinie 900 bestimmt. Zur Bestimmung wird wie in dem Fall von Schritt 860 ein Fenster 902 vorbestimmter zeitlicher Länge, wie z.B. von ebenfalls 100 Frames Länge, entlang der Zeitachse t frameweise verschoben, um Frame für Frame einen Mittelwert der Frequenzbins zu berechnen, die die Melodielinie 900 innerhalb des Fensters 902 durchläuft, wobei der Mittelwert dem Frame in der Mitte des Fensters 902 als Frequenzbin zugeordnet wird, wodurch sich ein Punkt 904 der zu bestimmenden Melodieschwerpunktlinie ergibt. Die sich so ergebende Melodieschwerpunktlinie ist in Fig. 23 mit dem Bezugszeichen 906 angezeigt.After the vibrato detection in step 876, a statistical correction is performed in step 898, which also accounts for the observation that in a tune short and extreme pitch variations are not to be expected. The statistical correction of 898 will be referred to Fig. 23 explained in more detail. Fig. 23 shows by way of example a section of a melody line 900, as it may result from the vibrato recognition 876. Again, the course of the melody line 900 is shown registered in the melody matrix, which is spanned by the frequency axis f and the time axis t. In the statistical correction 898, a melody centerline for the melody line 900 is first determined similar to the step 860 in the harmony mapping. For determination, as in the case of step 860, a window 902 of predetermined length, such as 100 frames in length, is frame-shifted along the time axis t to calculate, frame by frame, an average of the frequency bins containing the melody line 900 within the window 902, the average being assigned to the frame in the middle of the window 902 as a frequency bin, resulting in a point 904 of the melody centerline to be determined. The resulting melody centerline is in Fig. 23 indicated by the reference numeral 906.

Daraufhin wird ein zweites Fenster, das in Fig. 23 nicht gezeigt ist, entlang der Zeitachse t frameweise verschoben, das beispielsweise eine Fensterlänge von 170 Frames aufweist. Pro Frame wird hierbei die Standardabweichung der Melodielinie 900 zur Melodieschwerpunktlinie 906 bestimmt. Die sich ergebende Standardabweichung für jedes Frame wird mit 2 multipliziert und um 1 Bin ergänzt. Dieser Wert wird dann für jedes Frame zum jeweiligen Frequenzbin, das die Melodieschwerpunktlinie 906 an diesem Frame durchläuft, hinzuaddiert und hiervon abgezogen, um eine obere und eine untere Standardabweichungslinie 908a und 908b zu erhalten. Die beiden Standardabweichungslinien 908a und 908b definieren einen zugelassenen Bereich 910 zwischen denselben. Im Rahmen der statistischen Korrektur 898 werden nun alle Segmente der Melodielinie 900 entfernt, die vollständig außerhalb des Zulassungsbereichs 910 liegen. Das Ergebnis der statistischen Korrektur 898 ist folglich eine Reduzierung der Anzahl von Segmenten.This will cause a second window to appear in Fig. 23 not shown, shifted along the time axis t frame-wise, which has, for example, a window length of 170 frames. For each frame, the standard deviation of the melody line 900 to the melody center line 906 is determined. The resulting standard deviation for each frame is multiplied by 2 and added by 1 bin. This value then becomes the respective frequency bin for each frame, which is the Melody centerline 906 at this frame traverses, adds, and subtracts to obtain upper and lower standard deviation lines 908a and 908b. The two standard deviation lines 908a and 908b define an allowed area 910 between them. As part of the statistical correction 898, all segments of the melody line 900 that are completely outside of the approval area 910 are now removed. The result of the statistical correction 898 is thus a reduction in the number of segments.

Auf den Schritt 898 folgt ein Halbtonmapping 912. Das Halbtonmapping wird frameweise durchgeführt, wobei hierzu auf den Halbtonvektor auf Schritt 818 zurückgegriffen wird, der die Halbtonfrequenzen definiert. Das Halbtonmapping 912 funktioniert derart, dass für jedes Frame, an welchem die Melodielinie, die sich aus Schritt 898 ergeben hat, vorhanden ist, überprüft wird, in welchem der Halbtonbereiche das Frequenzbin liegt, in welchem die Melodielinie das jeweilige Frame durchläuft bzw. auf welches Frequenzbin die Melodielinienfunktion das jeweilige Frame abbildet. Die Melodielinie wird dann derart geändert, dass in dem jeweiligen Frame die Melodielinie auf denjenigen Frequenzwert geändert wird, der der Halbtonfrequenz des Halbtonbereiches entspricht, in welchem das Frequenzbin lag, durch das die Melodielinie verlief.The step 898 is followed by a halftone mapping 912. The halftone mapping is performed frame-wise by resorting to the halftone vector, step 818, which defines the halftone frequencies. The halftone mapping 912 functions such that, for each frame on which the melody line resulting from step 898 is present, it is checked in which of the halftone areas the frequency bin lies in which the melody line passes through the respective frame Frequency bin the melody line function the respective frame maps. The melody line is then changed such that in the respective frame the melody line is changed to the frequency value corresponding to the semitone frequency of the semitone area in which the frequency bin through which the melody line passed was.

Anstatt der frameweisen Halbtonabbildung bzw. Quantisierung kann auch eine segmentweise Halbtonquantisierung durchgeführt werden, beispielsweise indem auf die vorhergehende beschriebene Weise lediglich der Frequenzmittelwert pro Segment einem der Halbtonbereiche und damit der entsprechenden Halbtonbereichsfrequenz zugeordnet wird, die dann über die gesamte zeitliche Länge des entsprechenden Segmentes hinweg als die Frequenz verwendet wird.Instead of the frame-wise halftone mapping or quantization, segment-wise semitone quantization can also be carried out, for example by assigning only the frequency mean value per segment to one of the halftone areas and thus to the corresponding halftone area frequency in the previously described manner, which then over the entire time length of the corresponding segment the frequency is used.

Die Schritte 782, 816, 818, 850, 876, 898 und 912 stellen entsprechen folglich dem Schritt 760 in Fig. 2.Steps 782, 816, 818, 850, 876, 898 and 912 thus correspond to step 760 in FIG Fig. 2 ,

Auf das Halbtonmapping 912 hin wird eine pro Segment stattfindende Onseterkennung und -korrektur in Schritt 914 durchgeführt. Diese wird Bezug nehmend auf die Fig. 24 - 26 näher erläutert.Upon halftone mapping 912, an onset detection and correction per segment is performed in step 914. This will be referred to the Fig. 24 - 26 explained in more detail.

Ziel der Onseterkennung und -korrektur 914 ist es, die einzelnen Segmente der sich durch das Halbtonmapping 912 ergebenen Melodielinie, die mehr und mehr den einzelnen Noten der gesuchten Melodie entsprechen, hinsichtlich ihrer Anfangszeitpunkte zu korrigieren bzw. zu präzisieren. Hierzu wird wieder auf das eingehende bzw. in Schritt 750 bereitgestellte Audiosignal 302 zurückgegriffen, wie es im folgenden näher beschrieben werden wird.The goal of the onset detection and correction 914 is to correct the individual segments of the melody line resulting from the halftone mapping 912, which correspond more and more to the individual notes of the searched tune, with respect to their starting times. For this purpose, the incoming or in step 750 provided audio signal 302 is used again, as will be described in more detail below.

In einem Schritt 916 wird zunächst das Audiosignal 302 mit einem Bandpassfilter gefiltert, der der Halbtonfrequenz, auf die das jeweilige Bezugssegment in Schritt 912 quantisiert worden ist, entspricht bzw. mit einem Bandpassfilter, das Grenzfrequenzen aufweist, zwischen denen die quantisierte Halbtonfrequenz des jeweiligen Segmentes liegt. Vorzugsweise wird das Bandpassfilter als ein solches verwendet, das Grenzfrequenzen aufweist, die den Halbtongrenzfrequenzen fu und fo des Halbtonbereiches entsprechen, in welchem sich das betrachtete Segment befindet. Noch weiter vorzugsweise wird als das Bandpassfilter ein IIR-Bandpassfilter mit dem zu dem jeweiligen Halbtonbereich zugehörigen Grenzfrequenzen fu und fo als Filtergrenzfrequenzen gefiltert oder mit einem Butterworth-Bandpass-Filter, dessen Übertragungsfunktion in Fig. 25 gezeigt ist.In a step 916, first the audio signal 302 is filtered with a bandpass filter corresponding to the halftone frequency to which the respective reference segment has been quantized in step 912, or with a bandpass filter having cutoff frequencies between which the quantized halftone frequency of the respective segment lies , Preferably, the bandpass filter is used as one having cutoff frequencies corresponding to the halftone cutoff frequencies f u and f o of the halftone region in which the considered segment is located. Still further preferably, as the band-pass filter, an IIR band-pass filter with the cutoff frequencies f u and f o associated with the respective halftone region is filtered as filter cutoff frequencies or with a Butterworth bandpass filter whose transfer function in Fig. 25 is shown.

Anschließend erfolgt in einem Schritt 918 eine Zweiwegegleichrichtung des in Schritt 916 gefilterten Audiosignals, woraufhin in einem Schritt 920 das in Schritt 918 erhaltene Zeitsignal interpoliert und das interpolierte Zeitsignal mit einem Hammingfenster gefaltet wird, wodurch eine Hüllkurve des zweiwegegleichgerichteten bzw. des gefilterten Audiosignals ermittelt wird.Subsequently, in a step 918, a two-way rectification of the audio signal filtered in step 916 is performed, whereupon, in a step 920, the time signal obtained in step 918 is interpolated and the interpolated time signal is convolved with a Hamming window, whereby an envelope of the two-way rectified and filtered audio signals, respectively, is determined.

Die Schritt 916 - 920 werden Bezug nehmend auf Fig. 26 noch einmal veranschaulicht. Fig. 26 zeigt mit Bezugszeichen 922 das zweiwegegleichgerichtete Audiosignal, wie es sich nach Schritt 918 ergibt, und zwar in einem Graphen, bei dem horizontal die Zeit t in virtuellen Einheiten und vertikal die Amplitude des Audiosignals A in virtuellen Einheiten aufgetragen ist. Ferner ist in dem Graphen die Hüllkurve 924 gezeigt, die sich in Schritt 920 ergibt.Steps 916-920 will be referred to Fig. 26 once again illustrated. Fig. 26 Numeral 922 shows the two-way rectified audio signal, as it does after step 918, in a graph plotting horizontally the time t in virtual units and vertically the amplitude of the audio signal A in virtual units. Further, in the graph, the envelope 924 resulting in step 920 is shown.

Die Schritte 916 - 920 stellen lediglich eine Möglichkeit zur Erzeugung der Hüllkurve 924 dar und können natürlich variiert werden. Jedenfalls werden Hüllkurven 924 für das Audiosignal für all diejenigen Halbtonfrequenzen bzw. Halbtonbereiche erzeugt, in welchen Segmente bzw. Notensegmente der aktuellen Melodielinie angeordnet sind. Für jede solche Hüllkurve 924 werden dann die folgenden Schritte von Fig. 24 ausgeführt.Steps 916-920 are only one way of generating the envelope 924 and of course can be varied. In any case, envelopes 924 are generated for the audio signal for all those semitone frequencies or halftone areas in which segments or note segments of the current melody line are arranged. For each such envelope 924, the following steps of Fig. 24 executed.

Zunächst werden in einem Schritt 926 potentielle Anfangszeitpunkte ermittelt, und zwar als die Orte lokal maximalen Anstiegs der Hüllkurve 924. Mit anderen Worten werden Wendepunkte in der Hüllkurve 924 in Schritt 926 bestimmt. Die Zeitpunkte der Wendepunkte in dem Fall von Fig. 26 sind mit senkrechten Strichen 928 veranschaulicht.First, in a step 926, potential start times are determined as the locations of locally maximum rise of the envelope 924. In other words, inflection points in the envelope 924 are determined in step 926. The times of the turning points in the case of Fig. 26 are illustrated with vertical bars 928.

Zur folgenden Auswertung der ermittelten potentiellen Anfangszeitpunkte bzw. potentiellen Anstiege wird ein Downsampling auf die Zeitauflösung der Vorverarbeitung durchgeführt, ggf. im Rahmen des Schrittes 926, was in Fig. 24 nicht gezeigt ist. Es wird darauf hingewiesen, dass in Schritt 926 nicht alle potentiellen Anfangszeitpunkte bzw. alle Wendepunkte ermittelt werden müssen. Auch ist es nicht notwendig, dass alle bestimmten bzw. ermittelten potentiellen Anfangszeitpunkte der nachfolgenden Verarbeitung zugeführt werden müssen. Vielmehr ist es möglich, lediglich diejenigen Wendepunkte als potentielle Anfangszeitpunkte zu ermitteln bzw. weiter zu verarbeiten, die in zeitlicher Nähe vor oder in einem Zeitbereich angeordnet sind, der einem der Segmente der Melodielinie entspricht, die in dem Halbtonbereich angeordnet ist, das der Ermittlung der Hüllkurve 924 zugrunde lag.For the following evaluation of the determined potential starting times or potential increases, a downsampling to the time resolution of the preprocessing is carried out, if necessary in the context of step 926, which is described in Fig. 24 not shown. It should be noted that in step 926 not all potential start times or all inflection points have to be determined. It is also not necessary that all determined or determined potential starting times must be supplied to the subsequent processing. Rather, it is possible to determine or further process only those inflection points as potential starting times, which are arranged in temporal proximity before or in a time range of one of the segments corresponds to the melody line located in the halftone area underlying the determination of the envelope 924.

In einem Schritt 928 wird nun überprüft, ob für einen potentiellen Anfangszeitpunkt gilt, dass derselbe vor dem Segmentanfang des demselben entsprechenden Segmentes liegt. Ist dies der Fall, fährt die Verarbeitung bei Schritt 930 fort. Andernfalls jedoch, d.h. wenn der potentielle Anfangszeitpunkt hinter dem existierenden Segmentanfang ist, wird Schritt 928 für einen nächsten potentiellen Anfangszeitpunkt wiederholt oder Schritt 926 für eine nächste Hüllkurve, die für einen anderen Halbtonbereich ermittelt worden ist, oder die segmentweise durchgeführte Onseterkennung und -korrektur wird für ein nächstes Segment durchgeführt.In a step 928 it is now checked whether, for a potential start time, it lies before the segment start of the same corresponding segment. If so, processing continues at step 930. Otherwise, however, i. if the potential start time is past the existing start of the segment, step 928 is repeated for a next potential start time, or step 926 for a next envelope determined for another half-tone range, or segmented onset detection and correction is performed for a next segment ,

In Schritt 930 wird überprüft, ob der potentielle Anfangszeitpunkt mehr als x Frames vor dem Anfang des entsprechenden Segmentes liegt, wobei x beispielsweise zwischen 8 und 12 einschließlich ist und vorzugsweise 10 beträgt bei einer Framelänge von 8ms, wobei die Werte für andere Framelängen entsprechend zu ändern wären. Ist dies nicht der Fall, d.h. liegt der potentielle Anfangszeitpunkt bzw. der ermittelte Anfangszeitpunkt bis 10 Frames vor dem interessierenden Segment, wird in einem Schritt 932 die Lücke zwischen dem potentiellen Anfangszeitpunkt und dem bisherigen Segmentanfang geschlossen bzw. der bisherige Segmentanfang auf den potentiellen Anfangszeitpunkt korrigiert. Dabei wird ggf. das Vorgängersegment entsprechend verkürzt bzw. dessen Segmentende auf das Frame vor dem potentiellen Anfangszeitpunkt geändert. Anders ausgedrückt umfasst der Schritt 932 eine Verlängerung des Bezugssegmentes nach vorne bis zu dem potentiellen Anfangszeitpunkt und eine eventuelle Verkürzung der Länge des Vorgängersegmentes am Ende desselben, um eine Überlappung der beiden Segmente zu vermeiden.In step 930, a check is made as to whether the potential start time is more than x frames before the beginning of the corresponding segment, where x is between 8 and 12, for example, and preferably 10 with a frame length of 8 ms, changing the values for other frame lengths accordingly would. If this is not the case, ie if the potential start time or the determined start time is 10 frames before the segment of interest, the gap between the potential start time and the previous segment start is closed or the previous start of the segment is corrected to the potential start time in a step 932 , If necessary, the predecessor segment is correspondingly shortened or its segment end is changed to the frame before the potential start time. In other words, step 932 includes extending the reference segment forward to the potential start time and possibly shortening the length of the precursor segment at the end thereof to avoid overlapping the two segments.

Ergibt jedoch die Überprüfung in Schritt 930, dass der potentielle Anfangszeitpunkt näher als x Frames vor dem Anfang des entsprechenden Segmentes liegt, wird in einem Schritt 934 überprüft, ob der Schritt 934 für diesen potentiellen Anfangszeitpunkt das erste Mal durchlaufen wird. Ist dies nicht der Fall, so endet hier die Verarbeitung für diesen potentiellen Anfangszeitpunkt und das betreffende Segment und die Verarbeitung der Onseterkennung führt in Schritt 928 für einen weiteren potentiellen Anfangszeitpunkt oder in Schritt 926 für eine weitere Hüllkurve fort.However, if the check at step 930 indicates that the potential start time is closer than x frames before the beginning of the corresponding segment, it is checked in step 934 whether step 934 is being traversed the first time for that potential start time. If this is not the case here, the processing for this potential start time and the relevant segment ends here, and the processing of the onset detection continues in step 928 for another potential start time or in step 926 for a further envelope.

Anderenfalls jedoch wird in einem Schritt 936 der bisherige Segmentanfang des interessierenden Segmentes virtuell nach vorne verschoben. Dabei werden die wahrnehmungsbezogenen Spektralwerte im wahrnehmungsbezogenen Spektrum nachgeschlagen, die sich an dem virtuell verschobenen Segmentanfangszeitpunkten befinden. Überschreitet der Abfall dieser wahrnehmungsbezogenen Spektralwerte im wahrnehmungsbezogenen Spektrum einen gewissen Wert, so wird das Frame, an dem diese Überschreitung stattgefunden hat, vorläufig als Segmentanfang des Bezugssegmentes verwendet und der Schritt 930 noch einmal wiederholt. Liegt dann der potentielle Anfangszeitpunkt nicht mehr mehr als x Frames vor dem in Schritt 936 ermittelten Anfang des entsprechenden Segmentes, wird die Lücke in Schritt 932 ebenfalls geschlossen, wie es im vorhergehenden beschrieben worden ist.Otherwise, however, in a step 936, the previous segment start of the segment of interest is virtually moved forward. In doing so, the perceptual spectral values in the perception-related spectrum are looked up, which are located at the virtually shifted segment start times. If the fall of these perceptual spectral values in the perceptual spectrum exceeds a certain value, the frame in which this transgression has taken place is provisionally used as segment start of the reference segment and step 930 is repeated again. If then the potential start time is not more than x frames before the beginning of the corresponding segment determined in step 936, the gap is also closed in step 932, as described above.

Der Effekt der Onseterkennung und -korrektur 914 besteht folglich darin, dass einzelne Segmente in der aktuellen Melodielinie in ihrer zeitlichen Ausdehnung verändert werden, nämlich nach vorne verlängert bzw. hinten verkürzt werden.The effect of the onset detection and correction 914 is thus that individual segments in the current melody line are changed in their time extent, namely extended forward or shortened back.

An den Schritt 914 schließt sich dann eine Längensegmentierung 938 an. Bei der Längensegmentierung 938 werden alle Segmente der Melodielinie, die ja jetzt aufgrund des Halbtonmappings 912 in der Melodiematrix als waagrechte Linien erscheinen, die auf Halbtonfrequenzen liegen, durchgescannt, und diejenigen Segmente aus der Melodielinie entfernt, die kleiner als eine vorbestimmte Länge sind. Beispielsweise werden Segmente entfernt, die weniger als 10 - 14 Frames lang und vorzugsweise 12 Frames und weniger lang sind - wiederum bei obiger Annahme einer Framelänge von 8ms oder entsprechender Anpassung der Anzahlen an Frames. 12 Frames entsprechen bei 8 Millisekunden Zeitauflösung bzw. Framelänge 96 Millisekunden, was weniger als etwa 1/64 Note ist.The step 914 is then followed by a length segmentation 938. In segmental length segmentation 938, all segments of the melody line which, because of halftone mapping 912, now appear in the melody matrix as horizontal lines lying at semitone frequencies, are scanned through, and those segments from the melody line removed, which are smaller than a predetermined length. For example, segments are removed that are less than 10-14 frames long, and preferably 12 frames and less long, again assuming a frame length of 8ms above or adjusting the numbers of frames accordingly. 12 frames at 8 milliseconds correspond to 96 milliseconds time resolution, which is less than about 1/64 note.

Die Schritte 914 und 938 entsprechen folglich dem Schritt 762 aus Fig. 2.Steps 914 and 938 thus correspond to step 762 Fig. 2 ,

Die in Schritt 938 gehaltene Melodielinie besteht dann aus einer etwas verringerten Anzahl von Segmenten, die über eine gewisse Anzahl aufeinanderfolgender Frames hinweg ein und dieselbe Halbtonfrequenz aufweisen. Diese Segmente sind eindeutig Notensegmenten zuordenbar. Diese Melodielinie wird dann in einen Schritt 940, der dem vorbeschriebenen Schritt 764 von Fig. 2 entspricht, in eine Notendarstellung umgewandelt bzw. in eine Midi-Datei. Insbesondere wird jedes Segment, das sich nach der Längensegmentierung 938 noch in der Melodielinie befindet, untersucht, um das erste Frame in dem jeweiligen Segment zu finden. Dieses Frame bestimmt dann den Notenanfangszeitpunkt der diesem Segment entsprechenden Note. Für die Note wird dann die Notenlänge aus der Anzahl an Frames ermittelt, über die sich das entsprechende Segment erstreckt. Die quantisierte Tonhöhe der Note ergibt sich aus der Halbtonfrequenz, die ja in jedem Segment aufgrund des Schrittes 912 konstant ist.The melody line held in step 938 then consists of a somewhat reduced number of segments having one and the same semitone frequency over a certain number of consecutive frames. These segments are clearly attributable to musical segments. This melody line is then entered in a step 940 corresponding to the above-described step 764 of FIG Fig. 2 corresponds, converted into a notation or into a midi file. In particular, each segment still in the melody line after the length segmentation 938 is examined to find the first frame in the respective segment. This frame then determines the note start time of the note corresponding to that segment. For the note, the note length is then determined from the number of frames over which the corresponding segment extends. The quantized pitch of the note results from the halftone frequency, which is constant in each segment due to step 912.

Die MIDI-Ausgabe 914 durch die Einrichtung 304 ergibt dann die Notenfolge, basierend auf welcher die Rhythmuseinrichtung 306 die im vorhergehenden beschriebenen Operationen durchführt.The MIDI output 914 by means 304 then provides the note sequence, based on which the rhythm means 306 performs the operations described above.

Die vorhergehende Beschreibung Bezug nehmend auf die Fig. 3 - 26 bezog sich auf die Melodieerkennung in der Einrichtung 304 für den Fall polyphoner Audiostücke 302. Ist jedoch bekannt, dass die Audiosignale 302 monophonen Typs sind, wie es beispielsweise in dem Fall des Vorsummens bzw. Vorpfeifens zur Generierung von Klingeltönen, wie es im vorhergehenden beschrieben worden ist, der Fall ist, kann eine gegenüber der Vorgehensweise von Fig. 3 leicht veränderte Vorgehensweise insofern bevorzugt sein, als durch sie Fehler vermieden werden können, die sich bei der Vorgehensweise von Fig. 3 aufgrund von musikalischen Unzulänglichkeiten in dem Ursprungsaudiosignal 302 ergeben können.The preceding description with reference to the Fig. 3 - 26 referred to melody recognition in means 304 for the case of polyphonic audio pieces 302. However, it is known that that the audio signals 302 are of a monophonic type, as is the case, for example, in the case of pre-whistling for the generation of ringing tones, as has been described above, can be compared with the procedure of FIG Fig. 3 slightly modified procedure may be preferable in that it avoids errors that may arise in the approach of Fig. 3 due to musical imperfections in the source audio signal 302.

Fig. 27 zeigt die alternative Funktionsweise der Einrichtung 304, die für monophone Audiosignale gegenüber der Vorgehensweise von Fig. 3 zu bevorzugen ist, jedoch grundsätzlich auch für polyphone Audiosignale anwendbar wäre. Fig. 27 FIG. 4 shows the alternative mode of operation of device 304, which is similar to that of monophonic audio signals Fig. 3 is preferable, but in principle also for polyphonic audio signals would be applicable.

Bis zu dem Schritt 782 stimmt die Vorgehensweise nach Fig. 27 mit derjenigen von Fig. 3 überein, weshalb für diese Schritte auch dieselben Bezugszeichen wie in dem Fall von Fig. 3 verwendet werden.Until step 782, the procedure is the same Fig. 27 with that of Fig. 3 Therefore, for these steps, the same reference numerals as in the case of Fig. 3 be used.

Anders als bei der Vorgehensweise nach Fig. 3 wird nach dem Schritt 782 in der Vorgehensweise nach Fig. 27 eine Tontrennung in Schritt 950 durchgeführt. Der Grund für die Durchführung der Tontrennung in Schritt 950, die Bezug nehmend auf Fig. 28 noch näher erläutert wird, kann Bezug nehmend auf Fig. 29 veranschaulicht werden, die für einen Ausschnitt aus dem Frequenz-/Zeit-Raum des Spektrogramms des Audiosignals die Beschaffenheit des Spektrogramms, wie es sich nach der Frequenzanalyse 752 ergibt, für ein vorbestimmtes Segment 952 der Melodielinie, wie sie sich nach der allgemeinen Segmentierung 782 ergibt, als Grundton und für deren Obertöne veranschaulicht. Anders ausgedrückt ist in Fig. 29 das exemplarische Segment 952 entlang der Frequenzrichtung f um ganzzahlige Vielfache der jeweiligen Frequenz verschoben worden, um Obertonlinien zu bestimmen. Fig. 29 zeigt nun nur diejenigen Teile des Bezugssegmentes 952 und entsprechenden Obertonlinien 954a - g, an denen das Spektrogramm aus Schritt 752 Spektralwerte aufweist, die einem exemplarischen Wert überschreiten.Unlike the procedure after Fig. 3 after step 782, the procedure follows Fig. 27 a sound separation is performed in step 950. The reason for performing the sound separation in step 950, referring to FIG Fig. 28 can be explained in more detail, with reference to Fig. 29 for a portion of the frequency / time space of the spectrogram of the audio signal, the nature of the spectrogram, as determined by frequency analysis 752, for a predetermined segment 952 of the melody line resulting after general segmentation 782 , as a root and for their overtones illustrated. In other words, in Fig. 29 the exemplary segment 952 has been shifted along the frequency direction f by integer multiples of the respective frequency to determine overtone lines. Fig. 29 now shows only those parts of the reference segment 952 and corresponding overtone lines 954a-g, where the Spectrogram from step 752 has spectral values that exceed an exemplary value.

Wie es zu erkennen ist, ist die Amplitude des Grundtons des in der allgemeinen Segmentierung 782 erhaltenen Bezugsegmentes 952 durchgängig oberhalb des exemplarischen Wertes. Lediglich die darüber angeordneten Obertone zeigen eine Unterbrechung in etwa in der Mitte des Segmentes an. Die Durchgängigkeit des Grundtones hat dafür gesorgt, dass das Segment bei der allgemeinen Segmentierung 782 nicht in zwei Noten zerfiel, obwohl wahrscheinlich in etwa der Mitte des Segmentes 952 eine Notengrenze existiert. Fehler dieser Art treten vornehmlich nur bei monophoner Musik auf, weshalb die Tontrennung nur in dem Fall von Fig. 27 durchgeführt wird.As can be seen, the amplitude of the fundamental of the reference segment 952 obtained in the general segmentation 782 is consistently above the exemplary value. Only the overtones arranged above indicate an interruption approximately in the middle of the segment. The patency of the root has caused the segment in general segmentation 782 not to split into two notes, although there is likely to be a note boundary at about the middle of segment 952. Errors of this kind occur primarily only in monophonic music, which is why the sound separation only in the case of Fig. 27 is carried out.

Im folgenden wird nun die Tontrennung 950 Bezug nehmend auf Fig. 28, Fig. 29 und Fig. 30a, b näher erläutert. Die Tontrennung beginnt bei Schritt 958 ausgehend von der in Schritt 782 erhaltenen Melodielinie mit der Suche nach demjenigen Oberton bzw. denjenigen Obertonlinien 954a - 954g, entlang derer das durch die Frequenzanalyse 752 erhaltene Spektrogramm den Amplitudenverlauf mit der größten Dynamik aufweist. Fig. 30a zeigt in einem Graphen, bei dem die x-Achse einer Zeitachse t und die y-Achse der Amplitude bzw. dem Wert des Spektrogramms entspricht, exemplarisch einen solchen Amplitudenverlauf 960 für eine der Obertonlinien 954a - 954g. Die Dynamik für den Amplitudenverlauf 960 wird aus der Differenz zwischen dem maximalen Spektralwert des Verlaufs 960 und dem Minimalwert innerhalb des Verlaufs 960 bestimmt. Fig. 30a wird exemplarisch dem Amplitudenverlauf des Spektrogramms entlang derjenigen Obertonlinie 450a - 450g darstellen, die die größte Dynamik unter all diesen Amplitudenverläufen aufweist. Bei Schritt 958 werden vorzugsweise nur die Obertöne von 4. bis 15. Ordnung berücksichtigt.The sound separation 950 will now be referred to below Fig. 28 . Fig. 29 and Fig. 30a, b explained in more detail. The tone separation begins at step 958, starting from the melody line obtained in step 782, with the search for that overtone or tone lines 954a-954g along which the spectrogram obtained by frequency analysis 752 has the most dynamic amplitude response. Fig. 30a shows in a graph in which the x-axis of a time axis t and the y-axis of the amplitude or the value of the spectrogram corresponds, such an amplitude characteristic 960 for one of the upper tone lines 954a - 954g. The dynamics for the amplitude curve 960 is determined from the difference between the maximum spectral value of the curve 960 and the minimum value within the curve 960. Fig. 30a will exemplify the amplitude curve of the spectrogram along that harmonic line 450a - 450g, which has the greatest dynamics among all these amplitude curves. At step 958, preferably only the 4th through 15th order overtones are considered.

In einem folgenden Schritt 962 werden daraufhin in dem Amplitudenverlauf mit der größten Dynamik diejenigen Stellen, an denen ein lokales Amplitudenminimum einen vorbestimmten Schwellenwert unterschreitet, als potentielle Trennungsstellen identifiziert. Dies wird in Fig. 30b veranschaulicht. In dem exemplarischen Fall von Fig. 30a bzw. b unterschreitet lediglich das absolute Minimum 964, das natürlich auch ein lokales Minimum darstellt, den Schwellwert, der in Fig. 30b exemplarisch mit der gestrichelten Linie 966 veranschaulicht wird. In Fig. 30b gibt es folglich lediglich eine potentielle Trennungsstelle, nämlich den Zeitpunkt bzw. das Frame, an welchem das Minimum 964 angeordnet ist.In a following step 962, the positions in the amplitude curve with the greatest dynamics are then at which a local amplitude minimum falls below a predetermined threshold, identified as potential separation points. This will be in Fig. 30b illustrated. In the exemplary case of Fig. 30a resp. b only falls below the absolute minimum 964, which of course also represents a local minimum, the threshold value, which in Fig. 30b exemplified by dashed line 966. In Fig. 30b Thus, there is only one potential separation point, namely the time or frame at which the minimum 964 is located.

In einem Schritt 968 werden dann unter den gegebenenfalls mehreren Trennungsstellen diejenigen aussortiert, die in einem Grenzbereich 970 um den Segmentanfang 972 oder in einem Grenzbereich 974 um das Segmentende 976 liegen. Für die verbleibenden potentiellen Trennungsstellen wird in einem Schritt 978 die Differenz zwischen dem Amplitudenminimum an dem Minimum 964 und dem Mittelwert der Amplituden der zu dem Minimum 964 benachbarten lokalen Maxima 980 bzw. 982 in dem Amplitudenverlauf 960 gebildet. Die Differenz ist in Fig. 30b mit einem Doppelpfeil 984 veranschaulicht.In a step 968, those which are located in a boundary area 970 around the segment start 972 or in a boundary area 974 around the segment end 976 are then sorted out among the possibly multiple separation sites. For the remaining potential separation points, in step 978 the difference between the amplitude minimum at the minimum 964 and the mean of the amplitudes of the local maxima 980 and 982 adjacent to the minimum 964 is formed in the amplitude curve 960. The difference is in Fig. 30b illustrated with a double arrow 984.

In einem darauffolgenden Schritt 986 wird überprüft, ob die Differenz 984 größer als ein vorbestimmter Schwellwert ist. Ist dies nicht der Fall, endet die Tontrennung für diese potentielle Trennungsstelle und ggf. für das betrachtete Segment 960. Anderenfalls wird in einem Schritt 988 das Bezugssegment an der potentiellen Trennungsstelle bzw. dem Minimum 964 in zwei Segmente getrennt, wobei sich das eine von dem Segmentanfang 972 bis zu dem Frame des Minimums 964 erstreckt, und das andere zwischen dem Frame des Minimums 964 bzw. des nachfolgenden Frames und dem Segmentende 976. Die Liste von Segmenten wird entsprechend erweitert. Eine andere Möglichkeit der Trennung 988 besteht darin, eine Lücke zwischen den beiden neu entstehenden Segmenten vorzusehen. Beispielsweise in dem Bereich, in dem sich der Amplitudenverlauf 960 unterhalb des Schwellwerts befindet - in Fig. 30b also beispielsweise über den Zeitbereich 990 hinweg.In a subsequent step 986, it is checked whether the difference 984 is greater than a predetermined threshold value. Otherwise, in a step 988, the reference segment at the potential separation point or minimum 964 is separated into two segments, one of which is separated from the second Segment start 972 extends to the frame of the minimum 964, and the other between the frame of the minimum 964 and the subsequent frame and the segment end 976. The list of segments is extended accordingly. Another way of separating 988 is to provide a gap between the two emerging segments. For example, in the area in which the amplitude curve 960 is below the threshold value, in Fig. 30b for example, over the time range 990.

Ein weiteres Problem, das vornehmlich bei monophoner Musik auftritt, besteht darin, dass die einzelnen Noten Frequenzschwankungen unterworfen sind, die eine anschließende Segmentierung erschweren. Deshalb wird anschließend an die Tontrennung 950 in Schritt 992 eine Tonglättung durchgeführt, die Bezug nehmend auf Fig. 31 und 32 näher erläutert wird.Another problem that occurs primarily in monophonic music is that the individual notes are subject to frequency fluctuations that complicate subsequent segmentation. Therefore, subsequent to tone separation 950, tone smoothing is performed in step 992, referring to FIG Fig. 31 and 32 is explained in more detail.

Fig. 32 zeigt in starker Vergrößerung schematisch ein Segment 994, wie es sich in der Melodielinie befindet, die sich auf die Tontrennung 950 hin ergibt. Die Darstellung in Fig. 32 ist derart, dass in Fig. 32 für jedes Tupel aus Frequenzbin und Frame, das durch das Segment 994 durchlaufen wird, eine Ziffer an dem entsprechenden Tupel vorgesehen ist. Die Vergabe der Ziffer wird im folgenden Bezug nehmend auf Fig. 31 noch näher erläutert. Wie es zu erkennen ist, schwankt das Segment 994 in dem exemplarischen Fall von Fig. 32 über 4 Frequenzbins hinweg und erstreckt sich über 27 Frames. Fig. 32 FIG. 8 shows schematically a segment 994, as it is in the melody line, which results on the sound separation 950. The representation in Fig. 32 is such that in Fig. 32 for each tuple of frequency bin and frame traversed by segment 994, a digit is provided on the corresponding tuple. The assignment of the digit will be referred to below Fig. 31 explained in more detail. As can be seen, segment 994 varies in the exemplary case of FIG Fig. 32 across 4 frequency bins and spans 27 frames.

Der Sinn der Tonglättung besteht nun darin, unter den Frequenzbins, zwischen denen das Segment 994 hin und her schwankt, dasjenige auszuwählen, das dem Segment 994 konstant für alle Frames zugeordnet werden soll.The purpose of tone smoothing is now to select, among the frequency bins between which segment 994 oscillates, the one which is to be assigned to segment 994 constantly for all frames.

Die Tonglättung beginnt in einem Schritt 996 mit der Initialisierung einer Zählervariablen i auf 1. In einem darauffolgenden Schritt 998 wird ein Zählerwert z auf 1 initialisiert. Die Zählervariable i hat die Bedeutung der Nummerierung der Frames des Segmentes 994 von links nach rechts in Fig. 32. Die Zählervariable z hat die Bedeutung eines Zählers, der zählt, über wie viel aufeinanderfolgende Frames das Segment 994 sich in ein und demselben Frequenzbin befindet. In Fig. 32 sind bereits zur Erleichterung des Verständnisses der folgenden Schritte der Wert für z für die einzelnen Frames in Form der Ziffern angezeigt, die den Verlauf des Segments 994 in Fig. 32 darstellen.The tone smoothing begins in step 996 with the initialization of a counter variable i to 1. In a subsequent step 998, a counter value z is initialized to 1. The counter variable i has the meaning of the numbering of the frames of the segment 994 from left to right in FIG Fig. 32 , The counter variable z has the meaning of a counter that counts over how many consecutive frames the segment 994 is in one and the same frequency bin. In Fig. 32 For ease of understanding the following steps, the value for z for the individual frames is shown in the form of the numbers representing the course of segment 994 in FIG Fig. 32 represent.

In einem Schritt 1000 wird nun der Zählerwert z zu einer Summe für das Frequenzbin des i-ten Frames des Segments akkumuliert. Für jedes Frequenzbin, in welchem das Segment 994 hin und her schwankt, existiert eine Summe bzw. ein Akkumulationswert. Der Zählerwert könnte dabei gemäß einem variierenden Ausführungsbeispiel gewichtet werden, wie z.B. mit einem Faktor f(i), wobei f(i) eine mit i stetig ansteigende Funktion sei, um somit die aufzusummierenden Anteile am Schluss eines Segments, da also die Stimme beispielsweise schon besser auf den Ton eingestimmt ist, verglichen zum Einschwingvorgang zu Beginn einer Note stärker zu gewichten. Unterhalb der waagerechten Zeitachse ist in eckigen Klammern in Fig. 32 ein Beispiel für eine solche Funktion f(i) gezeigt, wobei in Fig. 32 i entlang der Zeit zunimmt und angibt, die wievielte Position ein bestimmtes Frame unter den Frames des betrachteten Segmentes einnimmt, und aufeinanderfolgende Werte, die die exemplarisch gezeigte Funktion für aufeinaderfolgende Abschnitte einnimmt, die wiederum mit kleinen senkrechten Strichen entlang der Zeitachse angedeutet sind, mit Zahlen in diesen eckigen Klammern gezeigt sind. Wie es zu sehen ist, nimmt die exemplarische Gewichtungsfunktion mit i von 1 bis 2,2 zu.In a step 1000, the counter value z is then accumulated to a sum for the frequency bin of the ith frame of the segment. For each frequency bin in which the segment 994 oscillates, there exists a sum or an accumulation value. In this case, the counter value could be weighted according to a varying exemplary embodiment, such as a factor f (i), where f (i) is a function that increases steadily with i, thus the shares to be totalized at the end of a segment, ie the voice, for example better tuned to the tone, to weight more strongly compared to the transient at the beginning of a note. Below the horizontal timeline is in square brackets in Fig. 32 an example of such a function f (i) is shown, where in Fig. 32 i increases along the time and indicates how many positions a given frame occupies among the frames of the considered segment, and successive values which occupy the function shown by way of example for successive sections, again indicated by small vertical bars along the time axis, with numbers shown in these square brackets. As can be seen, the exemplary weighting function increases with i from 1 to 2.2.

In einem Schritt 1002 wird überprüft, ob das i-te Frame das letzte Frame des Segmentes 994 ist. Ist dies nicht der Fall, wird in einem Schritt 1004 die Zählervariable i inkrementiert, d.h. es wird zum nächsten Frame übergegangen. In einem darauffolgenden Schritt 1006 wird überprüft, ob sich das Segment 994 in dem aktuellen Frame, d.h. dem i-ten Frame in dem gleichen Frequenzbin befindet, wie es sich in dem (i-1)-ten Frame befand. Ist dies der Fall, wird in einem Schritt 1008 die Zählervariable z inkrementiert, woraufhin die Verarbeitung wieder bei Schritt 1000 fortfährt. Befindet sich das Segment 994 jedoch in dem i-ten Frame und dem (i-1)-ten Frame nicht in dem gleichen Frequenzbin, so fährt die Verarbeitung mit der Initialisierung der Zählervariablen z auf 1 in Schritt 998 fort.In a step 1002, it is checked if the i-th frame is the last frame of the segment 994. If this is not the case, the counter variable i is incremented in a step 1004, ie it is moved to the next frame. In a subsequent step 1006, it is checked whether the segment 994 in the current frame, ie the ith frame, is in the same frequency bin as it was in the (i-1) th frame. If so, in a step 1008 the counter variable z is incremented, whereupon processing continues again at step 1000. However, if the segment 994 is not in the same frequency bin in the i-th frame and the (i-1) th frame, processing proceeds to 1 with the initialization of the counter variable z in step 998.

Wird in Schritt 1002 schließlich festgestellt, dass i-te Frame das letzte Frame des Segments 994 ist, so ergibt sich für jedes Frequenzbin, in welchem sich das Segment 994 befindet, eine Summe, die in Fig. 32 bei 1010 dargestellt sind.Finally, if it is determined in step 1002 that i-th frame is the last frame of segment 994, then for each frequency bin in which segment 994 is located, a sum resulting in Fig. 32 at 1010.

In einem Schritt 1012 wird auf die Feststellung des letzten Frames in Schritt 1002 hin dasjenige Frequenzbin ausgewählt, für das die akkumulierte Summe 1010 am größten ist. In dem exemplarischen Fall von Fig. 32 ist dies das zweitniedrigste Frequenzbin unter den vier Frequenzbins, in welchen sich das Segment 994 befindet. In einem Schritt 1014 wird dann das Bezugssegment 994 geglättet, indem es durch ein Segment vertauscht wird, bei dem jedem der Frames, an dem sich das Segment 994 befand, das ausgewählte Frequenzbin zugewiesen wird. Die Tonglättung aus Fig. 31 wird segmentweise für alle Segmente wiederholt.In step 1012, upon determination of the last frame in step 1002, the frequency bin for which the accumulated sum 1010 is greatest is selected. In the exemplary case of Fig. 32 this is the second lowest frequency bin among the four frequency bins in which segment 994 is located. In a step 1014, the reference segment 994 is then smoothed by swapping it to a segment in which each of the frames where the segment 994 was located is assigned the selected frequency bin. The sound smoothing off Fig. 31 is repeated segment by segment for all segments.

Die Tonglättung dient folglich anders ausgedrückt dazu, das Einsingen und Ansingen von Tönen ausgehend von tieferen oder höheren Frequenzen auszugleichen, und bewerkstelligt dies durch Ermittlung eines Wertes über den zeitlichen Verlauf eines Tones, welcher der Frequenz des eingeschwungenen Tones entspricht. Für die Ermittlung des Frequenzwertes werden vom schwingenden Signal alle Elemente eines Frequenzbandes hochgezählt, wonach alle hochgezählten Elemente eines Frequenzbandes, die sich an dem Notensegment befinden, aufaddiert werden. Dann wird der Ton über die Zeit des Notensegmentes im Frequenzband mit der größten Summe eingetragen.In other words, tone smoothing, in other words, serves to equalize the singing and singing of tones from lower or higher frequencies, and accomplishes this by finding a value over the time course of a tone corresponding to the frequency of the settled tone. To determine the frequency value of the oscillating signal, all elements of a frequency band are counted up, after which all the incremented elements of a frequency band, which are located on the note segment, are added up. Then the tone is entered over the time of the note segment in the frequency band with the largest sum.

Nach der Tonglättung 992 wird daraufhin eine statistische Korrektur 916 durchgeführt, wobei die Durchführung der statistischen Korrektur derjenigen aus Fig. 3, nämlich insbesondere dem Schritt 898 entspricht. An die statistische Korrektur 1016 schließt sich ein Halbtonmapping 1018 an, das dem Halbtonmapping 912 aus Fig. 3 entspricht und ebenfalls einen Halbtonvektor verwendet, der bei einer Halbtonvektorermittlung 1020 ermittelt wird, die derjenigen aus Fig. bei 818 entspricht.After tone smoothing 992, a statistical correction 916 is then performed, performing the statistical correction of those Fig. 3 in particular corresponds to step 898. The statistical correction 1016 is followed by a halftone mapping 1018 that corresponds to the halftone mapping 912 Fig. 3 corresponds and also uses a halftone vector determined at a halftone vector detection 1020, which corresponds to that of Fig. 818.

Die Schritte 950, 992, 1016, 1018 und 1020 entsprechen folglich dem Schritt 760 aus Fig. 2.Steps 950, 992, 1016, 1018, and 1020 thus correspond to step 760 Fig. 2 ,

An das Halbtonmapping 1018 schließt sich eine Onseterkennung 1022 an, die im wesentlichen derjenigen von Fig. 3, nämlich Schritt 914, entspricht. Lediglich wird vorzugsweise in Schritt 932 verhindert, dass Lücken wieder geschlossen werden, bzw. durch die Tontrennung 950 aufgedrängte Segmente wieder geschlossen werden.The halftone mapping 1018 is followed by an onset identifier 1022, which essentially corresponds to that of FIG Fig. 3 , step 914, corresponds. Only in step 932 is it preferably prevented that gaps are closed again, or segments imposed by the tone separation 950 are closed again.

An die Onseterkennung 1022 schließt sich eine Offseterkennung und -korrektur 1024 an, die im folgenden Bezug nehmend auf Fig. 33 - 35 näher erläutert wird. Im Gegensatz zur Onseterkennung dient die Offseterkennung und -korrektur der Korrektur der Notenendenzeitpunkte. Die Offseterkennung 1024 dient dazu, das Nachhallen monophoner Musikstücke zu unterbinden.The onset detector 1022 is followed by offset detection and correction 1024, which will be described below with reference to FIG FIGS. 33-35 is explained in more detail. In contrast to the onset recognition, the offset detection and correction is used to correct the end of the note. The offset detection 1024 serves to prevent the reverberation of monophonic pieces of music.

In einem dem Schritt 916 ähnelnden Schritt 1026 wird zunächst das Audiosignal mit einem der Halbtonfrequenz des Bezugssegments entsprechenden Bandpassfilter gefiltert, worauf in einem dem Schritt 918 entsprechenden Schritt 1028 das gefilterte Audiosignal zweiwegegleichgerichtet wird. Ferner wird in Schritt 1028 noch eine Interpretation des gleichgerichteten Zeitsignals durchgeführt. Diese Vorgehensweise ist für den Fall der Offseterkennung und - korrektur ausreichend, um annähernd eine Hüllkurve zu bestimmen, wodurch der kompliziertere Schritt 920 der Onseterkennung wegfallen kann.In a step 1026 similar to step 916, first the audio signal is filtered with a bandpass filter corresponding to the halftone frequency of the reference segment, whereupon, in a step 1028 corresponding to step 918, the filtered audio signal is two-way rectified. Further, in step 1028, an interpretation of the rectified time signal is performed. This approach is sufficient in the case of offset detection and correction to determine approximately an envelope, thereby eliminating the more complicated step 920 of onset detection.

Fig. 34 zeigt in einem Graphen bei dem entlang der x-Achse die Zeit t in virtuellen Einheiten und entlang der y-Achse der Amplitude A in virtuellen Einheiten aufgetragen ist, das interpolierte Zeitsignal beispielsweise mit einem Bezugszeichen 1030 und zum Vergleich hierzu die Hüllkurve, wie sie bei der Onseterkennung in Schritt 920 bestimmt wird, mit einem Bezugszeichen 1032. Fig. 34 shows in a graph in which along the x-axis, the time t is plotted in virtual units and along the y-axis of the amplitude A in virtual units, the interpolated time signal, for example with a Reference numeral 1030 and, for comparison thereto, the envelope, as determined in the Onseterkennung in step 920, with a reference numeral 1032.

In einem Schritt 1034 wird nun in dem einem Bezugsegment entsprechenden Zeitabschnitt 1036 ein Maximum 1040 des interpolierten Zeitsignals 1030 bestimmt, und zwar insbesondere der Wert des interpolierten Zeitsignals 1030 an dem Maximum 1040. In einem Schritt 1042 wird daraufhin ein potentielles Notenendzeitpunkt als derjenige Zeitpunkt bestimmt, bei dem das gleichgerichtete Audiosignal zeitlich nach dem Maximum 1040 auf einen vorbestimmten Prozentsatz des Werts an dem Maximum 1040 abgefallen ist, wobei der Prozentsatz in Schritt 1042 vorzugsweise 15% beträgt. Das potentielle Notenende ist in Fig. 34 mit einer gestrichelten Linie 1044 veranschaulicht.In a step 1034, in the time segment 1036 corresponding to a reference segment, a maximum 1040 of the interpolated time signal 1030 is determined, in particular the value of the interpolated time signal 1030 at the maximum 1040. In a step 1042, a potential note end time is then determined as the time wherein the rectified audio signal has dropped in time to the maximum 1040 to a predetermined percentage of the value at the maximum 1040, the percentage in step 1042 being preferably 15%. The potential note end is in Fig. 34 illustrated with a dashed line 1044.

In einem darauffolgenden Schritt 1046 wird daraufhin überprüft, ob das potentielle Notenende 1044 zeitlich hinter dem Segmentende 1048 liegt. Ist dies nicht der Fall, wie es in Fig. 34 exemplarisch gezeigt ist, so wird das Bezugssegment von dem Zeitbereich 1036 verkürzt, um an dem potentiellen Notenende 1044 zu enden. Liegt jedoch das Notenende zeitlich vor dem Segmentende, wie es exemplarisch in Fig. 35 gezeigt ist, so wird in einem Schritt 1050 überprüft, ob der zeitliche Abstand zwischen potentiellem Notenende 1044 und Segmentende 1048 weniger als ein vorbestimmter Prozentsatz der aktuellen Segmentlänge a entspricht, wobei der vorbestimmte Prozentsatz in Schritt 1050 vorzugsweise 25% ist. Fällt das Ergebnis der Überprüfung 1050 positiv aus, findet eine Verlängerung 1051 des Bezugssegments von der Länge a statt, um nunmehr an dem potentiellen Notenende 1044 zu enden. Um eine Überlappung mit dem anschließenden Segment zu verhindern, kann der Schritt 1051 jedoch auch von einer drohenden Überlappung anhängig sein, um in diesem Fall nicht durchgeführt zu werden, oder eben nur bis zum Anfang des Nachfolgersegmentes, ggf. mit einem bestimmten Abstand zu demselben.In a subsequent step 1046, it is then checked whether the potential note end 1044 is behind the segment end 1048 in time. If not, as it is in Fig. 34 by way of example, the reference segment is shortened from the time range 1036 to end at the potential note end 1044. However, if the note end is earlier than the end of the segment, as exemplified in Fig. 35 5, it is checked in a step 1050 whether the time interval between potential note end 1044 and segment end 1048 is less than a predetermined percentage of the current segment length a, the predetermined percentage preferably being 25% in step 1050. If the result of the check 1050 is positive, an extension 1051 of the reference segment of length a takes place, in order to end now at the potential note end 1044. However, to prevent overlap with the subsequent segment, step 1051 may also be contingent upon an impending overlap, in order not to be performed in this case, or just up to the beginning of the successor segment, possibly with a certain distance therefrom.

Fällt die Überprüfung in Schritt 1050 jedoch negativ aus, erfolgt keine Offsetkorrektur und der Schritt 1034 und die folgenden Schritte werden für ein anderes Bezugssegment gleicher Halbtonfrequenz wiederholt, oder es wird mit dem Schritt 1026 für andere Halbtonfrequenzen fortgefahren.However, if the check in step 1050 is negative, no offset correction is performed and step 1034 and the following steps are repeated for another reference segment of equal semitone frequency or step 1026 for other semitone frequencies is continued.

Nach der Offseterkennung 1024 wird in Schritt 1052 eine dem Schritt 938 aus Fig. 3 entsprechende Längen-Segmentierung 1052 durchgeführt, woraufhin eine MIDI-Ausgabe 1054 folgt, die dem Schritt 940 aus Fig. 3 entspricht. Dem Schritt 762 aus Fig. 2 entsprechen die Schritte 1022, 1024 und 1052.After offset detection 1024, step 1052 is followed by step 938 Fig. 3 corresponding length segmentation 1052 is performed, followed by a MIDI output 1054 following step 940 Fig. 3 equivalent. Step 762 off Fig. 2 correspond to steps 1022, 1024 and 1052.

Bezug nehmend auf die vorhergehende Beschreibung der Fig. 3 - 35 wird noch auf folgendes hingewiesen. Die zwei dort vorgestellten alternativen Vorgehensweisen zur Melodieextraktion umfassen verschiedene Aspekte, die nicht alle gleichzeitig in einer wirksamen Vorgehensweise zur Melodieextraktion enthalten sein müssen. Zunächst wird darauf hingewiesen, dass grundsätzlich die Schritte 770 - 774 auch miteinander kombiniert werden könnten, indem die Spektralwerte des Spektrogramms aus der Frequenzanalyse 752 mittels lediglich eines einzigen Nachschlags in einer Nachschlagtabelle in die wahrnehmungsbezogenen Spektralwerte umgewandelt werden.Referring to the previous description of Fig. 3 - 35 is still pointed to the following. The two alternative melody extraction approaches presented herein include various aspects that need not all be included simultaneously in an effective melody extraction approach. It should first be pointed out that, in principle, steps 770-774 could also be combined with each other by converting the spectral values of the spectrogram from the frequency analysis 752 into the perceptual spectral values using only a single lookup in a lookup table.

Grundsätzlich wäre es natürlich auch möglich, die Schritte 770-774 oder lediglich die Schritte 772 und 774 wegzulassen, was jedoch zu einer Verschlechterung der Melodielinienermittlung in Schritt 780 und damit zu einer Verschlechterung des Gesamtergebnisses des Melodieextraktionsverfahrens im gesamten führen dürfte.In principle, of course, it would also be possible to omit steps 770-774 or just steps 772 and 774, but this should lead to a deterioration of the melody line determination in step 780 and thus to a deterioration in the overall result of the melody extraction method as a whole.

Bei der Grundfrequenzbestimmung 776 wurde ein Tonmodell von Goto verwendet. Andere Tonmodelle bzw. andere Gewichtungen der Obertonanteile wären jedoch ebenfalls möglich und könnten beispielsweise an den Ursprung bzw. die Herkunft des Audiosignals angepasst werden, soweit dieser bzw. diese bekannt ist, wie z.B. wenn bei dem Ausführungsbeispiel der Klingeltongenerierung der Benutzer auf ein Vorsummen festgelegt wird.In basic frequency determination 776, a tone model from Goto was used. However, other sound models or other weightings of the overtone components would also be possible and could be adapted, for example, to the origin or origin of the audio signal, as far as this or these is known, such as when in the embodiment of the ringtone generation, the user is set to a Vorsumsmen.

Im Hinblick auf die Ermittlung der potentiellen Melodielinie in Schritt 780 wird darauf hingewiesen, dass dort zwar der oben genannten musikwissenschaftlichen Aussage gemäß für jedes Frame nur die Grundfrequenz des lautesten Klanganteils ausgewählt worden war, dass es aber ferner möglich ist, die Auswahl nicht nur auf eine eindeutige Auswahl des größten Anteils für jedes Frame einzuschränken. Ebenso wie es beispielsweise bei Paiva der Fall ist, könnte die Ermittlung der potentiellen Melodielinie 780 das zuordnen mehrerer Frequenzbins zu ein und demselben Frame aufweise. Anschließend könnte ein Auffinden mehrerer Trajektorien durchgeführt werden. Das bedeutet das zulassen einer Auswahl mehrerer Grundfrequenzen bzw. mehrerer Klänge für jedes Frame. Die anschließende Segmentierung müsste dann natürlich allerdings zum Teil anders durchgeführt werden und insbesondere wäre die anschließende Segmentierung etwas aufwendiger, da mehrere Trajektorien bzw. Segmente zu berücksichtigen und aufzufinden wären. Umgekehrt könnten in diesem Fall einige der oben erwähnten Schritte oder Teilschritte bei der Segmentierung auch für diesen Fall der Ermittlung von Trajektorien, die sich zeitlich überlappen können, übernommen werden. Insbesondere die Schritte 786, 796 und 804 aus der allgemeinen Segmentierung könnten ohne weiteres auch auf diesen Fall übertragen werden. Der Schritt 806 könnte auf den Fall, dass die Melodielinie aus sich zeitlich überlappenden Trajektorien besteht, übertragen werden, wenn dieser Schritt nach der Identifizierung der Trajektorien stattfände. Die Identifizierung von Trajektorien könnte ähnlich dem Schritt 810 stattfinden, wobei jedoch Modifikationen dahingehend vorgenommen werden müssten, dass auch mehrere Trajektorien, die sich zeitlich überlappen, verfolgt werden können. Auch die Lückenschließung könnte auf ähnliche Weise für solche Trajektorien durchgeführt werden, zwischen denen zeitlich keine Lücke besteht. Auch das Harmoniemapping könnte zwischen zwei zeitlich direkt aufeinanderfolgenden Trajektorien durchgeführt werden. Die Vibratoerkennung bzw. der Vibratoausgleich könnte ohne weiteres auf eine einzelne Trajektorie ebenso angewendet werden wie auf die vorhergehenden erwähnten sich nicht überlappenden Melodieliniensegmente. Auch die Onseterkennung und -korrektur könnte ebenfalls bei Trajektorien angewendet werden. Selbiges gilt für die Tontrennung und die Tonglättung sowie die Offseterkennung und -korrektur sowie für die statistische Korrektur und die Längensegmentierung. Das Zulassen der zeitlichen Überlappung von Trajektorien der Melodielinie bei der Ermittlung in Schritt 780 machte es jedoch zumindest erforderlich, dass vor der eigentlichen Notenfolgenausgabe die zeitliche Überlappung von Trajektorien irgendwann einmal beseitigt werden muss. Der Vorteil der Ermittlung der potentiellen Melodielinie auf die im vorhergehende beschriebene Art und Weise Bezug nehmend auf Fig. 3 und 27 besteht darin, dass die Anzahl der zu untersuchenden Segmente nach der allgemeinen Segmentierung im vorhinein auf das wesentlichste begrenzt wird, und dass auch die Melodielinieermittlung selbst in Schritt 780 äußerst einfach ist und dennoch zu einem guten Melodieextraktion bzw. Notenfolgengenerierung bzw. Transkription führt.With regard to the determination of the potential melody line in step 780, it is pointed out that although the above-mentioned musicological statement states that for each frame only the fundamental frequency of the loudest sound component had been selected, it is still possible to choose not only one to narrow down the clear selection of the largest share for each frame. As with Paiva, for example, the determination of the potential melody line 780 could include assigning multiple frequency bins to the same frame. Subsequently, a finding of multiple trajectories could be performed. This means allowing a selection of multiple fundamental frequencies or multiple sounds for each frame. Of course, the subsequent segmentation would then have to be carried out differently and, in particular, the subsequent segmentation would be somewhat more complicated since several trajectories or segments would have to be considered and found. Conversely, in this case, some of the above-mentioned steps or sub-steps in segmentation could also be adopted for this case of determining trajectories that may overlap in time. In particular, the steps 786, 796 and 804 from the general segmentation could easily be applied to this case as well. Step 806 could be transferred to the case where the melody line consists of time-overlapping trajectories, if this step took place after the trajectories were identified. The identification of trajectories could be similar to step 810, but modifications would have to be made such that multiple trajectories overlapping in time can also be tracked. The gap closure could also be carried out in a similar way for those trajectories between which there is no gap in time. That too Harmoniemapping could be done between two temporally consecutive trajectories. Vibrato detection and / or vibrato compensation could be readily applied to a single trajectory as well as to the previously mentioned non-overlapping melody line segments. Onset detection and correction could also be applied to trajectories. The same applies to tone separation and tone smoothing as well as offset detection and correction as well as statistical correction and length segmentation. However, allowing for the temporal overlap of trajectories of the melody line in the determination in step 780 at least required that the time overlap of trajectories be sometime eliminated before the actual note sequence output. The advantage of determining the potential melody line in the manner described in the foregoing, with reference to FIG Fig. 3 and 27 is that the number of segments to be examined after the general segmentation is limited in advance to the most essential, and that even the melody line determination itself in step 780 is extremely simple and yet leads to a good melody extraction or transcription.

Die im vorhergehenden beschriebene Implementierung der allgemeinen Segmentierung muss nicht alle Teilschritte 786, 796, 804 und 806 aufweisen, sondern kann auch eine Auswahl aus denselben umfassen.The general segmentation implementation described above does not have to have all substeps 786, 796, 804, and 806, but may also include a selection thereof.

Bei der Lückenschließung wurde in den Schritten 840 und 842 das wahrnehmungsbezogene Spektrum verwendet. Grundsätzlich ist es jedoch möglich, in diesen Schritten auch das logarithmierte Spektrum oder das unmittelbar aus der Frequenzanalyse erhaltene Spektrogramm zu verwenden, wobei jedoch die Verwendung des wahrnehmungsbezogenen Spektrums in diesen Schritten das beste Ergebnis im Hinblick auf die Melodieextraktion ergeben hat. Ähnliches gilt für den Schritt 870 aus dem Harmoniemapping.In gap closure, the perceptual spectrum was used in steps 840 and 842. In principle, however, it is also possible to use in these steps the logarithmic spectrum or the spectrogram obtained directly from the frequency analysis, but the use of the perceptual spectrum in these steps has given the best result in terms of melody extraction. The same applies to step 870 from the harmony mapping.

Hinsichtlich des Harmoniemappings wird darauf hingewiesen, dass es dort vorgesehen sein könnte, bei der Verschiebung 868 des Nachfolgesegmentes die Verschiebung gleich nur in Richtung der Melodieschwerpunktslinie vorzunehmen, so dass die zweite Bedingung in Schritt 874 weggelassen werden könnte. Bezug nehmend auf den Schritt 872 wird darauf hingewiesen, dass eine Eindeutigkeit unter der Auswahl der verschiedenen Oktav-, Quint- und/oder Terz-Linien dadurch erzielt werden könnte, dass unter denselben eine Prioritätsrangliste erzeugt wird, wie z.B. Oktavlinie vor Quintlinie vor Terzlinie und unter Linien gleicher Linienart (Oktav-, Quint- oder Terzlinie) die, die näher an der ursprünglichen Position des Nachfolgersegmentes liegt.With regard to harmoniemapping, it is pointed out that it could be provided there, during the displacement 868 of the successor segment, to apply the displacement just in the direction of the melody centerline line, so that the second condition could be omitted in step 874. Referring to step 872, it is to be noted that uniqueness among the selection of the various octave, fifth, and / or third lines could be achieved by creating a priority ranking among them, e.g. Octave line before fifth line before third line and below lines of the same line type (octave, quint, or third line) that is closer to the original position of the successor segment.

Hinsichtlich der Onseterkennung und der Offseterkennung wird darauf hingewiesen, dass die Ermittlung der Hüllkurve bzw. des bei der Offseterkennung stattdessen verwendeten interpolierten Zeitsignals auch anders durchgeführt werden könnte. Wesentlich ist lediglich, dass bei der Onset- und Offseterkennung zurück auf das Audiosignal zurückgegriffen wird, das mit einem Bandpassfilter mit einer Durchlasscharakteristik um die jeweilige Halbtonfrequenz herum gefiltert wird, um an dem Anstieg der Hüllkurve des so entstehenden gefilterten Signals den Notenanfangszeitpunkt bzw. anhand dem Abfall der Hüllkurve den Notenendzeitpunkt zu erkennen.With regard to the onset detection and the offset detection, it is pointed out that the determination of the envelope or of the interpolated time signal used instead in the case of offset detection could also be carried out differently. It is only essential that in the onset and offset detection the audio signal is used back, which is filtered by a bandpass filter with a transmission characteristic around the respective semitone frequency, to the rise of the envelope of the resulting filtered signal the note start time or on the basis of Drop of the envelope to recognize the end of the note.

Hinsichtlich der Flussdiagramme unter den Figuren 8-41 wird darauf hingewiesen, dass dieselben die Arbeitsweise der Melodieextraktionseinrichtung 304 zeigen, und dass jeder der in diesen Flussdiagrammen durch einen Block dargestellten Schritte in einer entsprechenden Teileinrichtung der Einrichtung 304 implementiert sein kann. Die Implementierung der einzelnen Schritte kann dabei in Hardware, als ASIC-Schaltungsteil, oder in Software, als Unterroutine, realisiert sein. Insbesondere zeigen in diesen Figuren die in den Blöcken eingeschrieben Erläuterungen grob an, auf welchen Vorgang sich der jeweilige Schritt bezieht, der dem jeweiligen Block entspricht, während die Pfeile zwischen den Blöcken die Reihenfolge der Schritte bei Betrieb der Einrichtung 304 veranschaulichen.Regarding the flowcharts under the FIGS. 8-41 It should be noted that they show the operation of the melody extractor 304 and that each of the steps represented by a block in these flowcharts may be implemented in a corresponding subunit of the device 304. The implementation of the individual steps can be implemented in hardware, as an ASIC circuit part, or in software, as a subroutine. In particular, in these figures, the inscriptions inscribed in the blocks roughly indicate which ones The respective step corresponds to the respective block, while the arrows between the blocks illustrate the sequence of steps in the operation of the device 304.

Insbesondere wird darauf hingewiesen, dass abhängig von den Gegebenheiten das erfindungsgemäße Schema auch in Software implementiert sein kann. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder einer CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.In particular, it should be noted that, depending on the circumstances, the inventive scheme can also be implemented in software. The implementation may be on a digital storage medium, in particular a floppy disk or a CD with electronically readable control signals, which may cooperate with a programmable computer system such that the corresponding method is executed. In general, the invention thus also consists in a computer program product with program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer. In other words, the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.

Claims (34)

  1. A device for the extraction of a melody underlying an audio signal (302), represented by a note sequence, comprising:
    means (750) for providing a time-over-spectral representation of the audio signal (302);
    means (354; 770, 772, 774) for a frequency-dependent scaling of amplitudes of the time-over-spectral representation using curves of equal volume reflecting the human frequency-dependent volume perception in order to obtain a perception-related time-over-spectral representation; and
    means (756) for determining a melody of the audio signal on the basis of the perception-related time-over-spectral representation.
  2. The device according to claim 1, wherein means (750) for providing is implemented such that it provides a time-over-spectral representation comprising for each of a plurality of spectral components a spectral band with a sequence of spectral values.
  3. The device according to claim 2, wherein means for frequency-dependent scaling comprises:
    means (770) for logarithmizing the spectral values of the time-over-spectral representation in order to indicate the sonic pressure level, whereby a logarithmized time-over-spectral representation is obtained; and
    means (772) for mapping the logarithmized spectral values of the logarithmized time-over-spectral representation, depending on their respective value and the spectral component to which they belong, to perception-related spectral values in order to obtain the perception-related time-over-spectral representation.
  4. The device according to claim 3, wherein means (772) for mapping is implemented in order to perform the mapping based on functions (774) representing the curves of equal volume, associating a logarithmic spectral value to each spectral component indicating a sonic pressure level, and are associated with different volumes.
  5. The device according to claim 3 or 4, wherein means (750) for providing is implemented such that the time-over-spectral representation in every spectral band comprises a spectral value for every time section of a sequence of time sections of the audio signal.
  6. The device according to claim 5, wherein means (756) for determining is implemented to
    delogarithmize (776) the spectral values of the perception-related spectrum, in order to obtain a delogarithmized perception-related spectrum with delogarithmized perception-related spectral values,
    sum up (776), for each time section and for each spectral component, the delogarithmized perception-related spectral value of the respective spectral component and the delogarithmized perception-related spectral value of those spectral components representing a partial tone to the respective spectral component, in order to obtain a spectral sound value, whereby a time-over-sound illustration is obtained, and
    generate (780) a melody line by uniquely allocating the spectral component to each time section for which the summing-up for the corresponding time section results in the greatest spectral sound value.
  7. The device according to claim 6, wherein means for determining is implemented to differently weight the delogarithmized perception-related spectral values of the respective spectral components and that of those spectral components illustrating a partial tone to the respective spectral component in the summing-ups (780), so that the delogarithmized perception-related spectral values of partial tones of higher order are weighted less.
  8. The device according to claim 6 or 7, wherein means for determining comprises:
    means (782, 816, 818, 850, 876, 898, 912, 914, 938; 782, 950, 992, 1016, 1018, 1020, 1022, 1024. 1052) for segmenting the melody line (784) in order to obtain segments.
  9. The device according to claim 8, wherein means for segmenting is implemented in order to prefilter (786) the melody line in a state, as which the melody line is indicated in binary form in a melody matrix of matrix position which is spanned by the spectral components on the one side and the time sections on the other side.
  10. The device according to claim 9, wherein means for segmenting is implemented in order to sum up the entry into this and neighboring matrix positions for each matrix position (792) when prefiltering (786), compare the resulting information value to a threshold value and enter the comparative result at a corresponding matrix position in an intermediate matrix and subsequently multiply the melody matrix and the intermediate matrix in order to obtain the melody line in a prefiltered form.
  11. The device according to one of claims 7 to 10, wherein means for segmenting is implemented to leave a part of the melody line unconsidered (796), which is outside a predetermined spectral value (798, 800), during a subsequent part of the segmentation.
  12. The device according to claim 11, wherein means for segmenting is implemented such that the predetermined spectral range reaches from 50 - 200 Hz to 1000 - 1200 Hz.
  13. The device according to one of claims 8 to 12, wherein means for segmenting is implemented to leave a part of a melody line unconsidered (804) in a subsequent part of the segmentation at which the logarithmized time-over-spectral representation comprises logarithmized spectral values which are less than a predetermined percentage of the maximum logarithmized spectral value of the logarithmized time-over-spectral representation.
  14. The device according to one of claims 8 to 13, wherein means for segmenting is implemented in order to leave parts of the melody line unconsidered (806) in a subsequent part of the segmentation at which, according to the melody line, less than a predetermined number of spectral components associated with neighboring time sections have a distance to each other which is smaller than a semitone distance.
  15. The device according to one of claims 11 to 14, wherein means for segmenting is implemented in order to division the melody line (812) reduced by the unconsidered parts into segments (812a, 812b) such that the number of the segments is as small as possible and neighboring time sections of a segment are associated with spectral components according to the melody line whose distance is smaller than a predetermined measure.
  16. The device according to claim 15, wherein means for segmenting is implemented to
    close (816) a gap (832) between neighboring segments (12a, 812b), in order to obtain a segment from the neighboring segments when the gap is smaller than a first number of time sections (830), and when with the time sections of the neighboring segments (12a, 812b) which are closest to the respective other one of the neighboring segments spectral components are associated by the melody line, which are in a same semitone area (838) or in adjacent semitone areas (836),
    to only close the gap (836) in the case that the same is greater than or equal to the first number of time sections but smaller than a second number of time sections which is larger than the first number (834), when
    spectral components are associated with the time sections of the neighboring segments (812a, 812b), which are closest to the respective other one of the neighboring segments, by the melody line, which lie in the same semitone area (838) or in adjacent semitone areas (836),
    the perception-related spectral values at those time sections are different (840) by less than a predetermined threshold value; and
    an average value of all perception-related spectral values along a connecting line (844) between the neighboring segments (812a, 812b) is greater than or equal to the average values of the perception-related spectral values along the two neighboring segments (842).
  17. The device according to claim 16, wherein means for segmenting is implemented in order to determine those spectral components (826) within the scope of the segmentation which are associated with the time sections according to the melody line most frequently, and to determine (824) a set of semitones relative to this spectral component, which are separated from each other by semitone boundaries which in turn define the semitone areas (828).
  18. The device according to claim 16 or 17, wherein means for segmenting is implemented to
    perform the closing of the gap by means of a straight connecting line (844).
  19. The device according to one of claims 15 to 18, wherein means for segmenting is implemented to
    temporarily shift (868) a follower segment (852b) of the segments which is directly neighboring (864) to a reference segment (852a) of the segments without a time section lying in between, in the spectrum direction in order to obtain a line of an octave, fifth and/or third;
    select (872) one or none of the line of the octave, fifth and/or third depending on whether a minimum among the perception-related spectral values along the reference segment (852a) has a predetermined relation to a minimum among the perception-related spectral values along the line of the octave, fifth and/or third; and
    if the line of the octave, fifth and/or third is selected, shift (874) the follower segment finally onto the selected line of the octave, fifth and/or third.
  20. The device according to one of claims 15 to 19, wherein means for segmenting is implemented to
    determine all local extremes (882) of the melody line in a predetermined segment (878);
    determine a sequence of neighboring extremes among the determined extremes for which all neighboring extremes are arranged at spectral components which are less than a first predetermined measure (886) separate from each other and at time sections which are separate from each other by less than a second predetermined measure (890), and
    change the predetermined segment (878) so that the time sections of the sequence of extremes and the time sections between the sequence of extremes are associated with (894) the average value of the spectral components of the melody line at these time sections.
  21. The device according to one of claims 15 to 20, wherein means for segmenting is implemented in order to determine the spectral component (832) within the scope of the segmentation which is associated most frequently to the time sections according to the melody line and to determine a set of semitones relative to this spectral component (832) which are separated from each other by semitone boundaries which in turn define the semitone areas, and wherein means for segmenting is implemented to
    change (912) for each time section in each segment the spectral component associated with the same to a semitone of the set of semitones.
  22. The device according to claim 21, wherein means for segmenting is implemented in order to perform the change to the semitones such that this semitone among the set of semitones comes closest to the spectral component to be changed.
  23. The device according to claim 21 or 22, wherein means for segmenting is implemented to
    filter the audio signal with a band pass filter (916) comprising a transmission characteristic around the common semitone of a predetermined segment in order to obtain a filtered audio signal (922);
    examine (918, 920, 926) the filtered audio signal (922) in order to determine at which points of time an envelope (924) of the filtered audio signal (922) comprises inflection points, wherein these points of time represent candidate initial points of time,
    depending on whether a predetermined candidate initial point of time is less than a predetermined time period before the first segment (928, 930), elongate the predetermined segment to the front by one or several further time sections (932), in order to obtain an elongated segment which ends approximately at the predetermined candidate initial point of time.
  24. The device according to claim 23, wherein means for segmenting is implemented in order to shorten a preceding segment to the front when elongating (932) the predetermined segment, when by this an overlapping of the segments across one or several time sections is prevented.
  25. The device according to claim 23 or 24, wherein means for segmenting is implemented to
    depending on whether the predetermined candidate initial point of time is more than the first predetermined time duration before the first time section of the predetermined segment (930), trace in the perception-related time-over-spectral representation the perception-related spectral values along an elongation of the predetermined segment in the direction of the candidate initial point of time up to a virtual point of time where the same decrease by more than a predetermined gradient (936), and to then, depending on whether the predetermined candidate initial point of time is more than the first predetermined time duration before the virtual point of time, elongate (932) the predetermined segment to the front by one or several further time sections in order to obtain the elongated segment which approximately ends at the predetermined candidate initial point of time.
  26. The device according to one of claims 23 to 25, wherein means for segmenting is implemented to discard segments (938) which are shorter than a predetermined number of time sections after performing the filtering, the determination and the supplementation.
  27. The device according to one of claims 1 to 26, further comprising means (940) for converting the segments into notes, wherein means for converting is implemented in order to allocate to each segment a note initial point of time which corresponds to the first time section of the segment, a note duration that corresponds to the number of the time sections of the segment multiplied by a time section time duration, and a tone pitch corresponding to an average of the spectral components through which the segment runs.
  28. The device according to one of claims 15 to 27, wherein means for segmenting is implemented to
    determine overtone segments (954a - g) for a predetermined one (952) of the segments,
    determine (958) the tone segment among the overtone segments along which the time-over-spectral representation of the audio signal comprises the greatest dynamic,
    establish (962) a minimum (964) in the course (960) of the time-over-spectral representation along the predetermined overtone segment;
    examine (986) whether the minimum fulfills a predetermined condition, and
    if this is the case, separate (988) a predetermined segment at the time section where the minimum is located into two segments.
  29. The device according to claim 28, wherein means for segmenting is implemented to compare (986), in the examination whether the minimum fulfills a predetermined condition, the minimum (964) to an average value of neighboring local maxima (980, 982) of the course (960) of the time-over-spectral representation along the predetermined overtone segment, and perform the separation (988) of the predetermined segment into the two segments depending on the comparison.
  30. The device according to one of claims 15 to 29, wherein means for segmenting is implemented to
    for a predetermined segment (994), allocate a number (z) to each time section (i) of the segment, such that for all groups of directly neighboring time sections to which the same spectral component is associated by the melody line, the numbers associated with the directly neighboring time sections are different numbers from 1 up to the number of directly neighboring time sections,
    for every spectral component which is associated with one of the time sections of the predetermined segment, add up (1000) the numbers of those groups, which time sections of the same the respective spectral component is associated with,
    determine (1012) a smoothing spectral component as the spectral component for which the largest up-summing results; and
    change (1014) the segment by associating the certain smoothing spectral component to each time section of the predetermined segment.
  31. The device according to one of claims 15 to 30, wherein means for segmenting is implemented to
    filter (1026) the audio signal with a band pass filter comprising a band pass around the common semitone of a predetermined segment in order to obtain a filtered audio signal;
    localize (1034) in an envelope of the filtered audio signal a maximum (1040) in a time window (1036) corresponding to the predetermined segment;
    determine (1042) a potential segment end as the point of time at which the envelope first fell to a value after the maximum (1040) which is smaller than a predetermined threshold value,
    if the potential segment end is (1046) temporally before an actual segment end of the predetermined segment, shorten (1049) the predetermined segment.
  32. The device according to claim 31 wherein means for segmenting is implemented to,
    if (1046) the potential segment end is temporally behind the actual segment end of the predetermined segment, elongate (1051) the predetermined segment if the temporal distance between the potential segment end (1044) and the actual segment end (1049) is not greater than a predetermined threshold value (1050).
  33. A method for extracting a melody underlying an audio signal (302), represented by a note sequence, comprising:
    providing (750) a time-over-spectral representation of the audio signal (302);
    frequency-dependent scaling (754; 770, 772, 774) of the amplitudes of the time-over-spectral representation using curves of equal volume reflecting human frequency-dependent volume perception in order to obtain a perception-related time-over-spectral representation; and
    on the basis of the perception-related time-over-spectral representation, determining (756) a melody of the audio signal.
  34. A computer program having a program code for performing the method according to claim 33, when the computer program runs on a computer.
EP05790019A 2004-10-11 2005-09-23 Method and device for the extraction of a melody on which an audio signal is based Ceased EP1797552B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004049457A DE102004049457B3 (en) 2004-10-11 2004-10-11 Method and device for extracting a melody underlying an audio signal
PCT/EP2005/010333 WO2006039994A2 (en) 2004-10-11 2005-09-23 Method and device for the extraction of a melody on which an audio signal is based

Publications (2)

Publication Number Publication Date
EP1797552A2 EP1797552A2 (en) 2007-06-20
EP1797552B1 true EP1797552B1 (en) 2010-04-21

Family

ID=35462427

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05790019A Ceased EP1797552B1 (en) 2004-10-11 2005-09-23 Method and device for the extraction of a melody on which an audio signal is based

Country Status (8)

Country Link
US (1) US20060075884A1 (en)
EP (1) EP1797552B1 (en)
JP (1) JP2008516289A (en)
KR (1) KR20070062550A (en)
CN (1) CN101076850A (en)
AT (1) ATE465484T1 (en)
DE (2) DE102004049457B3 (en)
WO (1) WO2006039994A2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686596B2 (en) 2008-11-26 2017-06-20 Free Stream Media Corp. Advertisement targeting through embedded scripts in supply-side and demand-side platforms
US9703947B2 (en) 2008-11-26 2017-07-11 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9716736B2 (en) 2008-11-26 2017-07-25 Free Stream Media Corp. System and method of discovery and launch associated with a networked media device
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571647A1 (en) * 2004-02-26 2005-09-07 Lg Electronics Inc. Apparatus and method for processing bell sound
DE102004028693B4 (en) * 2004-06-14 2009-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for determining a chord type underlying a test signal
DE102004049477A1 (en) * 2004-10-11 2006-04-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and device for harmonic conditioning of a melody line
JP4672474B2 (en) * 2005-07-22 2011-04-20 株式会社河合楽器製作所 Automatic musical transcription device and program
JP4948118B2 (en) * 2005-10-25 2012-06-06 ソニー株式会社 Information processing apparatus, information processing method, and program
JP4465626B2 (en) * 2005-11-08 2010-05-19 ソニー株式会社 Information processing apparatus and method, and program
RU2474972C2 (en) * 2006-01-17 2013-02-10 Конинклейке Филипс Электроникс Н.В. Detection of television signals drowned in noise using set of cyclostationarity tools
US7705231B2 (en) * 2007-09-07 2010-04-27 Microsoft Corporation Automatic accompaniment for vocal melodies
WO2007119221A2 (en) * 2006-04-18 2007-10-25 Koninklijke Philips Electronics, N.V. Method and apparatus for extracting musical score from a musical signal
US8168877B1 (en) * 2006-10-02 2012-05-01 Harman International Industries Canada Limited Musical harmony generation from polyphonic audio signals
US8283546B2 (en) * 2007-03-28 2012-10-09 Van Os Jan L Melody encoding and searching system
KR100876794B1 (en) * 2007-04-03 2009-01-09 삼성전자주식회사 Apparatus and method for enhancing intelligibility of speech in mobile terminal
US8140331B2 (en) * 2007-07-06 2012-03-20 Xia Lou Feature extraction for identification and classification of audio signals
CN101398827B (en) * 2007-09-28 2013-01-23 三星电子株式会社 Method and device for singing search
US9159325B2 (en) * 2007-12-31 2015-10-13 Adobe Systems Incorporated Pitch shifting frequencies
US20090193959A1 (en) * 2008-02-06 2009-08-06 Jordi Janer Mestres Audio recording analysis and rating
DE102008013172B4 (en) * 2008-03-07 2010-07-08 Neubäcker, Peter Method for sound-object-oriented analysis and notation-oriented processing of polyphonic sound recordings
JP5188300B2 (en) * 2008-07-14 2013-04-24 日本電信電話株式会社 Basic frequency trajectory model parameter extracting apparatus, basic frequency trajectory model parameter extracting method, program, and recording medium
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US8779268B2 (en) 2009-06-01 2014-07-15 Music Mastermind, Inc. System and method for producing a more harmonious musical accompaniment
US8785760B2 (en) 2009-06-01 2014-07-22 Music Mastermind, Inc. System and method for applying a chain of effects to a musical composition
US9251776B2 (en) 2009-06-01 2016-02-02 Zya, Inc. System and method creating harmonizing tracks for an audio input
US9257053B2 (en) 2009-06-01 2016-02-09 Zya, Inc. System and method for providing audio for a requested note using a render cache
US8492634B2 (en) 2009-06-01 2013-07-23 Music Mastermind, Inc. System and method for generating a musical compilation track from multiple takes
US9177540B2 (en) 2009-06-01 2015-11-03 Music Mastermind, Inc. System and method for conforming an audio input to a musical key
US9310959B2 (en) 2009-06-01 2016-04-12 Zya, Inc. System and method for enhancing audio
CN102422531B (en) * 2009-06-29 2014-09-03 三菱电机株式会社 Audio signal processing device
CN101645268B (en) * 2009-08-19 2012-03-14 李宋 Computer real-time analysis system for singing and playing
KR101106185B1 (en) 2010-01-19 2012-01-20 한국과학기술원 An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window
US8710343B2 (en) * 2011-06-09 2014-04-29 Ujam Inc. Music composition automation including song structure
CN103915093B (en) * 2012-12-31 2019-07-30 科大讯飞股份有限公司 A kind of method and apparatus for realizing singing of voice
US8927846B2 (en) * 2013-03-15 2015-01-06 Exomens System and method for analysis and creation of music
US10133537B2 (en) 2014-09-25 2018-11-20 Honeywell International Inc. Method of integrating a home entertainment system with life style systems which include searching and playing music using voice commands based upon humming or singing
CN104503758A (en) * 2014-12-24 2015-04-08 天脉聚源(北京)科技有限公司 Method and device for generating dynamic music haloes
US9501568B2 (en) 2015-01-02 2016-11-22 Gracenote, Inc. Audio matching based on harmonogram
WO2017133213A1 (en) * 2016-02-01 2017-08-10 北京小米移动软件有限公司 Fingerprint identification method and device
CN107203571B (en) 2016-03-18 2019-08-06 腾讯科技(深圳)有限公司 Song lyric information processing method and device
CN107301857A (en) * 2016-04-15 2017-10-27 青岛海青科创科技发展有限公司 A kind of method and system to melody automatically with accompaniment
CN107039024A (en) * 2017-02-10 2017-08-11 美国元源股份有限公司 Music data processing method and processing device
CN107123415B (en) * 2017-05-04 2020-12-18 吴振国 Automatic song editing method and system
US11282407B2 (en) 2017-06-12 2022-03-22 Harmony Helper, LLC Teaching vocal harmonies
US10249209B2 (en) * 2017-06-12 2019-04-02 Harmony Helper, LLC Real-time pitch detection for creating, practicing and sharing of musical harmonies
IL253472B (en) 2017-07-13 2021-07-29 Melotec Ltd Method and apparatus for performing melody detection
WO2020094263A1 (en) 2018-11-05 2020-05-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and audio signal processor, for providing a processed audio signal representation, audio decoder, audio encoder, methods and computer programs
CN112259063B (en) * 2020-09-08 2023-06-16 华南理工大学 Multi-pitch estimation method based on note transient dictionary and steady state dictionary
CN112258932B (en) * 2020-11-04 2022-07-19 深圳市平均律科技有限公司 Auxiliary exercise device, method and system for musical instrument playing
SE544738C2 (en) * 2020-12-22 2022-11-01 Algoriffix Ab Method and system for recognising patterns in sound
CN113537102B (en) * 2021-07-22 2023-07-07 深圳智微电子科技有限公司 Feature extraction method of microseismic signals
CN114007166B (en) * 2021-09-18 2024-02-27 北京车和家信息技术有限公司 Method and device for customizing sound, electronic equipment and storage medium
CN115472143B (en) * 2022-09-13 2024-10-01 天津大学 Method and device for detecting starting point of musical note of tonal music and decoding note

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04220880A (en) * 1990-12-21 1992-08-11 Casio Comput Co Ltd Quantizing device
JP2558997B2 (en) * 1991-12-03 1996-11-27 松下電器産業株式会社 Digital audio signal encoding method
DE19526333A1 (en) * 1995-07-17 1997-01-23 Gehrer Eugen Dr Music generation method
DE19710953A1 (en) * 1997-03-17 1997-07-24 Frank Dr Rer Nat Kowalewski Sound signal recognition method
JP3795201B2 (en) * 1997-09-19 2006-07-12 大日本印刷株式会社 Acoustic signal encoding method and computer-readable recording medium
JP4037542B2 (en) * 1998-09-18 2008-01-23 大日本印刷株式会社 Method for encoding an acoustic signal
JP4055336B2 (en) * 2000-07-05 2008-03-05 日本電気株式会社 Speech coding apparatus and speech coding method used therefor
EP1340219A4 (en) * 2000-12-05 2005-04-13 Amusetec Co Ltd Method for analyzing music using sounds of instruments
WO2002054715A2 (en) * 2000-12-28 2002-07-11 Koninklijke Philips Electronics N.V. Programming of a ringing tone in a telephone apparatus
JP2002215142A (en) * 2001-01-17 2002-07-31 Dainippon Printing Co Ltd Encoding method for acoustic signal
WO2003005242A1 (en) * 2001-03-23 2003-01-16 Kent Ridge Digital Labs Method and system of representing musical information in a digital representation for use in content-based multimedia information retrieval
DE10117870B4 (en) * 2001-04-10 2005-06-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for transferring a music signal into a score-based description and method and apparatus for referencing a music signal in a database
AU2002346116A1 (en) * 2001-07-20 2003-03-03 Gracenote, Inc. Automatic identification of sound recordings
US8050874B2 (en) * 2004-06-14 2011-11-01 Papadimitriou Wanda G Autonomous remaining useful life estimation

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686596B2 (en) 2008-11-26 2017-06-20 Free Stream Media Corp. Advertisement targeting through embedded scripts in supply-side and demand-side platforms
US9703947B2 (en) 2008-11-26 2017-07-11 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9706265B2 (en) 2008-11-26 2017-07-11 Free Stream Media Corp. Automatic communications between networked devices such as televisions and mobile devices
US9716736B2 (en) 2008-11-26 2017-07-25 Free Stream Media Corp. System and method of discovery and launch associated with a networked media device
US9838758B2 (en) 2008-11-26 2017-12-05 David Harrison Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9848250B2 (en) 2008-11-26 2017-12-19 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9854330B2 (en) 2008-11-26 2017-12-26 David Harrison Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9866925B2 (en) 2008-11-26 2018-01-09 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9967295B2 (en) 2008-11-26 2018-05-08 David Harrison Automated discovery and launch of an application on a network enabled device
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10032191B2 (en) 2008-11-26 2018-07-24 Free Stream Media Corp. Advertisement targeting through embedded scripts in supply-side and demand-side platforms
US10074108B2 (en) 2008-11-26 2018-09-11 Free Stream Media Corp. Annotation of metadata through capture infrastructure
US10142377B2 (en) 2008-11-26 2018-11-27 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US10771525B2 (en) 2008-11-26 2020-09-08 Free Stream Media Corp. System and method of discovery and launch associated with a networked media device
US10791152B2 (en) 2008-11-26 2020-09-29 Free Stream Media Corp. Automatic communications between networked devices such as televisions and mobile devices
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US10986141B2 (en) 2008-11-26 2021-04-20 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device

Also Published As

Publication number Publication date
EP1797552A2 (en) 2007-06-20
US20060075884A1 (en) 2006-04-13
CN101076850A (en) 2007-11-21
WO2006039994A3 (en) 2007-04-19
DE102004049457B3 (en) 2006-07-06
KR20070062550A (en) 2007-06-15
DE502005009467D1 (en) 2010-06-02
ATE465484T1 (en) 2010-05-15
JP2008516289A (en) 2008-05-15
WO2006039994A2 (en) 2006-04-20

Similar Documents

Publication Publication Date Title
EP1797552B1 (en) Method and device for the extraction of a melody on which an audio signal is based
WO2006039995A1 (en) Method and device for harmonic processing of a melodic line
WO2006039993A1 (en) Method and device for smoothing a melody line segment
EP2099024B1 (en) Method for acoustic object-oriented analysis and note object-oriented processing of polyphonic sound recordings
WO2006039992A1 (en) Extraction of a melody on which an audio signal is based
DE69907498T2 (en) METHOD FOR QUICKLY DETECTING THE TONE HEIGHT
DE69417445T2 (en) METHOD AND SYSTEM FOR DETECTING AND GENERATING TRANSITIONAL CONDITIONS IN SOUND SIGNALS
DE69901606T2 (en) BROADBAND VOICE SYNTHESIS OF NARROW-BAND VOICE SIGNALS
DE3236832A1 (en) METHOD AND DEVICE FOR VOICE ANALYSIS
EP2180463A1 (en) Method to detect note patterns in pieces of music
WO2005122135A1 (en) Device and method for converting an information signal into a spectral representation with variable resolution
DE102004028693B4 (en) Apparatus and method for determining a chord type underlying a test signal
DE102004033867B4 (en) Method and device for the rhythmic preparation of audio signals
EP1671315B1 (en) Process and device for characterising an audio signal
DE10117871C1 (en) Signal identification extraction method for identification of audio data uses coordinate points provided by frequency values and their occurence points
EP1743324B1 (en) Device and method for analysing an information signal
DE10253868B3 (en) Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points
WO2005122137A1 (en) Apparatus and method for determining a frequency grid underlying an audio signal
DD141356A1 (en) METHOD FOR THE ACOUSTIC GUETE ASSESSMENT OF MUSICAL INSTRUMENTS
DE3200645A1 (en) Method and device for speech recognition

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070405

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20080110

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GRACENOTE, INC.

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REF Corresponds to:

Ref document number: 502005009467

Country of ref document: DE

Date of ref document: 20100602

Kind code of ref document: P

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20100421

LTIE Lt: invalidation of european patent or patent extension

Effective date: 20100421

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100801

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100821

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100722

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100512

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: IE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100823

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

26N No opposition filed

Effective date: 20110124

BERE Be: lapsed

Owner name: GRACENOTE, INC.

Effective date: 20100930

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100930

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100930

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100930

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100930

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100923

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100923

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101022

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100421

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100721

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 11

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 12

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 13

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20220927

Year of fee payment: 18

Ref country code: DE

Payment date: 20220629

Year of fee payment: 18

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20220926

Year of fee payment: 18

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 502005009467

Country of ref document: DE

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20230923

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230923

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230923

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230930

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20240403