(19)
(11) EP 1 797 507 B1

(12) EUROPEAN PATENT SPECIFICATION

(45) Mention of the grant of the patent:
15.06.2011 Bulletin 2011/24

(21) Application number: 04790208.5

(22) Date of filing: 08.10.2004
(51) International Patent Classification (IPC): 
G06F 17/30(2006.01)
G10H 1/40(2006.01)
(86) International application number:
PCT/EP2004/011266
(87) International publication number:
WO 2006/037366 (13.04.2006 Gazette 2006/15)

(54)

APPARATUS AND METHOD FOR GENERATING AN ENCODED RHYTHMIC PATTERN

VORRICHTUNG UND VERFAHREN ZUM ERZEUGEN EINES CODIERTEN RHYTMISCHEN MUSTERS

APPAREIL ET PROCEDE DESTINES A GENERER UN MOTIF RYTHMIQUE CODE


(84) Designated Contracting States:
DE FR GB

(43) Date of publication of application:
20.06.2007 Bulletin 2007/25

(73) Proprietor: Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
80686 München (DE)

(72) Inventors:
  • CREMER, Markus
    Berkeley, CA 94707 (US)
  • GRUHNE, Matthias
    99438 Legefeld (DE)
  • ROHDEN, Jan
    98693 Ilmenau (DE)
  • UHLE, Christian
    90489 Nürnberg (DE)

(74) Representative: Zinkler, Franz et al
Schoppe, Zimmermann, Stöckeler & Zinkler Patentanwälte Postfach 246
82043 Pullach bei München
82043 Pullach bei München (DE)


(56) References cited: : 
US-A- 5 918 223
US-A1- 2004 094 019
   
  • CHRISTIAN UHLE, JUERGEN HERRE: "Estimation of Tempo, Micro Time and Time Signature from Percussive Music" PROC OF THE 6TH INT CONFERENCE ON DIGITAL AUDIO EFFECTS (DAFX-03), 11 September 2003 (2003-09-11), XP002321810 LONDON, UK
  • SCHEIRER ERIC D: "Tempo and beat analysis of acoustic musical signals" JOURNAL OF THE ACOUSTICAL SOCIETY OF AMERICA, AMERICAN INSTITUTE OF PHYSICS. NEW YORK, US, vol. 103, no. 1, January 1998 (1998-01), pages 588-601, XP012000051 ISSN: 0001-4966
  • SEPPDNEN J: "Tatum grid analysis of musical signals" APPLICATIONIS OF SIGNAL PROCESSING TO AUDIO AND ACOUSTICS, 2001 IEEE WORKSHOP ON THE OCT. 21-24, 2001, PISCATAWAY, NJ, USA,IEEE, 21 October 2001 (2001-10-21), pages 131-134, XP010566892 ISBN: 0-7803-7126-7
   
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description


[0001] The present invention relates to audio data processing and, in particular, to metadata suitable for identifying an audio piece using a description of the audio piece in the form of rhythmic pattern.

[0002] Stimulated by the ever-growing availability of musical material to the user via new media and content distribution methods, an increasing need to automatically categorize audio data has emerged. Descriptive information about audio data which is delivered together with the actual content represents one way to facilitate this task immensely. The purpose of so-called metadata ("data about data") is to for example detect the genre of a song, to specify music similarity, to perform music segmentation on the song or to simply recognize a song by scanning a data base for similar metadata. Stated in general, metadata are used to determine a relation between test pieces of music having associated test metadata and one or more reference pieces of music having corresponding reference metadata.

[0003] One way to achieve these aims using features that belong to a lower semantic hierarchy order is described in "Content-based-identification of audio material using MPEG-7 low level description", Allamanche, E., Herre, J., Helmuth, O., Proceedings of the second annual symposium on music information retrieval, Bloomington, USA, 2001.

[0004] The MPEG-7 standard is an example for a metadata standard which has been published in recent years in order to fulfill requirements raised by the increasing availability of multimedia content and the resulting issue of sorting and retrieving this content. The ISO/IEC MPEG-7 standard takes a very broad approach towards the definition of metadata. Herein, not only hand-annotated textual information can be transported and stored but also more signal specific data that can in most cases be automatically retrieved from the multimedia content itself.

[0005] While some people are interested in an algorithm for the automated transcription of rhythmic (percussive) accompaniment in modern day popular music, others try to capture the "rhythmic gist" of a piece of music rather than a precise transcription, in order to allow a more abstract comparison of musical pieces by their dominant rhythmic patterns. Nevertheless, one is not only interested in rhythmic patterns of percussive instruments, which do not have their main focus on playing certain notes but generating a certain rhythm, but also the rhythmic information provided by so-called harmonic sustained instruments such as a piano, a flute, a clarinet, etc. can be of significant importance for the rhythmic gist of a piece of music.

[0006] Contrary to low-level tools, which can be extracted directly from the signal itself in a computationally efficient manner, but which carry little meaning for the human listener, the usage of high-level semantic information relates to the human perception of music and is, therefore, more intuitive and more appropriate for the task to model what happens when a human listener recognizes a piece of music or not.

[0007] It has been found out that the rhythmic elements of music, determined by the drum and percussive instruments, play an important role especially in contemporary popular music. Therefore, the performance of advanced music retrieval applications will benefit from using mechanisms that allow the search for rhythmic styles, particular rhythmic features or generally rhythmic patterns when finding out a relation between a test rhythmic pattern and one or more reference rhythmic patterns which are, for example, stored in a rhythmic pattern data base.

[0008] The first version of MPEG-7 audio (ISO-IEC 15938-4) does not, however, cover high-level features in a significant way. Therefore, the standardization committee agreed to extend this part of the standard. The work contributing high-level tools is currently being assembled in MPEG-7 audio amendment 2 (ISO-IEC 15938-4 AMD2). One of its features is "rhythmicpatternsDS". The internal structure of its representation depends on the underlying rhythmic structure of the considered pattern.

[0009] Document "Estimation of Tempo, Micro Time and Time Signature from Percussive Music" by Christian Uhle, Juergen Herre, Published from the proc. of the 6th Int. Conference on Digital Audio Effects (DAFX-03) in London, September 8-11, 2003 discloses the identification of onsets from an audio signal and creation of rhythmic pattern which is placed into a grid. In addition weak and strong beats are estimated from the audio signal in order to determine musical bar length and time signature.

[0010] There are several possibilities to obtain a state of the art rhythmic pattern. One way is to start from the time-domain PCM representation of a piece of music such as a file, which is stored on a compact disk, or which is generated by an audio decoder working in accordance with the well-known MP3 algorithm (MPEG 1 layer 3) or advanced audio algorithms such as MPEG 4 AAC. In accordance with this method described in "Further steps towards drum transcription of polyphonic music", Dittmar, C., Uhle, C., Proceedings of the AES 116th Convention, Berlin, Germany, 2004, a classification between un-pitched classic instruments and harmonic-sustained instruments is performed. The detection and classification of percussive events is carried out using a spectrogram-representation of the audio signal. Differentiation and half-way rectification of this spectrogram-representation result in a non-negative difference spectrogram, from which the times of occurrence and the spectral slices related to percussive events are deduced.

[0011] Then, the well-known Principle Component Analysis (PCA) is applied. When one obtains principle components, which are subjected to a Non-Negative Independent Component Analysis (NNICA), as described in "Algorithms for non-negative independent component analysis", Plumbley, M., Proceedings of the IEEE Transactions on Neuronal Networks, 14 (3), pages 534-543, 2003, which attempts to optimize a cost function describing the non-negativity of the components.

[0012] The spectral characteristics of un-pitched percussive instruments, especially the invariance of a spectrum of different notes compared to pitched instruments allows separation using an un-mixing matrix to obtain spectral profiles, which can be used to extract the spectrogram's amplitude basis, which is also termed as the "amplitude envelopes". This procedure is closely related to the principle of Prior Sub-space Analysis (PSA), as described in "Prior sub-space analysis for drum transcription", Fitzgerald, D., Lawlor, B. and Coyle, E. Proceedings of the 114th AES Convention, Amsterdam, Netherlands, 2003.

[0013] Then, the extracted components are classified using a set of spectral-based and time-based features. The classification provides two sources of information. Firstly, components should be excluded from the rest of the processing, which are clearly harmonically sustained. Secondly, the remaining dissonant percussive components should be assigned to pre-defined instrument classes. A suitable measure for the distinction of the amplitude envelopes is represented by the percussiveness, which is introduced in "Extraction of drum tracks from polyphone music using independent sub-space analysis", Uhle, C., Dittmar, C., and Sporer, T., Proceedings of the Fourth International Symposium on Independent Component Analysis, Nara, Japan, 2003.

[0014] The assignment of spectral profiles to a priori trained classes of percussive instruments is provided by a k-nearest neighbor classifier with spectral profiles of single instruments from a training database. To verify the classification in cases of low reliability or several occurrences of the same instrument, additional features describing the shape of the spectral profile, e.g. centroid, spread and tunes are extracted. Other features are the center frequencies of the most prominent local peaks, their intensities, spreads and skewnesses.

[0015] Onsets are detected in the amplitude envelopes using conventional peak picking methods. The intensity of the onset candidate is estimated from the magnitude of the envelope signal. Onsets with intensities exceeding a predetermined dynamic threshold are accepted. This procedure reduces cross-talk influences of harmonic sustained instruments as well as concurrent percussive instruments.

[0016] For extracting drum patterns, the audio signal is segmented into similar and characteristic regions using a self-similarity method initially proposed by Foote, J., "Automatic Audio Segmentation using a Measure of Audio Novelty", Proceeding of the IEEE International Conference on Multimedia and Expo, vol. 1, pages 452-455, 2000. The segmentation is motivated by the assumption that within each region not more than one representative drum pattern occurs, and that the rhythmic features are nearly invariant.

