EP1787283A1 - Extraktion einer einem audiosignal zu grunde liegenden melodie - Google Patents

Extraktion einer einem audiosignal zu grunde liegenden melodie

Info

Publication number
EP1787283A1
EP1787283A1 EP05793771A EP05793771A EP1787283A1 EP 1787283 A1 EP1787283 A1 EP 1787283A1 EP 05793771 A EP05793771 A EP 05793771A EP 05793771 A EP05793771 A EP 05793771A EP 1787283 A1 EP1787283 A1 EP 1787283A1
Authority
EP
European Patent Office
Prior art keywords
spectral
time
segment
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.)
Withdrawn
Application number
EP05793771A
Other languages
English (en)
French (fr)
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
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of EP1787283A1 publication Critical patent/EP1787283A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • 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
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/066Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • 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

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.
  • 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.
  • this approach inherently limits melody recognition to the pre-stored set of tunes.
  • Klapuri AP: Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Summary Diss., December 2003, and Klapuri, AP, Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss.
  • 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
  • a robust transcription could, of course, also be used as a recording fron d and it would also be possible to use automatic transcription as a supplement to an audio ID system, that is, a system that recognizes audio files on a fingerprint contained in them because if not recognized by the audio ID system, such as due to a missing fingerprint, automatic transcription could alternatively be used to evaluate an incoming audio file.
  • 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.
  • a melody line extending through the time / spectral representation is first of all determined by virtue of the fact that each time segment or frame - in a clear manner - has exactly one spectral component or a frequency bin is assigned to the time / spectral representation, namely, according to a specific embodiment, that which leads to the sound result with the maximum intensity at that frame.
  • 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, the time / spectral representation or spectrogram of an audio signal of interest is scaled using the equal volume curves reflecting human volume perception to determine the melody of the audio signal based on the resulting perceptual time / spectral representation , 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 logarithmized spectral values of the logarithmic _ _
  • Spectrographs are mapped to perceptual spectral values, depending on their respective value and the spectral component to which they belong. 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 perceptual spectrum is delogarithmized to produce a time / sound spectrum from the result by forming sums of delogarithmized perceptual spectral values per frame for predetermined spectral components. These sums comprise the delogarithmized perceptual spectral value at the respective spectral component as well as the delogarithmized perceptual spectral values at the spectral components which form an overtone to the respective spectral component.
  • the time / sound spectrum thus obtained represents a version of the time / spectral representation derived therefrom.
  • Fig. 1 is a block diagram of an apparatus for generating a polyphonic melody
  • FIG. 2 is a flow chart illustrating the operation of the extractor of the apparatus of FIG. 1;
  • Fig. 3 is a more detailed flow chart illustrating the operation of the extractor of the apparatus of Fig. 1 in the case of a polyphonic audio input signal;
  • FIG. 4 shows an exemplary example of a time / spectral representation or a spectrogram of a - -
  • Audio signal as might occur in the frequency analysis in Fig. 3;
  • Fig. 5 is a logarithmic spectrogram, as shown by the logarithm of Fig. 3;
  • Fig. 6 is a diagram with the curves of equal volume, as the evaluation of the spectrum in Fig. 3 to
  • Fig. 7 is a graph of an audio signal used before the actual logarithm in Fig. 3 to obtain a reference value for logarithmization;
  • FIG. 8 shows a perceptual spectrogram as obtained after the evaluation of the spectrogram of FIG. 5 in FIG.
  • FIG. 9 is the melody line resulting from the perceptual spectrum of FIG. 8 through the melody line determination of FIG. 3, plotted in the time / spectral domain;
  • FIG. 10 is a flow chart illustrating the general segmentation of FIG. 3; FIG.
  • Fig. 11 is a schematic representation of an exemplary
  • FIG. 12 is a schematic representation of a section of the melody line progression diagram of FIG. 11, for illustrating the mode of operation of the filtering in the general segmentation of FIG. 10;
  • FIG. 12 is a schematic representation of a section of the melody line progression diagram of FIG. 11, for illustrating the mode of operation of the filtering in the general segmentation of FIG. 10;
  • Fig. 13 is the melody line progression of Fig. 9 after the frequency domain confinement in the general segmentation of Fig. 10; - -
  • Fig. 14 is a schematic drawing, in which a section of a melody line is shown, for
  • Fig. 15 is a schematic drawing of a section of a melody line to illustrate the mode of operation of the segmentation in the general
  • FIG. 16 is a flowchart for illustrating the
  • Fig. 17 is a schematic drawing for illustrating the procedure for setting the variable
  • Fig. 18 is a schematic drawing for illustrating the gap closing of Fig. 16;
  • FIG. 19 is a flow chart illustrating the harmony mapping in FIG. 3; FIG.
  • FIG. 20 shows a schematic representation of a detail from the melody line progression for illustrating the mode of action of the harmoniemappings according to FIG. 19;
  • FIG. 21 is a flowchart illustrating the vibration detection and the vibrator compensation in FIG. 3;
  • FIG. 22 shows a schematic representation of a segment profile for illustrating the procedure according to FIG. 21;
  • FIG. 23 shows a schematic illustration of a detail from the melody line progression in order to illustrate the procedure for the statistical correction in FIG. 3;
  • FIG. 24 is a flow chart illustrating the procedure of onset detection and correction in FIG. 3; FIG.
  • Fig. 25 is a graph showing an exemplary filter transfer function for use in onset detection of Fig. 24;
  • FIG. 26 is a schematic diagram of a two-way rectified filtered audio signal and the envelope thereof as used for onset detection and correction in FIG. 24;
  • FIG. 26 is a schematic diagram of a two-way rectified filtered audio signal and the envelope thereof as used for onset detection and correction in FIG. 24;
  • FIG. 27 is a flow chart illustrating the operation of the extractor of FIG. 1 in the case of monophonic audio input signals
  • Fig. 28 is a flowchart illustrating sound separation in Fig. 27;
  • 29 is a schematic representation of a section of the amplitude curve of the spectrogram of a
  • FIGS. 30 a and b are schematic representations of a section of the amplitude profile of the spectrogram of an audio signal along a segment for the purpose of FIG
  • Fig. 31 is a flowchart illustrating the tone smoothing in Fig. 27;
  • Fig. 32 is a schematic representation of a segment of the melody line course to illustrate the
  • Fig. 34 is a schematic representation of a section of a two-way rectified filtered
  • FIG. 35 shows a detail of a two-way rectified filtered audio signal and its interpolation in the case of a potential segment extension.
  • FIG. 1 shows an embodiment of a device for generating a polyphonic melody from an audio signal containing a desired tune.
  • FIG. 1 v shows a device for the rhythmic and harmonic conditioning and re-instrumenting of a melody-representing audio signal and for supplementing the resulting melody with a suitable accompaniment.
  • the apparatus of FIG. 1, indicated generally at 300, includes an input 302 for receiving the audio signal.
  • the device 300 or the input 302 expects the audio signal in a time-sample representation, for example as a WAV file.
  • 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.
  • 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.
  • 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.
  • 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 obtain a note sequence from the audio signal.
  • 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 device 306 is designed to - -
  • 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, the means 308 determines, based on the note sequence 324, a major key of the user melody represented by the note sequence 324 and the audio signal 302, inclusive of the pitch gender, i. Major or minor, for example the sung piece. Thereafter, it also recognizes, at this point, non-sounding 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 forwarded to the harmony 310 and a key ⁇ corrected form represents the desired by the user melody.
  • the mode of operation of the device 324 with regard to the key determination can be carried out in various ways.
  • the key determination may refer to those described 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.
  • the harmony device 310 is configured to receive the note sequence 700 from the device 308 and to the tune represented by this note sequence 700 - -
  • 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 statistics of the occurring tones are 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. In this way, the means 310 determines, for each clock, the chord which best fits the notes or notes, for example, in the respective clock.
  • 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 now uses the accompaniment pattern (s) indicated by the style information 702. to - -
  • the synthesizer 312 appends the accompaniment patterns per clock. 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. If, however, the chord determined by means 310 is not the one in which an accompaniment pattern is stored in means 312 for a particular clock, synthesizer 312 shifts the notes of the accompaniment pattern by the corresponding semitone number and changes the third Sext and fifth a semitone in the case of another tone gender, namely by shifting one 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 outcome of the polyphonic tune at exit 304, he may reenter the provisioning identification number along with a new style information in the apparatus of Figure 1, whereupon the melody store 314 forwards the sequence 700 stored under the staging identification number to the harmony facility 310, which then determines the chords as described above, whereupon the synthesizer 312 uses the new style information depending on the chords a new one Accompaniment and depending on the note sequence 700 creates 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, can 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 particular embodiment of which will be explained below with reference to FIG. 4.
  • step 752 means 304 determines a weighted amplitude spectrum or perceptual spectrogram in step 754.
  • the detailed procedure for determining the perceptual spectrogram will now be described in greater detail with reference to FIGS. 3-8.
  • the result of step 754 is a rescale of the spectrogram obtained from the frequency analysis 752 below - -
  • 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 melody line articulated in note segments, i. in a form in which groups of consecutive frames are each assigned the same pitch with each other, these groups being spaced apart in time over one or more frames, thus not overlapping and thus corresponding to note segments of a monophonic melody.
  • the 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.
  • step 758 is thus virtually a melody line function that everyone Frame assigns exactly one frequency bin.
  • 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 substeps 760 and 762, depending on whether the segmentation is at input frequency resolution, i. in frequency bin resolution, or whether the segmentation is in halftone resolution, i. after quantizing 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 agrees with FIG. 2, ie an audio signal is initially provided 750 and this then a frequency analysis 752 subjected.
  • 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 performed, for example, by means of a warped filter bank and an FFT (Fast Fourier
  • the sequence of audio values is first windowed with a window length of 512 samples, operating on a hopsize of 128 samples, i. the windowing is repeated every 128 samples.
  • 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 at the combination of the two transformations 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.
  • 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 exemplary embodiment of a combination of a warped filter bank and an FFT.
  • the time t is plotted in seconds s, while along the vertical axis the frequency f is in Hz.
  • 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 are still post-processed in the frequency analysis 752, since 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.
  • a crosstalk arises on adjacent frequency bands, which are also referred to as bins or frequency bins.
  • the effect of crosstalk can be exploited.
  • This error affects a maximum of two adjacent frequency bands in each direction.
  • the amplitudes of adjacent bins are added 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.
  • 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 thus makes sense to adapt the amplitude spectrum to 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
  • Po indicates the reference sound pressure, i. the volume level that has the smallest perceptible sound pressure at 1000 Hz.
  • this reference value must first be determined. While in the analog signal analysis as
  • FIG. 7 shows the sample audio signal 772 over the time t, the amplitude A being plotted in the Y direction 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.
  • 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 auditory threshold.
  • other determinations of the benchmark may be more beneficial on a case-by-case basis.
  • the result of the logarithmization 770 of the spectrogram from FIG. 4 is shown by way of example. 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 logarithmic spectral values are shown in the same manner as in FIG. 4, i. 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 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.
  • curves 774 of the same volume the curve characteristic from DIN 45630 Part 2, German Institute for Standardization e.V., Fundamentals of Sound Measurement, Normal Curves of the Same Volume, 1967, was used here by way of example.
  • the graph is shown in FIG. 6.
  • the equal volume curves 774 are respectively associated with 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, it being of course also possible to provide a look-up table corresponding to each pair of frequency bins and
  • Sound level quantization value assigns a volume level value.
  • volume curve with the lowest volume level for example, the formula
  • the function parameters of the resting hearing threshold can be changed according to the above equation to correspond to the curve of the lowest loudness curve of the abovementioned DIN standard of FIG. 6. 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 the highest value range can evaluate 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, i. 5, depending on the frequency f or the frequency bin to which it belongs, and its value, which represents the sound pressure level, on a perceptual spectral value representing the volume level.
  • steps 770-774 illustrate possible substeps of step 754 of FIG. 2.
  • the method of FIG. 3 proceeds to evaluation 772 of the spectrum in a step 776 with a fundamental frequency determination or with the calculation of the total intensity of each sound in the audio signal.
  • step 776 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, i. each frequency bin to search for overtones or overtones that are an integer multiple of the respective fundamental tone.
  • 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, because due to several sounds occurring simultaneously in a piece of music, there is the possibility that the fundamental tone of a sound from an upper tone of another sound with a - -
  • a tone model based on the principle of the Mosataka Goto model 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-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, Istanbul, Turkey, 2000.
  • 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 which obscures the actual overtone, has no particular JU
  • step 776 the perceptual spectrum of FIG. 8 is 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.
  • step 776 is a sound spectrogram, step 776 itself being a sound spectrogram - -
  • step 776 is entered into a new matrix having one row for each frequency bin within the frequency range of possible fundamental frequencies and one column for each frame, with each matrix element, i. at each intersection of column and row, the result of the summation for the corresponding frequency bin is entered as the fundamental tone.
  • a preliminary determination of a potential melody line is made.
  • the melody line corresponds to a function over time, namely a function that uniquely assigns to each frame exactly one frequency band or frequency bin.
  • 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 main melody is the part of a song that man perceives loudest and most concisely.
  • steps 776-780 represent possible substeps of step 758 of FIG. 2.
  • step 780 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, e.g. found from the bass or other accompanying instruments. These melody pauses must be eliminated by the later steps in FIG. In addition, short, individual elements that can not be assigned to any area of the title arise. They are removed, for example, by means of a 3x3 average filter, as will be described below.
  • 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 shown by way of example for the case of the perceptual spectrum of FIG. 8. 9 shows the melody line plotted over the time t or over the sequence of frames along the x-axis, the frequency f and the frequency bins being indicated along the y-axis.
  • the melody line of 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, on 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.
  • 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 shown in Fig. 9 is shown as a binary track in an array represented by the frequency bins on the one and the frames are spanned on the other side.
  • the pixel array of Fig. 9 be 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.
  • 11 shows by way of example in schematic form a possible course of a melody line 784 in a representation according to FIG. 9.
  • the pixel array shows regions 788 in which there are isolated black pixel elements, the sections of the potential melody line 784 determined by their temporal brevity not part of the actual tune and should therefore be removed.
  • a second pixel array is first generated from the pixel array of FIG. 9 or FIG. 11, in which the melody line is represented in binary form, by entering a value for each pixel, that of the summation of the binary values at the corresponding pixel as well as the pixel adjacent to that pixel.
  • FIG. 12a There is shown an exemplary section of the course of a melody line in the binary image of Fig. 9 or Fig. 11.
  • the exemplary portion of Figure 12a includes five rows corresponding to different frequency bins 1-5 and five columns A-E corresponding to different adjacent frames.
  • the course of the melody line is symbolized in FIG. 12a by the hatching of the corresponding pixel elements representing parts of the melody line.
  • the frequency bin 4 is assigned to the frame B by the melody line, the frequency bin 3, etc., to the frame C.
  • 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 exemplified, for example, in FIG. 12a for the pixel 792, in which figure at 794 a square is drawn, which surrounds the pixel adjacent to the pixel 792 and the pixel 792 itself.
  • the pixel 792 there would be a sum of 2, because in the area 794 around the pixel 792 there are only 2 pixels, the belong 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, sometimes also referred to as Intermediate matrix called.
  • 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 shown for the exemplary case of FIG. 12a in FIG. 12a with numbers of "0" and "1" in the individual pixels 790.
  • the combination of 3x3 summation and subsequent mapping to "0" and "1” causes the melody line to "smear" by means of the threshold value 2.
  • the combination acts as a low-pass filter, which would be undesirable in the context of step 786, the first pixel image, ie that of FIG. 9 or FIG. 11, or in FIG.
  • FIG. 12b therefore shows a further exemplary section from the melody matrix of FIG. 9 or FIG. 11.
  • the combination of summation and threshold value mapping results in an intermediate matrix in which two individual pixels P4 and R2 have a binary value of 0, although at these pixel positions the melody matrix has a binary value of 1, as can be seen by the hatching in Fig. 12b, which is intended to illustrate that the melody line is at these pixel positions ,
  • 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.
  • all the pixels of the melody matrix of Fig. 9 and Fig. 11, respectively, are set to zero which are outside the predetermined frequency range.
  • a frequency range is, for example, 100-200-2001-10000 Hz, and preferably 150-1050 Hz.
  • monophonic analysis as described with reference to FIGS.
  • 27 ff is accepted Frequency range 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 on this bandwidth contributes to the observation that melodies in popular music are usually represented by singing, which is in this frequency range as well the human language.
  • FIG. 13 shows the melody line filtered by step 786 and clipped by step 796, denoted by reference numeral 802 for discrimination in FIG.
  • step 804 removal of sections of the melody line 802 with too small an amplitude takes place, wherein the extraction device 304 uses the logarithmic spectrum of FIG. 5 from step 770. More specifically, for each tuber of frequency bin and frame through which melody line 802 passes, extractor 304, in the logarithmic spectrum of FIG. 5, looks up the corresponding logarithmic spectral value and determines whether the corresponding logarithmic spectral value is less than a predetermined percentage is the maximum amplitude or the maximum logarithmic spectral value in the logarithmic spectrum of FIG. 5.
  • 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 is 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 the pixels of the melody matrix of Figures 9 and 17, respectively, 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 portion of the melody matrix across A-M consecutive frames, with the frames arranged in columns as the frequency increases from bottom to top along the column direction.
  • the frequency bin resolution is not shown in FIG. 14 for the sake of clarity.
  • the melody line is indicated by the reference numeral 808 in FIG. 14 by way of example.
  • 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. Thenceforth - -
  • 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, the means 304 checks between which of the marked frames less than one 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 at frames I and J, ie it is getting 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 portion of the melody line 812 as it appears after step 806. Only the individual matrix elements 814 from the melody matrix along which the melody line 812 extends are shown in FIG.
  • 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 a matrix element to a _
  • means 304 performs the check for the presence of a neighborhood relationship also for the next frame. Otherwise, i. in the absence of a neighborhood relationship, a currently recognized segment ends at the previous frame, and a new segment begins at the current frame.
  • the section of the melody line 812 shown in FIG. 15 represents an incomplete segment, in which all the matrix elements 814 that are part of the melody line or along which it runs are immediately adjacent to one another.
  • 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 gap between adjacent segments to address the case that, due to, for example, percussive events in the melody line determination in step 780, others accidentally Sound components have been detected and filtered out in the general segmentation 782.
  • Gap closure 816 will be explained in greater detail with reference to FIG. 16, wherein gap closure 816 relies on a halftone vector, which is determined in a step 818, the determination of the halftone vector will be explained in more detail with reference to FIG.
  • FIG. 17 shows the patchy melody line 812 resulting from the general segmentation 782 in a shape plotted in the melody matrix.
  • means 304 now determines which frequency bins the melody line 812 traverses and 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 indicated by an arrow 826 in FIG. Starting from this frequency bin 826 of the frequency fo, the device 304 then determines a vector of frequencies fi which have a frequency spacing to one another and above all to the frequency fo, 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 referenced. 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 fo.
  • gap closure 816 attempts to close gaps between adjacent segments of melody line 812 that unintentionally resulted in melody line recognition 780 and general segmentation 782, respectively, as described above.
  • the gap closure is carried out segment by segment.
  • FIG. 18 shows 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 is six frames.
  • p is preferably 4.
  • the gap is 832 - -
  • step 834 to check if the gap 832 is less than or equal to q frames, where q is preferably 15.
  • step 836 it is checked whether the facing segment ends of the reference segment 812a and the successor segment 812b, i. the end of the segment 812a and the beginning of the successor segment 812b lie in a same or adjacent halftone areas.
  • the frequency axis f is divided into halftone areas as determined in step 818. As can be seen, in the case of FIG. 18, the facing segment ends of the segments 812a and 812b lie in one and the same halftone area 838.
  • 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.
  • 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. 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 also shown in FIG. 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. 3 'ber this perception-related spectral along the closing line Lücken ⁇ 304 determines the device the mean value and compares it as part of step 842 with the corresponding mean values of the perception-related spectral values along the reference segment 812a and the follower segment 812b.
  • step 846 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.
  • step 846 the list of segments 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 conditional on that of step 836, i. 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.
  • 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 harmony mapping 850 will be described in more detail below with reference to FIGS. 19 and 20.
  • FIG. 20 shows by way of example a section of the melody line as it has appeared after the gap closure 816.
  • This melody line is provided with the reference numeral 852 in FIG. 20, 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 again takes place as a track in the melody matrix, it being recalled, however, that the melody line 852 is a function which uniquely assigns a single frequency bin to the individual frames - meanwhile not all of them - so that those shown in FIG Make tracks.
  • the segment 852b located between the segments 852a and 852c appears from the melody line progression as it would result from the segments 852a and 852c. to be cut out.
  • the segment 852b without 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.
  • dash-and-dot line 858 is four halftones, i. by a major third, shifted to segment 852b toward higher frequencies.
  • Dashed line 858b is shifted down twelve halftones from frequency direction f, i. by an octave.
  • a third line 858c is dot-dashed to this line and a fifth line 858d is a dot-and-dash line, i. a line shifted by seven semitones towards higher frequencies relative to line 858b.
  • the segment 852b appears to have been erroneously detected in the context of the melody line determination 780, since the same would be less abruptly inserted between the adjacent segments 852a and 852c when shifted one octave lower.
  • 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. In this case, all frequency bins associated with frames within the filter window by the melody line 852 are averaged and this mean value for the frame is entered in the middle of the filter window, which results in a melody center line 862 after repetition for successive frames in the case of FIG. a function that uniquely assigns a frequency to each frame.
  • 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 “compressed” accordingly, or only over a range from the beginning and end of the audio piece around the audio signal Half of 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 the octave, fifth, and / or third lines 858a-d to obtain.
  • 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.
  • These minimum values are used in the 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.
  • 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 of Fig. 20, the latter condition would be satisfied unless the third line 858a were selected in step 872.
  • a vibrato detection and a vibrato compensation take place in a step 876, the mode of operation of which is explained in more detail with reference to FIGS. 21 and 27.
  • Step 876 is performed segment by segment for each segment 878 in the melody line as it results after harmony mapping 850.
  • 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 examines the reference segment 878 for those points where it has local extremal parts along the time axis with respect to the frequency direction, ie, points where the slope of the melody line function is zero. These points are indicated in FIG. 22 by way of example with vertical lines 882.
  • a subsequent step 884 it is checked whether the extrema sites 882 are arranged such that temporally adjacent local extreme parts 882 are arranged at frequency bins having a frequency spacing greater than or equal to a predetermined number of bins, for example 15 to 25 preferably but 22 bins with respect to implementation of the frequency analysis described in reference to FIG. 4, or a number of bins per semitone range of about 2 to 6, respectively.
  • a predetermined number of bins for example 15 to 25 preferably but 22 bins with respect to implementation of the frequency analysis described in reference to FIG. 4, or a number of bins per semitone range of about 2 to 6, respectively.
  • the length of 22 frequency bins is shown by way of example with a double arrow 886.
  • the extremity parts 882 satisfy criterion 884.
  • the device 304 checks whether, between the adjacent extremum parts 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 3 'REVIEW in step 888 is positive, as in the example of FIG. 22 is the case, which is recognizable by the double arrow 890, which should correspond to the length of 21 frames, it is checked in a step 892, whether the The number of extremes 882 is greater than or equal to a predetermined number, which is preferably 5 in the present case. 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 indicated at 896 in FIG.
  • the reference segment 878 becomes is removed on the current melody line and replaced by a reference segment 896 which extends over the same frames as the reference segment 878 but runs along a constant frequency bin corresponding to the average of the frequency bins through which the replaced reference segment 878 passed. If the result of one of the fiber tests 884, 888 and 892 is negative, the vibrato detection or compensation ends for the relevant reference segment.
  • the vibrato detection and the vibrato balancing of Fig. 21 perform vibrato detection by stepwise feature extraction, which searches for local extrema, namely local minima and maxima, with a limitation on the number of allowed frequency bins of the modulation and a limitation in the modulation 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.
  • step 898 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 FIG. 898 will be further explained with reference to FIG. FIG. 23 shows, by way of example, a detail of a melody line 900, as may arise after 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 time length is frame-shifted along the time axis t to calculate, frame by frame, an average of the frequency bins that comprise 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 line is indicated by reference numeral 906 in FIG.
  • a second window is frame-shifted along the time axis t, 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 is then added to and subtracted from each frame for each frequency bin passing through the melody centerline 906 at that frame 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 so that in the respective frame the melody line to the frequency value is changed corresponding to the semitone frequency of the semitone area in which the frequency bin was, through which the melody line was passed.
  • Steps 782, 816, 818, 850, 876, 898 and 912 thus correspond to step 760 in FIG. 2.
  • step 914 Upon halftone mapping 912, an onset detection and correction per segment is performed in step 914. This will be explained in more detail with reference to FIGS. 24-26.
  • 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 correspond to the semitone area in which the considered segment is located.
  • an IIR band-pass filter having the cut-off frequencies f u and f 0 associated with the respective halftone region is filtered as filter cutoff frequencies or with a Butterworth bandpass filter whose transfer function is shown in FIG.
  • step 918 two-way rectification of the one filtered in step 916 is performed
  • Time signal is folded with a Hammingrap, whereby an envelope of the two-way rectified and the filtered audio signal is determined.
  • Steps 916-920 are illustrated once again with reference to FIG.
  • Fig. 26 shows by reference numeral 922 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 are then performed.
  • step 926 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 certainly.
  • the timings of the inflection 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, possibly in the context of step 926, which is not shown in FIG. 24. 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 which corresponds to one of the segments of the melody line arranged in the semitone area, which determines the determination of the melody line Envelope 924 was used.
  • 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 it is checked whether the potential start time is more than x frames before the start of the corresponding segment, where x is between 8 and 12, inclusive, and preferably 10 with a frame length of 8 ms, the values for other frame lengths would be changed accordingly. 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 decrease of these perceptual spectral values in the perceptual spectrum exceeds a certain value, then the frame on which this transgression has taken place is provisionally used as segment start of the reference segment and step 930 is repeated again. Is then the potential start time 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 consequently that individual segments in the current melody line are changed in their time extent, namely extended forward or shortened at the back.
  • the step 914 is then followed by a length segmentation 938.
  • length segmentation 938 all segments of the melody line, which now appear as horizontal lines due to halftone mapping 912 in the melody matrix, which are at half tone frequencies, and those segments smaller than a predetermined length are removed from the melody line. 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 of 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 converted to a note representation in a step 940 corresponding to the above-described step 764 of FIG. 2, or into a midi file.
  • each segment still in the melody line after the length segmentation 938 is examined to include the first frame in FIG to find 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.
  • the audio signals 302 are of monophonic type, as in the case of the pre-hum and Whistle for generating ring tones, as has been described above, is the case, one may be compared to
  • Fig. 27 shows the alternative operation of the device
  • FIG. 29 is a section of the frequency / time space of the spectrogram of the audio signal , ⁇ , illustrating texture of the spectrogram, as it results after the frequency analysis 752 for a predetermined segment of the melody line 952, as it results after the general segmentation 782 as the root and for their harmonics.
  • the exemplary segment 952 has been shifted along the frequency direction f by integer multiples of the respective frequency to determine harmonic lines.
  • FIG. 29 now shows only those parts of the reference segment 952 and corresponding overtone lines 954a-g at which 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 mainly only in monophonic music, for which reason the sound separation is performed only in the case of Fig. 27.
  • 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- The axis of a time axis t and the y-axis of the amplitude or the value of the spectrogram corresponds, by way of example, to such an amplitude curve 960 for one of the overtone 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 overtone 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 following step 962 in the amplitude progression with the greatest dynamics, those points at which a local amplitude minimum falls below a predetermined threshold are then identified as potential separation points.
  • Fig. 30b In the exemplary case of FIGS. 30a and b respectively, only the absolute minimum 964, which of course also represents a local minimum, falls below the threshold value, which is illustrated in FIG. 30b by way of example with the dashed line 966.
  • the threshold value which is illustrated in FIG. 30b by way of example with the dashed line 966.
  • 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 illustrated in Fig. 30b with a double arrow 984.
  • step 986 it is checked whether the difference 984 is greater than a predetermined threshold value.
  • the reference segment at the potential separation point or minimum 964 is separated into two segments, which is one of the 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 area 990.
  • step 992 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 the sound separation 950, sound smoothing is performed in step 992, which is explained in more detail with reference to FIGS. 31 and 32.
  • Fig. 32 shows, in high magnification, schematically a segment 994, as it is in the melody line, which results in the sound separation 950 out.
  • the illustration in FIG. 32 is such that in FIG. 32, a digit is provided to the corresponding tuple for each frequency bin and frame tuple traversed by the segment 994. The assignment of the digit will be explained in more detail below with reference to FIG. 31.
  • segment 994 in the exemplary case of FIG. 32, varies across 4 frequency bins and spans 27 frames.
  • tone smoothing is now to place below the frequency bins, between which the segment 994 back and forth varies to select the one that is to be consistently assigned to segment 994 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. 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 the segment 994 in FIG.
  • the counter value z is then accumulated to a sum for the frequency bin of the ith frame of the segment.
  • 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.
  • 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 particular frame occupies among the frames of the considered segment , and successive values, which assumes the function shown by way of example for successive sections, which in turn are indicated by small vertical bars along the time axis, are shown with numbers 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 i-th 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 ith frame and the (il) th frame, processing continues with the initialization of the counter variable z to 1 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 resides, a sum is shown at 1010 in FIG.
  • 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 resides.
  • 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 tone smoothing of FIG. 31 is repeated in segments for all segments.
  • tone smoothing serves to equalize the singing and singing of sounds from lower or higher frequencies, and accomplishes this by finding a value over time a tone corresponding to the frequency of the settled sound.
  • tone smoothing serves to equalize the singing and singing of sounds from lower or higher frequencies, and accomplishes this by finding a value over time a tone corresponding to the frequency of the settled sound.
  • 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 carried out, wherein the implementation of the statistical correction corresponds to that of FIG. 3, namely in particular to step 898.
  • the statistical correction 1016 is followed by a halftone mapping 1018, which corresponds to the halftone mapping 912 of FIG. 3 and also uses a halftone vector, which is 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 of FIG. 2.
  • the halftone mapping 1018 is followed by an onset identifier 1022, which essentially corresponds to that of FIG. 3, namely step 914. 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 identifier 1022 is followed by offset detection and correction 1024, which is explained in more detail below with reference to FIGS. 33-35.
  • 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.
  • 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. Furthermore, an interpretation of the rectified time signal is performed in step 1028. 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.
  • the interpolated time signal for example with a reference numeral 1030 and for comparison the envelope, as determined in the onset recognition 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 illustrated in FIG. 34 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 this is not the case, as shown by way of example in FIG. 34, then the reference segment is shortened by the time range 1036 in order to be able to potential end of note 1044 to end. However, if the note end is timed before the end of the segment, as shown by way of example in FIG. 35, it is checked in step 1050 if the time interval between potential note end 1044 and segment end 1048 is less than a predetermined percentage of the current segment length a, where the predetermined percentage in step 1050 is preferably 25%. Falls the result of the review
  • 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 After offset detection 1024, in step 1052, a length segmentation corresponding to step 938 of FIG. 3 is performed
  • Step 762 of FIG. 2 corresponds to steps 1022, 1024, and 1052.
  • steps 770-774 could also be combined with each other by the spectral values of the spectrogram from the frequency analysis 752 be transformed into the perceptual spectral values in a lookup table by only a single lookup.
  • tone model from Goto was used.
  • other tone models or other weighting of the overtone components would also be possible and could be adapted, for example, to the origin or the origin of the audio signal, as far as the latter is known, such as e.g. In the embodiment of the ringtone generation, the user is set to a pre-buzz.
  • 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 for the case where the melody line. from temporally overlapping trajectories, would be transmitted 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.
  • Harmoniemapping could also be performed between two trajectories that follow one another directly in time. 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. Allowing the temporal overlap of trajectories of the melody line in the determination in step 780, making it at least requires, however, that prior to the actual note sequence output the temporal 8 'Overlap has to be once removed from trajectories at some point.
  • the advantage of determining the potential melody line in the manner described above with reference to FIGS. 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 the melody line determination even in step 780 extremely is simple and yet leads to a good melody extraction or note generation or transcription.
  • 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 possible in these steps, the logarithmic spectrum or directly from the
  • step 874 it is noted that uniqueness among the selection of the various octave, fifth, and / or third lines could be achieved by including one of them
  • Priority list is generated, such as Octave line in front
  • 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. All that is essential is that the onset and offset detection is based on the audio signal - -
  • FIGS. 8-41 illustrate 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 subset of the device 304.
  • the implementation of the individual steps can be realized in hardware, as an ASIC circuit part, or in software, as a subroutine.
  • the explanations inscribed in the blocks roughly indicate which operation the respective step corresponds to that of the respective block, while the arrows between the blocks illustrate the order 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

Eine Melodieextraktion oder automatische Transkription kann deutlich stabiler und gegebenenfalls sogar unaufwendiger gestaltet werden, 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 bei der Ermittlung der Melodie des Audiosignals zunächst eine Melodielinie, die sich durch die Zeit-/Spektraldarstellung erstreckt, ermittelt (780), und zwar dadurch, dass jedem Zeitabschnitt bzw. Frame - in eindeutiger Weise - genau eine Spektralkomponente bzw. ein Frequenzbin der Zeit-/Spektraldarstellung zugewiesen wird, nämlich gemäß einem speziellen Ausführungsbeispiel diejenige, die zu dem Schallergebnis mit der maximalen Intensität an diesem Frame führt.

Description

Extraktion einer einem Audiosignal zu Grunde liegenden Melodie
Beschreibung
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.
Schon seit einigen Jahren dienen Signaltöne von Mobil- telefonen 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.
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.
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. 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.
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.
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 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 Rbereinstimmung ergibt. Dieser Lösungsansatz schränkt jedoch die Melodieerkennung inhärent auf den vorgespeicherten Satz von Melodien- ein.
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.
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.
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.
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 Harmonie 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 Harmoniσity 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.
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.
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.
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.
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.
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 Aufnahmefronten-d 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.
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.
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.
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. - -
Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 33 gelöst.
Die Erkenntnis der vorliegenden Erfindung besteht darin, dass die Melodieextraktion oder automatische Transkription deutlich stabiler und gegebenenfalls sogar unaufwendiger 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 bei der Ermittlung der Melodie des Audiosignals zunächst eine Melodielinie, die sich durch die Zeit-/Spektraldarstellung erstreckt, ermittelt, und zwar dadurch, dass jedem Zeitabschnitt bzw. Frame - in eindeutiger Weise - genau eine Spektralkomponente bzw. ein Frequenzbin der Zeit-/Spektraldarstellung zugewiesen wird, nämlich gemäß einem speziellen Ausführungsbeispiel diejenige, die zu dem Schallergebnis mit der maximalen Intensität an diesem Frame führt.
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 die Zeit- /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- /Spektraldarstellung die Melodie des Audiosignals zu ermitteln. 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 _ _
Spektrograirans 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. Das wahrnehmungsbezogene Spektrum wird wiederum delogarithmiert, um aus dem Ergebnis ein Zeit/Klangspektrum zu erzeugen, indem pro Frame für vorbestimmte Spektralkomponenten Summen aus delogarithmierten wahrnehmungsbezogenen Spektralwerten gebildet werden. Diese Summen umfassen den delogarithmierten wahrnehmungsbezogenen Spektralwert an der jeweiligen Spektralkomponente sowie die delogarithmierten wahrnehmungsbezogenen Spektralwerte an denjenigen Spektralkomponenten, die zu der jeweiligen Spektralkomponente einen Oberton bilden. Das so erhaltene Zeit/Klangspektrum stellt eine Version der Zeit/Spektraldarstellung dar, die aus derselben hergeleitet wird.
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 zweiwege- gleichgerichteten 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.
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. - -
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 veine Vorrichtung zur rhythmischen und harmonischen Aufbereitung und Neuinstrumentierung eines eine Melodie darstellenden Audiosignals und zum ergänzen der entstehenden Melodie um eine geeignete Begleitung.
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.
Nachdem im Vorhergehenden der Aufbau der Vorrichtung 300 von Fig. 1 beschrieben worden ist, wird im folgenden ihre Funktionsweise beschrieben.
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.
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.
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.
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 Tonart¬ korrigierte Form der von dem Benutzer gewünschten Melodie darstellt.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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. - -
Zur Korrektur der fehlerhaften Amplituden kann der Effekt des Rbersprechens 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. 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.
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.
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(^)
Po
Po gibt hierbei den Bezugsschalldruck an, d.h. den Lautstärkepegel, der den kleinsten wahrnehmbaren Schalldruck bei 1.000 Hz besitzt.
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.
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.
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.
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.
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
(2) 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.
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.
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. - -
Die vorbeschriebenen Schritte 770-774 stellen mögliche Teilschritte des Schritts 754 aus Fig. 2 dar.
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.
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 Obe-rton 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.
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-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, Istanbul, Türkei, 2000, beschrieben ist.
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 J U
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 Sbersprechens 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.
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.
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.
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.
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.
Die vorbeschriebenen Schritte 776-780 stellen mögliche Teilschritte des Schritts 758 aus Fig. 2 dar.
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.
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.
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.
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.
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.
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. 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 Rberprü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.
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.
Die auf diese Weise gefundenen Segmente werden durchnumeriert, so dass sich eine Folge von Segmenten ergibt.
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.
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.
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 fo bestimmt dann die Einrichtung 304 einen Vektor von Frequenzen fi, die zueinander und vor allem zu der Frequenz fo 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 fo 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 Halbtongrenz- frequenz erstrecken.
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.
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.
Für diesen Fall der positiven 8'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. 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.
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. 3'ber diese wahrnehmungsbezogenen Spektralwerte entlang der Lücken¬ schließ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.
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.
Führt einer der Schritte 834, 836, 840 oder 842 zu einem negativen Rberprüfungsergebnis, so endet die Lückenschließung für das Bezugssegment 812a und wird für das Nachfolgersegment 812b erneut durchgeführt.
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. 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.
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.
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.
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.
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. 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.
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 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 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.
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.
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.
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.
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.
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 Extremalsteilen aufweist, also Stellen, an denen die Steigung der Melodielinienfunktion Null beträgt. Diese Stellen sind in Fig. 22 exemplarisch mit senkrechten Strichen 882 angedeutet.
In einem nachfolgenden Schritt 884 wird überprüft, ob die Extremastellen 882 derart angeordnet sind, dass in Zeitrichtung benachbarte lokale Extremalsteilen 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 Extremaisteilen 882 das Kriterium 884.
In einem darauffolgenden Schritt 888 überprüft die Einrichtung 304, ob zwischen den benachbarten Extremaisteilen 882 der zeitliche Abstand immer kleiner gleich einer vorbestimmten Anzahl von Zeitframes ist, wobei die vorbestimmte Anzahl beispielsweise 21 beträgt.
Fällt die 3'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 Fiberprüfungen 884, 888 und 892 negativ aus, so endet die Vibratoerkennung bzw. - ausgleich für das betreffende Bezugssegment.
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.
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.
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.
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.
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.
Die Schritte 782, 816, 818, 850, 876, 898 und 912 stellen entsprechen folglich dem Schritt 760 in 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.
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.
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 f0 als Filtergrenzfrequenzen gefiltert oder mit einem Butterworth-Bandpass-Filter, dessen Rbertragungsfunktion in Fig. 25 gezeigt ist.
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.
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.
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.
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.
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.
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 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 Rberlappung der beiden Segmente zu vermeiden.
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.
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. Bberschreitet 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.
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.
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.
Die Schritte 914 und 938 entsprechen folglich dem Schritt 762 aus 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.
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.
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.
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.
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.
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.
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.
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.
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 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 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.
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.
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.
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.
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.
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 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- l)-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-l)-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.
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.
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.
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ößt-en Summe eingetragen.
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.
Die Schritte 950, 992, 1016, 1018 und 1020 entsprechen folglich dem Schritt 760 aus 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.
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. 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.
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.
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 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 Sberlappung 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.
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.
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.
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.
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 Melodielinien¬ ermittlung in Schritt 780 und damit zu einer Verschlechterung des Gesamtergebnisses des Melodieextraktionsverfahrens im gesamten führen dürfte.
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.
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 8'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.
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.
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.
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.
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.
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.
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.

