EP1797552B1 - Method and device for the extraction of a melody on which an audio signal is based - Google Patents
Method and device for the extraction of a melody on which an audio signal is based Download PDFInfo
- Publication number
- EP1797552B1 EP1797552B1 EP05790019A EP05790019A EP1797552B1 EP 1797552 B1 EP1797552 B1 EP 1797552B1 EP 05790019 A EP05790019 A EP 05790019A EP 05790019 A EP05790019 A EP 05790019A EP 1797552 B1 EP1797552 B1 EP 1797552B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- time
- segment
- spectral
- melody
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 97
- 238000000605 extraction Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims description 41
- 230000003595 spectral effect Effects 0.000 claims abstract description 111
- 230000008447 perception Effects 0.000 claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims description 51
- 230000011218 segmentation Effects 0.000 claims description 41
- 238000001228 spectrum Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 31
- 238000013507 mapping Methods 0.000 claims description 24
- 238000000926 separation method Methods 0.000 claims description 21
- 238000009499 grossing Methods 0.000 claims description 11
- 230000001419 dependent effect Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 10
- 230000036961 partial effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000002829 reductive effect Effects 0.000 claims description 2
- 230000000052 comparative effect Effects 0.000 claims 1
- 238000011045 prefiltration Methods 0.000 claims 1
- 230000009469 supplementation Effects 0.000 claims 1
- 238000013518 transcription Methods 0.000 abstract description 23
- 230000035897 transcription Effects 0.000 abstract description 21
- 238000001514 detection method Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 28
- 238000004458 analytical method Methods 0.000 description 25
- 238000012937 correction Methods 0.000 description 24
- 238000013459 approach Methods 0.000 description 13
- 230000033764 rhythmic process Effects 0.000 description 10
- 239000011295 pitch Substances 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001020 rhythmical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 2
- 241000282412 Homo Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 208000035126 Facies Diseases 0.000 description 1
- 241000233805 Phoenix Species 0.000 description 1
- 241000220010 Rhode Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000030808 detection of mechanical stimulus involved in sensory perception of sound Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H3/00—Instruments in which the tones are generated by electromechanical means
- G10H3/12—Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
- G10H3/125—Extracting or recognising the pitch or fundamental frequency of the picked up signal
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K15/00—Acoustics not otherwise provided for
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/031—Musical 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/066—Musical 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/031—Musical 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/086—Musical 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/025—Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
- G10H2250/031—Spectrum envelope processing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/131—Mathematical functions for musical analysis, processing, synthesis or composition
- G10H2250/161—Logarithmic functions, scaling or conversion, e.g. to reflect human auditory perception of loudness or frequency
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/131—Mathematical functions for musical analysis, processing, synthesis or composition
- G10H2250/215—Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
- G10H2250/235—Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]
Definitions
- the present invention relates to the extraction of a melody underlying an audio signal.
- Such extraction may be used, for example, to obtain a transcribed representation of a melody underlying a monophonic or polyphonic audio signal, which may also be in an analog form or in a digital sampled form.
- melody extractions for example, enable the generation of ringtones for mobile phones from any audio signal, e.g. Singing, humming, whistling or the like.
- Such combinability of ready-made melody and accompaniment patterns is implemented, for example, in the Sony-Ericsson T610 phone.
- the user relies on the purchase of commercially available pre-made ringtones.
- Klapuri AP: Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., December 2003
- Klapuri AP, Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., December 2003
- AP Klapuri "Number Theoretical Means of Resolving a Mixture of Several Harmonic Sounds”. In Proceedings European Signal Processing Conference, Rhodes, Greece, 1998 .
- AP Klapuri "Sound Onset Detection by Applying Psychoacoustic Knowledge," in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, Phoenix, Arizona, 1999 .
- Stably functioning automatic transcription would also allow for the production of similarity relationships associated with other musical features, e.g. Key, harmony and rhythm, such as for a "recomandation engine” or "suggestion engine”.
- a stable automatic transcription could create new views and lead to a re-examination of judgments on older music.
- automatic transcription that is stable in use could be used.
- melody recognition or auto-transcription is not limited to the generation of ringtones for mobile phones mentioned above, but can generally serve as a support for musicians and those interested in music.
- the object of the present invention is to provide a more stable melody recognition scheme which works correctly for a wider variety of audio signals.
- the recognition of the present invention is that the melody extraction or automatic transcription can be made much more stable and possibly even unsuitable if the assumption is sufficiently taken into account that the main melody is that part of a piece of music that the person perceives loudest and most concise.
- the time-over-spectral representation or spectrogram of an audio signal of interest is scaled using the equal volume curves that reflect human loudness perception to determine the melody based on the resulting perceptual time-over-spectral representation of the audio signal.
- the above musicological statement that the main melody is that portion of a piece of music that the person perceives most loudly and succinctly is taken into account in two ways. Namely, according to this embodiment, when determining the melody of the audio signal, first a melody line extending through the time-over-spectral representation is determined, namely by assigning to each time period or frame - uniquely - exactly one spectral component Frequency bin is assigned to the time-over-spectral representation, namely that which leads to the sound result with the maximum intensity. More specifically, according to this embodiment, the spectrogram of the audio signal is first logarithmized, so that the logarithmized spectral values indicate the sound pressure level.
- the logarithmic spectral values of the logarithmized spectrogram become dependent on their respective value and the spectral component to which they belong perceptually related spectral values.
- Functions are used that represent the curves of equal volume as sound pressure as a function of spectral components or as a function of the frequency and are assigned to different volumes.
- the present invention is described there merely by way of example with reference to a specific application, namely the generation of a polyphonic ringing melody from an audio signal.
- a melody extraction or automatic transcription according to the invention can also be used elsewhere, such as e.g. for facilitating searching in a database, merely recognizing pieces of music, enabling copyright protection by objectively comparing pieces of music or the like, or just transcribing audio signals to display the transcription result to a musician.
- Fig. 1 shows an embodiment of a device for generating a polyphonic melody from an audio signal containing a desired tune.
- Fig. 1 a device for the rhythmic and harmonic conditioning and re-instrumentation of a melody representing audio signal and to complement the resulting melody to a suitable accompaniment.
- the device of Fig. 1 includes an input 302 for receiving the audio signal.
- the audio signal in a time sample representation, such as a WAV file, expected.
- the audio signal could also be present in other form at input 302, such as in uncompressed or compressed form or in a frequency band representation.
- an extraction device 304 Between the input 302 and the output 304, an extraction device 304, a rhythm device 306, a key device 308, a harmony device 310 and a synthesis device 312 are connected in series in this order. Furthermore, the device 300 comprises a melody memory 314. An output of the key device 308 is connected not only to an input of the subsequent harmony device 310, but also to an input of the melody memory 314. Accordingly, the input of the harmony device 310 is not limited to the output of the processing direction but also with an output of the melody memory 314. Another input of the melody memory 314 is provided to receive a provision identification number ID. Another input of the synthesizer 312 is configured to receive style information. The meaning of the style information and the provision identification number is apparent from the following functional description. Extractor 304 and rhythm means 306 together form a rhythm editor 316.
- the extraction device 304 is designed to subject the audio signal received at the input 302 to note extraction or recognition in order to extract a signal from the audio signal To get a score.
- the note sequence 318 which forwards the extraction device 304 to the rhythm device 306, in the present exemplary embodiment is in a form in which, for each note n, a note start time t n indicating the beginning of the note, for example, in seconds, a tone or note duration ⁇ n , which indicates the note duration of the note, for example, in seconds, a quantized note or pitch, ie C, Fis or the like, for example as a MIDI note, a volume Ln of the note and an exact frequency f n of the tone or the note is contained in the note sequence, where n is to represent an index for the respective note in the note sequence, which increases with the order of the successive notes or indicates the position of the respective note in the note sequence.
- the note sequence 318 still represents the melody as it was also represented by the audio signal 302.
- the note sequence 318 is now fed to the rhythm device 306.
- the rhythm means 306 is arranged to analyze the supplied note sequence to one bar length, one prelude, i. a clock raster to determine the note sequence and thereby the individual notes of the note sequence of appropriate clock-quantified lengths, such as. whole, half, quarter, eighth notes, etc., for the particular bar, and to match the notes' notes to the bar pattern.
- the note sequence that the rhythm device 306 outputs thus represents a rhythmically processed note sequence 324.
- the key device 308 performs a key determination and possibly a key correction. More specifically, that determines Means 308 based on the note sequence 324 a major key of the user melody represented by the note sequence 324 and the audio signal 302 including the tone gender, ie major or minor, of the example sung piece. Thereafter, it also recognizes, at this point, non-scale notes in the note sequence 114 and corrects them to arrive at a harmonic-sounding final result, a rhythmically edited and pitch-corrected note sequence 700, which is passed to the harmony device 310 and corrects a key Represents the form of the user's desired melody.
- the functioning of the device 324 with regard to the determination of the key can be carried out in various ways.
- the key determination may, for example, those in the article Krumhansl, Carol L .: Cognitive Foundations of Musical Pitch, Oxford University Press, 1990 , or in the article Temperley, David: The cognition of basic musical structures. The MIT Press, 2001 , described manner take place.
- the harmony device 310 is configured to receive the note sequence 700 from the device 308 and to find a suitable accompaniment for the tune represented by this note sequence 700.
- device 310 acts or acts in a cyclic manner.
- the means 310 operates on each clock as determined by the clock raster set by the rhythm means 306, such that it provides statistics about the tones of the notes T n occurring in the respective clock.
- the statistic of the occurring tones is then compared with the possible chords of the major scale scale as determined by the key device 308.
- Means 310 selects, among the possible chords, in particular, that chord whose tones best match the notes that are in the respective measure, as indicated by statistics.
- means 310 determines the chord that best fits the notes or notes, for example, in the respective measure.
- the means 310 allocates chord levels of the root key to the pitches found by the means 306 in dependence on the pitch, so that a chord progression forms over the course of the melody. Consequently, at the output of the device 310, in addition to the rhythmically processed and key-corrected note sequence including NL, it also outputs a chord step specification to the synthesis device 312 for each measure.
- Synthesizer 312 uses style information that can be entered by a user as indicated by case 702 to perform the synthesis, ie, artificially generate the eventually resulting polyphonic melody.
- style information allows a user to select from four different styles in which the polyphonic melody can be generated, namely Pop, Techno, Latin or Reggae.
- either one or more companion patterns are stored in the synthesis device 312.
- the synthesizer 312 To generate the accompaniment, the synthesizer 312 now uses the accompaniment pattern (s) indicated by the style information 702. To produce the accompaniment, the synthesis device 312 hangs the accompaniment patterns per cycle together.
- the synthesizer 312 simply selects the corresponding accompaniment pattern for the current style for that accompaniment clock. However, if, for a particular clock, the chord determined by the means 310 is not the one in which an accompaniment pattern is stored in the means 312, the synthesizer 312 shifts the notes of the accompaniment pattern by the corresponding semitone, respectively, and changes the sixth and fifth by a semitone in the case of another Sound-like, namely by shifting by a semitone up in the case of a major chord reversed in the case of a minor chord.
- the synthesizer 312 orchestrates the melody represented by the note string 700 forwarded from the harmony 310 to the synthesizer 312 to obtain a main melody, and then combines accompaniment and main melody into a polyphonic melody, exemplified herein in the form of MIDI File at output 304 outputs.
- the key device 308 is further configured to store the note string 700 in the melody memory 314 under a provision identification number. If the user is dissatisfied with the result of the polyphonic melody at the output 304, he may re-enter the provision identification number together with a new style information into the apparatus of FIG Fig. 1 whereupon the melody memory 314 forwards the sequence 700 stored under the providing identification number to the harmony device 310, which then determines the chords as described above, whereupon the synthesizer 312 uses the new style information depending on the chords a new accompaniment and depending on the note sequence 700 generates a new main melody and joins together to form a new polyphonic melody at the output 304.
- Fig. 2 shows first the rough procedure in the melody extraction or autotranscription.
- Starting point is the reading or the input of the audio file in a step 750, which, as described above, may be present as a WAV file.
- the device 304 then performs a frequency analysis on the audio file in a step 752 to thereby provide a time / frequency representation or spectrogram of the audio signal contained in the file.
- step 752 includes decomposing the audio signal into frequency bands.
- the audio signal is subdivided into preferably time-overlapping time segments which are then spectrally decomposed in each case in order to obtain a spectral value for each of a set of spectral components for each time interval or each frame.
- the set of spectral components depends on the choice of the transformation underlying the frequency analysis 752, a specific embodiment of which will be described below with reference to FIG Fig. 4 is explained.
- step 752 means 304 determines a weighted amplitude spectrum or a perceptual spectrogram, respectively, in step 754.
- the detailed procedure for determining the perceptual spectrogram will be described in the following Fig. 3 - 8 explained in more detail.
- the result of step 754 is to rescale the spectrogram obtained from the frequency analysis 752 using the equal volume curves that reflect the human perceptual sensation to fit the spectrogram to the human perceptual perception.
- the processing 756 subsequent to step 754 uses, among other things, the perceptual spectrogram obtained from step 754 to finally obtain the melody of the output signal in the form of a musical segmented melody line, ie in a form in which groups of consecutive frames interleave each other same pitch, these groups being temporally spaced over one or more frames spaced from each other, so do not overlap and thus correspond to note segments of a monophonic melody.
- processing 756 is decomposed into three substeps 758, 760 and 762.
- the perceptual spectrogram is used to obtain a time / fundamental frequency representation from the same, and in turn to use this time / fundamental frequency representation to determine a melody line such that each frame in a unique manner has exactly one spectral component Frequency bin is assigned.
- the time / fundamental representation accounts for the division of sounds into partial tones by first delogarithmizing the perceptual spectrogram from step 754 to summate for each frame and for each frequency bin the delogarithmized perceptual spectral values at that frequency bin and the overtones to the respective frequency bin. The result is a sound spectrum per frame.
- the determination of the melody line is carried out by selecting for each frame the fundamental tone or the frequency or that frequency bin at which the sound spectrum has its maximum.
- the result of step 758 is thus, so to speak, a melody line function which uniquely assigns exactly one frequency bin to each frame.
- This melody line function in turn defines a melody line progression in the time / frequency domain or a two-dimensional melody matrix spanned by the possible speech components or bins on one side and the possible frames on the other side.
- the following substeps 760 and 762 are provided to segment the continuous melody line, thus giving single notes.
- the segmentation is divided into two sub-steps 760 and 762, depending on whether the segmentation takes place in input frequency resolution, ie in Frequenzbinetzments, or whether the Segmentation takes place in halftone resolution, ie after quantization of the frequencies to semitone frequencies.
- the result of processing 756 is processed in step 764 to generate a sequence of notes from the melody line segments, each note being assigned a note start time, a note duration, a quantized pitch, an exact pitch, and so on.
- Fig. 3 its operation in more detail in the case where the music represented by the audio file at input 302 is of polyphonic origin.
- the distinction between polyphonic and monophonic audio signals stems from the observation that monophonic audio signals often originate from less well-trained individuals and therefore have musical inadequacies that require a slightly different approach to segmentation.
- the WAV file is in a format since the individual audio samples are sampled at a sampling frequency of 16 kHz.
- the individual samples are present, for example, in a 16-bit format.
- the audio signal is present as a mono-file.
- the frequency analysis 752 can then be carried out, for example, by means of a warped filter bank and an FFT (Fast Fourier Transformation).
- the sequence of audio values is first windowed with a window length of 512 samples, where with a Hopsize of 128 samples, ie the windowing is repeated every 128 samples.
- these parameters represent a good compromise between time and frequency resolution.
- a time frame corresponds to a duration of 8 milliseconds.
- the warped filter bank is used according to a special embodiment for the frequency range up to about 1550 Hz. This is necessary to achieve a sufficiently good resolution for low frequencies. For a good halftone resolution enough frequency bands should be available. At a lambda value of -0.85 at 16 kHz sampling rate, approximately two to four frequency bands correspond to one semitone on a frequency of 100 Hz. For low frequencies, each frequency band can be assigned a semitone. For the frequency range up to 8 kHz the FFT is used. The frequency resolution of the FFT is sufficient from about 1,550 Hz for a good halftone representation. Here approx. Two to six frequency bands correspond to one semitone.
- the transient response of the warped filter bank must be taken into account.
- a temporal synchronization in the combination of the two transformations is made.
- the first 16 frames of the filterbank output are discarded, as well as the last 16 frames of the output spectrum FFT are disregarded.
- the amplitude level of the filter bank and FFT is identical and requires no adaptation.
- Fig. 4 shows by way of example an amplitude spectrum or a time / frequency representation or a spectrogram of an audio signal, as obtained by the preceding embodiment of a combination of a warped filter bank and an FFT.
- the height of the individual spectral values is gray scale.
- the time / frequency representation of an audio signal is a two-dimensional field spanned by the possible frequency bins or spectral components on one side (vertical axis) and the time segments or frames on the other side (horizontal axis), each Position of this field is assigned to a specific tuple of frame and Frequenzbin a spectral value or an amplitude.
- the amplitudes in the spectrum of Fig. 4 is still postprocessed in the frequency analysis 752, as the amplitudes calculated by the warped filterbank may sometimes not be accurate enough for subsequent processing.
- the frequencies that are not exactly at the center frequency of a frequency band have a lower amplitude value than frequencies that correspond exactly to the center frequency of a frequency band.
- in the output spectrum of the warped filter bank crosstalk to adjacent frequency bands, which are also referred to as bins or frequency bins.
- the analysis result of frequency analysis 752 is a matrix of spectral values. These spectral values represent the volume by the amplitude. However, the human volume perception possesses a logarithmic division. It is therefore useful to the amplitude spectrum adapt this classification. This is done in a logarithmization 770 following step 752. In logarithmization 770, all spectral values are logarithmized to the level of the sound pressure level, which corresponds to the logarithmic perception of loudness of humans.
- this reference value must first be determined. While the smallest perceptible sound pressure p 0 is used as the reference value in analog signal analysis, this law is not easily transferred to digital signal processing. In order to determine the reference value, according to one exemplary embodiment, therefore, a trial audio signal is used for this purpose, as described in US Pat Fig. 7 is illustrated.
- Fig. 7 shows the rehearsal audio signal 772 over time t, where in the Y direction the amplitude A is plotted in the smallest representable digital units.
- the sample audio signal or reference signal 772 is present with an amplitude value of one LSB or with the smallest representable digital value. In other words, the amplitude of the reference signal 772 only oscillates by one bit.
- the frequency of the reference signal 772 corresponds to the frequency of the highest sensitivity of the human Hearing threshold. However, other determinations of the benchmark may be more beneficial on a case-by-case basis.
- Fig. 5 is exemplarily the result of the logarithmization 770 of the spectrogram of Fig. 4 shown. If, due to the logarithmization, a part of the logarithmic spectrogram is in the negative value range, these negative spectral or amplitude values are set to 0 dB to avoid non-meaningful results in the further processing in order to obtain positive results over the entire frequency range .
- the logarithmized spectral values in the same way as in Fig. 4 are shown, that is arranged in a spanned by the time t and the frequency f matrix and grayscale depending on the value, namely the darker the greater the respective spectral value.
- the volume rating of humans is frequency dependent. Therefore, the logarithmic spectrum, as it results from the logarithm 770, must be evaluated in a subsequent step 772 in order to adapt to this frequency-dependent evaluation of the human. For this purpose, the curves of equal volume 774 are used.
- the score 772 is therefore necessary to match the different amplitude scores of the musical sounds across the frequency scale of human perception since, according to human perception, the amplitude values of low frequencies experience a lower score than amplitudes of higher frequencies.
- the curves 774 of equal volume the curve characteristic from DIN 45630 Part 2, Deutsches Institut für Normung eV, Kunststoffn der Sound measurement, normal curves of equal volume, 1967, used.
- the graph history is in Fig. 6 is shown.
- the equal volume curves 774 are respectively assigned to different volume levels indicated in phon.
- these curves 774 represent functions that assign each frequency a sound pressure level in dB such that all the sound pressure levels that are on the respective curve correspond to the same volume level of the respective curve.
- the equal volume curves 774 are present in the device 204 in analytic form, of course, it would also be possible to provide a look-up table which assigns a volume level value to each pair of frequency bin and sound pressure level quantization value.
- the formula L T 4 dB 3 . 64 ⁇ f kHz - 0 . 8th - 6 . 5 ⁇ exp - 0 . 6 ⁇ f kHz - 3 . 3 2 + 10 - 3 ⁇ f kHz 4 be used.
- deviations in the low- and high-frequency value range are present between this curve and the hearing threshold under DIN standard.
- the function parameters of the resting hearing threshold can be changed according to the above equation to the curve of the lowest volume curve of the above-mentioned DIN standard of Fig. 6 correspond to. Thereafter, this curve is shifted vertically in the direction of higher volume levels at intervals of 10 dB, and the function parameters are adapted to the respective characteristic of the function graphs 774.
- the intermediate values are determined in 1 dB increments by linear interpolation.
- the function with evaluate the highest value range to a level of 100 dB. This is sufficient, since a word width of 16 bits corresponds to a dynamic range of 98 dB.
- step 772 means 304 forms each logarithmic spectral value, ie, each value in the array of Fig. 5 depending on the frequency f or frequency bin to which it belongs and its value representing the sound pressure level, on a perceptual spectral value representing the volume level.
- steps 770-774 illustrate possible substeps of step 754 Fig. 2 represents.
- a step 776 it proceeds with a fundamental frequency determination or with the calculation of the total intensity of each sound in the audio signal.
- the intensities of each fundamental tone and the associated harmonics are added up.
- a sound consists of a fundamental tone under the corresponding partial tones.
- the partial tones are integer multiples of the fundamental frequency of a Sound.
- the partial or overtones are also called harmonics.
- a harmonic grid 778 is used in step 776 in order to search for each possible fundamental tone, ie each frequency bin, for overtones that are an integral multiple of the respective one Fundamental tones are.
- further frequency bins corresponding to an integer multiple of the frequency bin of the fundamental are assigned as harmonic frequencies.
- step 776 the intensities in the spectrogram of the audio signal at the respective fundamental tone and its harmonics are then added up for all possible fundamental tone frequencies.
- a weighting of the individual intensity values is carried out, since due to several sounds occurring simultaneously in a piece of music, there is the possibility that the fundamental tone of a sound is obscured by an overtone of another sound with a lower-frequency fundamental tone. Also overtones of a sound can be obscured by overtones of another sound.
- a tone model based on the principle of the model of Mosataka Goto and adapted to the spectral resolution of the frequency analysis 752 is used in step 776, the tone model of Goto in Goto, M .: A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines, in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, Istanbul, Turkey, 2000 , is described.
- harmonic grid 778 assigns the respective harmonic frequencies for each frequency band or frequency bin.
- overtones are searched for fundamental frequencies in only one particular frequency bin range, such as from 80 Hz to 4,100 Hz, and harmonics are considered only up to the 15th order.
- the overtones of different sounds can be assigned to the sound model of several fundamental frequencies.
- the amplitude ratio of a sought sound can be changed considerably.
- the amplitudes of the partial tones are evaluated with a halved Gaussian filter. The keynote receives the highest value.
- All the following partial tones receive a lower weighting according to their order, the weighting decreasing in a Gauss-shaped manner, for example, with increasing order.
- an overtone amplitude of another sound that obscures the actual overtone has no particular effect on the overall result of a sought-after voice.
- a bin with the corresponding frequency does not exist for each higher order overtone.
- the amplitude of the sought harmonic can be simulated relatively well by means of a Gaussian filter over the nearest frequency bands. Therefore, overtone frequencies or the intensities thereon do not have to be determined in units of frequency bins, but interpolation can also be used to accurately determine the intensity value at the overtone frequency.
- step 776 the perceptual spectrum of Fig. 8 first delogarithmized with the aid of the reference value from step 770.
- the result is a delogarithmized perceptual spectrum, ie an array of delogarithmized perceptual spectral values for each frequency bin and frame tuple.
- the result of step 776 is a sound spectrogram, step 776 itself corresponding to a level addition within the spectrogram of the audio signal.
- the result of step 776 is entered, for example, in a new matrix having one row for each frequency bin within the frequency range of possible fundamental frequencies and one column for each frame, wherein in each matrix element, ie at each column and row crossing, the result of the summation is entered as the fundamental tone for the corresponding frequency bin.
- a preliminary determination of a potential melody line is made.
- the melody line corresponds to a function over time, namely one Function that assigns exactly one frequency band or one frequency bin to each frame.
- the melody line determined in step 780 defines a track along the domain of definition of the sound spectrogram or matrix of step 776, the track never being ambiguous along the frequency axis.
- step 780 The determination is made in step 780 such that the maximum amplitude is determined for each frame over the entire frequency range of the sound spectrogram, i. the largest summation value.
- the result, i. the melody line largely corresponds to the basic course of the melody of the audio track underlying the audio signal 302.
- the evaluation of the spectralogram with the equal volume curves in step 772 and the search for the maximum intensity sound result in step 780 take into account the musicological statement that the main melody is that portion of a song that the person perceives loudest and most concisely.
- steps 776-780 illustrate possible substeps of step 758 Fig. 2 represents.
- a general segmentation 782 is first performed in a step 782 which ensures that parts of the potential melody line are eliminated which prima facie can not belong to the actual melody line.
- the result of the melody line determination of step 780 is exemplary of the case of the perceptual spectrum of Fig. 8 shown.
- Fig. 9 shows the melody line plotted over the time t or over the sequence of frames along the x-axis, along the y-axis, the frequency f and the frequency bins are displayed. In other words, in Fig.
- the melody line from step 780 is represented in the form of a binary image array, which is also sometimes referred to as a melody matrix and has one row for each frequency bin and one column for each frame. All points of the array where the melody line is not located have a value of 0 or are white, while the points of the array where the melody line is located have a value of 1 or are black. These points are thus located on frequency bin and frame tuples, which are associated with each other by the melody line function of step 780.
- step 782 of general segmentation now operates, with reference to a possible implementation Fig. 10 is explained in more detail.
- the general segmentation 782 begins in a step 786 with the filtering of the melody line 784 in the frequency / time domain in a representation in which the melody line 784 as in FIG Fig. 9 shown as a binary track in an array, which is spanned by the frequency bins on one side and the frames on the other side.
- the pixel array of Fig. 9 For example, consider an x by y pixel array, where x is the number of frames and y is the number of frequency bins.
- Step 786 is now intended to remove smaller outliers or artifacts in the melody line.
- Fig. 11 shows by way of example in a schematic form a possible course of a melody line 784 in a representation according to FIG Fig. 9 , As can be seen, the pixel array shows regions 788 in which there are sporadic black pixel elements corresponding to portions of the potential melody line 784 which, due to their temporal brevity, are certainly not part of the actual melody and therefore should be removed.
- Fig. 11 in which the melody line is represented in binary form, first generates a second pixel array by entering for each pixel a value corresponding to the summation of the binary values at the corresponding pixel and the pixel adjacent to this pixel.
- Fig. 12a Referenced.
- the exemplary section of Fig. 12a includes five rows corresponding to different frequency bins 1-5 and five columns AE corresponding to different adjacent frames.
- the course of the melody line is in Fig. 12a symbolized by the fact that the corresponding pixel elements representing parts of the melody line are hatched.
- the frequency bin 4, the frame C, the frequency bin 3, etc. are assigned to the frame B by the melody line.
- the frame A is also assigned a frequency bin by the melody line, but this is not among the five frequency bins from the section of Fig. 12a ,
- the binary value of the same as well as the binary value of the neighboring pixels is first summed up for each pixel 790, as already mentioned.
- This is for example in Fig. 12a
- the pixel 792 it illustrates which figure at 794 has a square drawn around the pixels adjacent to the pixel 792 and the pixel 792 itself. Consequently, a sum value of 2 would result for the pixel 792, since in the area 794 around the pixel 792 there are only 2 pixels belonging to the melody line, namely the pixel 792 itself and the pixel C3, ie at the frame C and the bin 3.
- This summation is repeated by shifting the area 794 for all other pixels, resulting in a second pixel image, also sometimes referred to below as an intermediate matrix.
- This second pixel image is then subjected to a pixel-by-pixel mapping, wherein in the pixel image all summation values from 0 or 1 to zero and all summation values greater than or equal to 2 are mapped to one.
- the result of this mapping is for the exemplary case of Fig. 12a in Fig. 12a represented by numbers of "0" and "1" in the individual pixels 790.
- the combination of 3x3 summation and subsequent mapping to "0" and "1" using the Threshold 2 causes the melody line to "smear".
- the combination acts as a kind of low-pass filter, which would be undesirable. Therefore, as part of step 786, the first pixel image, ie Fig. 9 respectively.
- Fig. 12b Therefore, to illustrate the mode of operation of the filtering 786, there is shown another exemplary excerpt from the melody matrix of FIG Fig. 9 respectively.
- Fig. 11 As can be seen there, the combination of summation and threshold mapping results in an intermediate matrix in which two separated pixels P4 and R2 receive a binary value of 0, although at these pixel positions the melody matrix has a binary value of 1 as indicated by the Hatching in Fig. 12b to recognize that is to show at these pixel positions the melody line. These isolated "outliers" of the melody line are therefore removed by the filtering in step 786 after multiplication.
- step 796 in which portions of melody line 784 are removed by neglecting those portions of the melody line that are not within a predetermined frequency range.
- the value range of the melody line function is restricted to the predetermined frequency range from step 780.
- Fig. 11 set to zero, which are outside the predetermined frequency range.
- a frequency range is, for example, 100-200-200-10000 Hz, and preferably 150-1050 Hz.
- a monophonic analysis as described with reference to FIGS Fig.
- a frequency range is, for example, from 50-150 to 1,000-1,100 Hz and preferably from 80 to 1,050 Hz.
- the limitation of the frequency range to this bandwidth contributes to the observation that melodies in popular music are usually represented by vocals, the is in this frequency range as well as human language.
- FIG. 12 shows the melody line filtered by step 786 and clipped by step 796, which is used to distinguish in FIG Fig. 13 is provided with the reference numeral 802.
- step 804 removal of portions of the melody line 802 of too small an amplitude occurs, wherein the extraction means 304 in this case on the logarithmic spectrum Fig. 5 from step 770. More specifically, the extractor 304 beats in the logarithmic spectrum of each frequency bin and frame tuple through which the melody line 802 passes Fig. 5 after the corresponding logarithmic spectral value, and determines whether the corresponding logarithmic spectral value is less than a predetermined percentage of the maximum amplitude or logarithmic spectral value in the logarithmic spectrum of Fig. 5 is.
- this percentage is preferably between 50 and 70% and preferably 60%, while in monophonic analysis this percentage is preferably between 20 and 40% and preferably 30%.
- Parts of the melody line 802 for which this is the case are neglected. This approach takes into account the fact that a melody usually always has approximately the same volume, or that sudden extreme volume fluctuations are unlikely to be expected.
- step 804 all pixels of the melody matrix of Fig. 9 and 17 are set to zero at which the logarithmic spectral values are less than the predetermined percentage of the maximum logarithmic value.
- Step 804 is followed, in a step 806, by a separation of those sections of the remaining melody line at which the course of the melody line in the frequency direction changes abruptly so as to have only a short halfway uniform melody curve.
- Fig. 14 shows a section of the melody matrix over AM consecutive frames, with the frames arranged in columns as the frequency increases along the column direction from bottom to top.
- the frequency bin resolution is in Fig. 14 for the sake of clarity not shown.
- the melody line as revealed by step 804 is in Fig. 14 exemplified by the reference numeral 808.
- the melody line 808 in the frames AD remains constant on a frequency bin, to then show a frequency hopping between the frames D and E that is greater than a semitone distance HT.
- the melody line 808 then remains constant again on a frequency bin, in order then to fall back from frame H to frame I by more than one semitone interval HT.
- Such a frequency hopping, which is greater than a semitone distance HT also occurs between the frames J and K. From then on, the melody line 808 between frames J and M again remains constant on a frequency bin.
- the device 304 now scans the melody line in a frame-wise manner, for example from the front to the back. In this case, the device 304 checks for each frame whether a frequency jump greater than the semitone distance HT takes place between this frame and the subsequent frame. If so, means 304 marks these frames. In Fig. 14 the result of this marking is exemplarily illustrated by the fact that the corresponding frames are surrounded by a circle, here the frames D, H and J. In a second step, means 304 now checks between which of the marked frames less than a predetermined number of frames are arranged, wherein in the present case, the predetermined number is preferably three.
- this extracts portions of the melody line 808 where the same jumps between immediately consecutive frames less than a semitone but is less than four frame elements long. Between frames D and H there are three frames in the present exemplary case. This means nothing else than that the melody line 808 does not jump over the frames E - H by more than a semitone. However, there is only one frame between the marked frames H and J. This means nothing else than that in the area of the frames I and J, the melody line 808 jumps more than one semitone both forward and backward in the time direction. This section of the melody line 808, namely in the area of the frames I and J, is therefore neglected in the subsequent processing of the melody line.
- the corresponding melody line element is set to zero on frames I and J, ie it turns white.
- This exclusion can therefore comprise at most three consecutive frames, which corresponds to 24 ms.
- tones shorter than 30 ms rarely occur in today's music, so that the exclusion after step 806 does not lead to a deterioration of the transcription result.
- step 806 processing within general segmentation 782 proceeds to step 810, where device 304 divides the remaining remnants of the former potential melody line from step 780 into a sequence of segments.
- the division into segments all elements in the melody matrix are combined into a segment or a trajectory, which are directly adjacent.
- Fig. 15 shows a section of the melody line 812, as they are after the Step 806 results.
- Fig. 15 only the individual matrix elements 814 from the melody matrix along which the melody line 812 extends are shown.
- the device 304 scans them in the following manner. The device 304 first of all checks whether the melody matrix at all has a marked matrix element 814 for a first frame.
- means 304 proceeds to the next matrix element and again checks the next frame for the presence of a corresponding matrix element. Otherwise, that is, if a matrix element that is part of the melody line 812 is present, the device 304 checks the next frame for the presence of a matrix element that is part of the melody line 812. If so, means 304 further checks if that matrix element is directly adjacent to the matrix element of the previous frame. Immediately adjacent is one matrix element to another if they are directly adjacent one another in the row direction, or if they are diagonally corner to corner. If there is a neighborhood relationship, means 304 checks for the presence of a neighborhood relationship also for the next frame. Otherwise, ie in the absence of a neighborhood relationship, a currently recognized segment on the previous frame ends and a new segment begins on the current frame.
- the in Fig. 15 The section of the melody line 812 shown represents an incomplete segment in which all the matrix elements 814 that are part of, or run along, the melody line are immediately adjacent to each other.
- the segments found in this way are numbered consecutively, resulting in a sequence of segments.
- the result of the general segmentation 782 is thus a sequence of melody segments, each melody segment covering a sequence of immediately adjacent frames.
- the melody line jumps from frame to frame by at most a predetermined number of frequency bins, in the preceding exemplary embodiment by at most one frequency bin.
- Step 816 is to close the gaps between adjacent segments to address the case that, due to, for example, percussive events in the melody line determination in step 780, other sound components have been inadvertently detected and filtered out in the general segmentation 782.
- the gap closure 816 will be referred to Fig. 16 in more detail, wherein the gap closure 816 relies on a halftone vector, which is determined in a step 818, the determination of the halftone vector referring to Fig. 17 will be explained in more detail.
- FIG. 17 shows the patchy melody line 812 resulting from the general segmentation 782 in a shape plotted in the melody matrix.
- the device Upon determination of the halftone vector in step 818, the device now sets 304 determines which frequency bins the melody line 812 passes through and how often or in how many frames.
- the result of this approach illustrated with the case 820, is a histogram 822 indicating, for each frequency bin f, the frequency with which it is traversed by the melody line 812 and how many matrix elements of the melody matrix that are part of the melody line 812 , are arranged at the respective Frequenzbin.
- device 304 determines in a step 824 the frequency bin with the maximum frequency. This is in Fig. 17 indicated by an arrow 826. Starting from this frequency bin 826 of the frequency f 0 , the device 304 then determines a vector of frequencies f i which, relative to one another and above all to the frequency f 0, have a frequency spacing which corresponds to an integer multiple of a half tone length HT.
- the frequencies in the halftone vector will be referred to as halftone frequencies hereinafter.
- halftone cutoff frequencies will also be referred to below. These are located exactly between adjacent halftone frequencies, ie exactly centered on this.
- a halftone interval as is customary in music, is defined as 2 1/12 of the frequency of use f 0 .
- the frequency axis f along which the frequency bins are plotted can be divided into halftone regions 828 extending from halftone cutoff frequency to the adjacent halftone cutoff frequency.
- gap closure 816 attempts are made to close gaps between adjacent segments of melody line 812 which are unintentionally in melody line recognition 780 and general segmentation 782, respectively, as described above.
- the gap closure is carried out segment by segment.
- a step 830 it is first determined in a step 830 whether the gap between the reference segment and the subsequent segment is less than a predetermined number of p frames.
- Fig. 18 shows by way of example a section of the melody matrix with a section of the melody line 812.
- the melody line 812 has a gap 832 between two segments 812a and 812b, of which the segment 812a is the aforementioned reference segment.
- the gap in the exemplary case of Fig. 18 six frames.
- step 834 it is checked whether the facing segment ends of the reference segment 812a and the successor segment 812b, ie the end of the segment 812a and the beginning of the successor segment 812b, are in a same or in relation to each other adjacent halftone areas lie.
- the frequency axis f is divided into halftone areas, as determined in step 818. As can be seen, lie in the case of Fig. 18 the facing segment ends of the segments 812a and 812b in one and the same halftone area 838.
- step 836 the gap closure processing continues at step 840, where it is checked which amplitude difference in the perceptual spectrum of step 772 exists at the positions of the end of the reference segment 812a and the beginning of the successor segment 812b.
- step 840 in the perceptual spectrum of step 772, means 304 looks up the respective perceptual spectral values at the positions of the end of segment 812a and the beginning of segment 812b and determines the absolute value of the difference of the two spectral values. Further, means 304 determines in step 840 whether the difference is greater than a predetermined threshold r, preferably being 20-40% and preferably 30% of the perceptual spectral value at the end of the reference segment 812a.
- a predetermined threshold r preferably being 20-40% and preferably 30% of the perceptual spectral value at the end of the reference segment 812a.
- step 840 determines a gap closure line 844 in the melody matrix which directly connects the end of the reference segment 812a and the beginning of the successor segment 812b.
- the gap closure line is preferably rectilinear, as it is in Fig. 18 is shown. More specifically, the connecting line 844 is a function across the frames over which the gap 832 extends, the function assigning a frequency bin to each of these frames so that a desired connecting line 844 results in the melody matrix.
- means 304 determines the corresponding perceptual spectral values from the perceptual spectrum from step 772 by looking up the respective frequency bin and frame tuples of gap closure line 844 in the perceptual spectrum. Via these perceptual spectral values along the gap closure line, means 304 determines the mean and compares it in step 842 with the corresponding averages of perceptual spectral values along reference segment 812a and successor segment 812b. If both comparisons indicate that the mean for the gap closure line is greater than or equal to the average of the reference or successor segment 812a or b, then the gap 832 is closed in a step 846 by entering or closing the gap closure line 844 in the melody matrix the corresponding matrix elements thereof are set to 1. At the same time, in step 846, the list of segments is changed to merge the segments 812a and 812b into a common segment, whereupon the gap closure for the reference segment and the successor segment is completed.
- a gap closure along the gap closure line 844 also occurs if, at step 830, the gap 832 is less than 4 frames long.
- the gap 832 is closed, as in the case of step 846 along a direct and preferably straight gap closure line 844 connecting the facing ends of the segments 812a-812b, whereupon the gap closure for the two segments is finished and continues with the subsequent segment, as far as such exists.
- the gap closure in step 848 will still be made dependent on a condition corresponding to that of step 836, ie, that the two mutually facing segment ends lie in the same or adjacent halftone areas.
- the result of the gap closure 816 is thus a possibly shortened list of segments or a melody line, which may have gap closure lines in the melody matrix in some places. As was apparent from the previous discussion, at a gap of less than 4 frames, a connection between adjacent segments in the same or adjacent halftone area is always made.
- the gap closure 816 is followed by a harmony map 850, which is intended to eliminate errors in the melody line that have arisen by incorrectly determining the wrong root note of a sound in determining the potential melody line 780.
- the harmony mapping 850 operates segment by segment to shift individual segments of the melody line resulting from gap closure 816 by an octave, fifth, or major third, as will be described in more detail below. As the following description will show, the conditions for this are strict in order not to erroneously shift a segment wrong in frequency.
- the Harmoniemapping 850 is in the following detailed reference Fig. 19 and Fig. 20 described.
- Fig. 20 shows by way of example a section of the melody line, as it has revealed after the gap closure 816.
- This melody line is in Fig. 20 provided with the reference numeral 852, wherein in the section of Fig. 20 three segments can be seen from the melody line 852, namely the segments 852a-c.
- the representation of the melody line is again as a track in the melody matrix, but again it is recalled that the melody line 852 is a function that uniquely assigns a single frequency bin to the individual frames - meanwhile not all of them - so that the in Fig. 20 show traces shown.
- the segment 852b located between the segments 852a and 852c appears to be cut out of the melody line progression as it would result from the segments 852a and 852c.
- the segment 852b with no frame gap follows the reference segment 852a by way of example, as indicated by a dashed line 854.
- the time range covered by the segment 852b is intended to be directly adjacent to the time range covered by the segment 852c, as indicated by a dashed line 856.
- Fig. 20 are now in the melody matrix or in the time / frequency representation further dashed, dot-dashed and dot-dash lines shown, which also result from a parallel displacement of the segment 852b along the frequency axis f.
- Dashed line 858b is shifted down twelve halftones of frequency direction f, ie one octave.
- a third line 858c is dash-dotted to this line and a quint line 858d is shown as a dot-and-dash line, ie a line shifted by seven semitones towards higher frequencies relative to the line 858b.
- the segment 852b appears to have been erroneously determined in the context of the melody line determination 780, since it would be less abruptly inserted between the adjacent segments 852a and 852c when shifted one octave down.
- the task of the Harmoniemappings 850 is therefore to check whether a shift to such "outliers" should take place or not, since such frequency jumps occur less frequently in a melody.
- the harmony mapping 850 begins with the determination of a melody centroid line by means of a mean value filter in a step 860.
- step 860 comprises calculating a moving average of the melody curve 852 with a certain number of frames over the segments in the time direction t, the window length being 80 - 120, for example and preferably 100 frames at the above-mentioned frame length of 8 ms, ie correspondingly different number of frames at a different frame length. More precisely, to determine the melody centroid line, a window of length 100 frames is frame-shifted along the time axis t.
- a melody centroid line 862 a function that uniquely assigns a frequency to the individual frames.
- the melody centroid line 862 may extend over the entire time range of the audio signal, in which case the filter window at the beginning and end of the piece must be "squashed” accordingly, or only over a range from the beginning and the end of the audio piece half the filter window width is spaced.
- a subsequent step 864 the device 304 checks whether the reference segment 852a is adjacent to the successor segment 852b along the time axis t. If this is not the case, the processing with the subsequent segment as the reference segment is performed again (866).
- step 868 the successor segment 852b is virtually shifted to obtain the octave, fifth, and / or third lines 858a-d.
- the selection of major thirds, fifths and octaves is advantageous in pop music, as there is usually used a major chord, in which the highest and the lowest tone of a chord have a spacing of a major third plus a minor third of a fifth.
- the above procedure is of course also applicable to minor keys, in which chords of minor third and then major third occur.
- a step 870 means 304 in the spectrum evaluated with equal loudness curves or the perceptual spectrum from step 772, respectively, look up the minimum perceptual spectral value along reference segment 852a and the octave, quintet, and / or third line, respectively 858a-d. In the exemplary case of Fig. 20 Consequently, there are five minimum values.
- These minimum values are used in subsequent step 872 to select one or none among the octave, fifth, and / or third shift lines 858a-d, depending on whether the octave, fifth, and / or octave shift lines or third-line minimum value has a predetermined reference to the minimum value of the reference segment.
- an octave line 858b is selected below the lines 858a-858d if the minimum value is at most 30% less than the minimum value for the reference segment 852a.
- a quint-line 858d is selected if the minimum value determined for it is at most 2.5% smaller than the minimum value of the reference segment 852a.
- One of the triplets 858c is used if the corresponding minimum value for that line is at least 10% greater than the minimum value for the reference segment 852a.
- the device 304 shifts the segment 852b to the selected line 858a-858d, if such was selected in step 872, provided that the shift points in the direction of the melody centerline 862 as viewed from the follower segment 852b , In the exemplary case from Fig. 20 if the latter condition were satisfied, as long as the third line 858a was not selected in step 872.
- Step 876 is performed segment by segment for each segment 878 in the melody line as it results after harmony mapping 850.
- Fig. 22 For example, an exemplary segment 878 is shown enlarged in a representation in which the horizontal axis corresponds to the time axis and the vertical axis corresponds to the frequency axis, as was the case in the previous figures.
- the reference segment 878 is first examined in the context of the vibrato detection 876 for local extrema.
- the melody line function and thus also the part of the segment corresponding to the interest clearly maps the frames over this segment unambiguously on frequency bins in order to form the segment 888. This segment function is examined for local extrema.
- step 880 the reference segment 878 is examined for those locations where it has local extremal locations along the time axis with respect to the frequency direction, ie, locations where the slope of the melody line function is zero.
- These posts are in Fig. 22 exemplified with vertical lines 882 indicated.
- a subsequent step 884 it is checked whether the extrema sites 882 are arranged such that temporally adjacent local extreme sites 882 are located at frequency bins having a frequency spacing greater or less equal to a predetermined number of bins, e.g., 15 to 25, preferably but 22 bins referring to Fig. 4 described implementation of the frequency analysis or a Number of bins per semitone range of about 2 to 6, is.
- a predetermined number of bins e.g., 15 to 25, preferably but 22 bins referring to Fig. 4 described implementation of the frequency analysis or a Number of bins per semitone range of about 2 to 6, is.
- Fig. 22 is exemplified by a double arrow 886 the length of 22 frequency bins.
- extremals 882 satisfy criterion 884.
- the device 304 checks whether, between the adjacent extreme digits 882, the time interval is always less than or equal to a predetermined number of time frames, the predetermined number being 21, for example.
- step 888 If the check in step 888 turns out to be positive, as in the example of Fig. 22 That is, if the number of extrema 882 is greater than or equal to a predetermined number, which is preferably 5 in the present case, it is checked in a step 892, as shown by the double arrow 890, which should be 21 frames long , In the example of Fig. 22 this is given. Thus, even if the check in step 892 is positive, in a subsequent step 894 the reference segment 878 or the detected vibrato is replaced by its mean value. The result of step 894 is in Fig. 22 displayed at 896.
- a predetermined number which is preferably 5 in the present case
- step 894 the reference segment 878 on the current melody line is removed and replaced by a reference segment 896 which extends over the same frames as the reference segment 878 but along a constant frequency bin corresponding to the average of the frequency bins through which the replaced reference segment 878 was. If the result of one of the checks 884, 888 and 892 is negative, the vibrato detection or compensation ends for the relevant reference segment.
- vibrato detection and vibrato equalization are performed according to Fig. 21 a vibrato detection by stepwise feature extraction, which searches for local extrema, namely local minima and maxima, with a restriction on the number of allowed frequency bins of the modulation and a limitation in the temporal distance of the extrema, where as a vibrato only a group of at least 5 extrema is considered.
- a recognized vibrato is then replaced in the melody matrix by its mean value.
- a statistical correction is performed in step 898, which also accounts for the observation that in a tune short and extreme pitch variations are not to be expected.
- the statistical correction of 898 will be referred to Fig. 23 explained in more detail.
- Fig. 23 shows by way of example a section of a melody line 900, as it may result from the vibrato recognition 876. Again, the course of the melody line 900 is shown registered in the melody matrix, which is spanned by the frequency axis f and the time axis t.
- a melody centerline for the melody line 900 is first determined similar to the step 860 in the harmony mapping.
- a window 902 of predetermined length is frame-shifted along the time axis t to calculate, frame by frame, an average of the frequency bins containing the melody line 900 within the window 902, the average being assigned to the frame in the middle of the window 902 as a frequency bin, resulting in a point 904 of the melody centerline to be determined.
- the resulting melody centerline is in Fig. 23 indicated by the reference numeral 906.
- a second window to appear in Fig. 23 not shown, shifted along the time axis t frame-wise, which has, for example, a window length of 170 frames.
- the standard deviation of the melody line 900 to the melody center line 906 is determined.
- the resulting standard deviation for each frame is multiplied by 2 and added by 1 bin.
- This value then becomes the respective frequency bin for each frame, which is the Melody centerline 906 at this frame traverses, adds, and subtracts to obtain upper and lower standard deviation lines 908a and 908b.
- the two standard deviation lines 908a and 908b define an allowed area 910 between them.
- all segments of the melody line 900 that are completely outside of the approval area 910 are now removed. The result of the statistical correction 898 is thus a reduction in the number of segments.
- the step 898 is followed by a halftone mapping 912.
- the halftone mapping is performed frame-wise by resorting to the halftone vector, step 818, which defines the halftone frequencies.
- the halftone mapping 912 functions such that, for each frame on which the melody line resulting from step 898 is present, it is checked in which of the halftone areas the frequency bin lies in which the melody line passes through the respective frame Frequency bin the melody line function the respective frame maps.
- the melody line is then changed such that in the respective frame the melody line is changed to the frequency value corresponding to the semitone frequency of the semitone area in which the frequency bin through which the melody line passed was.
- segment-wise semitone quantization can also be carried out, for example by assigning only the frequency mean value per segment to one of the halftone areas and thus to the corresponding halftone area frequency in the previously described manner, which then over the entire time length of the corresponding segment the frequency is used.
- Steps 782, 816, 818, 850, 876, 898 and 912 thus correspond to step 760 in FIG Fig. 2 .
- step 914 Upon halftone mapping 912, an onset detection and correction per segment is performed in step 914. This will be referred to the Fig. 24 - 26 explained in more detail.
- the goal of the onset detection and correction 914 is to correct the individual segments of the melody line resulting from the halftone mapping 912, which correspond more and more to the individual notes of the searched tune, with respect to their starting times.
- the incoming or in step 750 provided audio signal 302 is used again, as will be described in more detail below.
- a step 916 first the audio signal 302 is filtered with a bandpass filter corresponding to the halftone frequency to which the respective reference segment has been quantized in step 912, or with a bandpass filter having cutoff frequencies between which the quantized halftone frequency of the respective segment lies ,
- the bandpass filter is used as one having cutoff frequencies corresponding to the halftone cutoff frequencies f u and f o of the halftone region in which the considered segment is located.
- an IIR band-pass filter with the cutoff frequencies f u and f o associated with the respective halftone region is filtered as filter cutoff frequencies or with a Butterworth bandpass filter whose transfer function in Fig. 25 is shown.
- a two-way rectification of the audio signal filtered in step 916 is performed, whereupon, in a step 920, the time signal obtained in step 918 is interpolated and the interpolated time signal is convolved with a Hamming window, whereby an envelope of the two-way rectified and filtered audio signals, respectively, is determined.
- Steps 916-920 will be referred to Fig. 26 once again illustrated.
- Fig. 26 Numeral 922 shows the two-way rectified audio signal, as it does after step 918, in a graph plotting horizontally the time t in virtual units and vertically the amplitude of the audio signal A in virtual units. Further, in the graph, the envelope 924 resulting in step 920 is shown.
- Steps 916-920 are only one way of generating the envelope 924 and of course can be varied.
- envelopes 924 are generated for the audio signal for all those semitone frequencies or halftone areas in which segments or note segments of the current melody line are arranged. For each such envelope 924, the following steps of Fig. 24 executed.
- potential start times are determined as the locations of locally maximum rise of the envelope 924.
- inflection points in the envelope 924 are determined in step 926.
- the times of the turning points in the case of Fig. 26 are illustrated with vertical bars 928.
- step 926 For the following evaluation of the determined potential starting times or potential increases, a downsampling to the time resolution of the preprocessing is carried out, if necessary in the context of step 926, which is described in Fig. 24 not shown. It should be noted that in step 926 not all potential start times or all inflection points have to be determined. It is also not necessary that all determined or determined potential starting times must be supplied to the subsequent processing. Rather, it is possible to determine or further process only those inflection points as potential starting times, which are arranged in temporal proximity before or in a time range of one of the segments corresponds to the melody line located in the halftone area underlying the determination of the envelope 924.
- step 928 it is now checked whether, for a potential start time, it lies before the segment start of the same corresponding segment. If so, processing continues at step 930. Otherwise, however, i. if the potential start time is past the existing start of the segment, step 928 is repeated for a next potential start time, or step 926 for a next envelope determined for another half-tone range, or segmented onset detection and correction is performed for a next segment ,
- step 930 a check is made as to whether the potential start time is more than x frames before the beginning of the corresponding segment, where x is between 8 and 12, for example, and preferably 10 with a frame length of 8 ms, changing the values for other frame lengths accordingly would. If this is not the case, ie if the potential start time or the determined start time is 10 frames before the segment of interest, the gap between the potential start time and the previous segment start is closed or the previous start of the segment is corrected to the potential start time in a step 932 , If necessary, the predecessor segment is correspondingly shortened or its segment end is changed to the frame before the potential start time.
- step 932 includes extending the reference segment forward to the potential start time and possibly shortening the length of the precursor segment at the end thereof to avoid overlapping the two segments.
- step 934 it is checked in step 934 whether step 934 is being traversed the first time for that potential start time. If this is not the case here, the processing for this potential start time and the relevant segment ends here, and the processing of the onset detection continues in step 928 for another potential start time or in step 926 for a further envelope.
- a step 936 the previous segment start of the segment of interest is virtually moved forward. In doing so, the perceptual spectral values in the perception-related spectrum are looked up, which are located at the virtually shifted segment start times. If the fall of these perceptual spectral values in the perceptual spectrum exceeds a certain value, the frame in which this transgression has taken place is provisionally used as segment start of the reference segment and step 930 is repeated again. If then the potential start time is not more than x frames before the beginning of the corresponding segment determined in step 936, the gap is also closed in step 932, as described above.
- the effect of the onset detection and correction 914 is thus that individual segments in the current melody line are changed in their time extent, namely extended forward or shortened back.
- segmental length segmentation 938 all segments of the melody line which, because of halftone mapping 912, now appear in the melody matrix as horizontal lines lying at semitone frequencies, are scanned through, and those segments from the melody line removed, which are smaller than a predetermined length. For example, segments are removed that are less than 10-14 frames long, and preferably 12 frames and less long, again assuming a frame length of 8ms above or adjusting the numbers of frames accordingly. 12 frames at 8 milliseconds correspond to 96 milliseconds time resolution, which is less than about 1/64 note.
- Steps 914 and 938 thus correspond to step 762 Fig. 2 .
- the melody line held in step 938 then consists of a somewhat reduced number of segments having one and the same semitone frequency over a certain number of consecutive frames. These segments are clearly attributable to musical segments.
- This melody line is then entered in a step 940 corresponding to the above-described step 764 of FIG Fig. 2 corresponds, converted into a notation or into a midi file.
- each segment still in the melody line after the length segmentation 938 is examined to find the first frame in the respective segment. This frame then determines the note start time of the note corresponding to that segment. For the note, the note length is then determined from the number of frames over which the corresponding segment extends.
- the quantized pitch of the note results from the halftone frequency, which is constant in each segment due to step 912.
- the MIDI output 914 by means 304 then provides the note sequence, based on which the rhythm means 306 performs the operations described above.
- FIG. 4 shows the alternative mode of operation of device 304, which is similar to that of monophonic audio signals Fig. 3 is preferable, but in principle also for polyphonic audio signals would be applicable.
- a sound separation is performed in step 950.
- the reason for performing the sound separation in step 950 referring to FIG Fig. 28 can be explained in more detail, with reference to Fig. 29 for a portion of the frequency / time space of the spectrogram of the audio signal, the nature of the spectrogram, as determined by frequency analysis 752, for a predetermined segment 952 of the melody line resulting after general segmentation 782 , as a root and for their overtones illustrated.
- the exemplary segment 952 has been shifted along the frequency direction f by integer multiples of the respective frequency to determine overtone lines.
- Fig. 29 now shows only those parts of the reference segment 952 and corresponding overtone lines 954a-g, where the Spectrogram from step 752 has spectral values that exceed an exemplary value.
- the amplitude of the fundamental of the reference segment 952 obtained in the general segmentation 782 is consistently above the exemplary value. Only the overtones arranged above indicate an interruption approximately in the middle of the segment. The patency of the root has caused the segment in general segmentation 782 not to split into two notes, although there is likely to be a note boundary at about the middle of segment 952. Errors of this kind occur primarily only in monophonic music, which is why the sound separation only in the case of Fig. 27 is carried out.
- the tone separation 950 begins at step 958, starting from the melody line obtained in step 782, with the search for that overtone or tone lines 954a-954g along which the spectrogram obtained by frequency analysis 752 has the most dynamic amplitude response.
- Fig. 30a shows in a graph in which the x-axis of a time axis t and the y-axis of the amplitude or the value of the spectrogram corresponds, such an amplitude characteristic 960 for one of the upper tone lines 954a - 954g.
- the dynamics for the amplitude curve 960 is determined from the difference between the maximum spectral value of the curve 960 and the minimum value within the curve 960.
- Fig. 30a will exemplify the amplitude curve of the spectrogram along that harmonic line 450a - 450g, which has the greatest dynamics among all these amplitude curves.
- step 958 preferably only the 4th through 15th order overtones are considered.
- a local amplitude minimum falls below a predetermined threshold, identified as potential separation points.
- a predetermined threshold identified as potential separation points.
- a predetermined threshold identified as potential separation points.
- Fig. 30b illustrated.
- the absolute minimum 964 which of course also represents a local minimum
- the threshold value which in Fig. 30b exemplified by dashed line 966.
- Fig. 30b there is only one potential separation point, namely the time or frame at which the minimum 964 is located.
- step 968 those which are located in a boundary area 970 around the segment start 972 or in a boundary area 974 around the segment end 976 are then sorted out among the possibly multiple separation sites.
- step 978 the difference between the amplitude minimum at the minimum 964 and the mean of the amplitudes of the local maxima 980 and 982 adjacent to the minimum 964 is formed in the amplitude curve 960.
- the difference is in Fig. 30b illustrated with a double arrow 984.
- a subsequent step 986 it is checked whether the difference 984 is greater than a predetermined threshold value. Otherwise, in a step 988, the reference segment at the potential separation point or minimum 964 is separated into two segments, one of which is separated from the second Segment start 972 extends to the frame of the minimum 964, and the other between the frame of the minimum 964 and the subsequent frame and the segment end 976. The list of segments is extended accordingly. Another way of separating 988 is to provide a gap between the two emerging segments. For example, in the area in which the amplitude curve 960 is below the threshold value, in Fig. 30b for example, over the time range 990.
- tone smoothing is performed in step 992, referring to FIG Fig. 31 and 32 is explained in more detail.
- FIG. 8 shows schematically a segment 994, as it is in the melody line, which results on the sound separation 950.
- the representation in Fig. 32 is such that in Fig. 32 for each tuple of frequency bin and frame traversed by segment 994, a digit is provided on the corresponding tuple. The assignment of the digit will be referred to below Fig. 31 explained in more detail.
- segment 994 varies in the exemplary case of FIG Fig. 32 across 4 frequency bins and spans 27 frames.
- tone smoothing is now to select, among the frequency bins between which segment 994 oscillates, the one which is to be assigned to segment 994 constantly for all frames.
- the tone smoothing begins in step 996 with the initialization of a counter variable i to 1.
- a counter value z is initialized to 1.
- the counter variable i has the meaning of the numbering of the frames of the segment 994 from left to right in FIG Fig. 32
- the counter variable z has the meaning of a counter that counts over how many consecutive frames the segment 994 is in one and the same frequency bin.
- the value for z for the individual frames is shown in the form of the numbers representing the course of segment 994 in FIG Fig. 32 represent.
- the counter value z is then accumulated to a sum for the frequency bin of the ith frame of the segment. For each frequency bin in which the segment 994 oscillates, there exists a sum or an accumulation value.
- the counter value could be weighted according to a varying exemplary embodiment, such as a factor f (i), where f (i) is a function that increases steadily with i, thus the shares to be totalized at the end of a segment, ie the voice, for example better tuned to the tone, to weight more strongly compared to the transient at the beginning of a note.
- a factor f (i) is a function that increases steadily with i, thus the shares to be totalized at the end of a segment, ie the voice, for example better tuned to the tone, to weight more strongly compared to the transient at the beginning of a note.
- 32 i increases along the time and indicates how many positions a given frame occupies among the frames of the considered segment, and successive values which occupy the function shown by way of example for successive sections, again indicated by small vertical bars along the time axis, with numbers shown in these square brackets.
- the exemplary weighting function increases with i from 1 to 2.2.
- a step 1002 it is checked if the i-th frame is the last frame of the segment 994. If this is not the case, the counter variable i is incremented in a step 1004, ie it is moved to the next frame.
- a subsequent step 1006 it is checked whether the segment 994 in the current frame, ie the ith frame, is in the same frequency bin as it was in the (i-1) th frame. If so, in a step 1008 the counter variable z is incremented, whereupon processing continues again at step 1000. However, if the segment 994 is not in the same frequency bin in the i-th frame and the (i-1) th frame, processing proceeds to 1 with the initialization of the counter variable z in step 998.
- step 1002 determines whether i-th frame is the last frame of segment 994, then for each frequency bin in which segment 994 is located, a sum resulting in Fig. 32 at 1010.
- step 1012 upon determination of the last frame in step 1002, the frequency bin for which the accumulated sum 1010 is greatest is selected. In the exemplary case of Fig. 32 this is the second lowest frequency bin among the four frequency bins in which segment 994 is located.
- the reference segment 994 is then smoothed by swapping it to a segment in which each of the frames where the segment 994 was located is assigned the selected frequency bin. The sound smoothing off Fig. 31 is repeated segment by segment for all segments.
- tone smoothing serves to equalize the singing and singing of tones from lower or higher frequencies, and accomplishes this by finding a value over the time course of a tone corresponding to the frequency of the settled tone.
- tone smoothing serves to equalize the singing and singing of tones from lower or higher frequencies, and accomplishes this by finding a value over the time course of a tone corresponding to the frequency of the settled tone.
- all elements of a frequency band are counted up, after which all the incremented elements of a frequency band, which are located on the note segment, are added up. Then the tone is entered over the time of the note segment in the frequency band with the largest sum.
- a statistical correction 916 is then performed, performing the statistical correction of those Fig. 3 in particular corresponds to step 898.
- the statistical correction 1016 is followed by a halftone mapping 1018 that corresponds to the halftone mapping 912 Fig. 3 corresponds and also uses a halftone vector determined at a halftone vector detection 1020, which corresponds to that of Fig. 818.
- Steps 950, 992, 1016, 1018, and 1020 thus correspond to step 760 Fig. 2 .
- the halftone mapping 1018 is followed by an onset identifier 1022, which essentially corresponds to that of FIG Fig. 3 , step 914, corresponds. Only in step 932 is it preferably prevented that gaps are closed again, or segments imposed by the tone separation 950 are closed again.
- the onset detector 1022 is followed by offset detection and correction 1024, which will be described below with reference to FIGS. 33-35 is explained in more detail.
- the offset detection and correction is used to correct the end of the note.
- the offset detection 1024 serves to prevent the reverberation of monophonic pieces of music.
- step 1026 first the audio signal is filtered with a bandpass filter corresponding to the halftone frequency of the reference segment, whereupon, in a step 1028 corresponding to step 918, the filtered audio signal is two-way rectified. Further, in step 1028, an interpretation of the rectified time signal is performed. This approach is sufficient in the case of offset detection and correction to determine approximately an envelope, thereby eliminating the more complicated step 920 of onset detection.
- Fig. 34 shows in a graph in which along the x-axis, the time t is plotted in virtual units and along the y-axis of the amplitude A in virtual units, the interpolated time signal, for example with a Reference numeral 1030 and, for comparison thereto, the envelope, as determined in the Onseterkennung in step 920, with a reference numeral 1032.
- a maximum 1040 of the interpolated time signal 1030 is determined, in particular the value of the interpolated time signal 1030 at the maximum 1040.
- a potential note end time is then determined as the time wherein the rectified audio signal has dropped in time to the maximum 1040 to a predetermined percentage of the value at the maximum 1040, the percentage in step 1042 being preferably 15%.
- the potential note end is in Fig. 34 illustrated with a dashed line 1044.
- a subsequent step 1046 it is then checked whether the potential note end 1044 is behind the segment end 1048 in time. If not, as it is in Fig. 34 by way of example, the reference segment is shortened from the time range 1036 to end at the potential note end 1044. However, if the note end is earlier than the end of the segment, as exemplified in Fig. 35 5, it is checked in a step 1050 whether the time interval between potential note end 1044 and segment end 1048 is less than a predetermined percentage of the current segment length a, the predetermined percentage preferably being 25% in step 1050. If the result of the check 1050 is positive, an extension 1051 of the reference segment of length a takes place, in order to end now at the potential note end 1044. However, to prevent overlap with the subsequent segment, step 1051 may also be contingent upon an impending overlap, in order not to be performed in this case, or just up to the beginning of the successor segment, possibly with a certain distance therefrom.
- step 1050 determines whether the check in step 1050 is negative, no offset correction is performed and step 1034 and the following steps are repeated for another reference segment of equal semitone frequency or step 1026 for other semitone frequencies is continued.
- step 1052 is followed by step 938 Fig. 3 corresponding length segmentation 1052 is performed, followed by a MIDI output 1054 following step 940 Fig. 3 equivalent.
- Step 762 off Fig. 2 correspond to steps 1022, 1024 and 1052.
- steps 770-774 could also be combined with each other by converting the spectral values of the spectrogram from the frequency analysis 752 into the perceptual spectral values using only a single lookup in a lookup table.
- basic frequency determination 776 a tone model from Goto was used.
- other sound models or other weightings of the overtone components would also be possible and could be adapted, for example, to the origin or origin of the audio signal, as far as this or these is known, such as when in the embodiment of the ringtone generation, the user is set to a Vorsumsmen.
- the determination of the potential melody line 780 could include assigning multiple frequency bins to the same frame. Subsequently, a finding of multiple trajectories could be performed. This means allowing a selection of multiple fundamental frequencies or multiple sounds for each frame. Of course, the subsequent segmentation would then have to be carried out differently and, in particular, the subsequent segmentation would be somewhat more complicated since several trajectories or segments would have to be considered and found.
- Step 806 could be transferred to the case where the melody line consists of time-overlapping trajectories, if this step took place after the trajectories were identified.
- the identification of trajectories could be similar to step 810, but modifications would have to be made such that multiple trajectories overlapping in time can also be tracked.
- the gap closure could also be carried out in a similar way for those trajectories between which there is no gap in time.
- the general segmentation implementation described above does not have to have all substeps 786, 796, 804, and 806, but may also include a selection thereof.
- the perceptual spectrum was used in steps 840 and 842. In principle, however, it is also possible to use in these steps the logarithmic spectrum or the spectrogram obtained directly from the frequency analysis, but the use of the perceptual spectrum in these steps has given the best result in terms of melody extraction. The same applies to step 870 from the harmony mapping.
- harmoniemapping it is pointed out that it could be provided there, during the displacement 868 of the successor segment, to apply the displacement just in the direction of the melody centerline line, so that the second condition could be omitted in step 874.
- uniqueness among the selection of the various octave, fifth, and / or third lines could be achieved by creating a priority ranking among them, e.g. rete line before fifth line before third line and below lines of the same line type (octave, quint, or third line) that is closer to the original position of the successor segment.
- the determination of the envelope or of the interpolated time signal used instead in the case of offset detection could also be carried out differently. It is only essential that in the onset and offset detection the audio signal is used back, which is filtered by a bandpass filter with a transmission characteristic around the respective semitone frequency, to the rise of the envelope of the resulting filtered signal the note start time or on the basis of Drop of the envelope to recognize the end of the note.
- FIGS. 8-41 show the operation of the melody extractor 304 and that each of the steps represented by a block in these flowcharts may be implemented in a corresponding subunit of the device 304.
- the implementation of the individual steps can be implemented in hardware, as an ASIC circuit part, or in software, as a subroutine.
- the inscriptions inscribed in the blocks roughly indicate which ones The respective step corresponds to the respective block, while the arrows between the blocks illustrate the sequence of steps in the operation of the device 304.
- the inventive scheme can also be implemented in software.
- the implementation may be on a digital storage medium, in particular a floppy disk or a CD with electronically readable control signals, which may cooperate with a programmable computer system such that the corresponding method is executed.
- the invention thus also consists in a computer program product with program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer.
- the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Description
Die vorliegende Erfindung bezieht sich auf die Extraktion einer einem Audiosignal zu Grunde liegenden Melodie. Eine solche Extraktion kann beispielsweise verwendet werden, um eine transkribierte Darstellung bzw. Notendarstellung einer Melodie zu erhalten, die einem monophonen oder polyphonen Audiosignal zu Grunde liegt, das auch in einer analogen Form oder in einer digitalen, abgetasteten Form vorliegen kann. Melodieextraktionen ermöglichen somit beispielsweise die Erzeugung von Klingeltönen für Mobiltelefone aus jedwedem Audiosignal, wie z.B. Gesang, Vorsummen, Vorpfeifen oder dergleichen.The present invention relates to the extraction of a melody underlying an audio signal. Such extraction may be used, for example, to obtain a transcribed representation of a melody underlying a monophonic or polyphonic audio signal, which may also be in an analog form or in a digital sampled form. Thus, melody extractions, for example, enable the generation of ringtones for mobile phones from any audio signal, e.g. Singing, humming, whistling or the like.
Schon seit einigen Jahren dienen Signaltöne von Mobiltelefonen nicht mehr nur alleine der Signalisierung eines Anrufes. Vielmehr wurden dieselben mit wachsenden melodischen Fähigkeiten der mobilen Geräte zu einem Unterhaltungsfaktor und unter Jugendlichen zu einem Statussymbol.Already for some years, beeps of mobile phones are no longer just the signaling of a call alone. Rather, they have become an entertainment factor with growing melodic capabilities of mobile devices and a status symbol among teenagers.
Frühere Mobiltelefone boten zum Teil die Möglichkeit, monophone Klingeltöne am Gerät selber zu komponieren. Dies war jedoch kompliziert und für musikalisch wenig vorgebildete Benutzer oft frustrierend und vom Ergebnis her betrachtet unbefriedigend. Daher ist diese Möglichkeit bzw. Funktionalität aus neueren Telefonen weitgehend verschwunden.Earlier mobile phones offered in part the possibility to compose monophone ringtones on the device itself. However, this was complicated and often frustrating for musically under-educated users and unsatisfactory in their results. Therefore, this possibility or functionality has largely disappeared from newer phones.
Insbesondere moderne Telefone, die mehrstimmige Signalisierungsmelodien bzw. Klingeltöne zulassen, bieten eine solche Fülle an Kombinationen, dass eine eigenständige Komposition einer Melodie auf einem solchen Mobilgerät kaum noch möglich ist. Allenfalls lassen sich vorgefertigte Melodie- und Begleitmuster neu kombinieren, um so in einem beschränkten Maße eigenständige Klingeltöne zu ermöglichen.In particular, modern phones that allow polyphonic signaling melodies or ringtones, offer such a wealth of combinations that an independent composition of a melody on such a mobile device is hardly possible. At most, ready-made melody and accompaniment patterns can be recombined to provide a limited amount of independent ringtones.
Eine solche Kombinierbarkeit vorgefertigter Melodie- und Begleitmuster ist beispielsweise in dem Telefon Sony-Ericsson T610 implementiert. Darüber hinaus ist der Benutzer jedoch auf das Zukaufen kommerziell erhältlicher, vorgefertigter Klingeltöne angewiesen.Such combinability of ready-made melody and accompaniment patterns is implemented, for example, in the Sony-Ericsson T610 phone. In addition, however, the user relies on the purchase of commercially available pre-made ringtones.
Wünschenswert wäre es, dem Benutzer eine intuitiv bedienbare Schnittstelle zur Erstellung einer eigenen Signalisierungsmelodie zur Verfügung stellen zu können, die keine große musikalische Bildung voraussetzt, aber trotzdem zur Umsetzung eigener polyphoner Melodien geeignet ist.It would be desirable to be able to provide the user with an intuitively operable interface for creating his own signaling melody, which does not require a large musical education, but is nevertheless suitable for the implementation of their own polyphonic melodies.
In den meisten Keyboards besteht heutzutage eine als sogenannte Begleitautomatik bezeichnete Funktionalität, eine Melodie bei Vorgabe der zu verwendenden Akkorde automatisch zu begleiten. Ganz abgesehen davon, dass solche Keyboards keine Möglichkeit liefern, über eine Schnittstelle zu einem Computer die mit einer Begleitung versehene Melodie an einen Computer zu übertragen und dort in ein geeignetes Handy-Format umzuwandeln zu lassen, um dieselben als Klingeltöne in ein Mobiltelefon verwenden zu können, scheidet die Verwendung eines Keyboards zur Erzeugung eigener polyphoner Signalisierungsmelodien für Mobiltelefone für die meisten Benutzer aus, da dieselben nicht in der Lage sind, dieses Musikinstrument zu bedienen.In most keyboards today, there is a so-called automatic accompaniment called functionality to automatically accompany a melody given the chords to be used. Quite apart from the fact that such keyboards provide no way to use an interface to a computer to transfer the provided with a tune melody to a computer and there to convert into a suitable mobile phone format to use them as ringtones in a mobile phone can , the use of a keyboard to generate its own polyphonic signaling melodies for mobile phones for most users, because they are not able to operate this musical instrument.
In der
Die
Mit Möglichkeiten der Melodieerkennung beschäftigt sich beispielsweise
Auch in
In
Im Rahmen der Grundlagenforschung zu dem Themengebiet Extraktion einer Hauptmelodie als einem Spezialfall der polyphonen Transkription ist ferner
Die oben genannten unterschiedlichen Ansätze zur Melodieerkennung bzw. automatischen Transkription stellen meist besondere Anforderungen an das Eingangssignal. Sie lassen beispielsweise nur Klaviermusik zu oder nur eine bestimmte Anzahl von Instrumenten oder schließen perkussive Instrumente aus oder dergleichen:The above-mentioned different approaches to melody recognition or automatic transcription usually make special demands on the input signal. For example, they only allow piano music or only a certain number of instruments or exclude percussive instruments or the like:
Den bisher praktikabelsten Ansatz für aktuelle moderne und populäre Musik stellt das Vorgehen von Goto dar, wie es beispielsweise in
Mit der Melodiedetektion beschäftigt sich auch
Wünschenswert wäre es, ein Verfahren zur Melodieextraktion bzw. automatischen Transkription zu besitzen, das robuster und für eine breitere Vielzahl von verschiedenen Audiosignalen zuverlässig funktioniert. Ein solches robustes System könnte zu einer hohen Zeit- und Kostenersparnis bei "Query by Huming"-Systemen, d.h. bei Systemen, bei denen es einem Benutzer möglich ist, Lieder durch Vorsummen in einer Datenbank zu finden, liefern, da eine automatische Transkription für die Referenzdateien der Systemdatenbank möglich wäre. Eine robust funktionierende Transkription könnte natürlich auch Einsatz als Aufnahmefrontend finden. Ferner wäre es möglich, eine automatische Transkription als Ergänzung zu einem Audio-ID-System zu verwenden, also einem System, das Audiodateien an einem in ihnen enthaltenen Fingerabdruck erkennt, da bei Nichterkennung durch das Audio-ID-System, wie z.B. auf Grund eines fehlenden Fingerabdrucks, die automatische Transkription alternativ verwendet werden könnte, um eine eingehende Audiodatei auszuwerten.It would be desirable to have a method of melody extraction or automatic transcription that is more robust and reliable for a wider variety of different audio signals. Such a robust System could provide a high time and cost savings in "query by huming" systems, ie in systems where a user is able to find songs by pre-sums in a database, as an automatic transcription for the system database reference files it is possible. Of course, a robustly functioning transcription could also find use as a recording frontend. Furthermore, it would be possible to use automatic transcription as a supplement to an audio ID system, ie a system that recognizes audio files on a fingerprint contained in them, as in the case of non-recognition by the audio ID system, such as due to a missing fingerprint, the automatic transcription could alternatively be used to evaluate an incoming audio file.
Eine stabil funktionierende automatische Transkription würde ferner eine Herstellung von Ähnlichkeitsbeziehungen im Zusammenhang mit anderen musikalischen Merkmalen, wie z.B. Tonart, Harmonie und Rhythmus, wie z.B. für eine "recomandation-engine" bzw. "Vorschlagsmaschine" liefern. In der Musikwissenschaft könnte eine stabile automatische Transkription neue Ansichten schaffen und zur Neuüberprüfung von Urteilen zu älterer Musik führen. Auch zur Wahrung des Urheberrechts durch objektiven Vergleich von Musikstücken könnte eine automatische Transkription, die in ihrer Anwendung stabil ist, verwendet werden.Stably functioning automatic transcription would also allow for the production of similarity relationships associated with other musical features, e.g. Key, harmony and rhythm, such as for a "recomandation engine" or "suggestion engine". In musicology, a stable automatic transcription could create new views and lead to a re-examination of judgments on older music. Also, to preserve copyright by objectively comparing pieces of music, automatic transcription that is stable in use could be used.
Zusammenfassend ausgedrückt ist die Anwendung der Melodieerkennung bzw. Autotranskription nicht auf die eingangs erwähnte Generierung von Klingeltönen für Mobiltelefone eingeschränkt, sondern kann ganz allgemein als Hilfestellung für Musiker und musikalisch Interessierte dienen.In summary, the application of melody recognition or auto-transcription is not limited to the generation of ringtones for mobile phones mentioned above, but can generally serve as a support for musicians and those interested in music.
Die Aufgabe der vorliegenden Erfindung besteht deshalb darin, ein stabileres bzw. für eine breitere Vielzahl von Audiosignalen korrekt arbeitendes Schema zur Melodieerkennung zu schaffen.Therefore, the object of the present invention is to provide a more stable melody recognition scheme which works correctly for a wider variety of audio signals.
Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren gemäß Anspruch 33 und Computer-Programm gemäß Anspruch 34 gelöst.This object is achieved by a device according to
Die Erkenntnis der vorliegenden Erfindung besteht darin, dass die Melodieextraktion oder automatische Transkription deutlich stabiler und gegebenenfalls sogar unanfwendiger gestaltet werden kann, wenn die Annahme genügend Berücksichtigung findet, dass die Hauptmelodie derjenige Anteil eines Musikstückes ist, den der Mensch am lautesten und prägnantesten wahrnimmt. Dies aufgreifend wird gemäß der vorliegenden Erfindung die Zeit-über-Spektraldarstellung bzw. das Spektrogramm eines interessierenden Audiosignals unter Verwendung der Kurven gleicher Lautstärke, die die menschliche Lautstärkewahrnehmung wiederspiegeln, skaliert, um auf der Basis der sich ergebenden wahrnehmungsbezogenen Zeit-über-Spektraldarstellung die Melodie des Audiosignals zu ermitteln.The recognition of the present invention is that the melody extraction or automatic transcription can be made much more stable and possibly even unsuitable if the assumption is sufficiently taken into account that the main melody is that part of a piece of music that the person perceives loudest and most concise. Taking this into account, according to the present invention, the time-over-spectral representation or spectrogram of an audio signal of interest is scaled using the equal volume curves that reflect human loudness perception to determine the melody based on the resulting perceptual time-over-spectral representation of the audio signal.
Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird der obigen musikwissenschaftlichen Aussage, dass die Hauptmelodie derjenige Anteil eines Musikstückes ist, den der Mensch am lautesten und prägnantesten wahrnimmt, gleich in zweifacher Hinsicht Rechnung getragen. Nach diesem Ausführungsbeispiel wird nämlich bei der Ermittlung der Melodie des Audiosignals zunächst eine Melodielinie, die sich durch die Zeit-über-Spektraldarstellung erstreckt, ermittelt, und zwar dadurch, dass jedem Zeitabschnitt bzw. Frame - in eindeutiger Weise - genau eine Spektralkomponente bzw. ein Frequenzbin der Zeit-über-Spektraldarstellung zugewiesen wird, nämlich diejenige, die zu dem Schallergebnis mit der maximalen Intensität führt. Genauer ausgedrückt wird gemäß diesem Ausführungsbeispiel das Spektrogramm des Audiosignals zunächst logarithmiert, so dass die logarithmierten Spektralwerte den Schalldruckpegel anzeigen. Anschließend werden die logarithmierten Spektralwerte des logarithmierten Spektrogramms abhängig von ihrem jeweiligen Wert und der Spektralkomponente, zu der sie gehören, auf wahrnehmungsbezogene Spektralwerte abgebildet. Dabei werden Funktionen verwendet, die die Kurven gleicher Lautstärke als Schalldruck in Abhängigkeit von Spektralkomponenten bzw. in Abhängigkeit von der Frequenz darstellen und unterschiedlichen Lautstärken zugewiesen sind.According to a preferred embodiment of the present invention, the above musicological statement that the main melody is that portion of a piece of music that the person perceives most loudly and succinctly is taken into account in two ways. Namely, according to this embodiment, when determining the melody of the audio signal, first a melody line extending through the time-over-spectral representation is determined, namely by assigning to each time period or frame - uniquely - exactly one spectral component Frequency bin is assigned to the time-over-spectral representation, namely that which leads to the sound result with the maximum intensity. More specifically, according to this embodiment, the spectrogram of the audio signal is first logarithmized, so that the logarithmized spectral values indicate the sound pressure level. Subsequently, the logarithmic spectral values of the logarithmized spectrogram become dependent on their respective value and the spectral component to which they belong perceptually related spectral values. Functions are used that represent the curves of equal volume as sound pressure as a function of spectral components or as a function of the frequency and are assigned to different volumes.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
- Fig. 1
- ein Blockschaltbild einer Vorrichtung zur Erzeugung einer polyphonen Melodie;
- Fig. 2
- ein Flussdiagramm zur Veranschaulichung der Funktionsweise der Extraktionseinrichtung der Vorrichtung von
Fig. 1 ; - Fig. 3
- ein detaillierteres Flussdiagramm zur Veranschaulichung der Funktionsweise der Extraktionseinrichtung der Vorrichtung von
Fig. 1 für den Fall eines polyphonen Audioeingangssignals; - Fig. 4
- ein exemplarisches Beispiel für eine Zeit/Spektraldarstellung bzw. ein Spektrogramm eines Audiosignals, wie es bei der Frequenzanalyse in
Fig. 3 entstehen könnte; - Fig. 5
- ein logarithmiertes Spektrogramm, wie es sich nach der Logarithmierung in
Fig. 3 ergibt; - Fig. 6
- ein Diagramm mit den Kurven gleicher Lautstärke, wie sie der Bewertung des Spektrums in
Fig. 3 zu Grunde liegen; - Fig. 7
- einen Graphen eines Audiosignals, wie es vor der eigentlichen Logarithmierung in
Fig. 3 verwendet wird, um einen Bezugswert für die Logarithmierung zu erhalten; - Fig. 8
- ein wahrnehmungsbezogenes Spektrogramm, wie es nach der Bewertung des Spektrogramms von
Fig. 5 inFig. 3 erhalten wird; - Fig. 9
- die sich aus dem wahrnehmungsbezogenen Spektrum von
Fig. 8 durch die Melodielinienermittlung vonFig. 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 vonFig. 10 ; - Fig. 13
- der Melodielinienverlauf von
Fig. 9 nach der Frequenzbereichseingrenzung in der allgemeinen Segmentierung vonFig. 10 ; - Fig. 14
- eine schematische Zeichnung, in der ein Ausschnitt aus einer Melodielinie gezeigt ist, zur Veranschaulichung der Wirkweise des vorletzten Schritts in der allgemeinen Segmentierung von
Fig. 10 ; - Fig. 15
- eine schematische Zeichnung eines Ausschnitts aus einer Melodienlinie zur Veranschaulichung der Wirkweise der Segmenteinteilung in der allgemeinen Segmentierung von
Fig. 10 ; - Fig. 16
- ein Flussdiagramm zur Veranschaulichung der Lückenschließung in
Fig. 3 ; - Fig. 17
- eine schematische Zeichnung zur Veranschaulichung der Vorgehensweise beim Setzen des variablen Halbtonvektors in
Fig. 3 ; - Fig. 18
- eine schematische Zeichnung zur Veranschaulichung der Lückenschließung nach
Fig. 16 ; - Fig. 19
- ein Flussdiagramm zur Veranschaulichung des Harmoniemappings bzw. der Harmonieabbildung in
Fig. 3 ; - Fig. 20
- eine schematische Darstellung eines Ausschnitts aus dem Melodielinienverlauf zur Veranschaulichung der Wirkweise des Harmoniemappings nach
Fig. 19 ; - Fig. 21
- ein Flussdiagramm zur Veranschaulichung der Vibratorerkennung und des Vibratorausgleichs in
Fig. 3 ; - Fig. 22
- eine schematische Darstellung eines Segmentverlaufs zur Veranschaulichung der Vorgehensweise nach
Fig. 21 ; - Fig. 23
- eine schematische Darstellung eines Ausschnitts aus dem Melodielinienverlauf zur Veranschaulichung der Vorgehensweise bei der statistischen Korrektur in
Fig. 3 ; - Fig. 24
- ein Flussdiagramm zur Veranschaulichung der Vorgehensweise bei der Onset-Erkennung und - Korrektur in
Fig. 3 ; - Fig. 25
- einen Graphen, der eine exemplarische Filterübertragungsfunktion zur Verwendung bei der Onset-Erkennung nach
Fig. 24 zeigt; - Fig. 26
- einen schematischen Verlauf eines zweiwegegleichgerichteten gefilterten Audiosignals sowie der Hüllkurve desselben, wie sie zur Onset-Erkennung und -Korrektur in
Fig. 24 verwendet werden; - Fig. 27
- ein Flussdiagramm zur Veranschaulichung der Funktionsweise der Extraktionseinrichtung aus
Fig. 1 für den Fall monophoner Audioeingangssignale; - Fig. 28
- ein Flussdiagramm zur Veranschaulichung der Tontrennung in
Fig. 27 ; - Fig. 29
- eine schematische Darstellung eines Ausschnitts aus dem Amplitudenverlauf des Spektrogramms eines Audiosignals entlang eines Segments zur Veranschaulichung der Funktionsweise der Tontrennung nach
Fig. 28 ; - Fig. 30a
- und b schematische Darstellungen eines Ausschnitts aus dem Amplitudenverlauf des Spektrogramms eines Audiosignals entlang eines Segments zur Veranschaulichung der Funktionsweise der Tontrennung nach
Fig. 28 ; - Fig. 31
- ein Flussdiagramm zur Veranschaulichung der Tonglättung in
Fig. 27 ; - Fig. 32
- eine schematische Darstellung eines Segments aus dem Melodielinienverlauf zur Veranschaulichung der Vorgehensweise der Tonglättung nach
Fig. 31 ; - Fig. 33
- ein Flussdiagramm zur Veranschaulichung der Offset-Erkennung und -Korrektur in
Fig. 27 ; - Fig. 34
- eine schematische Darstellung eines Ausschnitts aus einem zweiwegegleichgerichteten gefilterten Audiosignals und dessen Interpolation zur Veranschaulichung der Vorgehensweise nach
Fig. 33 ; und - Fig. 35
- ein Ausschnitt aus einem zweiwegegleichgerichteten gefilterten Audiosignals und dessen Interpolation für den Fall einer potentiellen Segmentverlängerung.
- Fig. 1
- a block diagram of an apparatus for generating a polyphonic melody;
- Fig. 2
- a flowchart illustrating the operation of the extraction device of the device of
Fig. 1 ; - Fig. 3
- a more detailed flow chart for illustrating the operation of the extraction device of the device of
Fig. 1 in the case of a polyphonic audio input signal; - Fig. 4
- an exemplary example of a time / spectral representation or a spectrogram of an audio signal, as in the frequency analysis in
Fig. 3 could arise; - Fig. 5
- a logarithmic spectrogram, as it appears after logarithmation in
Fig. 3 results; - Fig. 6
- a graph with the curves of equal volume, as the evaluation of the spectrum in
Fig. 3 underlie; - Fig. 7
- a graph of an audio signal, as it was before the actual logarithmization in
Fig. 3 is used to obtain a reference value for the logarithm; - Fig. 8
- a perceptual spectrogram, as shown by the evaluation of the spectrogram of
Fig. 5 inFig. 3 is obtained; - Fig. 9
- arising from the perceptual spectrum of
Fig. 8 through the melody line detection ofFig. 3 resulting melody line or function plotted in the time / spectral domain; - Fig. 10
- a flowchart illustrating the general segmentation of
Fig. 3 ; - Fig. 11
- a schematic representation of an exemplary melody line curve in the time / spectral domain;
- Fig. 12
- a schematic representation of a section of the melody line progression of
Fig. 11 to illustrate the mode of action of filtering in the general segmentation ofFig. 10 ; - Fig. 13
- the melody line course of
Fig. 9 after frequency domain confinement in the general segmentation ofFig. 10 ; - Fig. 14
- a schematic drawing, in which a section of a melody line is shown, to illustrate the operation of the penultimate step in the general segmentation of
Fig. 10 ; - Fig. 15
- a schematic drawing of a section of a melody line to illustrate the mode of operation of the segmentation in the general segmentation of
Fig. 10 ; - Fig. 16
- a flow chart illustrating the gap closure in
Fig. 3 ; - Fig. 17
- a schematic drawing illustrating the procedure when setting the variable halftone vector in
Fig. 3 ; - Fig. 18
- a schematic drawing illustrating the gap closure after
Fig. 16 ; - Fig. 19
- a flowchart for illustrating the Harmoniemappings or the harmony mapping in
Fig. 3 ; - Fig. 20
- a schematic representation of a section of the melody line course to illustrate the mode of action of Harmoniemappings after
Fig. 19 ; - Fig. 21
- a flowchart illustrating the vibrator detection and the vibrator compensation in
Fig. 3 ; - Fig. 22
- a schematic representation of a segment profile to illustrate the procedure according to
Fig. 21 ; - Fig. 23
- a schematic representation of a section of the melody line course to illustrate the procedure in the statistical correction in
Fig. 3 ; - Fig. 24
- a flow chart illustrating the procedure for onset detection and correction in
Fig. 3 ; - Fig. 25
- a graph depicting an exemplary filter transfer function for use in onset detection
Fig. 24 shows; - Fig. 26
- a schematic course of a two-way rectified filtered audio signal and the envelope thereof, as they are for onset detection and correction in
Fig. 24 be used; - Fig. 27
- a flowchart for illustrating the operation of the extraction device
Fig. 1 in the case of monophonic audio input signals; - Fig. 28
- a flow chart illustrating the sound separation in
Fig. 27 ; - Fig. 29
- a schematic representation of a portion of the amplitude profile of the spectrogram of an audio signal along a segment to illustrate the operation of the sound separation according to
Fig. 28 ; - Fig. 30a
- and b are schematic representations of a portion of the amplitude profile of the spectrogram of an audio signal along a segment to illustrate the operation of the sound separation according to FIG
Fig. 28 ; - Fig. 31
- a flow chart illustrating the sound smoothing in
Fig. 27 ; - Fig. 32
- a schematic representation of a segment from the melody line progression to illustrate the procedure of tone smoothing after
Fig. 31 ; - Fig. 33
- a flow chart illustrating the offset detection and correction in
Fig. 27 ; - Fig. 34
- a schematic representation of a section of a two-way rectified filtered audio signal and its interpolation to Illustrating the procedure according to
Fig. 33 ; and - Fig. 35
- a section of a two-way rectified filtered audio signal and its interpolation for the case of a potential segment extension.
Bezug nehmend auf die nachfolgende Figurenbeschreibung wird darauf hingewiesen, dass dort die vorliegende Erfindung lediglich exemplarisch anhand eines speziellen Anwendungsfalles beschrieben wird, nämlich der Erzeugung einer polyphonen Klingelmelodie aus einem Audiosignal. Explizit wird an dieser Stelle jedoch darauf hingewiesen, dass die vorliegende Erfindung natürlich nicht auf diesen Anwendungsfall beschränkt ist, sondern dass eine erfindungsgemäße Melodieextraktion bzw. automatische Transkription auch anderswo Einsatz finden kann, wie z.B. zur Erleichterung der Suche in einer Datenbank, der bloßen Erkennung von Musikstücken, der Ermöglichung der Wahrung des Urheberrechts durch objektiven Vergleich von Musikstücken oder dergleichen, oder eben zur bloßen Transkription von Audiosignalen, um das Transkriptionsergebnis einem Musiker gegenüber anzeigen zu können.With reference to the following description of the figures, it is pointed out that the present invention is described there merely by way of example with reference to a specific application, namely the generation of a polyphonic ringing melody from an audio signal. However, it should be pointed out explicitly that the present invention is of course not limited to this application, but that a melody extraction or automatic transcription according to the invention can also be used elsewhere, such as e.g. for facilitating searching in a database, merely recognizing pieces of music, enabling copyright protection by objectively comparing pieces of music or the like, or just transcribing audio signals to display the transcription result to a musician.
Die Vorrichtung von
Nachdem im Vorhergehenden der Aufbau der Vorrichtung 300 von
Die Extraktionseinrichtung 304 ist dazu ausgebildet, das am Eingang 302 empfangene Audiosignal einer Notenextraktion bzw. -erkennung zu unterziehen, um aus dem Audiosignal eine Notenfolge zu erhalten. Die Notenfolge 318, die die Extraktionseinrichtung 304 an die Rhythmuseinrichtung 306 weiterleitet, liegt bei dem vorliegenden Ausführungsbeispiel in einer Form vor, bei der für jede Note n ein Notenanfangszeitpunkt tn, der den Ton- bzw. Notenanfang beispielsweise in Sekunden angibt, eine Ton- bzw. Notendauer τn, die die Notendauer der Note beispielsweise in Sekunden angibt, eine quantisierte Noten- bzw. Tonhöhe, d.h. C, Fis oder dergleichen, beispielsweise als MIDI-Note, eine Lautstärke Ln der Note und eine exakte Frequenz fn des Tons bzw. der Note in der Notenfolge enthalten ist, wobei n einen Index für die jeweilige Note in der Notenfolge darstellen soll, der mit der Reihenfolge der aufeinanderfolgenden Noten zunimmt bzw. die Position der jeweiligen Note in der Notenfolge angibt.The
Die Melodieerkennung bzw. Autotranskription, die durch die Einrichtung 304 zur Generierung der Notenfolge 318 durchgeführt wird, wird später Bezug nehmend auf die
Die Notenfolge 318 stellt immer noch die Melodie dar, wie sie auch durch das Audiosignal 302 dargestellt wurde. Die Notenfolge 318 wird nun der Rhythmuseinrichtung 306 zugeführt. Die Rhythmuseinrichtung 306 ist ausgebildet, um die zugeführte Notenfolge zu analysieren, um eine Taktlänge, einen Auftakt, d.h. ein Taktraster, für die Notenfolge zu bestimmen und dabei die einzelnen Noten der Notenfolge geeigneten Takt-quantifizierten Längen, wie z.B. ganzen, halben, Viertel-, Achtelnoten usw., für den bestimmten Takt zuzuordnen und die Notenanfänge der Noten an das Taktraster anzupassen. Die Notenfolge, die die Rhythmuseinrichtung 306 ausgibt, stellt somit eine rhythmisch aufbereitete Notenfolge 324 dar.The
An der rhythmisch aufbereiteten Notenfolge 324 führt die Tonarteinrichtung 308 eine Tonartbestimmung und ggf. eine Tonartkorrektur durch. Genauer ausgedrückt bestimmt die Einrichtung 308 basierend auf der Notenfolge 324 eine Haupttonart bzw. Tonart der durch die Notenfolge 324 bzw. das Audiosignal 302 repräsentierten Benutzermelodie inklusive des Tongeschlechtes, d.h. Dur oder Moll, des beispielsweise gesungenen Stückes. Danach erkennt dieselbe an dieser Stelle ferner tonleiterfremde Töne bzw. Noten in der Notenfolge 114 und korrigiert dieselben, um zu einem harmonisch klingenden Endergebnis zu kommen, nämlich einer rhythmisch aufbereiteten und tonart-korrigierten Notenfolge 700, die an die Harmonieeinrichtung 310 weitergeleitet wird und eine Tonartkorrigierte Form der von dem Benutzer gewünschten Melodie darstellt.At the rhythmically processed
Die Funktionsweise der Einrichtung 324 hinsichtlich der Tonartbestimmung kann auf verschiedene Weisen ausgeführt sein. Die Tonartbestimmung kann beispielsweise auf die in dem Artikel
Die Harmonieeinrichtung 310 ist dazu ausgebildet, die Notenfolge 700 von der Einrichtung 308 zu empfangen und für die Melodie, die durch diese Notenfolge 700 repräsentiert wird, eine passende Begleitung zu finden. Dazu agiert bzw. wirkt die Einrichtung 310 taktweise. Insbesondere wirkt die Einrichtung 310 an jedem Takt, wie er durch das durch die Rhythmuseinrichtung 306 festgelegte Taktraster bestimmt ist, derart, dass sie eine Statistik über die in dem jeweiligen Takt vorkommenden Töne bzw. Tonhöhen der Noten Tn erstellt. Die Statistik der vorkommenden Töne wird dann mit den möglichen Akkorden der Tonleiter der Haupttonart verglichen, wie sie von der Tonarteinrichtung 308 bestimmt worden ist. Die Einrichtung 310 wählt unter den möglichen Akkorden dann insbesondere denjenigen Akkord aus, dessen Töne am besten mit den Tönen übereinstimmen, die sich in dem jeweiligen Takt befinden, wie es durch Statistik angezeigt wird. Auf diese Weise bestimmt die Einrichtung 310 für jeden Takt denjenigen Akkord, der am besten zu den beispielsweise eingesungenen Tönen bzw. Noten in dem jeweiligen Takt passt. Mit anderen Worten ausgedrückt, ordnet die Einrichtung 310 den durch die Einrichtung 306 gefundenen Takten Akkordstufen der Grundtonart in Abhängigkeit des Tongeschlechtes zu, so dass sich eine Akkordprogression über den Verlauf der Melodie bildet. Am Ausgang der Einrichtung 310 gibt dieselbe folglich neben der rhythmisch aufbereiteten und Tonart-korrigierten Notenfolge inklusive NL ferner für jeden Takt eine Akkordstufenangabe an die Syntheseeinrichtung 312 aus.The
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.Further, the
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
Im folgenden wird nun anhand der
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
Die sich an den Schritt 754 anschließende Verarbeitung 756 verwendet unter anderem das aus Schritt 754 erhaltene wahrnehmungsbezogene Spektrogramm, um schließlich die Melodie des Ausgangssignals in Form einer in Notensegmente gegliederten Melodielinie zu erhalten, d.h. in einer Form, bei der Gruppen von aufeinanderfolgenden Frames untereinander jeweils die gleiche Tonhöhe zugewiesen ist, wobei diese Gruppen zeitlich über ein oder mehrere Frames hinweg voneinander beabstandet sind, sich also nicht überlappen und somit Notensegmenten einer monophonen Melodie entsprechen.The
In
Die nachfolgenden Teilschritte 760 und 762 sind dazu vorgesehen, um die durchgehende Melodielinie zu segmentieren, um somit einzelne Noten zu ergeben. In
Das Ergebnis der Verarbeitung 756 wird in Schritt 764 verarbeitet, um aus den Melodieliniensegmenten eine Folge von Noten zu erzeugen, wobei jeder Note ein Notenanfangszeitpunkt, eine Notendauer, eine quantisierte Tonhöhe, eine exakte Tonhöhe usw. zugewiesen ist.The result of
Nachdem nun im vorhergehenden Bezug nehmend auf
In den ersten beiden Schritten 750 und 752 stimmt
Die Frequenzanalyse 752 kann dann beispielsweise mittels einer Warped-Filterbank und einer FFT (Fast Fourier Transformation) durchgeführt werden. Insbesondere wird bei der Frequenzanalyse 752 die Folge von Audiowerten zunächst mit einer Fensterlänge von 512 Abtastwerten gefenstert, wobei mit einer Hopsize von 128 Abtastwerten gearbeitet wird, d.h. die Fensterung alle 128 Abtastwerte wiederholt wird. Zusammen mit der Abtastrate von 16 kHz und der Quantisierungsauflösung von 16 Bit stellen diese Parameter einen guten Kompromiss zwischen Zeit und Frequenzauflösung dar. Bei diesen exemplarischen Einstellungen entspricht ein Zeitabschnitt bzw. ein Frame einer Dauer von 8 Millisekunden.The
Die Warped-Filterbank wird gemäß einem speziellen Ausführungsbeispiel für den Frequenzbereich bis ca. 1.550 Hz verwendet. Dies ist notwendig, um für tiefe Frequenzen eine ausreichend gute Auflösung zu erzielen. Für eine gute Halbtonauflösung sollten genügend Frequenzbänder zur Verfügung stehen. Bei einem Lambdawert ab -0,85 bei 16 kHz Abtastrate entsprechen auf einer Frequenz von 100 Hz etwa zwei bis vier Frequenzbänder einem Halbton. Für kleine Frequenzen kann jedes Frequenzband einem Halbton zugeordnet werden. Für den Frequenzbereich bis 8 kHz wird dann die FFT verwendet. Die Frequenzauflösung der FFT ist ab etwa 1.550 Hz ausreichend für eine gute Halbtonrepräsentation. Hier entsprechen ca. zwei bis sechs Frequenzbänder einem Halbton.The warped filter bank is used according to a special embodiment for the frequency range up to about 1550 Hz. This is necessary to achieve a sufficiently good resolution for low frequencies. For a good halftone resolution enough frequency bands should be available. At a lambda value of -0.85 at 16 kHz sampling rate, approximately two to four frequency bands correspond to one semitone on a frequency of 100 Hz. For low frequencies, each frequency band can be assigned a semitone. For the frequency range up to 8 kHz the FFT is used. The frequency resolution of the FFT is sufficient from about 1,550 Hz for a good halftone representation. Here approx. Two to six frequency bands correspond to one semitone.
Bei der oben exemplarisch beschriebenen Implementierung ist das Einschwingverhalten der Warped Filterbank zu beachten. Vorzugsweise wird deshalb eine zeitliche Synchronisation bei der Kombination der beiden Transformationen vorgenommen. Die ersten 16 Frames der Filterbankausgabe werden beispielsweise verworfen, ebenso wie die letzten 16 Frames des Ausgangsspektrums FFT nicht beachtet werden. Bei geeigneter Auslegung ist das Amplitudenniveau bei Filterbank und FFT identisch und bedarf keiner Anpassung.In the implementation described above by way of example, the transient response of the warped filter bank must be taken into account. Preferably, therefore, a temporal synchronization in the combination of the two transformations is made. For example, the first 16 frames of the filterbank output are discarded, as well as the last 16 frames of the output spectrum FFT are disregarded. With a suitable design, the amplitude level of the filter bank and FFT is identical and requires no adaptation.
Gemäß einem speziellen Ausführungsbeispiel werden die Amplituden in dem Spektrum von
Zur Korrektur der fehlerhaften Amplituden kann der Effekt des Übersprechen ausgenutzt werden. Von diesem Fehler sind maximal zwei angrenzende Frequenzbänder in jeder Richtung betroffen. Gemäß einem Ausführungsbeispiel werden deshalb in dem Spektrogramm von
Dies stellt einen Kompromiss zwischen Genauigkeit und dem Auftreten von Seiteneffekten dar, die durch die Addition der direkt benachbarten Bins entstehen. Trotz der geringeren Genauigkeit der Amplitudenwerte ist dieser Kompromiss im Zusammenhang mit der Melodieextraktion akzeptabel, da die Änderung des berechneten Amplitudenwertes bei der Addition von drei oder fünf Frequenzbändern vernachlässigt werden kann. Im Gegensatz dazu fällt das Entstehen von Phantomfrequenzen viel höher ins Gewicht. Das Erzeugen von Phantomfrequenzen erhöht sich mit der Anzahl der gleichzeitig auftretenden Klänge in einem Musikstück. Bei der Suche nach der Melodielinie kann dies zu falschen Ergebnissen führen. Die Berechnung der exakten Amplituden wird vorzugsweise sowohl für die Warped Filterbank als auch für die FFT durchgeführt, damit das Musiksignal anschließend über das gesamte Frequenzspektrum hinweg durch ein Amplitudenniveau repräsentiert wird.This represents a compromise between accuracy and the occurrence of side effects caused by the addition of the directly adjacent bins. Despite the lower accuracy of the amplitude values, this trade-off is acceptable in the context of melody extraction, since the change in the calculated amplitude value can be neglected in the addition of three or five frequency bands. In contrast, the emergence of phantom frequencies is much more important. The generation of phantom frequencies increases with the number of simultaneous sounds in a piece of music. When searching for the melody line, this can lead to wrong results. The calculation of the exact amplitudes is preferably carried out both for the warped filter bank and for the FFT, so that the music signal is subsequently represented over the entire frequency spectrum by an amplitude level.
Das obige Ausführungsbeispiel für eine Signalanalyse aus einer Kombination einer Warped Filterbank und einer FFT ermöglicht eine gehörgerechte Frequenzauflösung und das Vorhandensein ausreichender Frequenzbins pro Halbton. Für nähere Details zur Implementierung wird auf die Diplomarbeit von Claas Derboven mit dem Titel "Implementierung und Untersuchung eines Verfahrens zur Erkennung von Klangobjekten aus polyphonen Audiosignalen", entstanden an der Technischen Universität Ilmenau im Jahr 2003, und die Diplomarbeit von Olaf Schleusing mit dem Titel "Untersuchung von Frequenzbereichstransformationen zur Metadatenextraktion aus Audiosignalen", entstanden an der Technischen Universität Ilmenau im Jahr 2002, verwiesen.The above embodiment for a signal analysis from a combination of a warped filter bank and an FFT enables a hearing-friendly frequency resolution and the presence of sufficient frequency bins per semitone. For more details on the implementation, refer to the thesis of Claas Derboven entitled "Implementation and investigation of a method for the detection of sound objects from polyphonic audio signals", developed at the Technical University Ilmenau in 2003, and the diploma thesis of Olaf Schleusing entitled " Investigation of frequency range transformations for metadata extraction from audio signals ", developed at the Technical University Ilmenau in 2002, referenced.
Wie im vorhergehenden erwähnt ist das Analyseergebnis der Frequenzanalyse 752 eine Matrix bzw. ein Feld aus Spektralwerten. Diese Spektralwerte stellen die Lautstärke durch die Amplitude dar. Die menschliche Lautstärkewahrnehmung besitzt jedoch eine logarithmische Einteilung. Es ist somit sinnvoll, das Amplitudenspektrum an diese Einteilung anzupassen. Dies geschieht in einer sich an den Schritt 752 anschließenden Logarithmierung 770. Bei der Logarithmierung 770 werden alle Spektralwerte auf das Niveau des Schalldruckpegels logarithmiert, was der logarithmischen Lautstärkewahrnehmung des Menschen entspricht. Genauer ausgedrückt wird bei der Logarithmierung 770 zu dem Spektralwert p in dem Spektrogramm, wie es von der Frequenzanalyse 752 erhalten wird, p auf einen Schalldruckpegelwert bzw. einen logarithmierten Spektralwert L abgebildet durch
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
In
Die Lautstärkebewertung des Menschen ist frequenzabhängig. Deshalb muss das logarithmierte Spektrum, wie es sich aus der Logarithmierung 770 ergibt, in einem nachfolgenden Schritt 772 bewertet werden, um eine Anpassung an diese frequenzabhängige Bewertung des Menschen zu erfahren. Hierzu werden die Kurven gleicher Lautstärke 774 verwendet. Die Bewertung 772 ist insbesondere deshalb notwendig, um die unterschiedliche Amplitudenbewertung der musikalischen Klänge über die Frequenzskala hinweg der menschlichen Wahrnehmung anzupassen, da gemäß der menschlichen Wahrnehmung die Amplitudenwerte tiefer Frequenzen eine geringere Bewertung als Amplituden höherer Frequenzen erfahren.The volume rating of humans is frequency dependent. Therefore, the logarithmic spectrum, as it results from the
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
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
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
Das Ergebnis dieser Vorgehensweise für den Fall des logarithmierten Spektrums von
Die vorbeschriebenen Schritte 770-774 stellen mögliche Teilschritte des Schritts 754 aus
Das Verfahren von
In Schritt 776 werden nun für alle möglichen Grundtonfrequenzen die Intensitäten im Spektrogramm des Audiosignals an dem jeweiligen Grundton sowie seinen Obertönen aufaddiert. Dabei wird jedoch eine Gewichtung der einzelnen Intensitätswerte durchgeführt, da auf Grund mehrerer gleichzeitig auftretender Klänge in einem Musikstück die Möglichkeit besteht, dass der Grundton eines Klanges von einem Oberton eines anderen Klanges mit einem tieferfrequenten Grundton verdeckt wird. Ebenfalls können auch Obertöne eines Klanges durch Obertöne eines anderen Klanges verdeckt sein.In
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
Ausgehend von der möglichen Grundfrequenz eines Klanges werden durch das harmonische Raster 778 für jedes Frequenzband bzw. Frequenzbin die dazugehörigen Obertonfrequenzen zugeordnet. Gemäß einem bevorzugten Ausführungsbeispiel wird nach Obertönen für Grundfrequenzen in lediglich einem bestimmten Frequenzbinbereich gesucht, wie z.B. von 80 Hz - 4.100 Hz, und Harmonische lediglich bis zur 15. Ordnung berücksichtigt. Dabei können die Obertöne unterschiedlicher Klänge dem Tonmodell von mehreren Grundfrequenzen zugeordnet sein. Durch diesen Effekt kann das Amplitudenverhältnis eines gesuchten Klanges erheblich verändert werden. Um diesen Effekt abzuschwächen, werden die Amplituden der Partialtöne mit einem halbierten Gaussfilter bewertet. Der Grundton erhält dabei die höchste Wertigkeit. Alle folgenden Partialtöne erhalten entsprechend ihrer Ordnung eine geringere Gewichtung, wobei die Gewichtung beispielsweise mit steigender Ordnung Gauss-förmig abfällt. Somit besitzt eine Obertonamplitude eines anderen Klanges, die den eigentlichen Oberton verdeckt, keine besondere Auswirkung auf das Gesamtergebnis einer gesuchten Stimme. Da die Frequenzauflösung des Spektrums für höhere Frequenzen geringer wird, existiert nicht für jeden Oberton höherer Ordnung ein Bin mit der entsprechenden Frequenz. Auf Grund des Übersprechens auf die angrenzenden Bins der Frequenzumgebung des gesuchten Obertons kann mittels eines Gaussfilters über die nächstliegenden Frequenzbänder die Amplitude des gesuchten Obertons relativ gut nachgebildet werden. Obertonfrequenzen bzw. die Intensitäten an denselben müssen deshalb nicht in Einheiten von Frequenzbins bestimmt werden, sondern es kann auch eine Interpolation verwendet werden, um den Intensitätswert an der Obertonfrequenz genau zu ermitteln.Starting from the possible fundamental frequency of a sound,
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
Als nächstes erfolgt in einem Schritt 780 eine vorläufige Ermittlung einer potentiellen Melodielinie. Die Melodielinie entspricht einer Funktion über die Zeit, nämlich einer Funktion, die jedem Frame eindeutig genau ein Frequenzband bzw. ein Frequenzbin zuordnet. Anders ausgedrückt definiert die in Schritt 780 ermittelte Melodielinie eine Spur entlang des Definitionsbereiches des Klang-Spektrogramms bzw. der Matrix aus Schritt 776, wobei die Spur entlang der Frequenzachse nie überlappt bzw. doppeldeutig ist.Next, in a
Die Ermittlung wird in Schritt 780 derart durchgeführt, dass für jedes Frame über den gesamten Frequenzbereich des Klang-Spektrogramms die Maximal-Amplitude ermittelt wird, d.h. der größte Summationswert. Das Ergebnis, d.h. die Melodielinie, entspricht weitestgehend dem grundsätzlichen Verlauf der Melodie des dem Audiosignal 302 zu Grunde liegenden Musiktitels.The determination is made in
Die Bewertung des Spektrogramms mit den Kurven gleicher Lautstärke in Schritt 772 und die Suche nach dem Schallergebnis mit der maximalen Intensität in Schritt 780 tragen der musikwissenschaftlichen Aussage Rechnung, dass die Hauptmelodie derjenige Anteil eines Musiktitels ist, den der Mensch am lautesten und prägnantesten wahrnimmt.The evaluation of the spectralogram with the equal volume curves in
Die vorbeschriebenen Schritte 776-780 stellen mögliche Teilschritte des Schritts 758 aus
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
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
An der Melodielinie von
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
Der Schritt 786 ist nun dazu vorgesehen, kleinere Ausreißer bzw. Artefakte in der Melodielinie zu entfernen.
In Schritt 786 wird deshalb aus dem Pixel-Array von
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
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
Das Ergebnis der Multiplikation für den Ausschnitt aus
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
Zur Veranschaulichung von Schritt 796 ist in
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
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
Die Melodielinie, wie sie sich aus Schritt 804 ergeben hat, ist in
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
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
Der in
Die auf diese Weise gefundenen Segmente werden durchnumeriert, so dass sich eine Folge von Segmenten ergibt.The segments found in this way are numbered consecutively, resulting in a sequence of segments.
Das Ergebnis der allgemeinen Segmentierung 782 ist folglich eine Folge von Melodiesegmenten, wobei jedes Melodiesegment eine Folge von unmittelbar benachbarten Frames abdeckt. Innerhalb jedes Segments springt die Melodielinie von Frame zu Frame um höchstens eine vorbestimmte Anzahl von Frequenzbins, im vorhergehenden Ausführungsbeispiel um höchstens ein Frequenzbin.The result of the
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
Da die Lückenschließung 816 auf den Halbtonvektor zurückgreift, wird im folgenden zunächst Bezug nehmend auf
Auf dieser Einteilung der Frequenzachse f in Halbtonbereiche basiert die Lückenschließung, die im folgenden Bezug nehmend auf
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
Für diesen Fall der positiven Überprüfung in Schritt 836 fährt die Verarbeitung im Rahmen der Lückenschließung bei Schritt 840 fort, wo überprüft wird, welcher Amplitudenunterschied in dem wahrnehmungsbezogenen Spektrum aus Schritt 772 an den Positionen des Endes des Bezugssegments 812a und des Beginns des Nachfolgersegments 812b herrscht. Anders ausgedrückt schlägt die Einrichtung 304 in Schritt 840 in dem wahrnehmungsbezogenen Spektrum aus Schritt 772 die jeweiligen wahrnehmungsbezogenen Spektralwerte an den Positionen des Endes des Segments 812a und des Anfangs des Segments 812b nach und ermittelt den Absolutwert der Differenz der beiden Spektralwerte. Ferner stellt die Einrichtung 304 in Schritt 840 fest, ob der Unterschied größer als ein vorbestimmter Schwellenwert r ist, wobei derselbe vorzugsweise 20-40% und vorzugsweise 30% des wahrnehmungsbezogenen Spektralwertes an dem Ende des Bezugssegmentes 812a beträgt.For this positive check case, in
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
Entlang dieser Verbindungslinie ermittelt dann die Einrichtung 304 die entsprechenden wahrnehmungsbezogenen Spektralwerte aus dem wahrnehmungsbezogenen Spektrum aus Schritt 772, indem dieselbe an den entsprechenden Tupeln aus Frequenzbin und Frame der Lückenschließungslinie 844 in dem wahrnehmungsbezogenen Spektrum nachschlägt. Über diese wahrnehmungsbezogenen Spektralwerte entlang der Lückenschließungslinie ermittelt die Einrichtung 304 den Mittelwert und vergleicht denselben im Rahmen des Schrittes 842 mit den entsprechenden Mittelwerten der wahrnehmungsbezogenen Spektralwerte entlang des Bezugssegmentes 812a und des Nachfolgersegmentes 812b. Ergeben beide Vergleiche, dass der Mittelwert für die Lückenschließungslinie größer oder gleich dem Mittelwert des Bezugs- bzw. Nachfolgersegments 812a bzw. b ist, so wird die Lücke 832 in einem Schritt 846 geschlossen, und zwar indem in der Melodiematrix die Lückenschließungslinie 844 eingetragen wird bzw. die entsprechenden Matrixelemente derselben auf 1 gesetzt werden. Gleichzeitig wird in Schritt 846 die Liste von Segmenten verändert, um die Segmente 812a und 812b zu einem gemeinsamen Segment zu vereinigen, woraufhin die Lückenschließung für das Bezugssegment und das Nachfolgersegment beendet ist.Along this line of connection, then, means 304 determines the corresponding perceptual spectral values from the perceptual spectrum from
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
Führt einer der Schritte 834, 836, 840 oder 842 zu einem negativen Überprüfungsergebnis, so endet die Lückenschließung für das Bezugssegment 812a und wird für das Nachfolgersegment 812b erneut durchgeführt.If any of the
Das Ergebnis der Lückenschließung 816 ist also eine möglicherweise verkürzte Liste von Segmenten bzw. eine Melodielinie, die in der Melodiematrix an manchen Stellen gegebenenfalls Lückenschließungslinien aufweist. Wie sich aus der vorhergehenden Erörterung ergab, wird bei einer Lücke kleiner 4 Frames eine Verbindung zwischen benachbarten Segmenten im gleichen oder angrenzenden Halbtonbereich immer hergestellt.The result of the
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
Wie bereits erwähnt wird das Harmoniemapping 850 segmentweise durchgeführt.
Das sich zwischen den Segmenten 852a und 852c befindliche Segment 852b scheint aus dem Melodielinienverlauf, wie er sich durch die Segmente 852a und 852c ergeben würde, herausgeschnitten zu sein. Insbesondere schließt sich in dem vorliegenden Fall exemplarisch das Segment 852b ohne Frame-Lücke an das Bezugssegment 852a an, wie es durch eine gestrichelte Linie 854 angedeutet ist. Ebenso soll exemplarisch der durch das Segment 852b abgedeckte Zeitbereich unmittelbar an den durch das Segment 852c abgedeckten Zeitbereich angrenzen, wie es durch eine gestrichelte Linie 856 angedeutet ist.The
In
Wie es
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
In einem darauffolgenden Schritt 864 überprüft die Einrichtung 304, ob das Bezugssegment 852a entlang der Zeitachse t direkt an das Nachfolgesegment 852b angrenzt. Ist dies nicht der Fall, wird die Verarbeitung mit dem nachfolgenden Segment als Bezugssegment erneut durchgeführt (866).In a
In dem vorliegenden Fall von
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
Diese Minimalwerte werden bei dem nachfolgenden Schritt 872 dazu verwendet, um unter den Oktav-, Quint- und/oder Terz-Verschiebungslinien 858a-d eine oder keine auszuwählen, und zwar abhängig davon, ob der für die jeweilige Oktav-, Quint- und/oder Terz-Linie ermittelte Minimalwert einen vorbestimmten Bezug zum Minimalwert des Bezugssegmentes aufweist. Insbesondere wird eine Oktavlinie 858b unter den Linien 858a - 858d ausgewählt, falls der Minimalwert um höchstens 30% kleiner als der Minimalwert für das Bezugssegment 852a ist. Eine Quintlinie 858d wird ausgewählt, falls der für sie ermittelte Minimalwert um höchstens 2,5% kleiner als der Minimalwert des Bezugssegmentes 852a ist. Eine der Terzlinien 858c wird verwendet, falls der entsprechende Minimalwert für diese Linie um mindestens 10% größer als der Minimalwert für das Bezugssegment 852a ist.These minimum values are used in
Die oben erwähnten Werte, die als Kriterien zur Auswahl aus den Linien 858a - 858b herangezogen wurden, können natürlich variiert werden, wiewohl dieselben für Pop-Musik-Stücke sehr gute Ergebnisse lieferten. Ebenfalls ist es nicht unbedingt notwendig, die Minimalwerte für das Bezugssegment bzw. die einzelnen Linien 858a-d zu ermitteln, sondern es könnten beispielsweise auch die einzelnen Mittelwerte herangezogen werden. Der Vorteil an der Unterschiedlichkeit der Kriterien für die einzelnen Linien besteht darin, dass hierdurch einer Wahrscheinlichkeit Rechnung getragen werden kann, dass bei der Melodielinienermittlung 780 fälschlicherweise ein Oktav-, Quint- bzw. Terz-Sprung aufgetreten ist, bzw. dass ein solcher Sprung in der Melodie tatsächlich gewünscht war.Of course, the above-mentioned values used as criteria for selection from
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
Nach dem Harmoniemapping 850 erfolgt in einem Schritt 876 eine Vibratoerkennung und ein Vibratoausgleich, dessen Funktionsweise Bezug nehmend auf die
Der Schritt 876 wird segmentweise für jedes Segment 878 in der Melodielinie durchgeführt, wie sie sich nach dem Harmoniemapping 850 ergibt. In
In einem nachfolgenden Schritt 884 wird überprüft, ob die Extremastellen 882 derart angeordnet sind, dass in Zeitrichtung benachbarte lokale Extremalstellen 882 an Frequenzbins angeordnet sind, die einen Frequenzabstand aufweisen, der größer oder kleiner gleich einer vorbestimmten Anzahl von Bins, nämlich beispielsweise 15 bis 25 vorzugsweise aber 22 Bins bei bezugnehmend auf
In einem darauffolgenden Schritt 888 überprüft die Einrichtung 304, ob zwischen den benachbarten Extremalstellen 882 der zeitliche Abstand immer kleiner gleich einer vorbestimmten Anzahl von Zeitframes ist, wobei die vorbestimmte Anzahl beispielsweise 21 beträgt.In a
Fällt die Überprüfung in Schritt 888 positiv aus, wie es in dem Beispiel von
Anders ausgedrückt, führt die Vibratoerkennung und der Vibratoausgleich gemäß
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
Daraufhin wird ein zweites Fenster, das in
Auf den Schritt 898 folgt ein Halbtonmapping 912. Das Halbtonmapping wird frameweise durchgeführt, wobei hierzu auf den Halbtonvektor auf Schritt 818 zurückgegriffen wird, der die Halbtonfrequenzen definiert. Das Halbtonmapping 912 funktioniert derart, dass für jedes Frame, an welchem die Melodielinie, die sich aus Schritt 898 ergeben hat, vorhanden ist, überprüft wird, in welchem der Halbtonbereiche das Frequenzbin liegt, in welchem die Melodielinie das jeweilige Frame durchläuft bzw. auf welches Frequenzbin die Melodielinienfunktion das jeweilige Frame abbildet. Die Melodielinie wird dann derart geändert, dass in dem jeweiligen Frame die Melodielinie auf denjenigen Frequenzwert geändert wird, der der Halbtonfrequenz des Halbtonbereiches entspricht, in welchem das Frequenzbin lag, durch das die Melodielinie verlief.The
Anstatt der frameweisen Halbtonabbildung bzw. Quantisierung kann auch eine segmentweise Halbtonquantisierung durchgeführt werden, beispielsweise indem auf die vorhergehende beschriebene Weise lediglich der Frequenzmittelwert pro Segment einem der Halbtonbereiche und damit der entsprechenden Halbtonbereichsfrequenz zugeordnet wird, die dann über die gesamte zeitliche Länge des entsprechenden Segmentes hinweg als die Frequenz verwendet wird.Instead of the frame-wise halftone mapping or quantization, segment-wise semitone quantization can also be carried out, for example by assigning only the frequency mean value per segment to one of the halftone areas and thus to the corresponding halftone area frequency in the previously described manner, which then over the entire time length of the corresponding segment the frequency is used.
Die Schritte 782, 816, 818, 850, 876, 898 und 912 stellen entsprechen folglich dem Schritt 760 in
Auf das Halbtonmapping 912 hin wird eine pro Segment stattfindende Onseterkennung und -korrektur in Schritt 914 durchgeführt. Diese wird Bezug nehmend auf die
Ziel der Onseterkennung und -korrektur 914 ist es, die einzelnen Segmente der sich durch das Halbtonmapping 912 ergebenen Melodielinie, die mehr und mehr den einzelnen Noten der gesuchten Melodie entsprechen, hinsichtlich ihrer Anfangszeitpunkte zu korrigieren bzw. zu präzisieren. Hierzu wird wieder auf das eingehende bzw. in Schritt 750 bereitgestellte Audiosignal 302 zurückgegriffen, wie es im folgenden näher beschrieben werden wird.The goal of the onset detection and
In einem Schritt 916 wird zunächst das Audiosignal 302 mit einem Bandpassfilter gefiltert, der der Halbtonfrequenz, auf die das jeweilige Bezugssegment in Schritt 912 quantisiert worden ist, entspricht bzw. mit einem Bandpassfilter, das Grenzfrequenzen aufweist, zwischen denen die quantisierte Halbtonfrequenz des jeweiligen Segmentes liegt. Vorzugsweise wird das Bandpassfilter als ein solches verwendet, das Grenzfrequenzen aufweist, die den Halbtongrenzfrequenzen fu und fo des Halbtonbereiches entsprechen, in welchem sich das betrachtete Segment befindet. Noch weiter vorzugsweise wird als das Bandpassfilter ein IIR-Bandpassfilter mit dem zu dem jeweiligen Halbtonbereich zugehörigen Grenzfrequenzen fu und fo als Filtergrenzfrequenzen gefiltert oder mit einem Butterworth-Bandpass-Filter, dessen Übertragungsfunktion in
Anschließend erfolgt in einem Schritt 918 eine Zweiwegegleichrichtung des in Schritt 916 gefilterten Audiosignals, woraufhin in einem Schritt 920 das in Schritt 918 erhaltene Zeitsignal interpoliert und das interpolierte Zeitsignal mit einem Hammingfenster gefaltet wird, wodurch eine Hüllkurve des zweiwegegleichgerichteten bzw. des gefilterten Audiosignals ermittelt wird.Subsequently, in a
Die Schritt 916 - 920 werden Bezug nehmend auf
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
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
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
In einem Schritt 928 wird nun überprüft, ob für einen potentiellen Anfangszeitpunkt gilt, dass derselbe vor dem Segmentanfang des demselben entsprechenden Segmentes liegt. Ist dies der Fall, fährt die Verarbeitung bei Schritt 930 fort. Andernfalls jedoch, d.h. wenn der potentielle Anfangszeitpunkt hinter dem existierenden Segmentanfang ist, wird Schritt 928 für einen nächsten potentiellen Anfangszeitpunkt wiederholt oder Schritt 926 für eine nächste Hüllkurve, die für einen anderen Halbtonbereich ermittelt worden ist, oder die segmentweise durchgeführte Onseterkennung und -korrektur wird für ein nächstes Segment durchgeführt.In a
In Schritt 930 wird überprüft, ob der potentielle Anfangszeitpunkt mehr als x Frames vor dem Anfang des entsprechenden Segmentes liegt, wobei x beispielsweise zwischen 8 und 12 einschließlich ist und vorzugsweise 10 beträgt bei einer Framelänge von 8ms, wobei die Werte für andere Framelängen entsprechend zu ändern wären. Ist dies nicht der Fall, d.h. liegt der potentielle Anfangszeitpunkt bzw. der ermittelte Anfangszeitpunkt bis 10 Frames vor dem interessierenden Segment, wird in einem Schritt 932 die Lücke zwischen dem potentiellen Anfangszeitpunkt und dem bisherigen Segmentanfang geschlossen bzw. der bisherige Segmentanfang auf den potentiellen Anfangszeitpunkt korrigiert. Dabei wird ggf. das Vorgängersegment entsprechend verkürzt bzw. dessen Segmentende auf das Frame vor dem potentiellen Anfangszeitpunkt geändert. Anders ausgedrückt umfasst der Schritt 932 eine Verlängerung des Bezugssegmentes nach vorne bis zu dem potentiellen Anfangszeitpunkt und eine eventuelle Verkürzung der Länge des Vorgängersegmentes am Ende desselben, um eine Überlappung der beiden Segmente zu vermeiden.In
Ergibt jedoch die Überprüfung in Schritt 930, dass der potentielle Anfangszeitpunkt näher als x Frames vor dem Anfang des entsprechenden Segmentes liegt, wird in einem Schritt 934 überprüft, ob der Schritt 934 für diesen potentiellen Anfangszeitpunkt das erste Mal durchlaufen wird. Ist dies nicht der Fall, so endet hier die Verarbeitung für diesen potentiellen Anfangszeitpunkt und das betreffende Segment und die Verarbeitung der Onseterkennung führt in Schritt 928 für einen weiteren potentiellen Anfangszeitpunkt oder in Schritt 926 für eine weitere Hüllkurve fort.However, if the check at
Anderenfalls jedoch wird in einem Schritt 936 der bisherige Segmentanfang des interessierenden Segmentes virtuell nach vorne verschoben. Dabei werden die wahrnehmungsbezogenen Spektralwerte im wahrnehmungsbezogenen Spektrum nachgeschlagen, die sich an dem virtuell verschobenen Segmentanfangszeitpunkten befinden. Überschreitet der Abfall dieser wahrnehmungsbezogenen Spektralwerte im wahrnehmungsbezogenen Spektrum einen gewissen Wert, so wird das Frame, an dem diese Überschreitung stattgefunden hat, vorläufig als Segmentanfang des Bezugssegmentes verwendet und der Schritt 930 noch einmal wiederholt. Liegt dann der potentielle Anfangszeitpunkt nicht mehr mehr als x Frames vor dem in Schritt 936 ermittelten Anfang des entsprechenden Segmentes, wird die Lücke in Schritt 932 ebenfalls geschlossen, wie es im vorhergehenden beschrieben worden ist.Otherwise, however, in a
Der Effekt der Onseterkennung und -korrektur 914 besteht folglich darin, dass einzelne Segmente in der aktuellen Melodielinie in ihrer zeitlichen Ausdehnung verändert werden, nämlich nach vorne verlängert bzw. hinten verkürzt werden.The effect of the onset detection and
An den Schritt 914 schließt sich dann eine Längensegmentierung 938 an. Bei der Längensegmentierung 938 werden alle Segmente der Melodielinie, die ja jetzt aufgrund des Halbtonmappings 912 in der Melodiematrix als waagrechte Linien erscheinen, die auf Halbtonfrequenzen liegen, durchgescannt, und diejenigen Segmente aus der Melodielinie entfernt, die kleiner als eine vorbestimmte Länge sind. Beispielsweise werden Segmente entfernt, die weniger als 10 - 14 Frames lang und vorzugsweise 12 Frames und weniger lang sind - wiederum bei obiger Annahme einer Framelänge von 8ms oder entsprechender Anpassung der Anzahlen an Frames. 12 Frames entsprechen bei 8 Millisekunden Zeitauflösung bzw. Framelänge 96 Millisekunden, was weniger als etwa 1/64 Note ist.The
Die Schritte 914 und 938 entsprechen folglich dem Schritt 762 aus
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
Die MIDI-Ausgabe 914 durch die Einrichtung 304 ergibt dann die Notenfolge, basierend auf welcher die Rhythmuseinrichtung 306 die im vorhergehenden beschriebenen Operationen durchführt.The
Die vorhergehende Beschreibung Bezug nehmend auf die
Bis zu dem Schritt 782 stimmt die Vorgehensweise nach
Anders als bei der Vorgehensweise nach
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
Im folgenden wird nun die Tontrennung 950 Bezug nehmend auf
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
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
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
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
Der Sinn der Tonglättung besteht nun darin, unter den Frequenzbins, zwischen denen das Segment 994 hin und her schwankt, dasjenige auszuwählen, das dem Segment 994 konstant für alle Frames zugeordnet werden soll.The purpose of tone smoothing is now to select, among the frequency bins between which
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
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
In einem Schritt 1002 wird überprüft, ob das i-te Frame das letzte Frame des Segmentes 994 ist. Ist dies nicht der Fall, wird in einem Schritt 1004 die Zählervariable i inkrementiert, d.h. es wird zum nächsten Frame übergegangen. In einem darauffolgenden Schritt 1006 wird überprüft, ob sich das Segment 994 in dem aktuellen Frame, d.h. dem i-ten Frame in dem gleichen Frequenzbin befindet, wie es sich in dem (i-1)-ten Frame befand. Ist dies der Fall, wird in einem Schritt 1008 die Zählervariable z inkrementiert, woraufhin die Verarbeitung wieder bei Schritt 1000 fortfährt. Befindet sich das Segment 994 jedoch in dem i-ten Frame und dem (i-1)-ten Frame nicht in dem gleichen Frequenzbin, so fährt die Verarbeitung mit der Initialisierung der Zählervariablen z auf 1 in Schritt 998 fort.In a
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
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
Die Tonglättung dient folglich anders ausgedrückt dazu, das Einsingen und Ansingen von Tönen ausgehend von tieferen oder höheren Frequenzen auszugleichen, und bewerkstelligt dies durch Ermittlung eines Wertes über den zeitlichen Verlauf eines Tones, welcher der Frequenz des eingeschwungenen Tones entspricht. Für die Ermittlung des Frequenzwertes werden vom schwingenden Signal alle Elemente eines Frequenzbandes hochgezählt, wonach alle hochgezählten Elemente eines Frequenzbandes, die sich an dem Notensegment befinden, aufaddiert werden. Dann wird der Ton über die Zeit des Notensegmentes im Frequenzband mit der größten Summe eingetragen.In other words, tone smoothing, in other words, serves to equalize the singing and singing of tones from lower or higher frequencies, and accomplishes this by finding a value over the time course of a tone corresponding to the frequency of the settled tone. To determine the frequency value of the oscillating signal, all elements of a frequency band are counted up, after which all the incremented elements of a frequency band, which are located on the note segment, are added up. Then the tone is entered over the time of the note segment in the frequency band with the largest sum.
Nach der Tonglättung 992 wird daraufhin eine statistische Korrektur 916 durchgeführt, wobei die Durchführung der statistischen Korrektur derjenigen aus
Die Schritte 950, 992, 1016, 1018 und 1020 entsprechen folglich dem Schritt 760 aus
An das Halbtonmapping 1018 schließt sich eine Onseterkennung 1022 an, die im wesentlichen derjenigen von
An die Onseterkennung 1022 schließt sich eine Offseterkennung und -korrektur 1024 an, die im folgenden Bezug nehmend auf
In einem dem Schritt 916 ähnelnden Schritt 1026 wird zunächst das Audiosignal mit einem der Halbtonfrequenz des Bezugssegments entsprechenden Bandpassfilter gefiltert, worauf in einem dem Schritt 918 entsprechenden Schritt 1028 das gefilterte Audiosignal zweiwegegleichgerichtet wird. Ferner wird in Schritt 1028 noch eine Interpretation des gleichgerichteten Zeitsignals durchgeführt. Diese Vorgehensweise ist für den Fall der Offseterkennung und - korrektur ausreichend, um annähernd eine Hüllkurve zu bestimmen, wodurch der kompliziertere Schritt 920 der Onseterkennung wegfallen kann.In a
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
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
Fällt die Überprüfung in Schritt 1050 jedoch negativ aus, erfolgt keine Offsetkorrektur und der Schritt 1034 und die folgenden Schritte werden für ein anderes Bezugssegment gleicher Halbtonfrequenz wiederholt, oder es wird mit dem Schritt 1026 für andere Halbtonfrequenzen fortgefahren.However, if the check in
Nach der Offseterkennung 1024 wird in Schritt 1052 eine dem Schritt 938 aus
Bezug nehmend auf die vorhergehende Beschreibung der
Grundsätzlich wäre es natürlich auch möglich, die Schritte 770-774 oder lediglich die Schritte 772 und 774 wegzulassen, was jedoch zu einer Verschlechterung der Melodielinienermittlung in Schritt 780 und damit zu einer Verschlechterung des Gesamtergebnisses des Melodieextraktionsverfahrens im gesamten führen dürfte.In principle, of course, it would also be possible to omit steps 770-774 or just steps 772 and 774, but this should lead to a deterioration of the melody line determination in
Bei der Grundfrequenzbestimmung 776 wurde ein Tonmodell von Goto verwendet. Andere Tonmodelle bzw. andere Gewichtungen der Obertonanteile wären jedoch ebenfalls möglich und könnten beispielsweise an den Ursprung bzw. die Herkunft des Audiosignals angepasst werden, soweit dieser bzw. diese bekannt ist, wie z.B. wenn bei dem Ausführungsbeispiel der Klingeltongenerierung der Benutzer auf ein Vorsummen festgelegt wird.In
Im Hinblick auf die Ermittlung der potentiellen Melodielinie in Schritt 780 wird darauf hingewiesen, dass dort zwar der oben genannten musikwissenschaftlichen Aussage gemäß für jedes Frame nur die Grundfrequenz des lautesten Klanganteils ausgewählt worden war, dass es aber ferner möglich ist, die Auswahl nicht nur auf eine eindeutige Auswahl des größten Anteils für jedes Frame einzuschränken. Ebenso wie es beispielsweise bei Paiva der Fall ist, könnte die Ermittlung der potentiellen Melodielinie 780 das zuordnen mehrerer Frequenzbins zu ein und demselben Frame aufweise. Anschließend könnte ein Auffinden mehrerer Trajektorien durchgeführt werden. Das bedeutet das zulassen einer Auswahl mehrerer Grundfrequenzen bzw. mehrerer Klänge für jedes Frame. Die anschließende Segmentierung müsste dann natürlich allerdings zum Teil anders durchgeführt werden und insbesondere wäre die anschließende Segmentierung etwas aufwendiger, da mehrere Trajektorien bzw. Segmente zu berücksichtigen und aufzufinden wären. Umgekehrt könnten in diesem Fall einige der oben erwähnten Schritte oder Teilschritte bei der Segmentierung auch für diesen Fall der Ermittlung von Trajektorien, die sich zeitlich überlappen können, übernommen werden. Insbesondere die Schritte 786, 796 und 804 aus der allgemeinen Segmentierung könnten ohne weiteres auch auf diesen Fall übertragen werden. Der Schritt 806 könnte auf den Fall, dass die Melodielinie aus sich zeitlich überlappenden Trajektorien besteht, übertragen werden, wenn dieser Schritt nach der Identifizierung der Trajektorien stattfände. Die Identifizierung von Trajektorien könnte ähnlich dem Schritt 810 stattfinden, wobei jedoch Modifikationen dahingehend vorgenommen werden müssten, dass auch mehrere Trajektorien, die sich zeitlich überlappen, verfolgt werden können. Auch die Lückenschließung könnte auf ähnliche Weise für solche Trajektorien durchgeführt werden, zwischen denen zeitlich keine Lücke besteht. Auch das Harmoniemapping könnte zwischen zwei zeitlich direkt aufeinanderfolgenden Trajektorien durchgeführt werden. Die Vibratoerkennung bzw. der Vibratoausgleich könnte ohne weiteres auf eine einzelne Trajektorie ebenso angewendet werden wie auf die vorhergehenden erwähnten sich nicht überlappenden Melodieliniensegmente. Auch die Onseterkennung und -korrektur könnte ebenfalls bei Trajektorien angewendet werden. Selbiges gilt für die Tontrennung und die Tonglättung sowie die Offseterkennung und -korrektur sowie für die statistische Korrektur und die Längensegmentierung. Das Zulassen der zeitlichen Überlappung von Trajektorien der Melodielinie bei der Ermittlung in Schritt 780 machte es jedoch zumindest erforderlich, dass vor der eigentlichen Notenfolgenausgabe die zeitliche Überlappung von Trajektorien irgendwann einmal beseitigt werden muss. Der Vorteil der Ermittlung der potentiellen Melodielinie auf die im vorhergehende beschriebene Art und Weise Bezug nehmend auf
Die im vorhergehenden beschriebene Implementierung der allgemeinen Segmentierung muss nicht alle Teilschritte 786, 796, 804 und 806 aufweisen, sondern kann auch eine Auswahl aus denselben umfassen.The general segmentation implementation described above does not have to have all
Bei der Lückenschließung wurde in den Schritten 840 und 842 das wahrnehmungsbezogene Spektrum verwendet. Grundsätzlich ist es jedoch möglich, in diesen Schritten auch das logarithmierte Spektrum oder das unmittelbar aus der Frequenzanalyse erhaltene Spektrogramm zu verwenden, wobei jedoch die Verwendung des wahrnehmungsbezogenen Spektrums in diesen Schritten das beste Ergebnis im Hinblick auf die Melodieextraktion ergeben hat. Ähnliches gilt für den Schritt 870 aus dem Harmoniemapping.In gap closure, the perceptual spectrum was used in
Hinsichtlich des Harmoniemappings wird darauf hingewiesen, dass es dort vorgesehen sein könnte, bei der Verschiebung 868 des Nachfolgesegmentes die Verschiebung gleich nur in Richtung der Melodieschwerpunktslinie vorzunehmen, so dass die zweite Bedingung in Schritt 874 weggelassen werden könnte. Bezug nehmend auf den Schritt 872 wird darauf hingewiesen, dass eine Eindeutigkeit unter der Auswahl der verschiedenen Oktav-, Quint- und/oder Terz-Linien dadurch erzielt werden könnte, dass unter denselben eine Prioritätsrangliste erzeugt wird, wie z.B. Oktavlinie vor Quintlinie vor Terzlinie und unter Linien gleicher Linienart (Oktav-, Quint- oder Terzlinie) die, die näher an der ursprünglichen Position des Nachfolgersegmentes liegt.With regard to harmoniemapping, it is pointed out that it could be provided there, during the
Hinsichtlich der Onseterkennung und der Offseterkennung wird darauf hingewiesen, dass die Ermittlung der Hüllkurve bzw. des bei der Offseterkennung stattdessen verwendeten interpolierten Zeitsignals auch anders durchgeführt werden könnte. Wesentlich ist lediglich, dass bei der Onset- und Offseterkennung zurück auf das Audiosignal zurückgegriffen wird, das mit einem Bandpassfilter mit einer Durchlasscharakteristik um die jeweilige Halbtonfrequenz herum gefiltert wird, um an dem Anstieg der Hüllkurve des so entstehenden gefilterten Signals den Notenanfangszeitpunkt bzw. anhand dem Abfall der Hüllkurve den Notenendzeitpunkt zu erkennen.With regard to the onset detection and the offset detection, it is pointed out that the determination of the envelope or of the interpolated time signal used instead in the case of offset detection could also be carried out differently. It is only essential that in the onset and offset detection the audio signal is used back, which is filtered by a bandpass filter with a transmission characteristic around the respective semitone frequency, to the rise of the envelope of the resulting filtered signal the note start time or on the basis of Drop of the envelope to recognize the end of the note.
Hinsichtlich der Flussdiagramme unter den
Insbesondere wird darauf hingewiesen, dass abhängig von den Gegebenheiten das erfindungsgemäße Schema auch in Software implementiert sein kann. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder einer CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.In particular, it should be noted that, depending on the circumstances, the inventive scheme can also be implemented in software. The implementation may be on a digital storage medium, in particular a floppy disk or a CD with electronically readable control signals, which may cooperate with a programmable computer system such that the corresponding method is executed. In general, the invention thus also consists in a computer program product with program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer. In other words, the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.
Claims (34)
- A device for the extraction of a melody underlying an audio signal (302), represented by a note sequence, comprising:means (750) for providing a time-over-spectral representation of the audio signal (302);means (354; 770, 772, 774) for a frequency-dependent scaling of amplitudes of the time-over-spectral representation using curves of equal volume reflecting the human frequency-dependent volume perception in order to obtain a perception-related time-over-spectral representation; andmeans (756) for determining a melody of the audio signal on the basis of the perception-related time-over-spectral representation.
- The device according to claim 1, wherein means (750) for providing is implemented such that it provides a time-over-spectral representation comprising for each of a plurality of spectral components a spectral band with a sequence of spectral values.
- The device according to claim 2, wherein means for frequency-dependent scaling comprises:means (770) for logarithmizing the spectral values of the time-over-spectral representation in order to indicate the sonic pressure level, whereby a logarithmized time-over-spectral representation is obtained; andmeans (772) for mapping the logarithmized spectral values of the logarithmized time-over-spectral representation, depending on their respective value and the spectral component to which they belong, to perception-related spectral values in order to obtain the perception-related time-over-spectral representation.
- The device according to claim 3, wherein means (772) for mapping is implemented in order to perform the mapping based on functions (774) representing the curves of equal volume, associating a logarithmic spectral value to each spectral component indicating a sonic pressure level, and are associated with different volumes.
- The device according to claim 3 or 4, wherein means (750) for providing is implemented such that the time-over-spectral representation in every spectral band comprises a spectral value for every time section of a sequence of time sections of the audio signal.
- The device according to claim 5, wherein means (756) for determining is implemented to
delogarithmize (776) the spectral values of the perception-related spectrum, in order to obtain a delogarithmized perception-related spectrum with delogarithmized perception-related spectral values,
sum up (776), for each time section and for each spectral component, the delogarithmized perception-related spectral value of the respective spectral component and the delogarithmized perception-related spectral value of those spectral components representing a partial tone to the respective spectral component, in order to obtain a spectral sound value, whereby a time-over-sound illustration is obtained, and
generate (780) a melody line by uniquely allocating the spectral component to each time section for which the summing-up for the corresponding time section results in the greatest spectral sound value. - The device according to claim 6, wherein means for determining is implemented to differently weight the delogarithmized perception-related spectral values of the respective spectral components and that of those spectral components illustrating a partial tone to the respective spectral component in the summing-ups (780), so that the delogarithmized perception-related spectral values of partial tones of higher order are weighted less.
- The device according to claim 6 or 7, wherein means for determining comprises:means (782, 816, 818, 850, 876, 898, 912, 914, 938; 782, 950, 992, 1016, 1018, 1020, 1022, 1024. 1052) for segmenting the melody line (784) in order to obtain segments.
- The device according to claim 8, wherein means for segmenting is implemented in order to prefilter (786) the melody line in a state, as which the melody line is indicated in binary form in a melody matrix of matrix position which is spanned by the spectral components on the one side and the time sections on the other side.
- The device according to claim 9, wherein means for segmenting is implemented in order to sum up the entry into this and neighboring matrix positions for each matrix position (792) when prefiltering (786), compare the resulting information value to a threshold value and enter the comparative result at a corresponding matrix position in an intermediate matrix and subsequently multiply the melody matrix and the intermediate matrix in order to obtain the melody line in a prefiltered form.
- The device according to one of claims 7 to 10, wherein means for segmenting is implemented to leave a part of the melody line unconsidered (796), which is outside a predetermined spectral value (798, 800), during a subsequent part of the segmentation.
- The device according to claim 11, wherein means for segmenting is implemented such that the predetermined spectral range reaches from 50 - 200 Hz to 1000 - 1200 Hz.
- The device according to one of claims 8 to 12, wherein means for segmenting is implemented to leave a part of a melody line unconsidered (804) in a subsequent part of the segmentation at which the logarithmized time-over-spectral representation comprises logarithmized spectral values which are less than a predetermined percentage of the maximum logarithmized spectral value of the logarithmized time-over-spectral representation.
- The device according to one of claims 8 to 13, wherein means for segmenting is implemented in order to leave parts of the melody line unconsidered (806) in a subsequent part of the segmentation at which, according to the melody line, less than a predetermined number of spectral components associated with neighboring time sections have a distance to each other which is smaller than a semitone distance.
- The device according to one of claims 11 to 14, wherein means for segmenting is implemented in order to division the melody line (812) reduced by the unconsidered parts into segments (812a, 812b) such that the number of the segments is as small as possible and neighboring time sections of a segment are associated with spectral components according to the melody line whose distance is smaller than a predetermined measure.
- The device according to claim 15, wherein means for segmenting is implemented to
close (816) a gap (832) between neighboring segments (12a, 812b), in order to obtain a segment from the neighboring segments when the gap is smaller than a first number of time sections (830), and when with the time sections of the neighboring segments (12a, 812b) which are closest to the respective other one of the neighboring segments spectral components are associated by the melody line, which are in a same semitone area (838) or in adjacent semitone areas (836),
to only close the gap (836) in the case that the same is greater than or equal to the first number of time sections but smaller than a second number of time sections which is larger than the first number (834), when
spectral components are associated with the time sections of the neighboring segments (812a, 812b), which are closest to the respective other one of the neighboring segments, by the melody line, which lie in the same semitone area (838) or in adjacent semitone areas (836),
the perception-related spectral values at those time sections are different (840) by less than a predetermined threshold value; and
an average value of all perception-related spectral values along a connecting line (844) between the neighboring segments (812a, 812b) is greater than or equal to the average values of the perception-related spectral values along the two neighboring segments (842). - The device according to claim 16, wherein means for segmenting is implemented in order to determine those spectral components (826) within the scope of the segmentation which are associated with the time sections according to the melody line most frequently, and to determine (824) a set of semitones relative to this spectral component, which are separated from each other by semitone boundaries which in turn define the semitone areas (828).
- The device according to claim 16 or 17, wherein means for segmenting is implemented to
perform the closing of the gap by means of a straight connecting line (844). - The device according to one of claims 15 to 18, wherein means for segmenting is implemented to
temporarily shift (868) a follower segment (852b) of the segments which is directly neighboring (864) to a reference segment (852a) of the segments without a time section lying in between, in the spectrum direction in order to obtain a line of an octave, fifth and/or third;
select (872) one or none of the line of the octave, fifth and/or third depending on whether a minimum among the perception-related spectral values along the reference segment (852a) has a predetermined relation to a minimum among the perception-related spectral values along the line of the octave, fifth and/or third; and
if the line of the octave, fifth and/or third is selected, shift (874) the follower segment finally onto the selected line of the octave, fifth and/or third. - The device according to one of claims 15 to 19, wherein means for segmenting is implemented to
determine all local extremes (882) of the melody line in a predetermined segment (878);
determine a sequence of neighboring extremes among the determined extremes for which all neighboring extremes are arranged at spectral components which are less than a first predetermined measure (886) separate from each other and at time sections which are separate from each other by less than a second predetermined measure (890), and
change the predetermined segment (878) so that the time sections of the sequence of extremes and the time sections between the sequence of extremes are associated with (894) the average value of the spectral components of the melody line at these time sections. - The device according to one of claims 15 to 20, wherein means for segmenting is implemented in order to determine the spectral component (832) within the scope of the segmentation which is associated most frequently to the time sections according to the melody line and to determine a set of semitones relative to this spectral component (832) which are separated from each other by semitone boundaries which in turn define the semitone areas, and wherein means for segmenting is implemented to
change (912) for each time section in each segment the spectral component associated with the same to a semitone of the set of semitones. - The device according to claim 21, wherein means for segmenting is implemented in order to perform the change to the semitones such that this semitone among the set of semitones comes closest to the spectral component to be changed.
- The device according to claim 21 or 22, wherein means for segmenting is implemented to
filter the audio signal with a band pass filter (916) comprising a transmission characteristic around the common semitone of a predetermined segment in order to obtain a filtered audio signal (922);
examine (918, 920, 926) the filtered audio signal (922) in order to determine at which points of time an envelope (924) of the filtered audio signal (922) comprises inflection points, wherein these points of time represent candidate initial points of time,
depending on whether a predetermined candidate initial point of time is less than a predetermined time period before the first segment (928, 930), elongate the predetermined segment to the front by one or several further time sections (932), in order to obtain an elongated segment which ends approximately at the predetermined candidate initial point of time. - The device according to claim 23, wherein means for segmenting is implemented in order to shorten a preceding segment to the front when elongating (932) the predetermined segment, when by this an overlapping of the segments across one or several time sections is prevented.
- The device according to claim 23 or 24, wherein means for segmenting is implemented to
depending on whether the predetermined candidate initial point of time is more than the first predetermined time duration before the first time section of the predetermined segment (930), trace in the perception-related time-over-spectral representation the perception-related spectral values along an elongation of the predetermined segment in the direction of the candidate initial point of time up to a virtual point of time where the same decrease by more than a predetermined gradient (936), and to then, depending on whether the predetermined candidate initial point of time is more than the first predetermined time duration before the virtual point of time, elongate (932) the predetermined segment to the front by one or several further time sections in order to obtain the elongated segment which approximately ends at the predetermined candidate initial point of time. - The device according to one of claims 23 to 25, wherein means for segmenting is implemented to discard segments (938) which are shorter than a predetermined number of time sections after performing the filtering, the determination and the supplementation.
- The device according to one of claims 1 to 26, further comprising means (940) for converting the segments into notes, wherein means for converting is implemented in order to allocate to each segment a note initial point of time which corresponds to the first time section of the segment, a note duration that corresponds to the number of the time sections of the segment multiplied by a time section time duration, and a tone pitch corresponding to an average of the spectral components through which the segment runs.
- The device according to one of claims 15 to 27, wherein means for segmenting is implemented to
determine overtone segments (954a - g) for a predetermined one (952) of the segments,
determine (958) the tone segment among the overtone segments along which the time-over-spectral representation of the audio signal comprises the greatest dynamic,
establish (962) a minimum (964) in the course (960) of the time-over-spectral representation along the predetermined overtone segment;
examine (986) whether the minimum fulfills a predetermined condition, and
if this is the case, separate (988) a predetermined segment at the time section where the minimum is located into two segments. - The device according to claim 28, wherein means for segmenting is implemented to compare (986), in the examination whether the minimum fulfills a predetermined condition, the minimum (964) to an average value of neighboring local maxima (980, 982) of the course (960) of the time-over-spectral representation along the predetermined overtone segment, and perform the separation (988) of the predetermined segment into the two segments depending on the comparison.
- The device according to one of claims 15 to 29, wherein means for segmenting is implemented to
for a predetermined segment (994), allocate a number (z) to each time section (i) of the segment, such that for all groups of directly neighboring time sections to which the same spectral component is associated by the melody line, the numbers associated with the directly neighboring time sections are different numbers from 1 up to the number of directly neighboring time sections,
for every spectral component which is associated with one of the time sections of the predetermined segment, add up (1000) the numbers of those groups, which time sections of the same the respective spectral component is associated with,
determine (1012) a smoothing spectral component as the spectral component for which the largest up-summing results; and
change (1014) the segment by associating the certain smoothing spectral component to each time section of the predetermined segment. - The device according to one of claims 15 to 30, wherein means for segmenting is implemented to
filter (1026) the audio signal with a band pass filter comprising a band pass around the common semitone of a predetermined segment in order to obtain a filtered audio signal;
localize (1034) in an envelope of the filtered audio signal a maximum (1040) in a time window (1036) corresponding to the predetermined segment;
determine (1042) a potential segment end as the point of time at which the envelope first fell to a value after the maximum (1040) which is smaller than a predetermined threshold value,
if the potential segment end is (1046) temporally before an actual segment end of the predetermined segment, shorten (1049) the predetermined segment. - The device according to claim 31 wherein means for segmenting is implemented to,
if (1046) the potential segment end is temporally behind the actual segment end of the predetermined segment, elongate (1051) the predetermined segment if the temporal distance between the potential segment end (1044) and the actual segment end (1049) is not greater than a predetermined threshold value (1050). - A method for extracting a melody underlying an audio signal (302), represented by a note sequence, comprising:providing (750) a time-over-spectral representation of the audio signal (302);frequency-dependent scaling (754; 770, 772, 774) of the amplitudes of the time-over-spectral representation using curves of equal volume reflecting human frequency-dependent volume perception in order to obtain a perception-related time-over-spectral representation; andon the basis of the perception-related time-over-spectral representation, determining (756) a melody of the audio signal.
- A computer program having a program code for performing the method according to claim 33, when the computer program runs on a computer.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004049457A DE102004049457B3 (en) | 2004-10-11 | 2004-10-11 | Method and device for extracting a melody underlying an audio signal |
PCT/EP2005/010333 WO2006039994A2 (en) | 2004-10-11 | 2005-09-23 | Method and device for the extraction of a melody on which an audio signal is based |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1797552A2 EP1797552A2 (en) | 2007-06-20 |
EP1797552B1 true EP1797552B1 (en) | 2010-04-21 |
Family
ID=35462427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05790019A Ceased EP1797552B1 (en) | 2004-10-11 | 2005-09-23 | Method and device for the extraction of a melody on which an audio signal is based |
Country Status (8)
Country | Link |
---|---|
US (1) | US20060075884A1 (en) |
EP (1) | EP1797552B1 (en) |
JP (1) | JP2008516289A (en) |
KR (1) | KR20070062550A (en) |
CN (1) | CN101076850A (en) |
AT (1) | ATE465484T1 (en) |
DE (2) | DE102004049457B3 (en) |
WO (1) | WO2006039994A2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9686596B2 (en) | 2008-11-26 | 2017-06-20 | Free Stream Media Corp. | Advertisement targeting through embedded scripts in supply-side and demand-side platforms |
US9703947B2 (en) | 2008-11-26 | 2017-07-11 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9716736B2 (en) | 2008-11-26 | 2017-07-25 | Free Stream Media Corp. | System and method of discovery and launch associated with a networked media device |
US9961388B2 (en) | 2008-11-26 | 2018-05-01 | David Harrison | Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements |
US9986279B2 (en) | 2008-11-26 | 2018-05-29 | Free Stream Media Corp. | Discovery, access control, and communication with networked services |
US10334324B2 (en) | 2008-11-26 | 2019-06-25 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US10567823B2 (en) | 2008-11-26 | 2020-02-18 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US10631068B2 (en) | 2008-11-26 | 2020-04-21 | Free Stream Media Corp. | Content exposure attribution based on renderings of related content across multiple devices |
US10880340B2 (en) | 2008-11-26 | 2020-12-29 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US10977693B2 (en) | 2008-11-26 | 2021-04-13 | Free Stream Media Corp. | Association of content identifier of audio-visual data with additional data through capture infrastructure |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1571647A1 (en) * | 2004-02-26 | 2005-09-07 | Lg Electronics Inc. | Apparatus and method for processing bell sound |
DE102004028693B4 (en) * | 2004-06-14 | 2009-12-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for determining a chord type underlying a test signal |
DE102004049477A1 (en) * | 2004-10-11 | 2006-04-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and device for harmonic conditioning of a melody line |
JP4672474B2 (en) * | 2005-07-22 | 2011-04-20 | 株式会社河合楽器製作所 | Automatic musical transcription device and program |
JP4948118B2 (en) * | 2005-10-25 | 2012-06-06 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
JP4465626B2 (en) * | 2005-11-08 | 2010-05-19 | ソニー株式会社 | Information processing apparatus and method, and program |
RU2474972C2 (en) * | 2006-01-17 | 2013-02-10 | Конинклейке Филипс Электроникс Н.В. | Detection of television signals drowned in noise using set of cyclostationarity tools |
US7705231B2 (en) * | 2007-09-07 | 2010-04-27 | Microsoft Corporation | Automatic accompaniment for vocal melodies |
WO2007119221A2 (en) * | 2006-04-18 | 2007-10-25 | Koninklijke Philips Electronics, N.V. | Method and apparatus for extracting musical score from a musical signal |
US8168877B1 (en) * | 2006-10-02 | 2012-05-01 | Harman International Industries Canada Limited | Musical harmony generation from polyphonic audio signals |
US8283546B2 (en) * | 2007-03-28 | 2012-10-09 | Van Os Jan L | Melody encoding and searching system |
KR100876794B1 (en) * | 2007-04-03 | 2009-01-09 | 삼성전자주식회사 | Apparatus and method for enhancing intelligibility of speech in mobile terminal |
US8140331B2 (en) * | 2007-07-06 | 2012-03-20 | Xia Lou | Feature extraction for identification and classification of audio signals |
CN101398827B (en) * | 2007-09-28 | 2013-01-23 | 三星电子株式会社 | Method and device for singing search |
US9159325B2 (en) * | 2007-12-31 | 2015-10-13 | Adobe Systems Incorporated | Pitch shifting frequencies |
US20090193959A1 (en) * | 2008-02-06 | 2009-08-06 | Jordi Janer Mestres | Audio recording analysis and rating |
DE102008013172B4 (en) * | 2008-03-07 | 2010-07-08 | Neubäcker, Peter | Method for sound-object-oriented analysis and notation-oriented processing of polyphonic sound recordings |
JP5188300B2 (en) * | 2008-07-14 | 2013-04-24 | 日本電信電話株式会社 | Basic frequency trajectory model parameter extracting apparatus, basic frequency trajectory model parameter extracting method, program, and recording medium |
US10419541B2 (en) | 2008-11-26 | 2019-09-17 | Free Stream Media Corp. | Remotely control devices over a network without authentication or registration |
US8779268B2 (en) | 2009-06-01 | 2014-07-15 | Music Mastermind, Inc. | System and method for producing a more harmonious musical accompaniment |
US8785760B2 (en) | 2009-06-01 | 2014-07-22 | Music Mastermind, Inc. | System and method for applying a chain of effects to a musical composition |
US9251776B2 (en) | 2009-06-01 | 2016-02-02 | Zya, Inc. | System and method creating harmonizing tracks for an audio input |
US9257053B2 (en) | 2009-06-01 | 2016-02-09 | Zya, Inc. | System and method for providing audio for a requested note using a render cache |
US8492634B2 (en) | 2009-06-01 | 2013-07-23 | Music Mastermind, Inc. | System and method for generating a musical compilation track from multiple takes |
US9177540B2 (en) | 2009-06-01 | 2015-11-03 | Music Mastermind, Inc. | System and method for conforming an audio input to a musical key |
US9310959B2 (en) | 2009-06-01 | 2016-04-12 | Zya, Inc. | System and method for enhancing audio |
CN102422531B (en) * | 2009-06-29 | 2014-09-03 | 三菱电机株式会社 | Audio signal processing device |
CN101645268B (en) * | 2009-08-19 | 2012-03-14 | 李宋 | Computer real-time analysis system for singing and playing |
KR101106185B1 (en) | 2010-01-19 | 2012-01-20 | 한국과학기술원 | An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window |
US8710343B2 (en) * | 2011-06-09 | 2014-04-29 | Ujam Inc. | Music composition automation including song structure |
CN103915093B (en) * | 2012-12-31 | 2019-07-30 | 科大讯飞股份有限公司 | A kind of method and apparatus for realizing singing of voice |
US8927846B2 (en) * | 2013-03-15 | 2015-01-06 | Exomens | System and method for analysis and creation of music |
US10133537B2 (en) | 2014-09-25 | 2018-11-20 | Honeywell International Inc. | Method of integrating a home entertainment system with life style systems which include searching and playing music using voice commands based upon humming or singing |
CN104503758A (en) * | 2014-12-24 | 2015-04-08 | 天脉聚源(北京)科技有限公司 | Method and device for generating dynamic music haloes |
US9501568B2 (en) | 2015-01-02 | 2016-11-22 | Gracenote, Inc. | Audio matching based on harmonogram |
WO2017133213A1 (en) * | 2016-02-01 | 2017-08-10 | 北京小米移动软件有限公司 | Fingerprint identification method and device |
CN107203571B (en) | 2016-03-18 | 2019-08-06 | 腾讯科技(深圳)有限公司 | Song lyric information processing method and device |
CN107301857A (en) * | 2016-04-15 | 2017-10-27 | 青岛海青科创科技发展有限公司 | A kind of method and system to melody automatically with accompaniment |
CN107039024A (en) * | 2017-02-10 | 2017-08-11 | 美国元源股份有限公司 | Music data processing method and processing device |
CN107123415B (en) * | 2017-05-04 | 2020-12-18 | 吴振国 | Automatic song editing method and system |
US11282407B2 (en) | 2017-06-12 | 2022-03-22 | Harmony Helper, LLC | Teaching vocal harmonies |
US10249209B2 (en) * | 2017-06-12 | 2019-04-02 | Harmony Helper, LLC | Real-time pitch detection for creating, practicing and sharing of musical harmonies |
IL253472B (en) | 2017-07-13 | 2021-07-29 | Melotec Ltd | Method and apparatus for performing melody detection |
WO2020094263A1 (en) | 2018-11-05 | 2020-05-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and audio signal processor, for providing a processed audio signal representation, audio decoder, audio encoder, methods and computer programs |
CN112259063B (en) * | 2020-09-08 | 2023-06-16 | 华南理工大学 | Multi-pitch estimation method based on note transient dictionary and steady state dictionary |
CN112258932B (en) * | 2020-11-04 | 2022-07-19 | 深圳市平均律科技有限公司 | Auxiliary exercise device, method and system for musical instrument playing |
SE544738C2 (en) * | 2020-12-22 | 2022-11-01 | Algoriffix Ab | Method and system for recognising patterns in sound |
CN113537102B (en) * | 2021-07-22 | 2023-07-07 | 深圳智微电子科技有限公司 | Feature extraction method of microseismic signals |
CN114007166B (en) * | 2021-09-18 | 2024-02-27 | 北京车和家信息技术有限公司 | Method and device for customizing sound, electronic equipment and storage medium |
CN115472143B (en) * | 2022-09-13 | 2024-10-01 | 天津大学 | Method and device for detecting starting point of musical note of tonal music and decoding note |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04220880A (en) * | 1990-12-21 | 1992-08-11 | Casio Comput Co Ltd | Quantizing device |
JP2558997B2 (en) * | 1991-12-03 | 1996-11-27 | 松下電器産業株式会社 | Digital audio signal encoding method |
DE19526333A1 (en) * | 1995-07-17 | 1997-01-23 | Gehrer Eugen Dr | Music generation method |
DE19710953A1 (en) * | 1997-03-17 | 1997-07-24 | Frank Dr Rer Nat Kowalewski | Sound signal recognition method |
JP3795201B2 (en) * | 1997-09-19 | 2006-07-12 | 大日本印刷株式会社 | Acoustic signal encoding method and computer-readable recording medium |
JP4037542B2 (en) * | 1998-09-18 | 2008-01-23 | 大日本印刷株式会社 | Method for encoding an acoustic signal |
JP4055336B2 (en) * | 2000-07-05 | 2008-03-05 | 日本電気株式会社 | Speech coding apparatus and speech coding method used therefor |
EP1340219A4 (en) * | 2000-12-05 | 2005-04-13 | Amusetec Co Ltd | Method for analyzing music using sounds of instruments |
WO2002054715A2 (en) * | 2000-12-28 | 2002-07-11 | Koninklijke Philips Electronics N.V. | Programming of a ringing tone in a telephone apparatus |
JP2002215142A (en) * | 2001-01-17 | 2002-07-31 | Dainippon Printing Co Ltd | Encoding method for acoustic signal |
WO2003005242A1 (en) * | 2001-03-23 | 2003-01-16 | Kent Ridge Digital Labs | Method and system of representing musical information in a digital representation for use in content-based multimedia information retrieval |
DE10117870B4 (en) * | 2001-04-10 | 2005-06-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for transferring a music signal into a score-based description and method and apparatus for referencing a music signal in a database |
AU2002346116A1 (en) * | 2001-07-20 | 2003-03-03 | Gracenote, Inc. | Automatic identification of sound recordings |
US8050874B2 (en) * | 2004-06-14 | 2011-11-01 | Papadimitriou Wanda G | Autonomous remaining useful life estimation |
-
2004
- 2004-10-11 DE DE102004049457A patent/DE102004049457B3/en not_active Expired - Fee Related
- 2004-12-15 US US11/014,107 patent/US20060075884A1/en not_active Abandoned
-
2005
- 2005-09-23 DE DE502005009467T patent/DE502005009467D1/en active Active
- 2005-09-23 KR KR1020077008255A patent/KR20070062550A/en not_active Application Discontinuation
- 2005-09-23 AT AT05790019T patent/ATE465484T1/en not_active IP Right Cessation
- 2005-09-23 WO PCT/EP2005/010333 patent/WO2006039994A2/en active Application Filing
- 2005-09-23 JP JP2007536026A patent/JP2008516289A/en active Pending
- 2005-09-23 CN CNA2005800425301A patent/CN101076850A/en active Pending
- 2005-09-23 EP EP05790019A patent/EP1797552B1/en not_active Ceased
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9686596B2 (en) | 2008-11-26 | 2017-06-20 | Free Stream Media Corp. | Advertisement targeting through embedded scripts in supply-side and demand-side platforms |
US9703947B2 (en) | 2008-11-26 | 2017-07-11 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9706265B2 (en) | 2008-11-26 | 2017-07-11 | Free Stream Media Corp. | Automatic communications between networked devices such as televisions and mobile devices |
US9716736B2 (en) | 2008-11-26 | 2017-07-25 | Free Stream Media Corp. | System and method of discovery and launch associated with a networked media device |
US9838758B2 (en) | 2008-11-26 | 2017-12-05 | David Harrison | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9848250B2 (en) | 2008-11-26 | 2017-12-19 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9854330B2 (en) | 2008-11-26 | 2017-12-26 | David Harrison | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9866925B2 (en) | 2008-11-26 | 2018-01-09 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9961388B2 (en) | 2008-11-26 | 2018-05-01 | David Harrison | Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements |
US9967295B2 (en) | 2008-11-26 | 2018-05-08 | David Harrison | Automated discovery and launch of an application on a network enabled device |
US9986279B2 (en) | 2008-11-26 | 2018-05-29 | Free Stream Media Corp. | Discovery, access control, and communication with networked services |
US10032191B2 (en) | 2008-11-26 | 2018-07-24 | Free Stream Media Corp. | Advertisement targeting through embedded scripts in supply-side and demand-side platforms |
US10074108B2 (en) | 2008-11-26 | 2018-09-11 | Free Stream Media Corp. | Annotation of metadata through capture infrastructure |
US10142377B2 (en) | 2008-11-26 | 2018-11-27 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US10334324B2 (en) | 2008-11-26 | 2019-06-25 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US10567823B2 (en) | 2008-11-26 | 2020-02-18 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US10631068B2 (en) | 2008-11-26 | 2020-04-21 | Free Stream Media Corp. | Content exposure attribution based on renderings of related content across multiple devices |
US10771525B2 (en) | 2008-11-26 | 2020-09-08 | Free Stream Media Corp. | System and method of discovery and launch associated with a networked media device |
US10791152B2 (en) | 2008-11-26 | 2020-09-29 | Free Stream Media Corp. | Automatic communications between networked devices such as televisions and mobile devices |
US10880340B2 (en) | 2008-11-26 | 2020-12-29 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US10977693B2 (en) | 2008-11-26 | 2021-04-13 | Free Stream Media Corp. | Association of content identifier of audio-visual data with additional data through capture infrastructure |
US10986141B2 (en) | 2008-11-26 | 2021-04-20 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
Also Published As
Publication number | Publication date |
---|---|
EP1797552A2 (en) | 2007-06-20 |
US20060075884A1 (en) | 2006-04-13 |
CN101076850A (en) | 2007-11-21 |
WO2006039994A3 (en) | 2007-04-19 |
DE102004049457B3 (en) | 2006-07-06 |
KR20070062550A (en) | 2007-06-15 |
DE502005009467D1 (en) | 2010-06-02 |
ATE465484T1 (en) | 2010-05-15 |
JP2008516289A (en) | 2008-05-15 |
WO2006039994A2 (en) | 2006-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1797552B1 (en) | Method and device for the extraction of a melody on which an audio signal is based | |
WO2006039995A1 (en) | Method and device for harmonic processing of a melodic line | |
WO2006039993A1 (en) | Method and device for smoothing a melody line segment | |
EP2099024B1 (en) | Method for acoustic object-oriented analysis and note object-oriented processing of polyphonic sound recordings | |
WO2006039992A1 (en) | Extraction of a melody on which an audio signal is based | |
DE69907498T2 (en) | METHOD FOR QUICKLY DETECTING THE TONE HEIGHT | |
DE69417445T2 (en) | METHOD AND SYSTEM FOR DETECTING AND GENERATING TRANSITIONAL CONDITIONS IN SOUND SIGNALS | |
DE69901606T2 (en) | BROADBAND VOICE SYNTHESIS OF NARROW-BAND VOICE SIGNALS | |
DE3236832A1 (en) | METHOD AND DEVICE FOR VOICE ANALYSIS | |
EP2180463A1 (en) | Method to detect note patterns in pieces of music | |
WO2005122135A1 (en) | Device and method for converting an information signal into a spectral representation with variable resolution | |
DE102004028693B4 (en) | Apparatus and method for determining a chord type underlying a test signal | |
DE102004033867B4 (en) | Method and device for the rhythmic preparation of audio signals | |
EP1671315B1 (en) | Process and device for characterising an audio signal | |
DE10117871C1 (en) | Signal identification extraction method for identification of audio data uses coordinate points provided by frequency values and their occurence points | |
EP1743324B1 (en) | Device and method for analysing an information signal | |
DE10253868B3 (en) | Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points | |
WO2005122137A1 (en) | Apparatus and method for determining a frequency grid underlying an audio signal | |
DD141356A1 (en) | METHOD FOR THE ACOUSTIC GUETE ASSESSMENT OF MUSICAL INSTRUMENTS | |
DE3200645A1 (en) | Method and device for speech recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20070405 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR MK YU |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20080110 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: GRACENOTE, INC. |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: GERMAN |
|
REF | Corresponds to: |
Ref document number: 502005009467 Country of ref document: DE Date of ref document: 20100602 Kind code of ref document: P |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: VDEP Effective date: 20100421 |
|
LTIE | Lt: invalidation of european patent or patent extension |
Effective date: 20100421 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100801 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FD4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100821 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100722 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100512 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: IE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100823 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 |
|
26N | No opposition filed |
Effective date: 20110124 |
|
BERE | Be: lapsed |
Owner name: GRACENOTE, INC. Effective date: 20100930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100930 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100930 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100930 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100923 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100923 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20101022 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100421 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20100721 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 11 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 12 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 13 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20220927 Year of fee payment: 18 Ref country code: DE Payment date: 20220629 Year of fee payment: 18 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20220926 Year of fee payment: 18 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 502005009467 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20230923 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230923 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230923 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230930 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20240403 |