[0017] Subsequently, the temporal positions of the events are quantized on a tatum grid. The tatum grid describes a pulse series on the lowest metric level. Tatum period and tatum phase are computed by means of a two-way mismatch error procedure, as described in "Pulse-dependent analysis of percussive music", Gouyon, F., Herrera, P., Cano, P., Proceedings of the AES 22nd International Conference on Virtual, Synthetic and Entertainment Audio, 2002.

[0018] Then, the pattern length or bar length is estimated by searching for the prominent periodicity in the quantized score with periods equaling an integer multiple of the bar length. A periodicity function is obtained by calculating a similarity measure between the signal and its time-shifted version. The similarity between the two score representations is calculated as a weighted sum of the number of simultaneously occurring notes and rests in the score. An estimate of the bar length is obtained by comparing the derived periodicity function to a number of so-called metric models, each of them corresponding to a bar length. A metric model is defined here as a vector describing the degree of periodicity per integer multiple of the tatum period, and is illustrated as a number of pulses, where the height of the pulse corresponds to the degree of periodicity. The best match between the periodicity function derived from the input data and predefined metric models is computed by means of their correlation coefficient.

[0019] The term tatum period is also related to the term "microtime". The tatum period is the period of a grid, i.e., the tatum grid, which is dimensioned such that each stroke in a bar can be positioned on a grid position. When, for example, one considers a bar having a 4/4 meter, this means that the bar has 4 main strokes. When the bar only has main strokes, this means that the tatum period is the time period between two main strokes. In this case, the microtime, i.e., the metric division of this bar is 1, since one only has main strokes in the bar. When, however, the bar has exactly one additional stroke between two main strokes, the microtime is two and the tatum period is the half of the period between two main strokes. In the 4/4 example, the bar, therefore, has 8 grid positions, while in the first example, the bar only has 4 grid positions.

[0020] When there are two strokes between two main strokes, the microtime is 3, and the tatum period is 1/3 of the time period between two main strokes. In this case, the grid describing one bar has 12 grid positions.

[0021] The above-described automatic rhythmic pattern extraction method results in a rhythmic pattern as shown in Fig. 2a. Fig. 2a shows one bar having a meter of 4/4, a microtime equal to 2 and a resulting size or pattern length of 4 by 2 equals 8.

[0022] A machine-readable description of this bar would result in line 20a showing a grid position from one to eight, and line 20b showing velocity values for each grid position. For the purpose of better understanding, Fig. 2a also includes a line 20c showing the main strokes 1, 2, 3, and 4 corresponding to the 4/4 meter and showing additional strokes 1+, 2+, 3+, and 4+ at grid positions 2, 4, 6, and, 8.

[0023] As it is known in the art, the term "velocity" indicates an intensity value of an instrument at a certain grid position or main stroke or additional stroke (part of the bar), wherein, in the present example, a high velocity value indicates a high sound level, while a low velocity value indicates a low sound level. It is clear that the term velocity can therefore, be attributed to harmonic-sustained instruments as well as un-pitched instruments (drum or percussion). In the case of a drum, the term "velocity" would describe a measure of the velocity, a drumstick has, when hitting the drum.

[0024] In the Fig. 2a example, it becomes clear that the drum is hit at grid positions 1, 3, 5, 6, 7 with different velocities while the drummer does not hit or kick the drum at grid positions 2, 4, 8.

[0025] It should be noted here that the Fig. 2a prior art rhythmic pattern cannot only be obtained by an automatic drum description algorithm as described above, but is also similar to the well-known MIDI description of instruments as used for music synthesizers such as electronic keyboards, etc.

[0026] The Fig. 2a rhythmic pattern uniquely describes the rhythmic situation of an instrument. This rhythmic pattern is in-line with the way of playing the rhythmic pattern, i.e., a note to be played later in time is positioned after a note to be played earlier in time. This also becomes clear from the grid position index starting at a low value (1) and, after having monotonically increased, ending at a high value (8).

[0027] Unfortunately, this rhythmic pattern, although uniquely and optimally giving information to a player of the bar is not suited for an efficient data base retrieval. This is due to the fact that the pattern is quite long, and, therefore memory-consuming. Additionally and importantly, the important and not so important information in the rhythmic pattern of Fig. 2a is very well distributed over the pattern.

[0028] In the case of a 4/4 meter, it is clear that the highest importance in the beats, which are parts 1 and 3 of the bar at grid positions 1 and 5, while the second-order importance is in the so-called "off-beats" which occur at parts of the bar 2 and 4 at grid positions 3 and 7. The third-class importance is in the additional strokes between the beats/off-beats, i.e., at grid positions 2, 4, 6, and 8.

[0029] A search engine in a database using test and reference rhythmic patterns as shown in Fig. 2a, therefore has to compare the complete test rhythmic pattern to the complete reference rhythmic patterns to finally find out a relation between the test rhythmic pattern and the reference rhythmic patterns. When one bears in mind that the rhythmic pattern in Fig. 2a only describes a single bar of a piece of music, which can, for example, have 2000 bars, and when one bears in mind that the number of pieces of music in a reference data base is to be as large as possible to cover as many as possible pieces of music, one can see that the size of the data base storage can be explode to a value of the number of pieces of music multiplied by the number of bars per piece of music multiplied by the number of bits for representing a single bar rhythmic pattern.

[0030] While the storage might not be a large issue for personal computers, it can raise the size and costs of portable music processors such as music players. Additionally, the size of the rhythmic pattern in Fig. 2a becomes even more important when one tries to have a reasonable time frame for the search engine correlating a test rhythmic pattern to the reference rhythmic patterns. In case of high-end work stations having nearly unlimited computational resources, the Fig. 2a rhythmic pattern might not be too problematic. The situation, however, becomes critical, when one has limited computational resources such as in personal computers or once again, portable players, whose price has to be significantly lower than the price of a personal computer, when such an audio retrieval system is to survive on the highly competitive marketplace.

[0031] It is the object of the present invention to provide an efficient concept for processing audio patterns.

[0032] This object is achieved by an apparatus for generating an encoded rhythmic pattern in accordance with claim 1, a method of generating an encoded rhythmic pattern in accordance with claim 13, an encoded rhythmic pattern in accordance with claim 14, an apparatus for determining a relation between a test piece of music and a reference piece of music in accordance with claim 15, a method for determining a relation between a test piece of music and a reference piece of music in accordance with claim 18, an apparatus for decoding a rhythmic pattern in accordance with claim 19, a method of decoding the rhythmic pattern in accordance with claim 20 or a computer-program in accordance with claim 21.

[0033] The present invention is based on the finding that an efficient representation of a rhythmic pattern is obtained by encoding a normal rhythmic pattern so that the encoded rhythmic pattern has a first group of velocity values followed by a second group of velocity values, the first group of velocity values being associated with grid positions at a first rhythmic level, and the second group of velocity values being associated with grid positions at a second rhythmic level. In this encoded rhythmic pattern, velocity values associated with grid positions at the same rhythmic level are in one group, which results in the fact that the encoded rhythmic pattern is a rhythmic pattern, which is not ordered in accordance with the correct time sequence for playing the bar associated with the rhythmic pattern, but is sorted in accordance with the importance of grid positions in the bar.

[0034] This representation of a piece of music allows a data base search engine to process the encoded rhythmic patterns sequentially i.e., to process the first group of velocity values having a higher importance for the rhythmic gist of the piece of music before processing the second group and further groups of velocity values, which have lower importance for the rhythmic gist of a piece of music. Stated in other words, processing of the first group of the velocity values will result in a recognition in the data base search engine that several reference rhythmic patterns, which are not in line with the test rhythmic pattern with respect to their first groups of velocity values can be eliminated from further consideration, i.e., when velocity values of lower rhythmic levels, i.e., velocity values having a lower importance on the rhythmic gist of a piece of music are processed by the search engine.

[0035] The present invention therefore does not contribute maximum attention to the magnitude of the velocity value, i.e., the loudness or intensity, but attributes maximum importance to the rhythmic level, to which a certain velocity value belongs to. This is in line with the human perception, which tries to find a rhythm in a piece of music or which feels a rhythm in the piece of music irrespective of the fact, whether the beats, which make the rhythm are very loud or not. Stated in other words, it is not the loudness or intensity or, generally stated, the velocity of a note or of notes in a sequence of notes, which make a listener to move his hands, feet or his body in a rhythmic way, but it is the importance of a note in a rhythmic frame, which determines the rhythm. Naturally, the velocity value is not ignored totally. On the other hand, a rhythmic pattern, in which the strokes between beats are important, also exists in case of so-called "syncopes", i.e., in a situation in which, for certain stylish reasons, the additional strokes between the beats and the off-beats are louder than the beats or off-beats themselves.

[0036] In the preferred embodiment, the inventive encoded rhythmic pattern it has also a very storage-efficient appearance, since all grid positions, irrespective of their rhythmic levels are completely eliminated when there velocity values are lower than a certain threshold, which is for example, the lowest velocity quantization level or velocity quantization step size. The grid positions to be eliminated in this case are, therefore, the grid positions having a value of e.g. zero in a quantized rhythmic pattern.

[0037] In a preferred embodiment, the determination which grid positions are more important than other grid positions, i.e., which grid positions are to be attributed to the first group, and which grid positions are to be attributed in the second group is performed based on a prime decomposition of the nominator of the meter fraction, which is given by the term (meter nominator)/(meter denominator). It has been found out that the hierarchical grid position/rhythmic level determination is automatically performed by using the prime numbers resulting from a prime decomposition of the nominator. In accordance with the present invention, the grid position index is replaced by a prime index derived by using a prime factor decomposition of the meter nominator. The prime index is determined such that higher importance bit positions have lower prime index values while lower-importance grid positions have higher prime index values.

[0038] The present invention is advantageous in that it provides a compact representation of a rhythmic pattern, which can also be automatically extracted from an audio signal or consists of excerpts taken from an existing music notation as well. Based on this compact representation, which is constructed in accordance with the importance of a velocity value to a rhythmic impression rather than a time sequence of velocity values or even a magnitude of velocity values, an efficient comparison of patterns such as for classification purposes can be performed with minimum memory for the search engine on the one hand and minimum computational resources for the search engine on the other hand. A particular application is the field of music content retrieval in particular with temporary popular music, in which the rhythmic information is characteristic for a piece of music and, therefore, provides a characteristic fingerprint of this piece of music.