Claims

Patentansprüche
1. Vorrichtung zur Extraktion einer einem Audiosignal (302) zugrundeliegenden Melodie, mit
einer Einrichtung (750) zum Bereitstellen einer Zeit- /Spektraldarstellung des Audiosignals (302), -wobei die Einrichtung (750) zum Bereitstellen derart ausgebildet ist, dass sie eine Zeit-/Spektraldarstellung bereitstellt, die für jede einer Mehrzahl von Spektralkomponenten ein Spektralband mit einer Folge von Spektralwerten aufweist, und dass die Zeit- /Spektraldarstellung in jedem Spektralband einen Spektralwert zu jedem Zeitabschnitt einer Folge von Zeitabschnitten des Audiosignals aufweist;
eine Einrichtung (754, 758) zum, auf der Basis Zeit- /Spektraldarstellung des Audiosignals (302), Ermitteln einer Melodielinie des Audiosignals durch eindeutiges Zuordnen von genau derjeniger Spektralkomponente zu jedem Zeitabschnitt, für die die Zeit- /Spektraldarstellung oder eine hieraus hergeleitete Version der Zeit-/Spektraldarstellung maximal ist; und
einer Einrichtung (760, 762) zum, basierend auf der Melodielinie, Ermitteln der Melodie des Audiosignals.
2. Vorrichtung, gemäß Anspruch 1, bei der die Einrichtung zum Ermitteln der Melodielinie folgendes Merkmal aufweist:
eine Einrichtung (754; 770, 772, 774) zum Skalieren der Zeit-/Spektraldarstellung unter Verwendung von Kurven gleicher Lautstärke, die die menschliche Lautstärkewahrnehmung widerspiegelt, um eine wahrnehmungsbezogene Zeit-/Spektraldarstellung zu erhalten; und -
eine Einrichtung (760, 762) zum, basierend auf der wahrnehmungsbezogenen Zeit-/Spektraldarstellung, Ermit¬ teln der Melodie des Audiosignals.
3. Vorrichtung gemäß Anspruch 2, bei der die Einrichtung zum Skalieren folgende Merkmale aufweist:
eine Einrichtung (770) zum Logarithmieren der Spektralwerte der Zeit-/Spektraldarstellung, um den Schalldruckpegel anzuzeigen, wodurch eine logarithmierte Zeit-/Spektraldarstellung erhalten wird; und
eine Einrichtung (772) zum Abbilden der logarithmierten Spektralwerte der logarithmierten Zeit- /Spektraldarstellung abhängig von ihrem jeweiligen Wert und der Spektralkomponente, zu der sie gehören, auf wahrnehmungsbezogene Spektralwerte, um die wahrnehmungsbezogene Zeit-/Spektraldarstellung zu erhalten.
4. Vorrichtung gemäß Anspruch 3, bei der die Einrichtung
(772) zum Abbilden ausgebildet ist, um die Abbildung basierend auf Funktionen (774) vorzunehmen, die die Kurven gleicher Lautstärke darstellen, jeder Spektralkomponente einen einen Schalldruckpegel anzeigenden, logarithmischen Spektralwert zuordnen und unterschiedlichen Lautstärken zugewiesen sind.
5. Vorrichtung gemäß Anspruch 4, bei der die Einrichtung (756) zum Ermitteln der Melodielinie des Audiosignals ausgebildet ist, um
die Spektralwerte des wahrnehmungsbezogenen Spektrums zu Delogarithmieren (776) , um ein delogarithmiertes wahrnehmungsbezogenes Spektrum mit delogarithmierten wahrnehmungsbezogenen Spektralwerten zu erhalten, - -
für jeden Zeitabschnitt und für jede Spektralkomponente, den delogarithmierten wahrnehmungsbezogenen Spektralwert der jeweiligen Spektralkomponente und die delogarithmierten wahrnehmungsbezogenen Spektralwerte zu denjenigen Spektralkomponenten, die zu der jeweiligen Spektralkomponente einen Partialton darstellen, aufzusummieren (776) , um einen Klangspektralwert zu erhalten, wodurch eine Zeit-/Klangdarstellung erhalten wird, und
eine Melodielinie dadurch zu erzeugen (780) , dass zu jedem Zeitabschnitt eindeutig diejenige Spektralkomponente zugewiesen wird, für die die Aufsummierung für den entsprechenden Zeitabschnitt den größten Klangspektralwert ergibt.
6. Vorrichtung gemäß Anspruch 5, bei der die Einrichtung zum Ermitteln der Melodielinie des Audiosignals ausgebildet ist, um bei den Aufsummierungen (780) die delogarithmierten wahrnehmungsbezogenen Spektralwerte der jeweiligen Spektralkomponenten und der derjeniger Spektralkomponenten, die zu der jeweiligen Spektralkomponente einen Partialton darstellen, unterschiedlich zu gewichten, so dass die delogarithmierten wahrnehmungsbezogenen Spektralwerte von Partialtönen höherer Ordnung weniger gewichtet werden.
7. Vorrichtung gemäß Anspruch 5 oder 6, bei der die Einrichtung zum Ermitteln der Melodie des Audiosignals folgendes Merkmal aufweist:
eine Einrichtung (782, 816, 818, 850, 876, 898, 912, 914, 938; 782, 950, 992, 1016, 1018, 1020, 1022, 1024, 1052) zum Segmentieren der Melodielinie (784), um Segmente zu erhalten.
8. Vorrichtung gemäß Anspruch 7, bei der die Einrichtung zum Segmentieren ausgebildet ist, um die Melodielinie in einem Zustand, da die Melodielinie in einer Melodiematrix aus Matrixpositionen, die durch die Spektralkomponenten auf der einen und die Zeitabschnitte auf der anderen Seite aufgespannt wird, binär eingezeichnet ist, vorzufiltern (786) .
9. Vorrichtung gemäß Anspruch 8, bei der die Einrichtung zum Segmentieren ausgebildet ist, um beim Vorfiltern
(786) für jede Matrixposition (792) die Eintragung in dieser und benachbarten Matrixpositionen aufzusummieren, den resultierenden Informationswert mit einem Schwellwert zu vergleichen, und das Vergleichsergebnis an eine entsprechende Matrixposition in einer Zwischenmatrix einzutragen, und anschließend die Melodiematrix und die Zwischenmatrix zu multiplizieren, um die Melodielinie in vorgefilterter Form zu erhalten.
10. Vorrichtung gemäß einem der Ansprüche 6 bis 9, bei der die Einrichtung zum Segmentieren ausgebildet ist, um einen Teil der Melodielinie während eines sich anschließenden Teils der Segmentierung unberücksichtigt zu lassen (796) , der außerhalb eines vorbestimmten Spektralbereiches (798, 800) liegt.
11. Vorrichtung gemäß Anspruch 10, bei der die Einrichtung zum Segmentieren derart ausgebildet ist, dass der vorbestimmte Spektralbereich von 50 - 200 Hz ab bis 1000 - 1200 Hz reicht.
12. Vorrichtung gemäß einem der Ansprüche 7 bis 11, bei der die Einrichtung zum Segmentieren ausgebildet ist, um einen Teil der Melodielinie bei einem sich anschließenden Teil der Segmentierung unberücksichtigt zu lassen (804), an denen die logarithmierte Zeit- /Spektraldarstellung logarithmierte Spektralwerte aufweist, die weniger als ein vorbestimmter Prozentsatz - -
des maximalen logarithmierten Spektralwerts der logarithmierten Zeit-/Spektraldarstellung betragen.
13. Vorrichtung gemäß einem der Ansprüche 7 bis 12, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
Teile der Melodielinie bei einem sich anschließenden Teil der Segmentierung unberücksichtigt zu lassen (806) , an denen gemäß der Melodielinie weniger als eine vorbestimmte Anzahl von benachbarten Zeitabschnitten zugewiesenen Spektralkomponenten zueinander einen Abstand aufweisen, der kleiner als ein Halbtonabstand ist.
14. Vorrichtung gemäß einem der Ansprüche 10 bis 13, bei der die Einrichtung zum Segmentieren ausgebildet ist, um die um die unberücksichtigten Teile reduzierte Melodielinie
(812) in Segmente (812a, 812b) einzuteilen, derart, dass die Anzahl der Segmente möglichst gering ist und benachbarten Zeitabschnitten eines Segmentes gemäß der Melodielinie Spektralkomponenten zugewiesen sind, deren
Abstand kleiner als ein vorbestimmtes Maß ist.
15. Vorrichtung gemäß Anspruch 14, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
eine Lücke (832) zwischen benachbarten Segmenten (12a, 812b) zu schließen (816) , um aus den benachbarten Segmenten ein Segment zu erhalten, wenn die Lücke kleiner als eine erste Anzahl von Zeitabschnitten ist (830) , und den Zeitabschnitten der benachbarten Segmente (12a, 812b) , die dem jeweiligen anderen der benachbarten Segmente am nächsten liegen, durch die Melodielinie Spektralkomponenten zugewiesen sind, die in einem gleichen Halbtonbereich (838) oder in angrenzenden Halbtonbereichen liegen (836),
die Lücke in dem Fall, dass dieselbe zwar größer oder gleich der ersten Anzahl von Zeitabschnitten aber -
kleiner als eine zweite Anzahl von Zeitabschnitten ist, die größer als die erste Anzahl ist (834), die Lücke nur dann zu schließen (846), wenn
den Zeitabschnitten der benachbarten Segmente (12a,
812b) , die dem jeweiligen anderen der benachbarten Segmente am nächsten liegen, durch die Melodielinie Spektralkomponenten zugewiesen sind, die in einem gleichen Halbtonbereich (838) oder in angrenzenden Halbtonbereichen liegen (836),
sich die wahrnehmungsbezogenen Spektralwerte an diesen Zeitabschnitten weniger als einen vorbestimmten Schwellenwert unterscheiden (840); und
ein Mittelwert aller wahrnehmungsbezogenen Spektralwerte entlang einer Verbindungslinie (844) zwischen den benachbarten Segmenten (812a, 812b) größer oder gleich der Mittelwerte der wahrnehmungsbezogenen Spektralwerte entlang der beiden benachbarten Segmente ist (842) .
16. Vorrichtung gemäß Anspruch 15, bei der die Einrichtung zum Segmentieren ausgebildet ist, um im Rahmen der
Segmentierung diejenige Spektralkomponenten (826) zu bestimmen, die den Zeitabschnitten gemäß der Melodielinie am häufigsten zugewiesen ist, und relativ zu dieser Spektralkomponente einen Satz von Halbtönen zu bestimmen (824), die durch Halbtongrenzen voneinander getrennt sind, die wiederum die Halbtonbereiche (828) definieren.
17. Vorrichtung gemäß Anspruch 15 oder 16, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
das Schließen der Lücke mittels einer geradlinigen Verbindungslinie (844) durchzuführen.
18. Vorrichtung gemäß Anspruch 14 bis 17, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
ein Nachfolgersegment (852b) der Segmente, das zu einem
Bezugssegment (852a) der Segmente ohne einen dazwischen befindlichen Zeitabschnitt unmittelbar benachbart ist
(864), vorläufig in Spektrumrichtung zu verschieben
(868), um eine Oktav-, Quint- und/oder Terz-Linie zu erhalten;
eine oder keine der Oktav-, Quint- und/oder Terz-Linie auszuwählen (872), abhängig davon, ob ein Minimum unter den wahrnehmungsbezogenen Spektralwerten entlang des Bezugssegmentes (852a) zu einem Minimum unter den wahrnehmungsbezogenen Spektralwerten entlang der Oktav-, Quint- und/oder Terz-Linie eine vorbestimmte Beziehung aufweist; und
falls eine der Oktav-, Quint- und/oder Terz-Linie ausgewählt ist, das Nachfolgersegment endgültig auf die ausgewählte der Oktav-, Quint- und/oder Terz-Linie zu verschieben (874).
19. Vorrichtung gemäß Anspruch 14 bis 18, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
in einem vorbestimmten Segment (878) der Melodielinie alle lokalen Extrema (882) zu bestimmen;
eine Folge von benachbarten Extrema unter den bestimmten Extrema zu ermitteln, für die alle benachbarten Extrema an Spektralkomponenten angeordnet sind, die weniger als ein erstes vorbestimmtes Maß (886) voneinander entfernt sind, und an Zeitabschnitten, die weniger als ein zweites vorbestimmtes Maß (890) voneinander entfernt sind, und das vorbestimmte Segment (878) so zu verändern, dass den Zeitabschnitten der Folge von Extrema und den Zeitabschnitten zwischen der Folge von Extrema der Mittelwert der Spektralkomponenten der Melodielinie an diesen Zeitabschnitten zugewiesen wird (894) .
20. Vorrichtung gemäß einem der Ansprüche 14 bis 1-9, bei der die Einrichtung zum Segmentieren ausgebildet ist, um im Rahmen der Segmentierung diejenige Spektralkomponente (832) zu bestimmen, die den Zeitabschnitten gemäß der Melodielinie am häufigsten zugewiesen ist, und relativ zu dieser Spektralkomponente (832) einen Satz von Halbtönen zu bestimmen, die durch Halbtongrenzen voneinander getrennt sind, die wiederum die Halbtonbereiche definieren, und bei der die Einrichtung zum Segmentieren ausgebildet ist, um
für jeden Zeitabschnitt in jedem Segment die demselben zugewiesene Spektralkomponente auf einen Halbton aus dem Satz von Halbtönen zu ändern (912) .
21. Vorrichtung gemäß Anspruch 20, bei der die Einrichtung zum Segmentieren ausgebildet ist, um die Änderung auf die Halbtöne derart vorzunehmen, dass dieser Halbton unter dem Satz von Halbtönen der zu ändernden Spektralkomponente am nächsten kommt.
22. Vorrichtung gemäß Anspruch 20 oder 21, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
das Audiosignal mit einem Bandpassfilter (916) zu filtern, das eine Durchlasscharakteristik um den gemeinsamen Halbton eines vorbestimmten Segments aufweist, um ein gefiltertes Audiosignal (922) zu erhalten;
das gefilterte Audiosignal (922) zu untersuchen (918, 920, 926), um festzustellen, an welchen Zeitpunkten in einer eine Einhüllende (924) des gefilterten Audiosignals (922) Wendepunkte aufweist, wobei diese Zeitpunkte Kandidatenanfangszeitpunkte darstellen,
abhängig davon, ob ein vorbestimmter KandidatenanfangsZeitpunkt weniger als eine vorbestimmte Zeitdauer vor dem ersten Segment liegt (928, -930), das vorbestimmte Segment nach vorne hin um einen oder mehre weitere Zeitabschnitte zu verlängern (932), um ein verlängertes Segment zu erhalten, das in etwa bei dem vorbestimmten Kandidatenanfangszeitpunkt endet.
23. Vorrichtung gemäß Anspruch 22, bei der die Einrichtung zum Segmentieren ausgebildet ist, um beim Verlängern (932) des vorbestimmten Segmentes nach vorne ein vorhergehendes Segment zu verkürzen, wenn dadurch eine Überlappung der Segmente über einen oder mehrere Zeitabschnitte hinweg verhindert wird.
24. Vorrichtung gemäß Anspruch 22 oder 23, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
abhängig davon, ob der vorbestimmte KandidatenanfangsZeitpunkt mehr als die erste vorbestimmte Zeitdauer vor dem ersten Zeitabschnitt des vorbestimmten Segmentes liegt (930) , in der wahrnehmungsbezogenen Zeit-/Spektraldarstellung die wahrnehmungsbezogenen Spektralwerte entlang einer Verlängerung des vorbestimmten Segmentes in Richtung des Kandidatenanfangszeitpunkts hin bis zu einem virtuellen Zeitpunkt zu verfolgen, an der dieselben mehr als ein vorbestimmtes Gefälle abfallen, (936) und dann abhängig davon, ob der vorbestimmte Kandidatenanfangszeitpunkt mehr als die erste vorbestimmte Zeitdauer vor dem virtuellen Zeitpunkt liegt, das vorbestimmte Segment nach vorne hin um einen oder mehrere weitere Zeitabschnitte zu verlängern (932), um das verlängerte Segment zu erhalten, das in etwa bei dem vorbestimmten KandidatenanfangsZeitpunkt endet.
25. Vorrichtung gemäß einem der Ansprüche 22 bis 24, bei der die Einrichtung zum Segmentieren ausgebildet ist, um nach der Durchführung der Filterung, der Feststellung und der Ergänzung Segmente zu verwerfen (-938), die kürzer als eine vorbestimmte Anzahl von Zeitabschnitten sind.
26. Vorrichtung gemäß einem der Ansprüche 7 bis 25, die ferner eine Einrichtung (940) zum Umwandeln der Segmente in Noten aufweist, wobei die Einrichtung zum Umwandeln ausgebildet ist, um jedem Segment einen Notenanfangszeitpunkt zuzuweisen, der dem ersten Zeitabschnitt des Segmentes entspricht, eine Notendauer, die der Anzahl der Zeitabschnitte des Segmentes multipliziert mit einer Zeitabschnittszeitdauer entspricht, und eine Tonhöhe, die einem Mittel der Spektralkomponenten entspricht, die das Segment durchläuft.
27. Vorrichtung gemäß einem der Ansprüche 14 bis 26, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
zu einem vorbestimmten (952) der Segmente Obertonsegmente (954a-g) zu ermitteln,
unter den Obertonsegmenten dasjenige Tonsegment zu bestimmen (958), entlang dessen die Zeit- /Spektraldarstellung des Audiosignals die größte Dynamik aufweist,
ein Minimum (964) in dem Verlauf (960) der Zeit- /Spektraldarstellung entlang dem bestimmten Obertonsegment zu ermitteln (962); zu Untersuchen (986), ob das Minimum eine vorbestimmte Bedingung erfüllt, und
falls dies der Fall ist, vorbestimmtes Segment an dem Zeitabschnitt, an dem sich das Minimum befindet, in zwei Segmente zu trennen (988) .
28. Vorrichtung gemäß Anspruch 27, bei der die Einrichtung zum Segmentieren ausgebildet ist, um bei der Untersuchung, ob das Minimum eine vorbestimmte Bedingung erfüllt, das Minimum (964) mit einem Mittelwert von benachbarten lokalen Maxima (980, 982) des Verlaufs (960) der Zeit-/Spektraldarstellung entlang dem vorbestimmten Obertonsegment zu vergleichen (986) und die Trennung (988) des vorbestimmten Segments in die zwei Segmente abhängig von dem Vergleich vorzunehmen.
29. Vorrichtung gemäß einem der Ansprüche 14 bis 28, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
für ein vorbestimmtes Segment (994), jedem Zeitabschnitt (i) des Segments eine Zahl (z) zuzuweisen, derart, dass für alle Gruppen von direkt benachbarten Zeitabschnitten, denen die gleiche Spektralkomponente durch die Melodielinie zugeordnet ist, die den direkt benachbarten Zeitabschnitten zugewiesenen Zahlen unterschiedliche Zahlen von 1 bis zur Anzahl der direkt benachbarten Zeitabschnitte sind,
für jede Spektralkomponente, die einen der Zeitabschnitte des vorbestimmten Segmentes zugewiesen ist, die Zahlen derjeniger Gruppen aufzuaddieren (1000), welchen Zeitabschnitten derselben die jeweilige Spektralkomponente zugewiesen ist,
eine Glättungsspektralkomponente als diejenige Spektralkomponente zu bestimmen (1012), für die sich die größte Aufsummierung ergibt; und das Segment zu ändern (1014), indem jedem Zeitabschnitt des vorbestimmten Segmentes die bestimmte Glättungsspektralkomponente zugewiesen wird.
30. Vorrichtung gemäß einem der Ansprüche 14 bis 29, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
das Audiosignal mit einem Bandpassfilter zu filtern (1026) , das einen Bandpass um den gemeinsamen Halbton eines vorbestimmten Segmentes aufweist, um ein gefiltertes Audiosignal zu erhalten;
in einer Einhüllenden des gefilterten Äudiosignals ein Maximum (1040) in einem dem vorbestimmten Segment entsprechenden Zeitfenster (1036) zu lokalisieren (1034);
ein potentielles Segmentende als denjenigen Zeitpunkt zu bestimmen (1042) , an welchem die Einhüllende nach dem Maximum (1040) erstmals auf einen Wert abgefallen ist, der kleiner als ein vorbestimmter Schwellenwert ist,
falls das potentielle Segmentende zeitlich vor einem tatsächlichen Segmentende des vorbestimmten Segments liegt (1046) , das vorbestimmte Segment zu verkürzen (1049) .
31. Vorrichtung gemäß Anspruch 30, bei der die Einrichtung zum Segmentieren ausgebildet ist, um
falls das potentielle Segmentende zeitlich hinter dem tatsächlichen Segmentende des vorbestimmten Segmentes liegt (1046) , das vorbestimmte Segment zu verlängern (1051), falls der zeitliche Abstand zwischen dem potentiellen Segmentende (1044) und dem tatsächlichen Segmentende (1049) nicht größer als ein vorbestimmter Schwellenwert ist (1050) .
32. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Einrichtung (756) zum Ermitteln der Melodielinie des Audiosignals ausgebildet ist, um
für jeden Zeitabschnitt und für jede Spektralkomponente, den Spektralwert der jeweiligen Spektralkomponente oder einen hieraus durch Skalierung erhaltene skalierten Spektralwert und die Spektralwerte zu denjenigen Spektralkomponenten, die zu der jeweiligen Spektralkomponente einen Partialton darstellen, oder hieraus durch Skalierung erhaltene skalierte Spektralwerte aufzusummieren (776) , um einen Klangspektralwert zu erhalten, wodurch eine Zeit- /Klangdarstellung erhalten wird, und
eine Melodielinie dadurch zu erzeugen (780), dass zu jedem Zeitabschnitt eindeutig diejenige Spektralkomponente zugewiesen wird, für die die Aufsummierung für den entsprechenden Zeitabschnitt den größten Klangspektralwert ergibt.
33. Verfahren zur Extraktion einer einem Audiosignal (302) zugrundeliegenden Melodie, mit
Bereitstellen (750) einer Zeit-/Spektraldarstellung des Audiosignals (302) , derart, dass eine Zeit- /Spektraldarstellung bereitgestellt wird, die für jede einer Mehrzahl von Spektralkomponenten ein Spektralband mit einer Folge von Spektralwerten aufweist, und dass die Zeit-/Spektraldarstellung in jedem Spektralband einen Spektralwert zu jedem Zeitabschnitt einer Folge von Zeitabschnitten des Audiosignals aufweist;
auf der Basis Zeit-/Spektraldarstellung des Audiosignals
(302), Ermitteln (754, 758) einer Melodielinie des
Audiosignals durch, eindeutiges Zuordnen von genau derjeniger Spektralkomponente zu jedem Zeitabschnitt, für den die Zeit-/Spektraldarstellung an dem jeweiligen Zeitabschnitt den größten Spektralwert aufweist; und
basierend auf der Melodielinie, Ermitteln (760, 762) der Melodie des Audiosignals.
34. Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens nach Anspruch 33, wenn das Computer-Programm auf einem Computer abläuft.
EP05793771A 2004-10-11 2005-09-23 Extraktion einer einem audiosignal zu grunde liegenden melodie Withdrawn EP1787283A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004049517A DE102004049517B4 (de) 2004-10-11 2004-10-11 Extraktion einer einem Audiosignal zu Grunde liegenden Melodie
PCT/EP2005/010325 WO2006039992A1 (de) 2004-10-11 2005-09-23 Extraktion einer einem audiosignal zu grunde liegenden melodie

