[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.
[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.
[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.
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.
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.
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.