[0039] Additionally, the inventive encoded rhythmic pattern allows settings of several grades in resolution such as rhythmic hierarchies, rhythmic levels based on the velocity value resorting, which is especially suitable for further classification or matching of rhythmic patterns.

[0040] In the following, preferred embodiments of the present invention are described with respect to the accompanying drawings, in which:
Fig. 1
shows a preferred embodiment of the inventive concept for generating an encoded rhythmic pattern;
Fig. 2a
illustrates a prior art rhythmic pattern;
Fig. 2b
illustrates an output of the processor of Fig. 1;
Fig. 2c
illustrates an output of the zero eliminator in Fig. 1;
Fig. 2d
illustrates an output of the sorter of Fig. 1;
Fig. 3a
illustrates an output of the processor for example of a music piece having a ternary feeling;
Fig. 3b
illustrates an output of the zero eliminator for the Fig. 3a example;
Fig. 3c
illustrates an output of the sorter for the Fig. 3a example;
Fig. 4a
illustrates an MPEG-7 conform description of the audio pattern data syntax;
Fig. 4b
illustrates the semantics for the Fig. 4a example;
Fig. 5a
illustrates an PEG-7 conform example of the audio rhythmic pattern syntax element;
Fig. 5b
illustrates the semantics for the Fig. 5a embodiment;
Fig. 6
illustrates an example instance of audio rhythmic pattern type metadata for a plurality of instruments;
Fig. 7
illustrates a preferred method embodied by the processor based on prime factorizations of the nominator of the meter and the microtime;
Fig. 8
illustrates another preferred method embodied by the processor based on prime factor decompositions of the nominator of the meter and the microtime;
Fig. 9
illustrates a block diagram of an inventive apparatus for determining a relation between a test piece of music and a reference piece of music;
Fig. 10
illustrates an encoded test rhythmic pattern and an encoded reference rhythmic pattern used in the apparatus of Fig. 9;
Fig. 11
illustrates a preferred method embodied by the search engine of Fig. 9;
Fig. 12a
illustrates a query pattern before zero elimination for a plurality of instruments;
Fig. 12b
illustrates a query pattern after zero elimination for several instruments.


[0041] The inventive encoded rhythmic pattern is suitable for a flexible syntax having a semantic information for an underlying piece of music so that a maximum scope of musical styles and a maximum scope of rhythmic complexity can be incorporated. Although the subsequent description is related to an encoded rhythmic pattern describing a single bar of a piece of music, this bar as represented in the encoded rhythmic pattern can relate to more bars of a piece of music as well. In this case, the encoded rhythmic pattern is the result of several rhythmic raw patterns of the same meter, which have been combined using any kind of statistic methods such as forming an arithmetic average value or a geometric average value or a median value for each grid position. This means that, for example, for the first grid position, one would add all velocity values of bit position one of the raw rhythmic patterns, followed by dividing the result by the number of raw rhythmic patterns, so that an arithmetic average value is obtained. Then, it is highly probable that, for each bit position a certain average velocity value is obtained. To achieve a more compact representation, a quantization of the resulting average velocity values is performed, which is based on a non-linear or linear quantizer having a certain lowest-level quantization step size, which results in the fact that several quite small average velocity values are quantized to zero so that, after zero elimination, an even more compact representation of the encoded rhythmic pattern is obtained.

[0042] Fig. 1 illustrates an inventive apparatus for generating an encoded rhythmic pattern from a rhythmic pattern, which includes the sequence of velocity values associated with grid positions, wherein the rhythmic pattern input into the inventive apparatus of Fig. 1 can exist in a time-wise manner or in a magnitude-wise manner with respect to velocity or in any other manner.

[0043] The rhythmic pattern input into the Fig. 1 apparatus, therefore, has a set of velocity values, each velocity value being associated with a grid position from a plurality of grid positions, the plurality of grid positions further having grid positions at at least two different rhythmic levels, a grid position at the first rhythmic level having a higher significance than a grid position at a second rhythmic level. Such an (uncoded) rhythmic pattern is input into a processor 10 for determining grid positions having a first rhythmic level and for determining grid positions having a second rhythmic level. Processor 10 outputs an illustrative representation as shown in Fig. 2b. The main purpose of the processor is to generate line 21, which indicates the rhythmic level for each grid position. As outlined above with respect to Fig. 2a, the beats at grid positions 1 and 5, i.e., parts 1 and 3 of the bar have the highest rhythmic level, which is illustrated by 3 stars in Fig. 2b. The off-beats at grid positions 3 and 7 or parts 2 and 4 of the bar have the second rhythmic level, which is indicated by 2 stars in Fig. 2b. Finally, the grid positions 2, 4, 6, 8 all have the third rhythmic level, which is indicated by a single star in Fig. 2b.

[0044] In a preferred embodiment of the present invention, the processor 10 is also operative to generate a prime index for each grid position as is indicated by line 22 in Fig. 2b. The prime index includes a value for each grid position, while grid positions belonging to the highest rhythmic level have low indices 1, 2, the grid positions belonging to the second rhythmic level have higher indices 3 and 4, and the grid positions at the third rhythmic level have even higher indices 5, 6, 7, and 8.

[0045] The inventive prime index determination as illustrated in Figs. 7 and 8 results in a prime index, which has a twofold meaning. On the one hand, a prime index for a velocity value at a bit position having a higher rhythmic level is lower than the prime index for a velocity value at the grid position having a lower rhythmic level. The second characteristic of the prime index is that, when there are several velocity values for grid positions at the same rhythmic level, the order of the prime index also reflects the time sequence of the velocity values. This means that the velocity value for grid position 1 receives a lower prime index than the velocity value for the grid position 5 having the same rhythmic level. This velocity value, however, receives a higher prime index, since grid position 5 appears after grid position 1, when the rhythmic pattern of Fig. 2b is to be played.

[0046] The inventive processor does not have to generate the prime index in one embodiment. In this embodiment, the processor does not even have to change anything at the description of Fig. 2a, as long as the processor provides information on the rhythmic level to a sorter 11 for sorting the velocity values associated with the grid position at different levels to obtain first and second groups of grid positions. A sorter is operative for sorting the velocity values so that the velocity values associated with the grid positions at the first rhythmic level form a first group and that the velocity values associated with the grid positions at the second rhythmic levels form a second group, and that the first and the second group are in sequence to each other so that at an output of the sorter 11, the inventive encoded rhythmic pattern having a sequence of velocity values according to the groups is obtained.

[0047] In the preferred embodiment, however, the processor is operative to generate the prime index 22 in Fig. 2b, which replaces the grid position 20a in Fig. 2a as can be seen in Fig. 2c and in Fig. 2d.

[0048] In a preferred embodiment of the present invention, the inventive apparatus further comprises a zero eliminator 12 for eliminating grid positions having a zero velocity. As has been outlined above, the "zero" velocity can be a velocity having indeed a value of zero, or can be a velocity which is below a minimum threshold, which can correspond to a quantization step size for the lowest quantization bin.

[0049] The zero eliminator 12 is operative to eliminate grid positions having a zero velocity. In the Fig. 2b example, the zero eliminator would eliminate positions 2, 4, 8 from further consideration. In the case in which the zero eliminator is positioned after the processor 12, but before the sorter 11, the zero eliminator 12 would output the processed rhythmic pattern as shown in Fig. 2c, which only has the prime index 22 and the velocity values 20b. It has to be noted here that the rhythmic level 21 is only shown for illustration purposes, but would not appear in the processing of Fig. 1, since the prime index 22 includes the information on the rhythmic level and, in addition, includes information on the time sequence of velocity values, as has been outlined above.

[0050] The Fig. 2c representation is input into the sorter 11, so that a representation given in Fig. 2d is obtained. The sorter 11 includes a simple sorting algorithm, which outputs an encoded rhythmic pattern, in which velocity values having lower prime index values are positioned more to the start of the encoded rhythmic pattern, while velocity values having higher prime index values are positioned more to the end of the encoded rhythmic pattern. Referring to Fig. 2d, velocity values for the prime index 1 and the prime index 2 form the first group, while velocity values for the prime index 3 and the prime index 4 form the second group, while the third group having the prime index 7 only has a single velocity value.

[0051] The zero eliminator 12 can also be positioned before the processor 10, or after the sorter 11. Positioning of the zero eliminator before the processor would result in a slightly better computational performance, since the processor 10 would not have to consider zero-valued grid positions when determining the rhythmic levels for the positions. On the other hand, the preferred positioning of the zero eliminator between the processor 10 and the sorter 11 allows the application of one of the preferred algorithms in Fig. 7 or Fig. 8, which rely on the time sequence of the un-coded rhythmic pattern. Finally, the zero eliminator can also be positioned after the sorter. Since sorting algorithms exist, which do not necessarily need a full sequence of integers, the zero eliminator 12 is positioned before the sorter 11.

[0052] Figs. 3a to 3c show another example, also having a 4/4-meter. In contrast to the Fig. 2a to 2d embodiment, the microtime in Fig. 3a to Fig. 3c is 3, which results in a higher pattern length or size of the rhythmic pattern in Fig. 3a and which also results in the fact that the music piece has a kind of a ternary feeling. Fig. 3a shows the output of the processor, since the rhythmic level is marked. Nevertheless, the Fig. 3a embodiment still includes the grid position index, which is the "equivalent element index" in Fig. 3a.

[0053] In Fig. 3b, the output after the zero eliminator 12 in Fig. 1 is shown, i.e., a situation in which all velocity values equal to zero and the corresponding prime indexes (elements) are deleted.

[0054] Fig. 3c finally shows the encoded rhythmic pattern as output by the sorter 11 having, again, three groups, wherein the first group has two elements, the second group has two elements and the third group has four elements. The Fig. 3c embodiment is remarkable in that both members of the first group have lower velocity values than both members of the second group, while the velocity values of the third group are all lower than the velocity values of the first and second groups.