Publications (1)

Publication Number Publication Date
EP1787283A1 true EP1787283A1 (de) 2007-05-23

Family

ID=35466126

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05793771A Withdrawn EP1787283A1 (de) 2004-10-11 2005-09-23 Extraktion einer einem audiosignal zu grunde liegenden melodie

Country Status (6)

Country Link
EP (1) EP1787283A1 (de)
JP (1) JP2008516288A (de)
KR (1) KR20070062551A (de)
CN (1) CN101076849A (de)
DE (1) DE102004049517B4 (de)
WO (1) WO2006039992A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063904A (zh) * 2010-11-30 2011-05-18 广州酷狗计算机科技有限公司 一种音频文件的旋律提取方法及旋律识别系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7705231B2 (en) * 2007-09-07 2010-04-27 Microsoft Corporation Automatic accompaniment for vocal melodies
JP2009244567A (ja) * 2008-03-31 2009-10-22 Brother Ind Ltd メロディライン特定システムおよびプログラム
JP5593608B2 (ja) * 2008-12-05 2014-09-24 ソニー株式会社 情報処理装置、メロディーライン抽出方法、ベースライン抽出方法、及びプログラム
JP5732910B2 (ja) * 2011-03-01 2015-06-10 大日本印刷株式会社 音響信号の符号化方法および装置
CN103226197A (zh) * 2013-04-16 2013-07-31 哈尔滨工程大学 一种基于音色参数模型的水下目标回波分类方法
JP2014219607A (ja) * 2013-05-09 2014-11-20 ソニー株式会社 音楽信号処理装置および方法、並びに、プログラム
CN106919583B (zh) * 2015-12-25 2020-11-10 广州酷狗计算机科技有限公司 音频文件的推送方法及装置
EP3220386A1 (de) * 2016-03-18 2017-09-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zur trennung von harmonischem-perkussivem-restlichem schall unter verwendung eines strukturtensors auf spektrogrammen

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04220880A (ja) * 1990-12-21 1992-08-11 Casio Comput Co Ltd 量子化装置
JP2558997B2 (ja) * 1991-12-03 1996-11-27 松下電器産業株式会社 ディジタルオーディオ信号の符号化方法
US5808225A (en) * 1996-12-31 1998-09-15 Intel Corporation Compressing music into a digital format
JP3795201B2 (ja) * 1997-09-19 2006-07-12 大日本印刷株式会社 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JPH1195780A (ja) * 1997-09-24 1999-04-09 Sony Corp 伴奏演奏装置およびその演奏方法
JP4037542B2 (ja) * 1998-09-18 2008-01-23 大日本印刷株式会社 音響信号の符号化方法
WO2001069575A1 (en) * 2000-03-13 2001-09-20 Perception Digital Technology (Bvi) Limited Melody retrieval system
JP2001265330A (ja) * 2000-03-21 2001-09-28 Alpine Electronics Inc 旋律抽出装置および旋律抽出方法
JP4055336B2 (ja) * 2000-07-05 2008-03-05 日本電気株式会社 音声符号化装置及びそれに用いる音声符号化方法
DE10117870B4 (de) * 2001-04-10 2005-06-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Überführen eines Musiksignals in eine Noten-basierte Beschreibung und Verfahren und Vorrichtung zum Referenzieren eines Musiksignals in einer Datenbank
JP4695781B2 (ja) * 2001-07-10 2011-06-08 大日本印刷株式会社 音響信号の符号化方法
JP3841705B2 (ja) * 2001-09-28 2006-11-01 日本電信電話株式会社 占有度抽出装置および基本周波数抽出装置、それらの方法、それらのプログラム並びにそれらのプログラムを記録した記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006039992A1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063904A (zh) * 2010-11-30 2011-05-18 广州酷狗计算机科技有限公司 一种音频文件的旋律提取方法及旋律识别系统
CN102063904B (zh) * 2010-11-30 2012-06-27 广州酷狗计算机科技有限公司 一种音频文件的旋律提取方法及旋律识别系统