[0055] Fig. 4a shows an MPEG-7 conformant description of the audio pattern description syntax (DS). The explanation of the elements in Fig. 4a, i.e., the semantics, is shown in Fig. 4b. The audio pattern data syntax includes information on the meter of the corresponding bar of the piece of music and can be included in the MPEG-7 syntax. Additionally, the Fig. 4a embodiment includes information on the tempo of the drum pattern in beats per minute (BPM). Additionally, emphasis is drawn to line 40 in Fig. 4a, which has the element name "pattern", wherein a further description of the pattern 40 is given in subsequent Figs. 5a and 5b. Additionally, the Fig. 4a description includes an element name entitled "barNum", which indicates the position of the bar or the rhythmic pattern in the piece of music. In case of a bar-wise description, the barNum for the first bar would be one, the barNum for the tenth bar would be ten and the barNum for the five hundredth bar would be five hundred, for example. In case of averaging rhythmic pattern types, in which, for example, ten subsequent patterns are combined to provide an average pattern, the barNum for the first ten bars would be one, the barNum for the bars eleven to twenty would be two, etc.

[0056] Fig. 5a illustrates a more detailed representation of an audio rhythmic pattern. In addition to the bar Num information, the Fig. 5a embodiment preferably includes an instrument ID field. In accordance with the preferred embodiment, the Fig. 5a description further includes the prime index vector, which is, for example, in line 22 in Fig. 2c and a velocity vector, which is in line 23 of Fig. 2c or Fig. 2d. In addition to this information, the Fig. 5a embodiment also includes the microtime and tempo in beats per minute. It is unnecessary to include the tempo in the Fig. 5a description as well as in the Fig. 4a description. Additionally, the Fig. 4a description includes information on the meter, from which the prime factor decomposition is derived.

[0057] Fig. 6 illustrates an example for several instruments, i.e., for instruments having instrument IDs 10, 13 and 14. Additionally, as has been outlined above with respect to Fig. 5a, the Fig. 6 embodiment also includes a bar Num field as well as the microtime, naturally the prime index vector and the velocity vector. The Fig. 6 example also illustrates a similar description for the next bar having bar Num 2, i.e., for the bar following the bar having the bar Num equal to zero.

[0058] It further becomes clear from Fig. 6 that the bar indicated by bar Num does not have the instrument with the instrument ID equal to 14, but only has instruments identified by instrument identifications 10 and 13. Additionally, it becomes clear that instrument ID 13 has the same prime index vector for both bars, while instrument ID = 10 has a velocity value different from zero at prime index 6 in the earlier bar, while no such velocity value at the prime index 6 is included in the later bar.

[0059] Fig. 7 illustrates a preferred implementation of the inventive processor 10 for determining the grid positions having several rhythmic levels. In particular, the processor is operative to calculate each prime index of a rhythmical pattern by using a prime factorization of the nominator of the meter, which is, in the Fig. 2 example, a vector having only elements (2, 2).

[0060] In a further step, also a prime factorization of the microtime is performed, which results in the vector having a single component of two. Then, an iterative calculation of the prime indices for the grid position is performed. In an outer iteration loop, a first iteration index i is incremented until the length of the prime factorization vector, i.e., until two in the present embodiment. In an inner iteration loop, an iteration parameter j is iterated from one to the number of components in the prime factorization vector of the microtime. In the present embodiment, this value is equal to one, so that the inner iteration loop is only processed for a first time, but is not processed for a second time. A certain grid position is then determined by the variable "count". It is then determined as to whether the grid-position defined by count is not yet assigned. When the grid position determined by count is not yet assigned, it receives a prime index value determined by the current value of the prime index parameter (primeIndex). in this way, the primeindex vector primeVec is iteratively filled up.

[0061] After the iterations for i and j have been processed, essentially the same procedure is performed for the microtime prime factorization vector, as is illustrated in Fig. 7.

[0062] When the Fig. 7 algorithm is completely processed, each grid position has a certain prime index value, as illustrated in the Fig. 2 and Fig. 3 embodiments. The vector primeVec is, therefore, completed.

[0063] An alternative embodiment is shown in Fig. 8, which receives, as an input, the prime index vector nomVec, which is the vector having the prime factors of the nominator of the meter. Additionally, the embodiment in Fig. 8 also receives the microtime prime index vector mtVec.

[0064] The first iterative processing step is then performed using the prime factorization vector of the nominator of the meter, which is followed by a second iteration process determined by the prime factorization vector of the microtime. The function entitled "Prod" outputs the product of all components in a vector.

[0065] Alternate embodiments for calculating the prime index values for the associated velocity values can be devised. When such algorithms are based on a prime vector decomposition of the meter of the bar and, preferably, also on the prime factorization of the microtime, one not only receives an encoded rhythmic pattern, in which velocities having the same rhythmic levels are sorted, but in which also the time relation between velocity values having the same rhythmic level is kept.

[0066] Generally, the inventive encoded rhythmic pattern is based on a non-linear indexing of the velocity values with the help of the prime index vector. The prime index vector indicates the rhythmic significance (rhythmic level) within the pattern. In general, velocity values that occur on the beat will be indicated by a prime index with a lower integer value than velocity values occurring between two beats (off-beat). Depending on meter and microtime, different numbers of rhythmic hierarchies will result.

[0067] Fig. 9 illustrates a preferred embodiment of an apparatus for determining a relation between a test piece of music and a reference piece of music. To this end, a test piece of music is processed to obtain a test rhythmic pattern, which is input into an encoder 90 to obtain the encoded rhythmic pattern, such as shown in Figs. 2d or 3c. In this regard, the encoder 90 is structured as shown in Fig. 1 and as has been described above.

[0068] The inventive apparatus further includes an input interface 91 for providing an encoded rhythmic pattern of the test piece of music. This encoded rhythmic pattern is input into a search engine 92 for correlating the encoded rhythmic pattern of the test piece of music to an encoded rhythmic pattern included in database 93. The correlation between the encoded rhythmic patterns is performed such that the first group of velocity values of the test rhythmic pattern is compared to the first group of the rhythmic values of the reference rhythmic pattern before the comparison is continued for the second and further groups. Each group can have only a single group member or more than one or even more than two group members, as has been described above with respect to Figs. 2d and 2c. The search engine 92 is operative to provide a correlation result to an output interface 94 for indicating the relation between the test piece of music and the reference piece of music based on the correlation result. Depending on the certain application, the database will include varying numbers of reference pieces of music. When the task of the Fig. 9 system is to simply find out as to whether a certain test rhythmic pattern corresponds to a single reference rhythmic pattern, i.e., when the only information to be obtained by the database is to find out as to whether a test piece of music corresponds to only to a single piece of music and is different from all other pieces of music, the storage of a single encoded rhythmic pattern in the "database" will be sufficient.

[0069] When one has to perform a genre determination, a sample rhythmic pattern typical for each genre will be included in the database 93.

[0070] When, however, one has to fully identify a test piece from which the test rhythmic pattern is derived, one will have to store many encoded reference patterns from many different music pieces in the database to perform a useful music identification process.

[0071] The database 93 does not have to include the whole reference piece of music from which the encoded rhythmic pattern under consideration is derived. Preferably, the database only includes an identification of the corresponding piece of music which, for example, can be used by another database, from which the user can retrieve the final piece of music, which is identified by the output interface.

[0072] As has been outlined above, the relation to be determined by the output interface 94 therefore is a statement that the test piece of music is equal to the (single) reference piece of music or not, that the test piece of music belongs to a certain music genre, that the test piece of music is similar to one reference piece of music from several reference pieces of music (qualitative statement) or that the reference piece of music is equal to one or several pieces of music with certain matching degrees (quantitative statement).

[0073] Fig. 10 shows the situation in which two encoded rhythmic patterns having the same meter (4/4) are compared to each other. In the Fig. 10 embodiment, the zero eliminator was active, so that both rhythmic patterns have different lengths. The search engine 92 of Fig. 9 only has to compare the first and second prime index factor components. Thus, only the number of elements of the shorter representation is taken into account. Since the patterns are sorted, so that more important grid positions come first and less important grid positions come later, the comparison of only the number of elements of the shorter representation is sufficient for obtaining the useful comparison result. In the Fig. 10 embodiment, two steps have already been performed, which are illustrated by reference to Fig. 11. First of all, a meter matching 110 has been performed in the database, so that only encoded rhythmic patterns, which are based on the same meter, are considered for comparison purposes. Therefore, all encoded Rhythmic reference patterns having a meter different from 4/4 are deleted from further consideration by step 110. In a later step 111, the functionality of the zero eliminator from Fig. 1 is advantageously used. In particular, all reference patterns are deleted from further consideration, which have zero values in the first group, when the test pattern does not have a zero value in the first group at the same grid position. In other words, this means that all reference patterns are deleted from further consideration in the search, which have a prime index vector, whose two or three first prime index vector components do not completely match. This will result in a great number of patterns, which has been sorted out at a very early stage of comparing. However, since the first two or three prime index values, i.e., the lowest prime index values indicate the most important velocity values, such a sorting-out of reference patterns based on comparing zero values in the first group will not incur any danger of sorting-out potential matches too early.

[0074] After sorting-out in step 111, the step of comparing is performed so that the best candidates from the remaining reference patterns are determined, as indicated by step 112 in Fig. 11.

[0075] Based on these remaining candidates, the step of comparing 113 of this encoded test rhythmic pattern and the corresponding second groups of the reference rhythmic patterns is performed, wherein this procedure can be repeated until all groups have been processed. Then, at the end of the process, the search engine 92 will generate a quantitative or qualitative search result 114.

[0076] It becomes clear from the above that the inventive encoded rhythmic pattern allows to perform a sequential database search, such that the first component of the encoded test rhythmic pattern is compared to a first component of an encoded reference rhythmic pattern, so that after each velocity value, a lot of reference patterns can be cancelled, so that one never has to perform simultaneously comparing many velocity values from the test pattern to many velocity values to the reference pattern. This sequential processing in the search engine is made possible by the sorting of the velocity values in accordance with their importance to the rhythmic gist of a piece of music.

[0077] Figs. 12a and 12b illustrate the situation having a query pattern, which not only consists of a single encoded rhythmic pattern for a single instrument, but which includes several encoded rhythmic patterns from several instruments. In the Fig. 12a embodiment, the encoded rhythmic patterns for the instruments have already been re-expanded, so that the functionality of the zero eliminator from Fig. 1 is cancelled. This results in the situation of Fig. 12a, in which a run of zeros at the end of the pattern, i.e., from prime index 3 to prime index 8 of the second instrument has not been re-expanded. This function has to take place until the highest prime index from all music instruments is reached. In the Fig. 12a embodiment, the highest prime index is given by the instrument having the instrument ID 4.

[0078] Fig. 12a, therefore, shows an expanded, but ordered representation of the rhythmic patterns in accordance with the order of the prime index, wherein the matrix of Fig. 12a is obtained for more than one instrument. In this case, one only has to search the field of a reference pattern in the database in which the velocity is not equal to zero. It becomes clear from Fig. 12b that one only has to search the fields shown in Fig. 12b in the database and one can fully ignore the other fields. This reduces the search overhead in a database, too.

[0079] The inventive concept of encoded rhythmic patterns allows describing rhythmical pattern information in a very flexible and general way. Preferably, the microtime is defined as an element within the audio rhythmic pattern type. In addition, the description of audio rhythmic pattern types is expanded to the representation of several consecutive rhythmic patterns and an arbitrary number of rhythmic patterns that occur in parallel at similar time instances. Thus, a very flexible representation of rhythmic patterns is made possible by the inventive rhythmic pattern encoding.

[0080] A quantization of the velocity values to seven loudness states as used in classic music notation (pianissimo possible ppp ... fortefortissimo fff) can be used for being in conformance with classical music notation, but leads to loss of information, for example, in comparison to standard MIDI notation, since the velocity values degenerate to only seven different quantized states.

[0081] The inventive rhythmic pattern encoding is a lossless encoding scheme, which, therefore, can be reversed or decoded, so that a decoded rhythmic pattern is obtained. To this end, the functionalities of the sorter, the zero eliminator and the processor from the Fig. 1 encoder scheme have to be reversed. In case of preferable embodiments in which the prime index is used, one would, first of all, perform a prime index/grid position index resorting step. In this case, one would mark the beat positions and the offbeat positions in an empty bit position. One would then start with the highest prime index. When the highest prime index has a non-zero velocity value, this velocity value is sorted into the grid position having the first beat in the grid. The second highest prime index is then used which, when same has a velocity value not equal to zero, is attributed to the second beat in the bar. When the second prime index vector component has an associated velocity value of zero, this means that such a second prime index value does not exist. Therefore, the grid position for the second beat receives a velocity value of zero, etc.

[0082] Whether a grid position value receives a zero or not, is determined by checking out as to whether the sequence of prime index values is a non-disturbed sequence from one to the pattern length in one-increment steps or not. When one encounters a missing prime index value, this indicates that the grid position associated to this missing prime index value receives a zero velocity value.

[0083] Depending on the requirements, the inventive methods can be implemented in hardware, software or in firmware. Therefore, the invention also relates to a computer readable medium having store a program code, which when running on a computer results in one of the inventive methods. Thus, the present invention is a computer program having a program code, which when running on a computer results in an inventive method.


Claims

1. Rhythm pattern database search engine comprising an apparatus for generating an encoded rhythmic pattern from a rhythmic pattern of an audio piece, the rhythmic pattern having a set of intensity values (20b), each intensity value being associated with a grid position (20a) from a plurality of grid positions in a tatum grid, the plurality of grid positions further having grid positions at two different rhythmic levels, a grid position at a first rhythmic level having a higher significance for a rhythmic gist of the audio piece than the grid position at the second rhythmic level, characterized by:

a processor (10) for determining, from the tatum grid, which grid positions are to be attributed to the first rhythmic level and which grid positions are to be attributed to the second rhythmic level in order to provide information on the rhythmic level for each grid position; and

a sorter (11) for sorting the intensity values using the information on the rhythmic level for each grid position, so that the intensity values associated with grid positions at the first rhythmic level form a first group and that intensity values associated with grid positions at the second rhythmic level form a second group and that the first group and the second group are in sequence to each other to obtain the encoded rhythmic pattern.


 
2. Apparatus in accordance with claim 1, in which the rhythmic pattern has an assigned meter, the rhythmic levels being defined by the meter, and
in which the processor (10) is operative to determine the grid positions at the rhythmic levels based on predetermined rhythmic level information associated with the meter.
 
3. Apparatus in accordance with claim 1 or 2, in which the sorter (11) is operative to output the encoded rhythmic pattern as a data structure having a start point and an end point, and
in which the sorter is operative to align the first group with the start and to align a higher group with the end.
 
4. Apparatus in accordance with one of the preceding claims, in which a number of grid positions in the rhythmic pattern is defined by a meter and a microtime, the microtime defining a maximum number of occurrence of notes within intervals between two successive beats, and
in which the processor (11) is operative to determine the rhythmic levels using information on the meter and the microtime.
 
5. Apparatus in accordance with one of the preceding claims, in which the rhythmic pattern has beats at the first set of grid positions and off-beats at the second set of grid positions, and
in which the processor (10) is operative to determine the first set of grid positions as grid positions at the first rhythmic level and in which the processor is operative to determine the second set of grid positions as grid positions at the second rhythmic level.
 
6. Apparatus in accordance with one of the preceding claims, in which the intensity values are quantized intensity values, wherein the rhythmic pattern includes intensity values below a quantizing threshold, the apparatus further comprising:

a zero eliminator (12) for eliminating a grid position having zero intensity values, so that the encoded rhythmic pattern only includes intensity values being different from zero.


 
7. Apparatus in accordance with any one of the preceding claims, in which the sorter (11) is operative to output the intensity values as a intensity value vector and to further output an index vector, the index vector having index values, each index value indicating a position of an associated intensity value in the rhythmic pattern.
 
8. Apparatus in accordance with any of the preceding claims, in which the processor (10) is operative to calculate, for each grid position, an index value, so that the grid position of the first group of intensity values have lower index values than the grid position of the second group of intensity values, and
in which the sorter (11) is operative to sort the intensity values, such that the sequence of intensity values has an associated sequence of index values in which the index values are sorted in an ascending order.
 
9. Apparatus in accordance with claims 7 or 8, in which the processor (10) is operative to iteratively determine the index values using information on a meter associated with the rhythmic pattern and information on the microtime, wherein the microtime is defined, such that a product between the microtime and a nominator of the meter results in a rhythmic pattern length.
 
10. Apparatus in accordance with claim 9, in which the processor (10) is operative to use a result of a prime factor decomposition of a nominator of the meter for determining the index values.
 
11. Apparatus in accordance with claim 10, in which the processor is operative to determine a grid position to be associated with an index value based on the result of a prime factor decomposition of a meter nominator or the microtime and in which the index value is incremented as soon as a lower index value is already associated to a grid position.
 
12. Apparatus in accordance with any one of the preceding claims, in which the rhythmic pattern has a meter of 4/4, in which the microtime is mt, in which the grid positions 1, (3 x mt) - 1 are at the first rhythmic level, the grid positions 2 x mt - 1, 4 x mt - 1 are at the second rhythmic level and the remaining grid positions are at a third rhythmic level.
 
13. Rhythm pattern database search method comprising a method of generating an encoded rhythmic pattern from a rhythmic pattern of an audio piece, the rhythmic pattern having a set of intensity values (20b), each intensity value being associated with a grid position (20a) from a plurality of grid positions in a tatum grid, the plurality of grid positions further having grid positions at two different rhythmic levels, a grid position at a first rhythmic level having a higher significance for a rhythmic gist of the audio piece than the grid position at the second rhythmic level, characterized by:

determining (10), from the tatum grid, which grid positions are to be attributed to the first rhythmic level and determining, which grid positions are to be attributed to the second rhythmic level and providing information on the rhythmic level for each grid position; and

sorting (11) the intensity values using the information on the rhythmic level for each grid position, so that the intensity values associated with grid positions at the first rhythmic level form a first group and that intensity values associated with grid positions at the second rhythmic level form a second group and that the first group and the second group are in sequence to each other to obtain the encoded rhythmic pattern.


 
14. Rhythm pattern database search engine comprising an encoded rhythmic pattern of an audio piece, the encoded rhythmic pattern being characterized by having sorted intensity values associated with grid positions in a tatum grid at a first rhythmic level in a first group of intensity values and having intensity values associated with grid positions at a second rhythmic level in a second group of intensity values, wherein the first group of intensity values and the second group of intensity values are in sequence to each other, and wherein a grid position at a first rhythmic level has a higher significance for a rhythmic gist of the audio piece than the grid position at the second rhythmic level.
 
15. Apparatus for determining a relation between a test piece of music and a reference piece of music, characterized by:

an input interface (91) for providing an encoded rhythmic pattern of the test piece of music, the encoded rhythmic pattern having sorted intensity values associated with grid positions in a tatum grid at a first rhythmic level in a first group of intensity values and having intensity values associated with grid positions at a second rhythmic level in a second group of intensity values, wherein the first group of intensity values and the second group of intensity values are in sequence to each other, and wherein a grid position at a first rhythmic level has a higher significance for a rhythmic gist of the music piece than the grid position at the second rhythmic level;

a database (93) having an encoded rhythmic pattern for at least one reference piece of music;

a search engine (92) for comparing the encoded rhythmic pattern of the test piece of music to the encoded rhythmic pattern of the reference piece of music, the search engine being operative to correlate the first group of intensity values of the encoded test rhythmic pattern to a first group of intensity values of the encoded rhythmic pattern for the reference piece of music, before comparing further intensity values; and