Also Published As

Publication number Publication date
KR20070062551A (ko) 2007-06-15
DE102004049517B4 (de) 2009-07-16
JP2008516288A (ja) 2008-05-15
CN101076849A (zh) 2007-11-21
WO2006039992A1 (de) 2006-04-20
DE102004049517A1 (de) 2006-04-20

Similar Documents

Publication Publication Date Title
EP1797552B1 (de) Verfahren und vorrichtung zur extraktion einer einem audiosignal zu grunde liegenden melodie
WO2006039995A1 (de) Verfahren und vorrichtung zur harmonischen aufbereitung einer melodielinie
WO2006039993A1 (de) Verfahren und vorrichtung zur glättung eines melodieliniensegments
WO2006039992A1 (de) Extraktion einer einem audiosignal zu grunde liegenden melodie
DE69907498T2 (de) Verfahren zur schnellen erfassung der tonhöhe
EP2099024B1 (de) Verfahren zur klangobjektorientierten Analyse und zur notenobjektorientierten Bearbeitung polyphoner Klangaufnahmen
DE69417445T2 (de) Verfahren und system zur detektion und erzeugung von übergangsbedingungen in tonsignalen
WO2002073592A2 (de) Verfahren und vorrichtung zum charakterisieren eines signals und verfahren und vorrichtung zum erzeugen eines indexierten signals
EP1523719A2 (de) Vorrichtung und verfahren zum charakterisieren eines informationssignals
EP1407446A1 (de) Verfahren und vorrichtung zum charakterisieren eines signals und zum erzeugen eines indexierten signals
DE10117870A1 (de) Verfahren und Vorrichtung zum Überführen eines Musiksignals in eine Noten-basierte Beschreibung und Verfahren und Vorrichtung zum Referenzieren eines Musiksignals in einer Datenbank
EP2180463A1 (de) Verfahren zur Erkennung von Notenmustern in Musikstücken
WO2005122135A1 (de) Vorrichtung und verfahren zum umsetzen eines informationssignals in eine spektraldarstellung mit variabler auflösung
WO2006005567A1 (de) Verfahren und vorrichtung zur erzeugung einer polyphonen melodie
DE102004028693B4 (de) Vorrichtung und Verfahren zum Bestimmen eines Akkordtyps, der einem Testsignal zugrunde liegt
DE102012025016B3 (de) Verfahren zur Ermittlung wenigstens zweier Einzelsignale aus wenigstens zwei Ausgangssignalen
EP1758096A1 (de) Verfahren und Vorrichtung zur Mustererkennung in akustischen Aufnahmen
DE102004033867B4 (de) Verfahren und Vorrichtung zur rhythmischen Aufbereitung von Audiosignalen
DE10117871C1 (de) Verfahren und Vorrichtung zum Extrahieren einer Signalkennung, Verfahren und Vorrichtung zum Erzeugen einer Datenbank aus Signalkennungen und Verfahren und Vorrichtung zum Referenzieren eines Such-Zeitsignals
EP1671315B1 (de) Vorrichtung und verfahren zum charakterisieren eines tonsignals
EP1743324B1 (de) Vorrichtung und verfahren zum analysieren eines informationssignals
DD141356A1 (de) Verfahren zur akustischen guetebewertung von musikinstrumenten
WO2005122137A1 (de) Vorrichtung und verfahren zum bestimmen eines einem audiosignal zugrunde liegenden frequenzrasters

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: A1

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

17Q First examination report despatched

Effective date: 20071120

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GRACENOTE, INC.

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20110503