an output interface (94) for indicating the relation between the test piece of music and the reference piece of music based on the correlation result.


 
16. Apparatus in accordance with claim 15, in which the search engine is operative to delete (111) a reference piece of music from further consideration when the rhythmic pattern of the reference piece of music has a zero intensity value in the first group of intensity values at a grid position at which the test rhythmic pattern has an intensity value different from zero before correlating the second group of intensity values.
 
17. Apparatus in accordance with claim 16, in which the encoded test rhythmic pattern and the encoded reference rhythmic pattern have index values associated with the intensity values in the first group of intensity values and the second group of intensity values and in which the encoded rhythmic patterns only include index values for intensity values different from zero;
wherein the search engine (92) is operative to delete the reference rhythmic patterns from further consideration based on a comparison of the index values, so that only reference rhythmic patterns remain for further consideration, which have matching index values with respect to the test rhythmic pattern.
 
18. Method of determining a relation between a test piece of music and a reference piece of music, the method characterized by:

providing (91) an encoded rhythmic pattern of the test piece of music, the encoded rhythmic pattern having sorted intensity values associated with grid positions in a tatum grid at a first rhythmic level in a first group of intensity values and having intensity values associated with grid positions at a second rhythmic level in a second group of intensity values, wherein the first group of intensity values and the second group of intensity values are in sequence to each other and an encoded rhythmic pattern for at least one reference piece of music, and wherein a grid position at a first rhythmic level has a higher significance for a rhythmic gist of the music piece than the grid position at the second rhythmic level;

comparing (92) the encoded rhythmic pattern of the test piece of music to the encoded rhythmic pattern of the reference piece of music, the search engine being operative to correlate the first group of intensity values of the encoded test rhythmic pattern to a first group of intensity values of the encoded rhythmic pattern for the reference piece of music, before comparing further intensity values; and

indicating (94) the relation between the test piece of music and the reference piece of music based on the correlation result.


 
19. A rhythm pattern database search apparatus comprising an apparatus for decoding an encoded rhythmic pattern, which has been encoded by the method in accordance with claim 1 to obtain a decoded rhythmic pattern.
 
20. Rhythm pattern database search method comprising a method of decoding an encoded rhythmic pattern, which has been encoded by the method in accordance with claim 13 to obtain a decoded rhythmic pattern.
 
21. Computer-program for performing a method in accordance with claim 13, 15 or 20, when the computer-program runs on a computer.
 


Ansprüche

1. Rhythmusmusterdatenbanksuchmaschine, die eine Vorrichtung zum Erzeugen eines codierten rhythmischen Musters aus einem rhythmischen Muster eines Audiostücks umfasst, wobei das rhythmische Muster einen Satz von Intensitätswerten (20b) aufweist, wobei jeder Intensitätswert einer Rasterposition (20a) aus einer Mehrzahl von Rasterpositionen in einem Tatumraster zugeordnet ist, wobei die Mehrzahl von Rasterpositionen ferner Rasterpositionen auf zwei verschiedenen rhythmischen Ebenen aufweist, wobei eine Rasterposition auf einer ersten rhythmischen Ebene eine größere Bedeutung für eine rhythmische Kernaussage des Audiostücks aufweist als die Rasterposition auf der zweiten rhythmischen Ebene, gekennzeichnet durch:

einen Prozessor (10) zum Bestimmen, anhand des Tatumrasters, welche Rasterpositionen der ersten rhythmischen Ebene zuzurechnen sind und welche Rasterpositionen der zweiten rhythmischen Ebene zuzurechnen sind, um Informationen über die rhythmische Ebene für jede Rasterposition bereitzustellen; und

einen Sortierer (11) zum Sortieren der Intensitätswerte unter Verwendung der Informationen über die rhythmische Ebene für jede Rasterposition, so dass die Intensitätswerte, die Rasterpositionen auf der ersten rhythmischen Ebene zugeordnet sind, eine erste Gruppe bilden, und dass Intensitätswerte, die Rasterpositionen auf der zweiten rhythmischen Ebene zugeordnet sind, eine zweite Gruppe bilden, und dass die erste Gruppe und die zweite Gruppe aufeinander folgen, um das codierte rhythmische Muster zu erhalten.


 
2. Vorrichtung gemäß Anspruch 1, bei der das rhythmische Muster einen zugewiesenen Takt aufweist, wobei die rhythmischen Ebenen durch den Takt definiert sind, und
bei der der Prozessor (10) dahin gehend wirksam ist, die Rasterpositionen auf den rhythmischen Ebenen auf der Basis von vorbestimmten Rhythmische-Ebene-Informationen, die dem Takt zugeordnet sind, zu bestimmen.
 
3. Vorrichtung gemäß Anspruch 1 oder 2, bei der der Sortierer (11) dahin gehend wirksam ist, das codierte rhythmische Muster als Datenstruktur auszugeben, die einen Anfangspunkt und einen Endpunkt aufweist, und
bei der der Sortierer dahin gehend wirksam ist, die erste Gruppe mit dem Anfang auszurichten und eine höhere Gruppe mit dem Ende auszurichten.
 
4. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der eine Anzahl von Rasterpositionen in dem rhythmischen Muster durch einen Takt und eine Mikrozeit definiert ist, wobei die Mikrozeit eine maximale Anzahl eines Auftretens von Tönen innerhalb Intervallen zwischen zwei aufeinander folgenden Beats definiert, und
bei der der Prozessor (11) dahin gehend wirksam ist, die rhythmischen Ebenen unter Verwendung von Informationen über den Takt und die Mikrozeit zu bestimmen.
 
5. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der das rhythmische Muster Beats an dem ersten Satz von Rasterpositionen und Off-Beats an dem zweiten Satz von Rasterpositionen aufweist, und
bei der der Prozessor (10) dahin gehend wirksam ist, den ersten Satz von Rasterpositionen als Rasterpositionen auf der ersten rhythmischen Ebene zu bestimmen, und bei der der Prozessor dahin gehend wirksam ist, den zweiten Satz von Rasterpositionen als Rasterpositionen auf der zweiten rhythmischen Ebene zu bestimmen.
 
6. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die Intensitätswerte quantisierte Intensitätswerte sind, wobei das rhythmische Muster Intensitätswerte umfasst, die unterhalb einer Quantisierungsschwelle liegen, wobei die Vorrichtung ferner folgendes Merkmal aufweist:

einen Null-Beseitiger (12) zum Eliminieren einer Rasterposition, die Null-Intensitätswerte aufweist, so dass das codierte rhythmische Muster lediglich Intensitätswerte umfasst, die nicht null sind.


 
7. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der der Sortierer (11) dahin gehend wirksam ist, die Intensitätswerte als Intensitätswertvektor auszugeben und ferner einen Indexvektor auszugeben, wobei der Indexvektor Indexwerte aufweist, wobei jeder Indexwert eine Position eines zugeordneten Intensitätswertes in dem rhythmischen Muster angibt.
 
8. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der der Prozessor (10) dahin gehend wirksam ist, für jede Rasterposition einen Indexwert zu berechnen, so dass die Rasterposition der ersten Gruppe von Intensitätswerten niedrigere Indexwerte aufweist als die Rasterposition der zweiten Gruppe von Intensitätswerten, und
bei der der Sortierer (11) dahin gehend wirksam ist, die Intensitätswerte so zu sortieren, dass die Sequenz von Intensitätswerten eine zugeordnete Sequenz von Indexwerten aufweist, bei der die Indexwerte in einer aufsteigenden Reihenfolge sortiert sind.
 
9. Vorrichtung gemäß Anspruch 7 oder 8, bei der der Prozessor (10) dahin gehend wirksam ist, die Indexwerte unter Verwendung von Informationen über einen dem rhythmischen Muster zugeordneten Takt und Informationen über die Mikrozeit iterativ zu bestimmen, wobei die Mikrozeit derart definiert ist, dass ein Produkt zwischen der Mikrozeit und einem Nominator des Taktes zu einer Rhythmisches-Muster-Länge führt.
 
10. Vorrichtung gemäß Anspruch 9, bei der der Prozessor (10) dahin gehend wirksam ist, ein Ergebnis einer Primfaktorzerlegung eines Nominators des Taktes zum Bestimmen der Indexwerte zu verwenden.
 
11. Vorrichtung gemäß Anspruch 10, bei der der Prozessor dahin gehend wirksam ist, auf der Basis des Ergebnisses einer Primfaktorzerlegung eines Taktnominators oder der Mikrozeit eine Rasterposition zu bestimmen, die einem Indexwert zuzuordnen ist, und bei der der Indexwert inkrementiert wird, sobald ein niedrigerer Indexwert bereits einer Rasterposition zugeordnet wird.
 
12. Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der das rhythmische Muster einen Viervierteltakt aufweist, bei der die Mikrozeit mt ist, bei der die Rasterpositionen 1, (3 x mt) - 1 auf der ersten rhythmischen Ebene liegen, die Rasterpositionen 2 x mt - 1, 4 x mt - 1 auf der zweiten rhythmischen Ebene liegen, und die übrigen Rasterpositionen auf einer dritten rhythmischen Ebene liegen.
 
13. Rhythmusmusterdatenbanksuchverfahren, das ein Verfahren zum Erzeugen eines codierten rhythmischen Musters aus einem rhythmischen Muster eines Audiostücks umfasst, wobei das rhythmische Muster einen Satz von Intensitätswerten (20b) aufweist, wobei jeder Intensitätswert einer Rasterposition (20a) aus einer Mehrzahl von Rasterpositionen in einem Tatumraster zugeordnet ist, wobei die Mehrzahl von Rasterpositionen ferner Rasterpositionen auf zwei verschiedenen rhythmischen Ebenen aufweist, wobei eine Rasterposition auf einer ersten rhythmischen Ebene eine größere Bedeutung für eine rhythmische Kemaussage des Audiostücks aufweist als die Rasterposition auf der zweiten rhythmischen Ebene, gekennzeichnet durch:

Bestimmen (10), anhand des Tatumrasters, welche Rasterpositionen der ersten rhythmischen Ebene zuzurechnen sind, und Bestimmen, welche Rasterpositionen der zweiten rhythmischen Ebene zuzurechnen sind, und Bereitstellen von Informationen über die rhythmische Ebene für jede Rasterposition; und

Sortieren (11) der Intensitätswerte unter Verwendung der Informationen über die rhythmische Ebene für jede Rasterposition, so dass die Intensitätswerte, die Rasterpositionen auf der ersten rhythmischen Ebene zugeordnet sind, eine erste Gruppe bilden, und dass Intensitätswerte, die Rasterpositionen auf der zweiten rhythmischen Ebene zugeordnet sind, eine zweite Gruppe bilden, und dass die erste Gruppe und die zweite Gruppe aufeinander folgen, um das codierte rhythmische Muster zu erhalten.


 
14. Rhythmusmusterdatenbanksuchmaschine, die ein codiertes rhythmisches Muster eines Audiostücks aufweist, wobei das codierte rhythmische Muster dadurch gekennzeichnet ist, dass es sortierte Intensitätswerte aufweist, die Rasterpositionen in einem Tatumraster auf einer ersten rhythmischen Ebene in einer ersten Gruppe von Intensitätswerten zugeordnet sind, und Intensitätswerte aufweist, die Rasterpositionen auf einer zweiten rhythmischen Ebene in einer zweiten Gruppe von Intensitätswerten zugeordnet sind, wobei die erste Gruppe von Intensitätswerten und die zweite Gruppe von Intensitätswerten aufeinander folgen, und wobei eine Rasterposition auf einer ersten rhythmischen Ebene eine größere Bedeutung für eine rhythmische Kemaussage des Audiostücks aufweist als die Rasterposition auf der zweiten rhythmischen Ebene.
 
15. Vorrichtung zum Bestimmen einer Beziehung zwischen einem Testmusikstück und einem Referenzmusikstück, gekennzeichnet durch:

eine Eingabeschnittstelle (91) zum Bereitstellen eines codierten rhythmischen Musters des Testmusikstücks, wobei das codierte rhythmische Muster sortierte Intensitätswerte aufweist, die Rasterpositionen in einem Tatumraster auf einer ersten rhythmischen Ebene in einer ersten Gruppe von Intensitätswerten zugeordnet sind, und Intensitätswerte aufweist, die Rasterpositionen auf einer zweiten rhythmischen Ebene in einer zweiten Gruppe von Intensitätswerten zugeordnet sind, wobei die erste Gruppe von Intensitätswerten und die zweite Gruppe von Intensitätswerten aufeinander folgen, und wobei eine Rasterposition auf einer ersten rhythmischen Ebene eine größere Bedeutung für eine rhythmische Kernaussage des Musikstücks aufweist als die Rasterposition auf der zweiten rhythmischen Ebene;

eine Datenbank (93), die ein codiertes rhythmisches Muster für zumindest ein Referenzmusikstück aufweist;

eine Suchmaschine (92) zum Vergleichen des codierten rhythmischen Musters des Testmusikstücks mit dem codierten rhythmischen Muster des Referenzmusikstücks, wobei die Suchmaschine dahin gehend wirksam ist, die erste Gruppe von Intensitätswerten des codierten rhythmischen Testmusters mit einer ersten Gruppe von Intensitätswerten des codierten rhythmischen Musters für das Referenzmusikstück zu korrelieren, bevor sie weitere Intensitätswerte vergleicht; und

eine Ausgabeschnittstelle (94) zum Angeben der Beziehung zwischen dem Testmusikstück und dem Referenzmusikstück auf der Basis des Korrelationsergebnisses.


 
16. Vorrichtung gemäß Anspruch 15, bei der die Suchmaschine dahin gehend wirksam ist, ein Referenzmusikstück einer weiteren Betrachtung zu entziehen (111), wenn das rhythmische Muster des Referenzmusikstücks einen Null-Intensitätswert in der ersten Gruppe von Intensitätswerten an einer Rasterposition aufweist, an der das rhythmische Testmuster einen Intensitätswert aufweist, der nicht null ist, bevor sie die zweite Gruppe von Intensitätswerten korreliert.
 
17. Vorrichtung gemäß Anspruch 16, bei der das codierte rhythmische Testmuster und das codierte rhythmische Referenzmuster Indexwerte aufweisen, die den Intensitätswerten in der ersten Gruppe von Intensitätswerten und der zweiten Gruppe von Intensitätswerten zugeordnet sind, und bei der die codierten rhythmischen Muster lediglich Indexwerte für Intensitätswerte, die nicht null sind, umfassen;
wobei die Suchmaschine (92) dahin gehend wirksam ist, die rhythmischen Referenzmuster auf der Basis eines Vergleichs der Indexwerte einer weiteren Betrachtung zu entziehen, so dass lediglich rhythmische Referenzmuster, die bezüglich des rhythmischen Testmusters übereinstimmende Indexwerte aufweisen, weiterhin betrachtet werden.
 
18. Verfahren zum Bestimmen einer Beziehung zwischen einem Testmusikstück und einem Referenzmusikstück, wobei das Verfahren gekennzeichnet ist durch:

Bereitstellen (91) eines codierten rhythmischen Musters des Testmusikstücks, wobei das codierte rhythmische Muster sortierte Intensitätswerte aufweist, die Rasterpositionen in einem Tatumraster auf einer ersten rhythmischen Ebene in einer ersten Gruppe von Intensitätswerten zugeordnet sind, und Intensitätswerte aufweist, die Rasterpositionen auf einer zweiten rhythmischen Ebene in einer zweiten Gruppe von Intensitätswerten zugeordnet sind, wobei die erste Gruppe von Intensitätswerten und die zweite Gruppe von Intensitätswerten aufeinander und auf ein codiertes rhythmisches Muster für zumindest ein Referenzmusikstück folgen, und wobei eine Rasterposition auf einer ersten rhythmischen Ebene eine größere Bedeutung für eine rhythmische Kemaussage des Musikstücks aufweist als die Rasterposition auf der zweiten rhythmischen Ebene;

Vergleichen (92) des codierten rhythmischen Musters des Testmusikstücks mit dem codierten rhythmischen Muster des Referenzmusikstücks, wobei die Suchmaschine dahin gehend wirksam ist, die erste Gruppe von Intensitätswerten des codierten rhythmischen Testmusters mit einer ersten Gruppe von Intensitätswerten des codierten rhythmischen Musters für das Referenzmusikstück zu korrelieren, bevor sie weitere Intensitätswerte vergleicht; und

Angeben (94) der Beziehung zwischen dem Testmusikstück und dem Referenzmusikstück auf der Basis des Korrelationsergebnisses.


 
19. Eine Rhythmusmusterdatenbanksuchvorrichtung, die eine Vorrichtung zum Decodieren eines codierten rhythmischen Musters umfasst, das durch das Verfahren gemäß Anspruch 1 codiert wurde, um ein decodiertes rhythmisches Muster zu erhalten.
 
20. Rhythmusmusterdatenbanksuchverfahren, das ein Verfahren zum Decodieren eines codierten rhythmischen Musters umfasst, das durch das Verfahren gemäß Anspruch 13 codiert wurde, um ein decodiertes rhythmisches Muster zu erhalten.
 
21. Computerprogramm zum Ausführen eines Verfahrens gemäß Anspruch 13, 15 oder 20, wenn das Computerprogramm auf einem Computer läuft.
 


Revendications

1. Moteur de recherche dans une base de données de motifs rythmiques, comprenant un appareil destiné à générer un motif rythmique codé à partir d'un motif rythmique d'un morceau audio, le motif rythmique présentant un ensemble de valeurs d'intensité (20b), chaque valeur d'intensité étant associée à une position de grille (20a) parmi une pluralité de positions de grille dans une grille de Tatum, la pluralité de positions de grille présentant par ailleurs des positions de grille à deux niveaux rythmiques différents, une position de grille à un premier niveau rythmique ayant une plus grande importance pour une essence rythmique du morceau audio que la position de grille au deuxième niveau rythmique, caractérisé par:

un processeur (10) destiné à déterminer, à partir de la grille de Tatum, les positions de grille qui doivent être attribuées au premier niveau rythmique et les positions de grille qui doivent être attribuées au deuxième niveau rythmique pour fournir les informations sur le niveau rythmique pour chaque position de grille; et

un trieur (11) destiné à trier les valeurs d'intensité à l'aide des informations sur le niveau rythmique pour chaque position de grille, de sorte que les valeurs d'intensité associées à des positions de grille au premier niveau rythmique forment un premier groupe et que les valeurs d'intensité associées à des positions de grille au deuxième niveau rythmique forment un deuxième groupe et que le premier groupe et le deuxième groupe soient en séquence entre eux, pour obtenir le motif rythmique codé.


 
2. Appareil selon la revendication 1, dans lequel le motif rythmique présente un moyen de mesure lui attribué, les niveaux rythmiques étant définis par le moyen de mesure, et
dans lequel le processeur (10) est opérationnel pour déterminer les positions de grille aux niveaux rythmiques sur base d'informations de niveau rythmique prédéterminées associées au moyen de mesure.
 
3. Appareil selon la revendication 1 ou 2, dans lequel le trieur (11) est opérationnel pour sortir le motif rythmique codé comme structure de données ayant un point de début et un point de fin, et
dans lequel le trieur est opérationnel pour aligner le premier groupe sur le début et pour aligner un groupe supérieur sur la fin.
 
4. Appareil selon l'une des revendications précédentes, dans lequel un nombre de positions de grille dans le motif rythmique est défini par un moyen de mesure et un micro-temps, le micro-temps définissant un nombre maximum de production de notes dans des intervalles entre deux battements successifs, et
dans lequel le processeur (11) est opérationnel pour déterminer les niveaux rythmiques à l'aide d'informations sur le moyen de mesure et le micro-temps.
 
5. Appareil selon l'une des revendications précédentes, dans lequel le motif rythmique présente des battements au premier ensemble de positions de grille et des contretemps au deuxième ensemble de positions de grille, et
dans lequel le processeur (10) est opérationnel pour déterminer le premier ensemble de positions de grille comme positions de grille au premier niveau rythmique et dans lequel le processeur est opérationnel pour déterminer le deuxième ensemble de positions de grille comme positions de grille au deuxième niveau rythmique.
 
6. Appareil selon l'une des revendications précédentes, dans lequel les valeurs d'intensité sont des valeurs d'intensité quantifiées, dans lequel le motif rythmique comporte des valeurs d'intensité au-dessous d'un seuil de quantification, l'appareil comprenant par ailleurs:

un éliminateur de zéros (12) destiné à éliminer une position de grille présentant des valeurs d'intensité zéro, de sorte que le motif rythmique codé ne comporte que des valeurs d'intensité différentes de zéro.


 
7. Appareil selon l'une des revendications précédentes, dans lequel le trieur (11) est opérationnel pour sortir les valeurs d'intensité comme vecteur de valeurs d'intensité et pour sortir par ailleurs un vecteur d'indices, le vecteur d'indices présentant des valeurs d'indice, chaque valeur d'indice indiquant une position d'une valeur d'intensité associée dans le motif rythmique.
 
8. Appareil selon l'une quelconque des revendications précédentes, dans lequel le processeur (10) est opérationnel pour calculer, pour chaque position de grille, une valeur d'indice, de sorte que la position de grille du premier groupe de valeurs d'intensité présente des valeurs d'indice inférieures à celles de la position de grille du deuxième groupe de valeurs d'intensité, et
dans lequel le trieur (11) est opérationnel pour trier les valeurs d'intensité, de sorte que la séquence de valeurs d'intensité présente une séquence de valeurs d'indice associée dans laquelle les valeurs d'indice sont triées selon un ordre ascendant.
 
9. Appareil selon les revendications 7 ou 8, dans lequel le processeur (10) est opérationnel pour déterminer de manière itérative les valeurs d'indice à l'aide d'informations sur un moyen de mesure associé au motif rythmique et d'informations sur le micro-temps, dans lequel le micro-temps est défini de sorte qu'un produit entre le micro-temps et un nominateur du moyen de mesure résulte en une longueur de motif rythmique.
 
10. Appareil selon la revendication 9, dans lequel le processeur (10) est opérationnel pour utiliser un résultat d'une décomposition de facteur primaire d'un nominateur du moyen de mesure, pour déterminer les valeurs d'indice.
 
11. Appareil selon la revendication 10, dans lequel le processeur est opérationnel pour déterminer une position de grille à associer à une valeur d'indice sur base du résultat d'une décomposition de facteur primaire d'un nominateur du moyen de mesure ou du micro-temps et dans lequel la valeur d'indice est incrémentée dès qu'une valeur d'indice inférieure est déjà associée à une position de grille.
 
12. Appareil selon l'une quelconque des revendications précédentes, dans lequel le motif rythmique présente un moyen de mesure de 4/4, dans lequel le micro-temps est mt, dans lequel les positions de grille 1, (3 x mt) - 1 sont au premier niveau rythmique, les positions de grille 2 x mt - 1, 4 x mt - 1 sont au deuxième niveau rythmique et les positions de grille restantes sont au troisième niveau rythmique.
 
13. Procédé de recherche dans une base de données de motifs rythmiques, comprenant un procédé pour générer un motif rythmique codé à partir d'un motif rythmique d'un morceau audio, le motif rythmique présentant un ensemble de valeurs d'intensité (20b), chaque valeur d'intensité étant associée à une position de grille (20a) parmi une pluralité de positions de grille dans une grille de Tatum, la pluralité de positions de grille présentant par ailleurs des positions de grille à deux niveaux rythmiques différents, une position de grille à un premier niveau rythmique ayant une plus grande importance pour une essence rythmique du morceau audio que la position de grille au deuxième niveau rythmique, caractérisé par:

déterminer (10), à partir de la grille de Tatum, les positions de grille qui doivent être attribuées au premier niveau rythmique et déterminer les positions de grille qui doivent être attribuées au deuxième niveau rythmique et fournir les informations sur le niveau rythmique pour chaque position de grille; et

trier (11) les valeurs d'intensité à l'aide des informations sur le niveau rythmique pour chaque position de grille, de sorte que les valeurs d'intensité associées à des positions de grille au premier niveau rythmique forment un premier groupe et que les valeurs d'intensité associées à des positions de grille au deuxième niveau rythmique forment un deuxième groupe et que le premier groupe et le deuxième groupe soient en séquence entre eux, pour obtenir le motif rythmique codé.


 
14. Moteur de recherche dans une base de données de motifs de rythme, comprenant un motif rythmique codé d'un morceau audio, le motif rythmique codé étant caractérisé par le fait qu'il présente des valeurs d'intensité triées associées à des positions de grille dans une grille de Tatum à un premier niveau rythmique dans un premier groupe de valeurs d'intensité et qu'il présente des valeurs d'intensité associées à des positions de grille à un deuxième niveau rythmique dans un deuxième groupe de valeurs d'intensité, dans lequel le premier groupe de valeurs d'intensité et le deuxième groupe de valeurs d'intensité sont en séquence entre eux, et dans lequel une position de grille à un premier niveau rythmique a une plus grande importance pour une essence rythmique du morceau audio que la position de grille au deuxième niveau rythmique.
 
15. Appareil pour déterminer un rapport entre un morceau de musique de test et un morceau de musique de référence, caractérisé par:

une interface d'entrée (91) destinée à fournir un motif rythmique codé du morceau de musique de test, le motif rythmique codé présentant des valeurs d'intensité triées associées à des positions de grille dans une grille de Tatum à un premier niveau rythmique dans un premier groupe de valeurs d'intensité et présentant des valeurs d'intensité associées à des positions de grille à un deuxième niveau rythmique dans un deuxième groupe de valeurs d'intensité, où le premier groupe de valeurs d'intensité et le deuxième groupe de valeurs d'intensité sont en séquence entre eux, et où une position de grille à un premier niveau rythmique a une plus grande importance pour une essence rythmique du morceau de musique que la position de grille au deuxième niveau rythmique;

une base de données (93) présentant un motif rythmique codé pour au moins un morceau de musique de référence;

un moteur de recherche (92) destiné à comparer le motif rythmique codé du morceau de musique de test avec le motif rythmique codé du morceau de musique de référence, le moteur de recherche étant opérationnel pour corréler le premier groupe de valeurs d'intensité du motif rythmique de test codé avec un premier groupe de valeurs d'intensité du motif rythmique codé pour le morceau de musique de référence, avant de comparer d'autres valeurs d'intensité; et

une interface de sortie (94) destinée à indiquer le rapport entre le morceau de musique de test et le morceau de musique de référence sur base du résultat de corrélation.


 
16. Appareil selon la revendication 15, dans lequel le moteur de recherche est opérationnel pour effacer (111) un morceau de musique de référence, pour ne plus en tenir compte lorsque le motif rythmique du morceau de musique de référence présente une valeur d'intensité zéro dans le premier groupe de valeurs d'intensité à une position de grille à laquelle le motif rythmique de test présente une valeur d'intensité différente de zéro avant de corréler le deuxième groupe de valeurs d'intensité.
 
17. Appareil selon la revendication 16, dans lequel le motif rythmique de test codé et le motif rythmique de référence codé présentent des valeurs d'indice associées aux valeurs d'intensité dans le premier groupe de valeurs d'intensité et le deuxième groupe de valeurs d'intensité et dans lequel les motifs rythmiques codés ne comportent que des valeurs d'indice pour les valeurs d'intensité différentes de zéro;
dans lequel le moteur de recherche (92) est opérationnel pour effacer les motifs rythmiques de référence, pour ne plus les prendre en compte, sur base d'une comparaison des valeurs d'indice, de sorte qu'il ne soit plus tenu compte que des motifs rythmiques de référence qui présentent des valeurs d'indice coïncidant avec celles du motif rythmique de test.
 
18. Procédé pour déterminer un rapport entre un morceau de musique de test et un morceau de musique de référence, caractérisé par:

fournir (91) un motif rythmique codé du morceau de musique de test, le motif rythmique codé présentant des valeurs d'intensité triées associées à des positions de grille dans une grille de Tatum à un premier niveau rythmique dans un premier groupe de valeurs d'intensité et présentant des valeurs d'intensité associées à des positions de grille à un deuxième niveau rythmique dans un deuxième groupe de valeurs d'intensité, où le premier groupe de valeurs d'intensité et le deuxième groupe de valeurs d'intensité sont en séquence entre eux et un motif rythmique codé pour au moins un morceau de musique de référence, et où une position de grille à un premier niveau rythmique a une plus grande importance pour une essence rythmique du morceau de musique que la position de grille au deuxième niveau rythmique;

comparer (92) le motif rythmique codé du morceau de musique de test avec le motif rythmique codé du morceau de musique de référence, le moteur de recherche étant opérationnel pour corréler le premier groupe de valeurs d'intensité du motif rythmique de test codé avec un premier groupe de valeurs d'intensité du motif rythmique codé pour le morceau de musique de référence, avant de comparer d'autres valeurs d'intensité; et

indiquer (94) le rapport entre le morceau de musique de test et le morceau de musique de référence sur base du résultat de corrélation.


 
19. Appareil de recherche dans une base de données de motifs rythmiques comprenant un appareil pour décoder un motif rythmique codé qui a été codé par le procédé selon la revendication 1, pour obtenir un motif rythmique décodé.
 
20. Procédé de recherche dans une base de données de motifs rythmiques comprenant un procédé pour décoder un motif rythmique codé qui a été codé par le procédé selon la revendication 13, pour obtenir un motif rythmique décodé.
 
21. Programme d'ordinateur pour réaliser un procédé selon la revendication 13, 15 ou 20 lorsque le programme d'ordinateur est exécuté sur un ordinateur.
 




Drawing









































Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Non-patent literature cited in the description