WO2006034743A1 - Device and method for arranging in groups temporal segments of a piece of music - Google Patents

Device and method for arranging in groups temporal segments of a piece of music Download PDF

Info

Publication number
WO2006034743A1
WO2006034743A1 PCT/EP2005/007751 EP2005007751W WO2006034743A1 WO 2006034743 A1 WO2006034743 A1 WO 2006034743A1 EP 2005007751 W EP2005007751 W EP 2005007751W WO 2006034743 A1 WO2006034743 A1 WO 2006034743A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
class
similarity
segments
value
Prior art date
Application number
PCT/EP2005/007751
Other languages
German (de)
French (fr)
Inventor
Markus Van Pinxteren
Michael Saupe
Markus Cremer
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority to EP05760763.2A priority Critical patent/EP1794743B1/en
Priority to JP2007533882A priority patent/JP4775380B2/en
Publication of WO2006034743A1 publication Critical patent/WO2006034743A1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/061Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of musical phrases, isolation of musically relevant segments, e.g. musical thumbnail generation, or for temporal structure analysis of a musical piece, e.g. determination of the movement sequence of a musical work

Definitions

  • the present invention relates to the audio segmentation and in particular to the analysis of pieces of music on the individual Kleintei ⁇ contained in the pieces of music, which may occur repeatedly in the piece of music.
  • Music from the rock and Popbereicri consists mostly of more or less unique segments, such as intro, verse, chorus, bridge, O ⁇ tro, etc.
  • the beginning and end times of such segments to detect and the segments according to their affiliation to the most important Klas ⁇ Grouping the stanza (verse and chorus) is the goal of audio segmentation.
  • Correct segmentation and also identification of the calculated segments can be usefully used in various areas. For example, pieces of music from online providers such as Amazon, Mu- sicline, etc. can be intelligently "played”.
  • Another application example for the technique of audio segmentation is the integration of the segmentation / Grouping / marking algorithm into a music player.
  • the information about segment beginnings and segment ends makes it possible to navigate through a piece of music. Due to the class affiliation of the segments, ie whether a segment is a verse, a chorus, etc., z. B. also jump directly to the next chorus or the next stanza.
  • Such an application is of interest to large music markets, offering their customers the opportunity to listen to complete albums. As a result, the customer spares himself the annoying, searching fast-forward to characteristic points in the song, which could perhaps lead him to actually buy a piece of music in the end.
  • a WAV file 500 is provided.
  • a feature extraction then takes place, wherein as a feature the spectral coefficients per se or alternatively the mel frequency cepstral coefficients (MFCCs) are extracted.
  • MFCCs mel frequency cepstral coefficients
  • STFT short-time Fourier transform
  • the MFCC features are then extracted in the spectral range.
  • the extracted features are then stored in a memory 504.
  • the feature extraction algorithm now has a segmentation algorithm that ends in a similarity matrix, as shown in a block 506.
  • the feature matrix is read in (508), to then group feature vectors (510), to then build a similarity matrix based on the grouped feature vectors, which consists of a distance measurement between each of all features.
  • all pairs of audio window pairs are compared using a quantitative similarity measure, distance.
  • the music piece is represented as a stream or stream 800 of audio samples.
  • the piece of audio is windowed, as has been stated, with a first window having i and a second window being j.
  • the audio piece has z. B. K window.
  • the similarity matrix has K rows and K columns.
  • a similarity measure to each other is calculated, and the calculated similarity measure or distance measure D (i, j) is input to the row or column designated by i and j in the similarity matrix.
  • One column therefore shows the similarity of the window designated by j to all other audio windows in the piece of music.
  • the matrix is redundant in that it is symmetric to the diagonal, and that on the diagonal the similarity of a window is to itself, which is the trivial case of 100% similarity.
  • FIG. 6 An example of a similarity matrix of a piece can be seen in FIG.
  • the completely symmetrical structure of the matrix with respect to the main diagonal is recognizable, the main diagonal being visible as a light stripe.
  • the main diagonal is not seen as a lighter solid line, but from Fig. 6 is only approximately recognizable.
  • a kernel correlation 512 is performed on a kernel matrix 514 to obtain a novelty measure, also known as a novelty score, that could be averaged and smoothed into
  • a novelty measure also known as a novelty score
  • the segment boundaries are read out using the smoothed novelty value profile, for which purpose the local maxima in the smoothed novelty curve are determined and, if appropriate, must be shifted by a constant number of samples caused by the smoothing in order actually to produce the correct segment - To obtain limits of the audio piece as absolute or relative Zeitan ⁇ gift. - D
  • segment similarity representation or segment similarity matrix is created.
  • An example of a segment similarity matrix is shown in FIG.
  • the similarity matrix in FIG. 7 is basically similar to the feature similarity matrix of FIG. 6, but now, as in FIG. 6, features from windows are no longer used, but features from a whole segment.
  • a clustering is carried out, that is, an arrangement of the segments into segment classes (an arrangement of similar segments into the same
  • Labeling also determines which segment class contains segments which are stanzas, which are reflections, which are intros, outros, bridges, etc. 25
  • a music score is created, which is e.g. B. can be provided to a user, without redundancy of a piece only z. B. a stanza, a chorus and the intro
  • the feature matrix has the dimension number of analysis windows times the number of Merkiinalskostoryen.
  • the similarity matrix By the similarity matrix, the characteristic curve of a piece ⁇ n is given a two-dimensional representation. For each pairwise combination of feature vectors, the distance measure is calculated, which is kept fixed in the similarity matrix. There are various possibilities for calculating the distance measure between two vectors, for example the Euclidean distance measurement and the cosine distance measurement.
  • a result D (i, j) between the two feature vectors is stored in the i, jth element of the window similarity matrix (block 506).
  • the main diagonal of the similarity matrix represents the course over the entire piece. Accordingly, the elements of the Hamptdiagonalen result from the respective comparison of a window with itself and always have the value of the greatest similarity. For the cosine distance measurement this is de: r value 1, for the simple scalar difference and the Euclid distance this value is equal to 0.
  • each element i, j is assigned a gray value.
  • the gray values are graduated in proportion to the similarity values, so that the maximum similarity (the main diagonal) corresponds to the maximum similarity.
  • the structure of a song can already be visually recognized on the basis of the matrix. Areas of similar feature expression correspond to quadrants of similar brightness along the main diagonal. Finding the boundaries between the areas is the task of the actual segmentation.
  • the structure of the similarity matrix is important to the novelty measure calculated in kernel correlation 512. The measure of novelty arises from the correlation of a special kernel along the main diagonal of the similarity matrix.
  • An exemplary kernel K is shown in FIG.
  • this kernel matrix along the main diagonal of the similarity matrix S, and sums up all the products of the superimposed matrix elements for each time point i of the piece, then one obtains the measure of novelty, which is shown by way of example in FIG. 9 in a smoothed form .
  • the kernel K in FIG. 5 is used, but an enlarged kernel, which is additionally superimposed with a Gaussian distribution, so that the edges of the matrix tend towards zero.
  • the novelty measure should be smoothed with different filters, such as IIR filters or FIR filters.
  • segment boundaries of a piece of music are extracted, then similar segments must be identified as such and grouped into classes.
  • Foote and Cooper describe the computation of a segment-based similarity matrix using a Cullback-Leibler distance.
  • individual segment feature matrices are extracted from the entire feature matrix on the basis of the segment boundaries obtained from the course of novelty, ie each of these matrices is a submatrix of the entire feature matrix.
  • an automatic summary of a piece is then carried out on the basis of the segments and clusters of a piece of music. To do this, first select the two clusters with the largest x-ray values. Then, the segment with the maximum value of the corresponding cluster indicator is added to this summary. This means that the summary includes a stanza and a chorus. Alternatively, all repeated segments can also be removed to ensure that all information of the piece is provided, but always exactly once.
  • a disadvantage of the known method is the fact that the singular value decomposition (SVD) for segment class formation, that is to say the assignment of segments to clusters, is very computationally intensive and is problematic in the evaluation of the results. Thus, if the singular values are nearly equal, then a possibly wrong decision is made to the effect that the two similar singular values actually represent the same segment class and not two different segment classes.
  • SMD singular value decomposition
  • the object of the present invention is to provide an improved and at the same time efficient concept for grouping temporal segments of a piece of music.
  • the present invention is based on the finding that the assignment of a segment to a segment class is to be carried out on the basis of an adaptive similarity mean value for a segment such that the overall similarity score is taken into account by the average of the average has a segment throughout the piece. After such a similarity mean has been calculated for a segment, for the calculation of which the number of segments and the similarity values of the plurality of similarity values assigned to the segment are required, then the actual allocation of a segment becomes a segment class, ie a cluster , performed on the basis of this similarity mean.
  • a similarity value of a segment to the segment just considered is above the similarity mean, for example, the segment is assigned as belonging to the segment class currently being considered. On the other hand, if the similarity value of a segment to the segment under consideration is below this similarity mean, it is not assigned to the segment class.
  • the strong deviations of the similarities of segments in pieces or the frequency of the occurrence of certain segments in pieces are taken into account, whereby z. B. numerical problems and thus ambiguities and da ⁇ associated false allocations can be avoided.
  • the concept according to the invention is particularly suitable for music pieces which do not consist only of stanzas and choruses, ie have the segments which belong to the segment class. have the same similarity values, but also for pieces that have other parts in addition to stanza and chorus, namely an introduction (Intro), an interlude (Bridge) or a finale (Outro).
  • the calculation of the adaptive similarity mean and the assignment of a segment are performed iteratively, ignoring assigned segments at the next iteration run.
  • the similarity absolute value that is to say the sum of the similarity values in a column of the similarity matrix, changes again for the next iteration run since already assigned segments have been set to 0.
  • a segmentation post-correction is carried out, in such a way that after the segmentation z. B. due to the novelty value (the local maxima of novelty value) and after a subsequent assignment to segment classes relatively short segments are examined to see if they can be assigned to the predecessor segment or the successor ger segment, as segments below a minimal segment length is likely to indicate over-segmentation.
  • a labeling is carried out after the final segmentation and assignment into the segment classes, specifically using a special selection algorithm in order to obtain the most correct possible labeling of the segment classes as a stanza or chorus.
  • FIG. 1 shows a block diagram of the device according to the invention for grouping according to a preferred embodiment of the present invention
  • FIG. 2 shows a flow chart for illustrating a preferred embodiment of the invention for iteratively assigning
  • 3 is a block diagram of the operation of the segmentation correction device
  • Figures 4a and 4b show a preferred embodiment of the segment class designator
  • FIG. 5 shows an overall block diagram of an audio analysis tool
  • FIG. 8 shows a schematic representation for illustrating the elements in a similarity matrix S
  • FIG. 9 is a schematic representation of a smoothed novelty value.
  • FIG. 1 shows a device for grouping temporal segments of a piece of music, which is subdivided into main parts which repeatedly appear in the piece of music, into different segment classes, one segment class being assigned to a main part.
  • the present invention thus relates particularly to pieces of music which are subject to a certain structure in which similar sections appear several times and alternate with other sections.
  • the Most rock and pop songs have a clear structure in terms of their main parts.
  • a large shaped part of a piece is a section which has a relatively uniform character with regard to various features, eg, melody, rhythm, texture, etc. Definition applies generally in music theory.
  • Intros often consist of the same chord progression as the stanza, but with different instrumentation, eg. B. without drums, without bass or distortion of the guitar in rock songs etc.
  • the device according to the invention initially comprises a device 10 for providing a similarity representation for the segments, the similarity representation for each segment having an associated plurality of similarity values, the similarity values indicating how similar the segment is to each other segment.
  • the similarity representation is preferably the segment similarity matrix shown in FIG. It has for each segment (in Fig. 7 segments 1-10) its own column which has the index " j ⁇ . Furthermore, the similarity representation has a separate line for each segment, one line being designated by a line index i. This will be referred to below with reference to the exemplary segment 5.
  • the element (5, 5) in the main diagonal of the matrix of FIG. 7 is the similarity value of the segment 5 with itself, ie the maximum similarity value.
  • segment 5 is still medium-le to the segment no. 6, as it is denoted by the element (6,5) or by the element (5,6) of the matrix in Fig. 7. Moreover, the segment 5 is still similar to the segments 2 and 3 as shown by elements (2, 5) or (3, 5) or (5, 5) or (5, 3) in FIG. 7. To the other segments 1, 4, 7, 8, 9, 10, the segment No. 5 has a similarity, which is no longer visible in Fig. 7.
  • a plurality of similarity values assigned to the segment is, for example, a column or a row of the segment similarity matrix in FIG. 7, this column or row indicating by its column / row index which segment it refers to, namely, for example, to the fifth segment, and where this row / column includes the similarities of the fifth segment to each other segment in the piece.
  • the plurality of similarity values is, for example, a row of the similarity matrix or, alternatively, a column of the similarity matrix of FIG. 7.
  • the device for grouping temporal segments of the piece of music further comprises means 12 for calculating a similarity mean value for a segment, using the segments and the similarity values of the segment Segment associated with a plurality of similarity values.
  • the device 12 is designed to z. For example, to calculate a similarity mean for column 5 in FIG. If the arithmetic mean value is used in a preferred exemplary embodiment, the device 12 will add the similarity values in the column and divide them by the total number of segments. To eliminate the self - similarity, could of the. As a result of addition, the similarity of the segment to itself can also be deducted, whereby, of course, a division is then no longer to be carried out by all elements, but by all elements less than one.
  • the means 12 for calculating could alternatively also calculate the geometric mean value, ie each similarity value of a column for: square, in order to sum the quadrated results, in order then to calculate a root from the summation result, which is given by the number The elements in the column (or the number of elements in the column less "1) is to be divided in. Any other average values, such as the median value, etc., can be used as long as the mean value for each column is Similarity matrix is calculated adaptively, that is, a value that is calculated using the similarity values of the plurality of similarity values associated with the segment.
  • the adaptively calculated similarity threshold is then provided to a segment 14 for assigning a segment to a segment class.
  • the means 14 for assigning is designed to assign a segment to a segment class if the similarity value of the segment fulfills a predetermined condition with respect to the mean of similarity. For example, if the similarity mean value is such that a larger value indicates a greater similarity and a smaller value indicates a lower similarity, the predetermined relationship will be that the similarity value of a segment equal to or above the Similarity mean, in order for the segment to be assigned to a segment class.
  • a segment selection device 16 In a preferred embodiment of the present invention, further devices exist to realize special embodiments, which will be discussed later. These devices are a segment selection device 16, a segment assignment conflicting device 18, a segmentation correction device 20 and a segment class designation device 22.
  • the segment selector 16 in FIG. 1 is designed to first calculate an overall similarity value V (j) for each column in the matrix of FIG. 7, which is determined as follows:
  • P is the number of segments.
  • S ⁇ is the value of the self-similarity of a segment with itself.
  • the value z. B. zero or one.
  • the segment selector 16 will first: calculate the value V (j) for each segment to then find the vector element i of the maximum value vector V. In other words, this means that the column in FIG. 7 is selected, which achieves the greatest value or score when the individual similarity values in the column are added up.
  • This segment could, for example, be the segment No. 5 or the column 5 of the matrix in FIG. 7, since this segment has at least a certain similarity with three other segments.
  • Another candidate in which to Example of Fig. 7 also Segmen t ⁇ could be No.
  • segment selection device 16 selects segment No. 7, since it has the highest similarity score on the basis of the matrix elements (1, 7), (4, 7) and (10, 7) , In other words, this means that V (7) is the component of the vector V which has the maximum value among all the components of V.
  • segment similarity matrix for the seventh row or column it is checked which segment similarities are above the calculated threshold value, ie. H. with which segments the i-th segment has an above-average similarity. All these segments are now also assigned to a first segment class like the seventh segment.
  • segment no. 4 and segment no. 1 are also classified in the first segment class.
  • segment No. 10 is not classified in the first segment class due to the below-average similarity to segment No. 7.
  • V which belong to an assigned segment, are ignored in the next maximum search in a later iteration step.
  • a new maximum is now selected from the remaining elements of V, that is to say V (2), V (3), V (5), V (6), V (8), V (9) and V (IO) searched.
  • the segment no. 5, ie V (5), is expected to yield the largest similarity score.
  • the second segment class then obtains segments 5 and 6. Due to the fact that the similarities to segments 2 and 3 are below average, segments 2 and 3 are not placed in the second order clusters.
  • the elements V (6) and V (5) are set to 0 by the vector V due to the assignment that has been made, while still the components V (2), V (3), V (8), V ⁇ 9) and V (IO) of the vector for the selection of the third-order cluster remain.
  • V (IO) ie the component of V for the segment 10.
  • V (IO) the component of V for the segment 10.
  • Segment 10 thus comes in the third-order segment class.
  • the segment 7 also has an above-average similarity to the segment 10, although the segment 7 is already identified as belonging to the first segment class.
  • a simple kind of resolution could be to simply not assign the segment 7 into the third segment class and e.g. For example, instead of assigning the segment 4, if for the segment 4 would not also conflict exist.
  • the similarity between 7 and 10 is taken into account in the following algorithm.
  • the invention is designed not to discount the similarity between i and k. Therefore, the similarity values S s (i, k) of segment i and k are compared with the similarity value S s (i * , k), where i * is the first segment assigned to the cluster C * .
  • the cluster or the segment class C * is the cluster to which segment k is already assigned on the basis of a previous examination.
  • the similarity value S s (i * , k) is decisive for the fact that the segment k belongs to the cluster C * . If S s (i * , k) is greater than S s (i / k), segment k remains in cluster C * .
  • S s (i * , k) is smaller than S s (i, k)
  • the segment k is taken out of the cluster C * and assigned to the cluster C.
  • a tendency towards the cluster i is noted for the cluster C * .
  • this tendency is also noted when segment k changes cluster membership.
  • a tendency of this segment to the cluster in which it was originally recorded is noted.
  • the similarity value check is based on the fact that the segment 7 is the "original segment” in the first segment class, in favor of the first segment class. It will remain in the first segment class. However, this fact is taken into account by the fact that segment no. 10 in the third segment class is attested a trend towards the first segment class.
  • segmentation correcting device 20 In the following, the preferred implementation of the segmentation correcting device 20 will be described in detail with reference to FIG. 3.
  • the correction serves to completely eliminate segments that are too short, ie to merge with adjacent segments, and to segments that are short but not too short, ie that are short in length but longer than that Minimal lengths are still to undergo a special investigation, whether they may not yet be merged with a predecessor segment or a successor segment.
  • successive segments which belong to the same segment class are always fused together. If the scenario shown in FIG. B. that the segments 2 and 3 come in the same segment class, they are automatically ver ⁇ melted together, while the segments in the first Segmentklas ⁇ se, ie the segments 7, 4, 1 are spaced apart and therefore (at least initially) can not be merged.
  • FIG. 3 shows that the segments 2 and 3 come in the same segment class, they are automatically ver ⁇ melted together, while the segments in the first Segmentklas ⁇ se, ie the segments 7, 4, 1 are spaced apart and therefore (at least initially) can not be merged.
  • FIG. 3 shows that the segments in the first Segmentklas ⁇ se, ie the segments 7, 4,
  • Relatively short segments shorter than 11 seconds are examined at all, while later on even shorter segments (a second threshold smaller than the first) shorter than 9 seconds are examined and, later, any remaining segments which are shorter than 6 seconds (a third threshold which is shorter than the second threshold) will be treated again alternatively.
  • the segment length check in block 31 is initially directed to finding the segments shorter than 11 seconds. For the segments that are longer than 11 seconds, no post processing is done, as can be recognized by a "No" at block 31. For segments which are shorter than 11 seconds, a trend check (block 32) is first of all carried out, so that at first a check is made as to whether a segment 1 has an associated trend or associated tendency In the example of Fig. 7, this would be the segment 10 which has a trend towards the segment 7 or a trend towards the first segment class the tenth segment is shorter than 11 seconds, in the example shown in FIG.
  • segment no. 10 is the only segment in the third segment class. If it were shorter than 9 seconds, it is automatically assigned to the segment class to which segment No. 9 belongs. This automatically leads to a fusion of the segment 10 with the segment 9. If the segment 10 län ⁇ ger than 9 seconds, this merger is not made.
  • a block 33c an examination is then made for segments shorter than 9 seconds which are not the only segment in a corresponding cluster X than in a corresponding segment group. They are subjected to a more detailed check in which a regularity in the cluster sequence is to be ascertained. At first all segments from the segment group X are searched, which are shorter than the minimum length. Subsequently, it is checked for each of these segments whether the predecessor and successor segments each belong to a uniform cluster. If all predecessor segments are from a uniform cluster, all segments that are too short from cluster X are assigned to the predecessor cluster. If, on the other hand, all successor segments are from a uniform cluster, the segments too short from cluster X are each assigned to the successor cluster.
  • a novelty value check is performed by resorting to the novelty value curve shown in FIG. 9.
  • the novelty curve which has arisen from the kernel correlation, is read out at the locations of the affected segment boundaries, and the maximum of these values is determined. If the maximum occurs at the beginning of a segment, the segments that are too short become the cluster of the successor assigned to ge segments. If the maximum occurs at a segment end, the segments that are too short are assigned to the cluster of the precursor segment. If the segment labeled 90 in Fig.
  • This procedure according to the invention has the advantage that no elimination of parts of the piece has been carried out, ie that no simple elimination of the segments which are too short has been carried out by setting them to zero, but that the entire complete piece of music is still the one Entity of segments is represented. Due to the segmentation therefore no loss of information auf ⁇ occurs, which would be, however, if you z. B. as a reaction on over-segmentation, simply eliminating all too short segments "regardless of losses".
  • FIGS. 4a and 4b a preferred implementation of the segment class designator 22 of FIG. 1 is illustrated.
  • two clusters are assigned the labels "stanza” and "refrain” during labeling.
  • the cluster for the second largest singular word is used as the stanza.
  • each song begins with a stanza, ie that the cluster with the first segment is the stanza cluster and the other cluster is the refrain cluster.
  • the cluster in the candidate selection having the last segment is called a refrain, and the other cluster is called a stanza.
  • the cluster which has the segment which occurs as the last segment of the segments of the two segment groups in the song progression is checked (40) to designate the same as chorus.
  • the last segment may actually be the last segment in the song or else a segment which occurs later in the song than all segments of the other segment class. If this segment is not the actual last segment in the song, this means that there is still an outro.
  • all segments of this first (highest-order) segment class are referred to as a refrain, as represented by a block 41 in FIG. 4b.
  • all segments of the other segment class which is to be selected are marked as "stanza", since typically one of the two candidate segment classes will have one class of the refrain and thus immediately the other class will have the strokes.
  • the second segment group is designated as a stanza and the first segment group as a refrain, as indicated in a block 44
  • the denomination in block 44 occurs because the probability that the second segment class will utter the chorus is quite small. If the improbability that a piece of music is introduced with a chorus, there is some evidence of a clustering error out, eg that the last considered segment was erroneously assigned to the second segment class.
  • FIG. 4b shows how the stanza / refrain determination has been carried out on the basis of two available segment classes. After this stanza / refrain determination, the remaining segment classes can then be designated in a block 45, an outro possibly being the segment class which has the last segment of the piece, while an intro will be the segment class which has the first segment of a piece in itself.
  • an assignment of the labels "stroke” and "refrain” is carried out in labeling, whereby one segment group is marked as a stanza segment group, while the other segment group is marked as a refrain segment group.
  • this concept is based on the assumption (Al) that the two clusters (segment groups) with the highest similarity values, that is, cluster 1 and cluster 2, correspond to the regular and stanza clusters. The last of these two clusters is the refrain cluster, assuming that a verse follows a chorus.
  • cluster 1 in most cases corresponds to the refrain.
  • cluster 2 the assumption (Al) is often not fulfilled.
  • This situation usually occurs when there is either a third, frequently repeating part in the play, eg. B. a bridge, with a high ⁇ hn ⁇ probability of intro and outro, or for the not sel ⁇ th occurring case that a segment in the piece has a high similarity to the chorus, thus also a high
  • the resemblance to the chorus is not enough to be part of Cluster 1.
  • the cluster or the segment group with the highest similarity value (value of the component of V which was once a maximum for the first-determined segment class, ie segment 7 in the example of FIG. 7, was ), that is, the segment group determined in the first pass of FIG. 1, is included in the stanza refrain selection as the first candidate.
  • segment group will be the second participant in the verse-chorus selection.
  • the most probable candidate is the second highest segment class, ie the segment class which is found on the second pass through the concept described in FIG. However, this does not always have to be this way. Therefore, firstly for the second highest segment class (segment 5 in FIG. 1) 1 , cluster 2 is checked whether this class has only a single segment or exactly two segments, one of the two segments being the first segment and the other segment being both are the last segment in the song (block 47).
  • the second highest segment class for example, has at least three segments, or two segments, one of which is within the piece and not at the "edge" of the piece second segment class initially in the selection and is henceforth referred to as "Second Cluster".
  • Second clusters still have to measure themselves with a third segment class (48b), which is referred to as a "third cluster" in order to ultimately survive the selection process as a candidate.
  • the segment class "Third Cluster” corresponds to the cluster which occurs most frequently in the entire song, however, that the highest segment class (cluster 1) still corresponds to the segment class "second cluster", so to speak the next most frequently (often equally frequently) occurring clusters after cluster 1 and second clusters.
  • the first examination in block 49a is to examine whether each segment of third cluster ne certain minimum length has, as a threshold z. B. 4% of the total song length is preferred. Other values between 2% and 10% can also lead to meaningful results.
  • a block 49b it is then examined whether ThirdCluster has a greater total portion of the song than SecondCluster. For this purpose, the total time of all segments in ThirdCluster is added up and compared with the correspondingly added total number of all segments in SecondCluster, in which case ThirdCluster has a larger overall proportion of the song than Se ⁇ condCluster, if the added segments in ThirdC ⁇ luster give a larger value than the added up Segments in SecondCluster.
  • ThirdCluster enters the stanza-refrain selection, but if at least one of these conditions is not met, ThirdCluster does not enter the stanza-refrain selection the stanza-refrain selection, as represented by a block 50 in Fig. 4a, completes the "candidate search" for the stanza-refrain selection, and the algorithm shown in Fig. 4b is started in the end it is determined which segment class comprises the stanzas, and which segment class comprises the chorus.
  • the three conditions in blocks 49a, 49b, 49c could alternatively also be weighted, so that z.
  • a no answer in block 49a is "overruled” if both the query in block 49b and the query in block 49c are answered "yes".
  • it could also be a condition the three conditions are highlighted so that z.
  • it only examines whether there is regularity of the sequence between the third segment class and the first segment class, while the queries in blocks 49a and 49b are not performed or are only performed if the query in block 49c reads " No answer is given, but for example a relatively large total proportion in block 49b and relatively large minimum quantities are determined in block 49a.
  • the refrain possibility is to select a version of the female as a summary. This will attempt to choose a run of the Refxain that lasts between 20 and 30 seconds if possible. If a segment with such a length is not contained in the refrain cluster, then a version is chosen which has the smallest possible deviation to a length of 25 seconds. If the selected chorus is longer than 30 seconds, it is blanked out for 30 seconds in this embodiment and is shorter than 20 seconds, so that it is extended to 30 seconds with the following segment.
  • Storing a medley for the second option is more like an actual summary of a piece of music.
  • the third segment is selected from a cluster that has the largest total portion of the song and is not a verse or chorus.
  • the selected segments are not installed in their full length in the medley.
  • the length is preferably set to a fixed 10 seconds per segment, so that a total of 30 seconds is created again.
  • alternative values are also readily feasible.
  • a grouping of a plurality of feature vectors in block 510 is performed to save computation time by forming an average over the grouped feature vectors.
  • the grouping may be the next.
  • Processing step the calculation of the similarity matrix, saving computing time.
  • a distance is determined between all possible combinations of j & two feature vectors. This yields n x n calculations for n vectors over the entire piece.
  • a grouping factor g indicates how many; consecutive feature vectors are grouped into a vector via the averaging. This can reduce the number of calculations.
  • the grouping is also a type of noise suppression r in which small changes in the feature expression of successive vectors are compensated on the average. the. This property has a positive effect on finding large song structures.
  • the concept according to the invention makes it possible to navigate through the calculated segments by means of a special music player and selectively select individual segments, so that a consumer in a music shop can easily immediately return to the Re by pressing a certain key or activating a certain software command - Frain of a piece can jump to determine whether the chorus pleases him, and then perhaps listen to a stanza, so that the consumer can finally make a Kaufent ⁇ divorce. It is thus comfortably possible for a buyer to hear exactly what he is particularly interested in from a single piece, while he is, for example, interested in doing so. B. the solo or the bridge then actually save for the listening pleasure at home.
  • the concept according to the invention is also of great advantage for a music shop, since the customer can listen in and thus quickly and ultimately buy, so that the customers do not have to wait long to listen in, but also quickly get their turn , This is due to the fact that a user does not have to constantly go back and forth, but receives in a targeted and rapid manner all the information of the piece that he would like to have.
  • the present invention is also applicable in other applica tion scenarios, for example in advertising monitoring, ie where an advertiser wants to check whether the audio piece for which he has bought advertising time, has actually been played over the entire length.
  • An audio piece may include, for example, music segments, speaker segments, and noise segments.
  • the segmentation algorithm that is to say the segmentation and subsequent classification into segment groups, then makes it possible to carry out a quick and considerably less complicated check than a complete sample-wise comparison.
  • the efficient checking would simply consist in a segment class statistic, ie a comparison of how many segment classes were found and how many segments are in the individual segment classes, with a specification based on the ideal advertising piece. It is thus easily possible for an advertiser to recognize whether a broadcaster or television station has actually broadcast all the main parts (sections) of the commercial signal or not.
  • the present invention is further advantageous in that it can be used for searching in large music databases, for example, only to listen through the choruses of many pieces of music in order to then perform a music program selection.
  • segment class marked "chorus” would be selected from many different pieces and provided by a program provider, Alternatively, there could also be an interest, for example from an artist, for all the guitar solos According to the invention, these can likewise be provided without difficulty by always having one or more segments (if present) in the range marked "Solo".
  • segment class from a large number of pieces of music, for. B. assembled and provided as a file.
  • inventive concept can be easily automated, since it requires at no point a user intervention. This means that users of the inventive concept by no means require special training, except for. For example, a common skill in dealing with normal software user interfaces.
  • the inventive concept can be implemented in hardware or in software.
  • the implementation can be carried out on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which can cooperate with a programmable computer system in such a way that the corresponding method is executed.
  • the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer.
  • the invention thus represents a computer program with a program code for carrying out the method when the computer program runs on a computer.

Abstract

The invention relates to a method for arranging in various segment classes temporal segments of an audio piece which is structured into main parts which recur in the audio piece. For this purpose, a similarity representation of the segments is established (10). Said similarity representation comprises for each segment an associated plurality of similarity values which indicate the degree of similarity of the segment with every other segment of the piece of music. The similarity values associated with the segment are used to calculate a similarity threshold value for a segment (12) in order to allocate a segment to a segment class (14) if the similarity value of the segment meets a defined relationship with respect to the similarity threshold value. The invention provides a clustering method which works efficiently and correctly even in cases where the segments have very different or almost identical combined similarity values.

Description

Vorrichtung und Verfahren zum Gruppieren von zeitlichen Segmenten eines Musikstücks Apparatus and method for grouping temporal segments of a piece of music
Beschreibungdescription
Die vorliegende Erfindung bezieht sich auf die Audiosegmen- tierung und insbesondere auf die Analyse von Musikstücken auf die in den Musikstücken enthaltenen einzelnen Haupttei¬ le, die in dem Musikstück wiederholt auftreten können.The present invention relates to the audio segmentation and in particular to the analysis of pieces of music on the individual Haupttei¬ contained in the pieces of music, which may occur repeatedly in the piece of music.
Musik aus dem Rock- und Popbereicri besteht meistens aus mehr oder weniger eindeutigen Segmenten, wie beispielsweise Intro, Strophe, Refrain, Bridge, Oαtro, etc. Die Anfangs¬ und Endzeitpunkte solcher Segmente zu detektieren und die Segmente nach ihrer Zugehörigkeit zu den wichtigsten Klas¬ sen (Strophe und Refrain) zu gruppieren, ist Ziel der Au- diosegmentierung. Eine korrekte Segmentierung und auch Kennzeichnung der berechneten Segmente kann in verschiede¬ nen Bereichen sinnvoll eingesetzt werden. Beispielsweise können so Musikstücke von Online-Anbietern, wie Amazon, Mu- sicline, etc. intelligent „angespielt" werden.Music from the rock and Popbereicri consists mostly of more or less unique segments, such as intro, verse, chorus, bridge, Oαtro, etc. The beginning and end times of such segments to detect and the segments according to their affiliation to the most important Klas¬ Grouping the stanza (verse and chorus) is the goal of audio segmentation. Correct segmentation and also identification of the calculated segments can be usefully used in various areas. For example, pieces of music from online providers such as Amazon, Mu- sicline, etc. can be intelligently "played".
Die meisten Anbieter im Internet beschränken sich bei ihren Hörbeispielen auf einen kurzen Ausschnitt aus den angebote¬ nen Musikstücken. In diesem Fall wäre es natürlich auch sinnvoll, dem Interessenten nicht nur die ersten 30 Sekun- den oder beliebige 30 Sekunden, sondern einen möglichst re¬ präsentativen Ausschnitt aus dem Lied anzubieten. Dies könnte z. B. der Refrain sein, oder: aber auch eine Zusam¬ menfassung des Liedes, bestehend aus Segmenten, die den verschiedenen Hauptklassen (Strophee Refrain, ...) angehö- ren.Most providers on the Internet limit their listening examples to a short excerpt from the available pieces of music. In this case, it would of course also make sense to offer the interested party not just the first 30 seconds or any 30 seconds, but a section of the song that is as representative as possible. This could be z. For example, the chorus, or: but also a summary of the song, consisting of segments that belong to the various main classes (stanza e chorus, ...).
Ein weiteres Anwendungsbeispiel für die Technik der Audio¬ segmentierung ist das Integrieren des Segmentierungs- /Gruppierungs-/Markierungsalgorithmus in einen Musicplayer. Die Informationen über Segmentanfänge und Segmentenden er¬ möglichen das gezielte Navigieren durch ein Musikstück. Durch die Klassenzugehörigkeit der Segmente, also ob ein Segment eine Strophe, ein Refrain, etc. ist, kann z. B. auch direkt zum nächsten Refrain oder zur nächsten Strophe gesprungen werden. Eine derartige Anwendung ist für große Musikmärkte von Interesse, die ihren Kunden die Möglichkeit bieten, in komplette Alben hinein zu hören. Dadurch erspart sich der Kunde das lästige, suchende Vorspulen zu charakte¬ ristischen Stellen im Lied, die ihn vielleicht dazu bewegen könnten, ein Musikstück am Ende tatsächlich zu kaufen.Another application example for the technique of audio segmentation is the integration of the segmentation / Grouping / marking algorithm into a music player. The information about segment beginnings and segment ends makes it possible to navigate through a piece of music. Due to the class affiliation of the segments, ie whether a segment is a verse, a chorus, etc., z. B. also jump directly to the next chorus or the next stanza. Such an application is of interest to large music markets, offering their customers the opportunity to listen to complete albums. As a result, the customer spares himself the annoying, searching fast-forward to characteristic points in the song, which could perhaps lead him to actually buy a piece of music in the end.
Auf dem Gebiet der Audiosegmentierung existieren verschie- dene Ansätze. Nachfolgend wird der Ansatz von Jonathan Foo- te und Matthew Cooper beispielhaft dargestellt. Dieses Ver¬ fahren ist in FOOTE, J.T. / Cooper, M.L. : Summarizing Popu¬ lär Music via Structural Similarity Änalysis. Proceedings of the IEEE Workshop of Signal Processing to Audio and Acoustics 2003. FOOTE, J.T. / COOPER, M.L.: Media Segmenta- tion using Self-Similar Decomposition. Proceedings of SPIE Storage and Retrieval for Multimedia Databases, Bd. 5021, S. 167-75, Januar 2003, dargestellt.There are different approaches in the field of audio segmentation. In the following, the approach of Jonathan Foote and Matthew Cooper is exemplified. This process is described in FOOTE, J.T. / Cooper, M.L. : Summarizing Populary Music via Structural Similarity Analysis. Proceedings of the IEEE Workshop on Signal Processing to Audio and Acoustics 2003. FOOTE, J.T. / COOPER, M.L .: Media Segmentation using Self-Similar Decomposition. Proceedings of SPIE Storage and Retrieval for Multimedia Databases, Vol. 5021, pp. 167-75, January 2003.
Das bekannte Verfahren von Foote wird anhand des Block¬ schaltbilds von Fig. 5 beispielhaft erläutert. Zunächst wird eine WAV-Datei 500 bereitgestellt. In einem nachge¬ schalteten Extraktionsblock 502 findet dann eine Merk¬ malsextraktion statt, wobei als Merkmal die Spektralkoeffi- zienten an sich oder alternativ die Mel-Frequenz-Cepstral- Koeffizienten (MFCCs) extrahiert werden. Vor dieser Extrak¬ tion wird eine Kurzzeit-Fourier-Transformation (STFT) mit 0,05 Sekunden breiten nicht-überlappenden Fenstern mit der WAV-Datei durchgeführt. Die MFCC-Merkmale werden dann im Spektralbereich extrahiert. Hierbei sei darauf hingewiesen, dass die Parametrisierung nicht für eine Kompression, Über¬ tragung oder Rekonstruktion optimiert ist, sondern für eine Audioanalyse. Die Anforderung besteht dahingehend, dass ähnliche Audiostücke ähnliche Merkmale erzeugen.The known method of Foote is explained by way of example with reference to the block diagram of FIG. First, a WAV file 500 is provided. In a subsequent extraction block 502, a feature extraction then takes place, wherein as a feature the spectral coefficients per se or alternatively the mel frequency cepstral coefficients (MFCCs) are extracted. Prior to this extraction, a short-time Fourier transform (STFT) is performed with 0.05 second wide non-overlapping windows with the WAV file. The MFCC features are then extracted in the spectral range. It should be noted that the parameterization is not optimized for compression, transmission or reconstruction, but for a Audio analysis. The requirement is that similar audio pieces produce similar features.
Die extrahierten Merkmale werden dann in einem Speicher 504 abgelegt.The extracted features are then stored in a memory 504.
Auf den Merkmalsextraktionsalgorithmus findet nunmehr ein Segmentierungsalgorithmus statt, der in einer Ähnlichkeits¬ matrix endet, wie es in einem Block 506 dargestellt ist. Zunächst wird jedoch die Merkmalsmatrix eingelesen (508), um dann Merkmalsvektoren zu gruppieren (510) , um dann auf Grund der gruppierten Merkmalsvektoren eine Ähnlichkeits¬ matrix aufzubauen, die aus einer Distanzmessung zwischen jeweils allen Merkmalen besteht. Im Einzelnen werden alle paarweisen Kombinationen von Audiofenstern unter Verwendung eines quantitativen Ähnlichkeitsmaßes, also der Distanz, verglichen.The feature extraction algorithm now has a segmentation algorithm that ends in a similarity matrix, as shown in a block 506. First, however, the feature matrix is read in (508), to then group feature vectors (510), to then build a similarity matrix based on the grouped feature vectors, which consists of a distance measurement between each of all features. In particular, all pairs of audio window pairs are compared using a quantitative similarity measure, distance.
Der Aufbau der Ähnlichkeitsmatrix ist in Fig. 8 darge- stellt. So ist in Fig. 8 das Musikstück als Strom oder Stream 800 von Audioabtastwerten dargestellt. Das Audio¬ stück wird, wie es ausgeführt worden ist, gefenstert, wobei ein erstes Fenster mit i und ein zweites Fenster mit j be¬ zeichnet sind. Insgesamt hat das Audiostück z. B. K Fens- ter. Dies bedeutet, dass die Ähnlichkeitsmatrix K Zeilen und K Spalten hat. Dann wird für jedes Fenster i und für jedes Fenster j ein Ähnlichkeitsmaß zueinander berechnet, wobei das berechnete Ähnlichkeitsmaß oder Distanzmaß D(i,j) an der durch i und j bezeichneten Zeile bzw. Spalte in der Ähnlichkeitsmatrix eingegeben wird. Eine Spalte zeigt daher die Ähnlichkeit des durch j bezeichneten Fensters zu allen anderen Audiofenstern in dem Musikstück. Die Ähnlichkeit des Fensters j zum allerersten Fenster des Musikstücks wür¬ de dann in der Spalte j und in der Zeile 1 stehen. Die Ähn- lichkeit des Fensters j zum zweiten Fenster des Musikstücks würde dann in der Spalte j, aber nunmehr in der Zeile 2 stehen. Dagegen würde die Ähnlichkeit des zweiten Fensters - A -The structure of the similarity matrix is shown in FIG. 8. Thus, in Fig. 8, the music piece is represented as a stream or stream 800 of audio samples. The piece of audio is windowed, as has been stated, with a first window having i and a second window being j. Overall, the audio piece has z. B. K window. This means that the similarity matrix has K rows and K columns. Then, for each window i and for each window j, a similarity measure to each other is calculated, and the calculated similarity measure or distance measure D (i, j) is input to the row or column designated by i and j in the similarity matrix. One column therefore shows the similarity of the window designated by j to all other audio windows in the piece of music. The similarity of window j to the very first window of the piece of music would then be in column j and in line 1. The similarity of window j to the second window of the piece of music would then be in column j, but now in line 2. By contrast, the similarity of the second window - A -
zum ersten Fenster in der zweiten Spalte der Matrix und in der ersten Zeile der Matrix stehen.to the first window in the second column of the matrix and in the first row of the matrix.
Es ist zu sehen, dass die Matrix dahingehend redundant ist, dass sie zur Diagonalen symmetrisch ist, und dass auf der Diagonalen die Ähnlichkeit eines Fensters zu sich selbst steht, was den trivialen Fall einer 100%-igen Ähnlichkeit darstellt.It can be seen that the matrix is redundant in that it is symmetric to the diagonal, and that on the diagonal the similarity of a window is to itself, which is the trivial case of 100% similarity.
Ein Beispiel für eine Ähnlichkeitsmatrix eines Stücks ist in Fig. β zu sehen. Hier ist wieder die komplett symmetri¬ sche Struktur der Matrix bezüglich der Hauptdiagonalen er¬ kennbar, wobei die Hauptdiagonale als heller Streifen er¬ sichtlich ist. Ferner wird darauf hingewiesen, dass auf Grund der kleinen Fensterlänge im Vergleich zu der relativ groben Zeitauflösung in Fig. 6 die Hauptdiagonale nicht als heller durchgehender Strich zu sehen ist, sondern aus Fig. 6 nur in etwa erkennbar ist.An example of a similarity matrix of a piece can be seen in FIG. Here again the completely symmetrical structure of the matrix with respect to the main diagonal is recognizable, the main diagonal being visible as a light stripe. It should also be noted that due to the small window length compared to the relatively coarse time resolution in Fig. 6, the main diagonal is not seen as a lighter solid line, but from Fig. 6 is only approximately recognizable.
Hierauf wird unter Verwendung der Ähnlichkeitsmatrix, wie sie z. B. in Fig. 6 dargestellt ist, eine Kernel- Korrelation 512 mit einer Kernel-Matrix 514 durchgeführt, um ein Neuheitsmaß, das auch als „Novelty Score" bekannt ist, zu erhalten, das gemittelt werden könnte und in ge- glätteter Form in Fig. 9 dargestellt ist. Die Glättung die¬ ses Novelty Scores ist in Fig. 5 schematisch durch einen Block 516 dargestellt.This is done using the similarity matrix as described, for. For example, as shown in FIG. 6, a kernel correlation 512 is performed on a kernel matrix 514 to obtain a novelty measure, also known as a novelty score, that could be averaged and smoothed into The smoothing of these Novelty Scores is shown schematically in FIG. 5 by a block 516.
Hierauf werden in einem Block 518 die Segmentgrenzen unter Verwendung des geglätteten Neuheitswertverlaufs ausgelesen, wobei hierzu die lokalen Maxima im geglätteten Neuheitsver¬ lauf ermittelt und gegebenenfalls noch um eine durch die Glättung verursachte konstante Anzahl von Samples verscho¬ ben werden müssen, um tatsächlich die richtigen Segment- grenzen des Audiostücks als absolute oder relative Zeitan¬ gabe zu erhalten. — DThen, in a block 518, the segment boundaries are read out using the smoothed novelty value profile, for which purpose the local maxima in the smoothed novelty curve are determined and, if appropriate, must be shifted by a constant number of samples caused by the smoothing in order actually to produce the correct segment - To obtain limits of the audio piece as absolute or relative Zeitan¬ gift. - D
Hierauf wird, wie es bereits in einem mit Clustering be¬ zeichneten Block aus Fig. 5 ersichtlich ist, eine so ge¬ nannte Segmentähnlichkeitsdarstellung oder Segmentähnlich¬ keitsmatrix erstellt. Ein Beispiel für eine Segmentähnlich- 5 keitsmatrix ist in Fig. 7 dargestellt. Die Ähnlichkeitsmat¬ rix in Fig. 7 ist prinzipiell ähnlich zu der Merkmals- Ähnlichkeitsmatrix von Fig. 6, wobei nun jedoch nicht mehr, wie in Fig. 6, Merkmale aus Fenstern verwendet werden, son¬ dern Merkmale aus einem ganzen Segment. Die Segmentähnlich-Then, as is already apparent in a block of FIG. 5 designated with clustering, a so-called segment similarity representation or segment similarity matrix is created. An example of a segment similarity matrix is shown in FIG. The similarity matrix in FIG. 7 is basically similar to the feature similarity matrix of FIG. 6, but now, as in FIG. 6, features from windows are no longer used, but features from a whole segment. The segment-like
]_0 keitsmatrix hat eine ähnliche Aussage wie die Merkmalsähn¬ lichkeitsmatrix, jedoch mit einer wesentlich gröberen Auf¬ lösung, was natürlich gewünscht ist, wenn betrachtet wird, dass Fensterlängen im Bereich von 0,05 Sekunden liegen, während vernünftig lange Segmente im Bereich von vielleichtIt is similar to the feature similarity matrix, but with a much coarser resolution, which is of course desired when considering that window lengths are in the order of 0.05 seconds, while reasonably long segments in the range of perhaps
1.5 10 Sekunden eines Stückes liegen.1.5 10 seconds of a piece lie.
Hierauf wird dann in einem Block 522 ein Clustering durch¬ geführt, also eine Einordnung der Segmente in Segmentklas- sen (eine Einordnung von ähnlichen Segmenten in dieselbeThen, in a block 522, a clustering is carried out, that is, an arrangement of the segments into segment classes (an arrangement of similar segments into the same
20 Segmentklasse), um dann in einem Block 524 die gefundenen20 segment class), then in a block 524 those found
Segmentklassen zu markieren, was auch als „Labeling" be¬ zeichnet wird. So wird im Labeling ermittelt, welche Seg¬ mentklasse Segmente enthält, die Strophen sind, die Re¬ frains sind, die Intros, Outros, Bridges, etc. sind. 25Labeling also determines which segment class contains segments which are stanzas, which are reflections, which are intros, outros, bridges, etc. 25
Schließlich wird in einem mit 526 in Fig. 5 bezeichneten Block eine Musicsummary erstellt, die z. B. einem Benutzer bereitgestellt werden kann, um ohne Redundanz von einem Stück nur z. B. eine Strophe, einen Refrain und das IntroFinally, in a block labeled 526 in FIG. 5, a music score is created, which is e.g. B. can be provided to a user, without redundancy of a piece only z. B. a stanza, a chorus and the intro
30 zu hören.30 to hear.
Nachfolgend wird auf die einzelnen Blöcke noch detaillier¬ ter eingegangen.The individual blocks will be discussed in more detail below.
35 Wie es bereits ausgeführt worden ist, findet die eigentli¬ che Segmentierung des Musikstücks erst dann statt, wenn die Merkmalsmatrizen generiert und gespeichert sind (Block - Q -As has already been explained, the actual segmentation of the piece of music does not take place until the feature matrices have been generated and stored (Block - Q -
Je nach dem, anhand welchen Merkmals das Musikstück auf seine Struktur hin untersucht werden soll, wird die ent¬ sprechende Merkmalsmatrix ausgelesen und zur Weiterverar- beitung in einen Arbeitsspeicher geladen. Die Merkmalsmat¬ rix hat die Dimension Anzahl der Analysefenster mal Anzahl der Merkiinalskoeffizienten.Depending on which feature the music piece is to be examined for its structure, the corresponding feature matrix is read out and loaded into a main memory for further processing. The feature matrix has the dimension number of analysis windows times the number of Merkiinalskoeffizienten.
Durch die Ähnlichkeitsmatrix wird der Merkmalsverlauf eines Stücks ±n eine zweidimensionale Darstellung gebracht. Für jede paarweise Kombination von Merkmalsvektoren wird das Distanzmaß berechnet, das in der Ähnlichkeitsmatrix fest¬ gehalten wird. Zur Berechnung des Distanzmaßes zwischen zwei Vektoren gibt es verschiedene Möglichkeiten, nämlich beispieLsweise die Euklidsche Distanzmessung und die Cosi¬ nus-Distanzmessung. Ein Ergebnis D(i,j) zwischen den zwei MerkmalsVektoren wird im i,j-ten Element der Fenster- Ähnlichkieitsmatrix (Block 506) gespeichert. Die Hauptdiago¬ nale der Ähnlichkeitsmatrix repräsentiert den Verlauf über das gesamte Stück. Dementsprechend resultieren die Elemente der Hamptdiagonalen aus dem jeweiligen Vergleich eines Fensters mit sich selbst und weisen immer den Wert der größten Ähnlichkeit auf. Bei der Cosinus-Distanzmessung ist dies de:r Wert 1, bei der einfachen skalaren Differenz und der Euklidschen Distanz ist dieser Wert gleich 0.By the similarity matrix, the characteristic curve of a piece ± n is given a two-dimensional representation. For each pairwise combination of feature vectors, the distance measure is calculated, which is kept fixed in the similarity matrix. There are various possibilities for calculating the distance measure between two vectors, for example the Euclidean distance measurement and the cosine distance measurement. A result D (i, j) between the two feature vectors is stored in the i, jth element of the window similarity matrix (block 506). The main diagonal of the similarity matrix represents the course over the entire piece. Accordingly, the elements of the Hamptdiagonalen result from the respective comparison of a window with itself and always have the value of the greatest similarity. For the cosine distance measurement this is de: r value 1, for the simple scalar difference and the Euclid distance this value is equal to 0.
Zur Visualisierung einer Ähnlichkeitsmatrix, wie sie in Fig. 6 dargestellt ist, bekommt jedes Element i, j einen Grauwert zugewiesen. Die Grauwerte sind proportional zu den Ähnlichkeitswerten abgestuft, so dass die maximale Ähnlich¬ keit (die Hauptdiagonale) der maximalen Ähnlichkeit ent¬ spricht . Durch diese Darstellung kann man die Struktur ei¬ nes Liedes bereits optisch auf Grund der Matrix erkennen. Bereiche ähnlicher Merkmalsausprägung entsprechen Quadran- ten ähnlicher Helligkeit entlang der Hauptdiagonalen. Die Grenzen zwischen den Bereichen zu finden, ist die Aufgabe der eigentlichen Segmentierung. Die Struktur der Ähnlichkeitsmatrix ist wichtig für das in der Kernel-Korrelation 512 berechnete Neuheitsmaß. Das Neu¬ heitsmaß entsteht durch die Korrelation eines speziellen Kernels entlang der Hauptdiagonalen der Ähnlichkeitsmatrix. Ein beispielhafter Kernel K ist in Fig. 5 dargestellt. Kor¬ reliert man diese Kernel-Matrix entlang der Hauptdiagonalen der Ähnlichkeitsinatrix S, und summiert dabei alle Produkte der übereinander liegenden Matrixelemente für jeden Zeit¬ punkt i des Stücks, so erhält man das Neuheitsmaß, das in geglätteter Form beispielhaft in Fig. 9 dargestellt ist. Vorzugsweise wird, nicht der Kernel K in Fig. 5 verwendet, sondern ein vergrößerter Kernel, der zudem mit einer Gauss¬ verteilung überlagert ist, so dass die Kanten der Matrix gegen 0 streben.To visualize a similarity matrix, as shown in FIG. 6, each element i, j is assigned a gray value. The gray values are graduated in proportion to the similarity values, so that the maximum similarity (the main diagonal) corresponds to the maximum similarity. By means of this representation, the structure of a song can already be visually recognized on the basis of the matrix. Areas of similar feature expression correspond to quadrants of similar brightness along the main diagonal. Finding the boundaries between the areas is the task of the actual segmentation. The structure of the similarity matrix is important to the novelty measure calculated in kernel correlation 512. The measure of novelty arises from the correlation of a special kernel along the main diagonal of the similarity matrix. An exemplary kernel K is shown in FIG. If one compares this kernel matrix along the main diagonal of the similarity matrix S, and sums up all the products of the superimposed matrix elements for each time point i of the piece, then one obtains the measure of novelty, which is shown by way of example in FIG. 9 in a smoothed form , Preferably, not the kernel K in FIG. 5 is used, but an enlarged kernel, which is additionally superimposed with a Gaussian distribution, so that the edges of the matrix tend towards zero.
Die Selektion- de:r? markanten Maxima im Neuheitsverlauf ist wichtig für die Segmentierung. Die Auswahl aller Maxima des ungeglätteten Neiαheitsverlaufs würde zu einer starken Über¬ segmentierung des Audiosignals führen.The selection of: r? striking maxima in the novelty course is important for the segmentation. The selection of all maxima of the unsmoothed Neiαheitsverlaufs would lead to a strong Über¬ segmentation of the audio signal.
Daher sollte das Neuheitsmaß geglättet werden, und zwar mit verschiedenen Filtern, wie beispielsweise IIR-Filter oder FIR-Filter.Therefore, the novelty measure should be smoothed with different filters, such as IIR filters or FIR filters.
Sind die Segmentgrenzen eines Musikstücks extrahiert, so müssen nun ähnliche Segmente als solche gekennzeichnet und in Klassen gruppiert werden.If the segment boundaries of a piece of music are extracted, then similar segments must be identified as such and grouped into classes.
Foote und Cooper beschreiben die Berechnung einer segment- basierten Ähnlichkeitsmatrix mittels einer Cullback- Leibler-Distanz. Hierfür werden anhand der aus dem Neu¬ heitsverlauf gewonnenen Segmentgrenzen einzelne Segment¬ merkmalsmatrizen aus der gesamten Merkmalsmatrix extra¬ hiert, d. h. jede dieser Matrizen ist eine Submatrix der gesamten Merkmalsmatrix. Die damit entstandene Segmentähn¬ lichkeitsmatrix 520 wird nunmehr einer Singularwertzerle¬ gung (SVD; SVD = Singular Value Decomposition) unterzogen. Hierauf erhält man Singulärwerte in absteigender Reihenfol¬ ge.Foote and Cooper describe the computation of a segment-based similarity matrix using a Cullback-Leibler distance. For this purpose, individual segment feature matrices are extracted from the entire feature matrix on the basis of the segment boundaries obtained from the course of novelty, ie each of these matrices is a submatrix of the entire feature matrix. The resulting segment similarity matrix 520 is now subjected to a singular value decomposition (SVD, SVD = Singular Value Decomposition). Then one obtains singular values in descending order.
Im Block 526 wird dann eine automatische Zusammenfassung eines Stücks anhand der Segmente und Cluster eines Musik¬ stücks durchgeführt. Hierzu werden zunächst die zwei Cluster mit den größten Sxngulärwerten ausgewählt. Dann wird das Segment mit dem Maximalwert des entsprechenden Cluster-Indikators zu dieser Summary hinzugefügt. Dies be- deutet, dass die Summary eine Strophe und einen Refrain umfasst. Alternativ können auch alle wiederholten Segmente entfernt werden, um sicherzustellen, dass alle Informatio¬ nen des Stücks bereitgestellt werden, jedoch immer genau einmal.In block 526, an automatic summary of a piece is then carried out on the basis of the segments and clusters of a piece of music. To do this, first select the two clusters with the largest x-ray values. Then, the segment with the maximum value of the corresponding cluster indicator is added to this summary. This means that the summary includes a stanza and a chorus. Alternatively, all repeated segments can also be removed to ensure that all information of the piece is provided, but always exactly once.
Bezüglich weiterer Techniken zur Segmentierung/Musikanalyse wird auf CHU, s. / LOGAN B.: Music Summary using Key Phra- ses. Technical Report, Cambridge Research Laboratory 2000, BARTSCH, M.A. / WAKEFIELD, g. H. : To Catch a Chorus: Using Chroma-Based Representation for Audio Thumbnailing. Pro- ceedings of the IEEE Workshop of Signal Processing to Audio and Acoustics 2001. http: //musen.engin.umich.edu/papers/ bartsch wakefield waspaaOl final.pdf, verwiesenConcerning further techniques for segmentation / music analysis, CHU, s. / LOGAN B .: Music Summary using Key Phases. Technical Report, Cambridge Research Laboratory 2000, BARTSCH, M.A. / WAKEFIELD, g. H.: To Catch a Chorus: Using Chroma-Based Representation for Audio Thumbnailing. Certifications of the IEEE Workshop on Signal Processing to Audio and Acoustics 2001. http: //musen.engin.umich.edu/papers/bartsch wakefield waspaaOl final.pdf, referenced
Nachteilig an dem bekannten Verfahren ist die Tatsache, dass die Singularwertzerlegung (SVD) zur Segmentklassenbil¬ dung, also zum Zuordnen von Segmenten zu Clustern zum einen sehr rechenaufwendig ist und zum anderen problematisch in der Beurteilung der Ergebnisse ist. So wird dann, wenn die Singularwerte nahezu gleich groß sind, eine möglicherweise falsche Entscheidung dahingehend getroffen, dass die beiden ähnlichen Singularwerte eigentlich die gleiche Segmentklas¬ se und nicht zwei unterschiedliche Segmentklassen darstel¬ len.A disadvantage of the known method is the fact that the singular value decomposition (SVD) for segment class formation, that is to say the assignment of segments to clusters, is very computationally intensive and is problematic in the evaluation of the results. Thus, if the singular values are nearly equal, then a possibly wrong decision is made to the effect that the two similar singular values actually represent the same segment class and not two different segment classes.
Ferner wurde herausgefunden, dass die Ergebnisse, die durch die Singularwertzerlegung eirhalten werden, dann immer prob¬ lematischer werden, wenn es starke Ähnlichkeitswertunter- schiede gibt, wenn also ein Stück sehtr ähnliche Anteile enthält, wie Strophe und Refrain, aber auch relativ unähn¬ liche Anteile, wie Intro, Outro oder Bridge.Furthermore, it has been found that the results obtained by the singular value decomposition will become more and more problematic if it has strong similarity values. there are differences, such as stanza and chorus, but also relatively unimportant parts, such as intro, outro or bridge.
Ferner problematisch an dem bekannten Verfahren ist, dass immer davon ausgegangen wird, dass der Cluster unter den beiden Clustern mit den höchsten Singularwerten, der das erste Segment im Lied hat, der Cluster „Strophe" ist, und dass der andere Cluster der Cluster „Refrain" ist. Dieses Prozedere basiert darauf, dass man im bekannten Verfahren davon ausgeht, dass ein Lied immer mit einer Strophe be¬ ginnt. Erfahrungen haben gezeigt, dass damit erhebliche La¬ belingfehler erhalten werden. Dies ist insofern problema¬ tisch, da das Labeling gewissermaßen die „Ernte" des gesam- ten Verfahrens ist, also das, was der Benutzer unmittelbar erfährt. Waren die vorhergehenden Schritte noch so präzise und aufwändig, so relativiert sich alles, wenn am Ende falsch gelabelt wird, da dann beim Benutzer das Vertrauen in das gesamte Konzept insgesamt Schaden nehmen könnte.Further problematic in the known method is that it is always assumed that the cluster among the two clusters with the highest singular values having the first segment in the song is the cluster "stanza", and that the other cluster is the cluster "chorus "is. This procedure is based on the fact that it is assumed in the known method that a song always starts with a stanza. Experience has shown that this will result in considerable faulty faults. This is problematic insofar as labeling is effectively the "harvesting" of the entire process, ie what the user experiences directly.Were the preceding steps were still so precise and complex, everything gets relativised, if in the end wrong is labeled, because then the user could lose confidence in the entire concept as a whole.
An dieser Stelle sei ferner darauf hingewiesen, dass insbe¬ sondere Bedarf nach automatischen Musikanalyseverfahren be¬ steht, ohne dass das Ergebnis immer überprüft und gegebe¬ nenfalls korrigiert werden kann. Statt dessen ist ein Ver- fahren nur dann am Markt einsetzbar, wenn es automatisch ohne menschliche Nachkorrektur ablaufen kann.It should also be noted at this point that there is a particular need for automatic music analysis methods without the result always being able to be checked and, if appropriate, corrected. Instead, a method can only be used on the market if it can run automatically without human correction.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes und gleichzeitig effizientes Konzept zum Grup- pieren von zeitlichen Segmenten eines Musikstücks zu schaf¬ fen.The object of the present invention is to provide an improved and at the same time efficient concept for grouping temporal segments of a piece of music.
Diese Aufgabe wird durch eine Vorrichtung zum Gruppieren gemäß Patentanspruch 1, ein Verfahren zum Gruppieren gemäß Patentanspruch 16 oder ein Computer-Programm gemäß Patent¬ anspruch 17 gelöst. Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass die Zuweisung eines Segments zu einer Segmentklasse auf der Basis eines adaptiven Ähnlichkeits-Mittelwerts für ein Segment durchzuführen ist, derart, dass durch den Ähra- lichkeits-Mittelwert berücksichtigt wird, welchen insgesam- ten Ähnlichkeits-Score ein Segment im gesamten Stück hat. Nachdem für ein Segment ein solcher Ähnlichkeits-Mittelwenrt berechnet worden ist, zu dessen Berechnung die Anzahl der Segmente und die Ähnlichkeitswerte der dem Segment zugeord- neten Mehrzahl von Ähnlichkeitswerten benötigt werden, wird dann die tatsächliche Zuweisung eines Segments zu einer Segmentklasse, also zu einem Cluster, auf der Basis dieses Ähnlichkeits-Mittelwerts durchgeführt. Liegt ein Ähnlicti- keitswert eines Segments zu dem gerade betrachteten Segment beispielsweise oberhalb des Ähnlichkeits-Mittelwerts, so wird das Segment als zu der gerade betrachteten Segmenii- klasse zugehörig zugewiesen. Liegt der Ähnlichkeitswert ei¬ nes Segments zu dem gerade betrachteten Segment dagegen un¬ terhalb dieses Ähnlichkeits-Mittelwerts, so wird es nicrit der Segmentklasse zugewiesen.This object is achieved by a device for grouping according to claim 1, a method for grouping according to claim 16 or a computer program according to patent claim 17. The present invention is based on the finding that the assignment of a segment to a segment class is to be carried out on the basis of an adaptive similarity mean value for a segment such that the overall similarity score is taken into account by the average of the average has a segment throughout the piece. After such a similarity mean has been calculated for a segment, for the calculation of which the number of segments and the similarity values of the plurality of similarity values assigned to the segment are required, then the actual allocation of a segment becomes a segment class, ie a cluster , performed on the basis of this similarity mean. If a similarity value of a segment to the segment just considered is above the similarity mean, for example, the segment is assigned as belonging to the segment class currently being considered. On the other hand, if the similarity value of a segment to the segment under consideration is below this similarity mean, it is not assigned to the segment class.
In anderen Worten ausgedrückt bedeutet dies, dass die Zu¬ weisung nicht mehr abhängig von der absoluten Größe der Ähnlichkeitswerte durchgeführt wird, sondern relativ zu dem Ähnlichkeits-Mittelwert. Dies bedeutet, dass für ein Seg¬ ment, das einen relativ geringen Ähnlichkeits-Score hat, also z. B. für ein Segment, das ein Intro oder Outro ha_t, der Ähnlichkeits-Mittelwert niedriger sein wird als für ein Segment, das eine Strophe oder ein Refrain ist. Damit wer- den die starken Abweichungen der Ähnlichkeiten von Segmen¬ ten in Stücken bzw. der Häufigkeit des Auftretens von be¬ stimmten Segmenten in Stücken berücksichtigt, wobei z. B. numerische Probleme und damit auch Mehrdeutigkeiten und da¬ mit verbundene Falsch-Zuweisungen vermieden werden können.In other words, this means that the assignment is no longer made dependent on the absolute size of the similarity values, but relative to the mean of similarity. This means that for a segment which has a relatively low similarity score, ie, for example, For example, for a segment having an intro or outro, the similarity mean will be lower than for a segment that is a stanza or chorus. Thus, the strong deviations of the similarities of segments in pieces or the frequency of the occurrence of certain segments in pieces are taken into account, whereby z. B. numerical problems and thus ambiguities and da¬ associated false allocations can be avoided.
Das erfindungsgemäße Konzept eignet sich besonders für Mu-- sikstücke, die nicht nur aus Strophen und Refrains beste¬ hen, also die Segmente haben, die zu Segmentklasse gehören, die gleich große Ähnlichkeitswerte haben, sondern auch für Stücke, die neben Strophe und Refrain auch andere Teile ha¬ ben, nämlich eine Einführung (Intro), ein Zwischenspiel (Bridge) oder einen Ausklang (Outro) .The concept according to the invention is particularly suitable for music pieces which do not consist only of stanzas and choruses, ie have the segments which belong to the segment class. have the same similarity values, but also for pieces that have other parts in addition to stanza and chorus, namely an introduction (Intro), an interlude (Bridge) or a finale (Outro).
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden die Berechnung des adaptiven Ähnlichkeits- Mittelwertes und das Zuweisen eines Segments iterativ durchgeführt, wobei zugewiesene Segmente beim nächsten Iterationsdurchgang ignoriert werden. Damit ändert sich für den nächsten Iterationsdurchgang wieder der Ähnlichkeits- Absolutwert, also die Summe der Ähnlichkeitswerte in einer Spalte der Ähnlichkeitsmatrix, da bereits zugewiesene Seg¬ mente zu 0 gesetzt worden sind.In a preferred embodiment of the present invention, the calculation of the adaptive similarity mean and the assignment of a segment are performed iteratively, ignoring assigned segments at the next iteration run. Thus, the similarity absolute value, that is to say the sum of the similarity values in a column of the similarity matrix, changes again for the next iteration run since already assigned segments have been set to 0.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine Segmentierungs-Nachkorrektur durchge¬ führt, und zwar dahingehend, dass nach der Segmentierung z. B. auf Grund des Neuheitswertes (der lokalen Maxima des Neuheitswertes) und nach einer anschließenden Zuordnung zu Segmentklassen relativ kurze Segmente untersucht werden, um zu sehen, ob sie dem Vorgänger-Segment oder dem Nachfol¬ ger-Segment zugeordnet werden können, da Segmente unterhalb einer minimalen Segmentlänge mit hoher Wahrscheinlichkeit auf eine Übersegmentierung hindeuten.In a preferred embodiment of the present invention, a segmentation post-correction is carried out, in such a way that after the segmentation z. B. due to the novelty value (the local maxima of novelty value) and after a subsequent assignment to segment classes relatively short segments are examined to see if they can be assigned to the predecessor segment or the successor ger segment, as segments below a minimal segment length is likely to indicate over-segmentation.
Bei einem alternativen bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird nach der abschließenden Segmen¬ tierung und Zuordnung in die Segmentklassen ein Labeling durchgeführt, und zwar unter Verwendung eines speziellen Auswahlalgorithmus, um eine möglichst korrekte Kennzeich¬ nung der Segmentklassen als Strophe oder Refrain zu erhal¬ ten.In an alternative preferred embodiment of the present invention, a labeling is carried out after the final segmentation and assignment into the segment classes, specifically using a special selection algorithm in order to obtain the most correct possible labeling of the segment classes as a stanza or chorus.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegende Zeich¬ nung detailliert erläutert. Es zeigen: Fig. 1 ein Blockschaltbild der erfindungsgemäßen Vor¬ richtung zum Gruppieren gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;Preferred embodiments of the present invention will be explained in detail below with reference to the accompanying drawings. Show it: 1 shows a block diagram of the device according to the invention for grouping according to a preferred embodiment of the present invention;
Fig. 2 ein Flussdiagramm zur Darstellung einer bevorzug¬ ten Ausführungsform der Erfindung zum iterativen Zuweisen;FIG. 2 shows a flow chart for illustrating a preferred embodiment of the invention for iteratively assigning; FIG.
Fig. 3 ein Blockdiagramm der Funktionsweise der Segmen- tierungskorrektureinrichtung;3 is a block diagram of the operation of the segmentation correction device;
Fig. 4a und Fig. 4b eine bevorzugte Ausführungsform der Segmentklassenbezeichnungseinrichtung;Figures 4a and 4b show a preferred embodiment of the segment class designator;
Fig. 5 ein Gesamtblockschaltbild eines Audioanalysewerk¬ zeugs;5 shows an overall block diagram of an audio analysis tool;
Fig. 6 eine Darstellung einer beispielhaften Merkmals¬ ähnlichkeitsmatrix;6 shows an illustration of an exemplary feature similarity matrix;
Fig. 7 eine beispielhafte Darstellung einer Segmentähn¬ lichkeitsmatrix;7 shows an exemplary representation of a segment similarity matrix;
Fig. 8 eine schematische Darstellung zur Veranschauli- chung der Elemente in einer Ähnlichkeitsmatrix S; undFIG. 8 shows a schematic representation for illustrating the elements in a similarity matrix S; FIG. and
Fig. 9 eine schematische Darstellung eines geglätteten Neuheitswerts.9 is a schematic representation of a smoothed novelty value.
Fig. 1 zeigt eine Vorrichtung zum Gruppieren von zeitlichen Segmenten eines Musikstücks, das in in dem Musikstück wie¬ derholt auftretende Hauptteile gegliedert ist, in verschie¬ dene Segmentklassen, wobei eine Segmentklasse einem Haupt- teil zugeordnet ist. Die vorliegende Erfindung bezieht sich somit besonders auf Musikstücke, die einer gewissen Struk¬ tur unterliegen, in der ähnliche Abschnitte mehrmals er¬ scheinen und sich mit anderen Abschnitten abwechseln. Die meisten Rock- und Popsongs besitzen eine klare Struktur in Bezug auf ihre Hauptteile.1 shows a device for grouping temporal segments of a piece of music, which is subdivided into main parts which repeatedly appear in the piece of music, into different segment classes, one segment class being assigned to a main part. The present invention thus relates particularly to pieces of music which are subject to a certain structure in which similar sections appear several times and alternate with other sections. The Most rock and pop songs have a clear structure in terms of their main parts.
Die Literatur behandelt das Thema der Musikanalyse haupt- sächlich anhand klassischer Musik, davon gilt jedoch auch vieles für Rock- und Popmusik. Die Hauptteile eines Musik¬ stücks werden auch „Großformteile" genannt. Unter einem Großformteil eines Stücks versteht man einen Abschnitt, der hinsichtlich verschiedener Merkmale, z. B. Melodik, Rhyth- mik, Textur, usw., eine relativ einheitliche Beschaffenheit hat. Diese Definition gilt allgemein in der Musiktheorie.The literature deals with the topic of music analysis mainly on the basis of classical music, but it also applies to rock and pop music. The main parts of a piece of music are also called "large shaped parts." A large shaped part of a piece is a section which has a relatively uniform character with regard to various features, eg, melody, rhythm, texture, etc. Definition applies generally in music theory.
Großformteile in der Rock- und Popmusik sind z. B. Strophe, Refrain, Bridge und Solo. In der klassischen Musik wird ein Wechselspiel von Refrain und anderen Teilen (Couplets) ei¬ ner Komposition auch Rondo genannt. Im Allgemeinen kontras¬ tieren die Couplets zum Refrain, beispielsweise hinsicht¬ lich Melodik, Rhythmik, Harmonik, Tonart oder Instrumenta¬ tion. Dies lässt sich auch auf moderne Unterhaltungsmusik übertragen. So wie es bei dem Rondo verschiedene Formen gibt (Kettenrondo, Bogenrondo, Sonatenrondo) , bestehen auch in Rock- und Popmusik bewährte Muster zum Aufbau eines Lie¬ des. Diese sind natürlich nur einige Möglichkeiten aus vie¬ len. Letztendlich entscheidet natürlich der Komponist, wie sein Stück aufgebaut ist. Ein Beispiel für einen typischen Aufbau eines Rockliedes ist das Muster.Large moldings in rock and pop music are z. Eg verse, chorus, bridge and solo. In classical music, an interplay of refrain and other parts (couplets) of a composition is also called rondo. In general, the couplets contrast with the refrain, for example with regard to melody, rhythm, harmony, key or instrumentation. This can also be transferred to modern light music. Just as there are various forms in the rondo (chain rondo, bowed rondo, sonata rondo), there are also proven patterns in rock and pop music for setting up a lie. These are, of course, only a few possibilities. Ultimately, of course, the composer decides how his piece is constructed. An example of a typical structure of a rock song is the pattern.
A-B-A-B-C-D-A-B,A-B-A-B-C-D-A-B,
wobei A gleich Strophe, B gleich Refrain, C gleich Bridge und D gleich Solo gilt. Oftmals wird ein Musikstück mit ei¬ nem Vorspiel (Intro) eingeleitet. Intros bestehen häufig aus der gleichen Akkordfolge wie die Strophe, allerdings mit anderer Instrumentation, z. B. ohne Schlagzeug, ohne Bass oder ohne Verzerrung der Gitarre bei Rockliedern etc.where A equals strophe, B equals refrain, C equals bridge, and D equals solo. Often a piece of music is introduced with a prelude (Intro). Intros often consist of the same chord progression as the stanza, but with different instrumentation, eg. B. without drums, without bass or distortion of the guitar in rock songs etc.
Die erfindungsgemäße Vorrichtung umfasst zunächst eine Ein¬ richtung 10 zum Bereitstellen einer Ähnlichkeitsdarstellung für die Segmente, wobei die Ähnlichkeitsdarstellung für je¬ des Segment eine zugeordnete Mehrzahl von Ähnlichkeitswer¬ ten aufweist, wobei die Ähnlichkeitswerte angeben, wie ähn¬ lich das Segment zu jedem anderen Segment ist. Die Ähnlich- keitsdarstellung ist vorzugsweise die in Fig. 7 gezeigte Segment-Ähnlichkeitsmatrix. Sie hat für jedes Segment (in Fig. 7 Segmente 1-10) eine eigene Spalte, die den Index „jλλ hat. Ferner hat die Ähnlichkeitsdarstellung für jedes Seg¬ ment eine eigene Zeile, wobei eine Zeile mit einem Zeilen- index i bezeichnet ist. Dies wird nachfolgend anhand des beispielhaften Segments 5 bezeichnet. Das Element (5,5) in der Hauptdiagonale der Matrix von Fig. 7 ist der Ähnlich¬ keitswert des Segments 5 mit sich selbst, also der maximale Ähnlichkeάtswert. Ferner ist das Segment 5 noch mittelähn- lieh zum Segment Nr. 6, wie es durch das Element (6,5) oder durch das Element (5,6) der Matrix in Fig. 7 bezeichnet ist. Darüber hinaus hat das Segment 5 noch Ähnlichkeiten zu den Segmenten 2 und 3, wie es durch die Elemente (2,5) oder (3,5) oder (5,2) oder (5,3) in Fig. 7 gezeigt ist. Zu den anderen Segmenten 1, 4, 7, 8, 9, 10 hat das Segment Nr. 5 eine Ähnlichkeit, die in Fig. 7 nicht mehr sichtbar ist.The device according to the invention initially comprises a device 10 for providing a similarity representation for the segments, the similarity representation for each segment having an associated plurality of similarity values, the similarity values indicating how similar the segment is to each other segment. The similarity representation is preferably the segment similarity matrix shown in FIG. It has for each segment (in Fig. 7 segments 1-10) its own column which has the index " jλλ . Furthermore, the similarity representation has a separate line for each segment, one line being designated by a line index i. This will be referred to below with reference to the exemplary segment 5. The element (5, 5) in the main diagonal of the matrix of FIG. 7 is the similarity value of the segment 5 with itself, ie the maximum similarity value. Furthermore, the segment 5 is still medium-le to the segment no. 6, as it is denoted by the element (6,5) or by the element (5,6) of the matrix in Fig. 7. Moreover, the segment 5 is still similar to the segments 2 and 3 as shown by elements (2, 5) or (3, 5) or (5, 5) or (5, 3) in FIG. 7. To the other segments 1, 4, 7, 8, 9, 10, the segment No. 5 has a similarity, which is no longer visible in Fig. 7.
Eine dem Segment zugeordnete Mehrzahl von Ähnlichkeitswer¬ ten ist beispielsweise eine Spalte oder eine Zeile der Seg- ment-ÄhnLichkeitsmatrix in Fig. 7, wobei diese Spalte oder Zeile auf Grund ihres Spalten-/Zeilen-Indexes angibt, auf welches Segment sie sich bezieht, nämlich beispielsweise auf das fünfte Segment, und wobei diese Zeile/Spalte die Ähnlichkeiten des fünften Segments zu jedem anderen Segment in dem Stück umfasst. Die Mehrzahl von Ähnlichkeitswerten ist also beispielsweise eine Zeile der Ähnlichkeitsmatrix oder, alternativ, eine Spalte der Ähnlichkeitsmatrix von Fig. 7.A plurality of similarity values assigned to the segment is, for example, a column or a row of the segment similarity matrix in FIG. 7, this column or row indicating by its column / row index which segment it refers to, namely, for example, to the fifth segment, and where this row / column includes the similarities of the fifth segment to each other segment in the piece. Thus, the plurality of similarity values is, for example, a row of the similarity matrix or, alternatively, a column of the similarity matrix of FIG. 7.
Die Vorrichtung zum Gruppieren von zeitlichen Segmenten des Musikstücks umfasst ferner eine Einrichtung 12 zum Berech¬ nen eines Ähnlichkeits-Mittelwertes für ein Segment, unter Verwendung der Segmente und der Ähnlichkeitswerte der dem Segment zugeordneten Mehrzahl von Ähnlichkeitswerten. Die Einrichtung 12 ist ausgebildet, um z. B. für die Spalte 5 in Fig. 7 einen Ähnlichkeits-Mittelwert zu berechnen. Wird bei einem bevorzugten Ausführungsbeispiel der arithmetische Mittelwert verwendet, so wird die Einrichtung 12 die Ähn¬ lichkeitswerte in der Spalte addieren und durch die Anzahl der Segmente insgesamt teilen. Um die Selbstähnlichkeit zu eliminieren, könnte von dem. Additionsergebnis auch die Ähn¬ lichkeit des Segments mit sich selbst abgezogen werden, wo- bei natürlich dann auch eine Teilung nicht mehr durch sämt¬ liche Elemente, sondern durch sämtliche Elemente weniger 1 durchzuführen ist.The device for grouping temporal segments of the piece of music further comprises means 12 for calculating a similarity mean value for a segment, using the segments and the similarity values of the segment Segment associated with a plurality of similarity values. The device 12 is designed to z. For example, to calculate a similarity mean for column 5 in FIG. If the arithmetic mean value is used in a preferred exemplary embodiment, the device 12 will add the similarity values in the column and divide them by the total number of segments. To eliminate the self - similarity, could of the. As a result of addition, the similarity of the segment to itself can also be deducted, whereby, of course, a division is then no longer to be carried out by all elements, but by all elements less than one.
Die Einrichtung 12 zum Berechnen könnte alternativ auch den geometrischen Mittelwert berechnen, also jeden Ähnlich¬ keitswert einer Spalte für: sich quadrieren, um die quad¬ rierten Ergebnisse zu summieren, um dann eine Wurzel aus dem Summationsergebnis zu berechnen, welche durch die An¬ zahl der Elemente in der Spalte (bzw. die Anzahl der EIe- mente in der Spalte weniger" 1) zu teilen ist. Beliebige an¬ dere Mittelwerte, wie beispielsweise der Median-Wert etc. sind verwendbar, so lange der Mittelwert für jede Spalte der Ähnlichkeitsmatrix adaptiv berechnet wird, also ein Wert ist, der unter Verwendung der Ähnlichkeitswerte der dem Segment zugeordneten Mehrzahl von Ähnlichkeitswerten berechnet wird.The means 12 for calculating could alternatively also calculate the geometric mean value, ie each similarity value of a column for: square, in order to sum the quadrated results, in order then to calculate a root from the summation result, which is given by the number The elements in the column (or the number of elements in the column less "1) is to be divided in. Any other average values, such as the median value, etc., can be used as long as the mean value for each column is Similarity matrix is calculated adaptively, that is, a value that is calculated using the similarity values of the plurality of similarity values associated with the segment.
Der adaptiv berechnete Ähnlichkeits-Schwellenwert wird dann einer Einrichtung 14 zum Zuweisen eines Segments zu einer Segmentklasse geliefert. Die Einrichtung 14 zum Zuweisen ist ausgebildet, um ein Segment einer Segmentklasse zuzu¬ ordnen, wenn der Ähnlichkeitswert des Segments eine vorbe¬ stimmte Bedingung bezüglich des Ähnlichkeits-Mittelwerts erfüllt. Ist beispielsweise der Ähnlichkeits-Mittelwert so, dass ein größerer Wert auf eine größere Ähnlichkeit und ein kleinerer Wert auf eine geringere Ähnlichkeit hinweist, so wird die vorbestimmte Beziehung darin bestehen, dass der Ähnlichkeitswert eines Segments gleich oder oberhalb des Ähnlichkeits-Mittelwerts sein muss, damit das Segment einer Segmentklasse zugewiesen wird.The adaptively calculated similarity threshold is then provided to a segment 14 for assigning a segment to a segment class. The means 14 for assigning is designed to assign a segment to a segment class if the similarity value of the segment fulfills a predetermined condition with respect to the mean of similarity. For example, if the similarity mean value is such that a larger value indicates a greater similarity and a smaller value indicates a lower similarity, the predetermined relationship will be that the similarity value of a segment equal to or above the Similarity mean, in order for the segment to be assigned to a segment class.
Bei einem bevorzugten Ausführungsbeispiel cder vorliegenden Erfindung existieren noch weitere Einrichtungen, um spe¬ zielle Ausführungsformen zu verwirklichen, auf die später eingegangen wird. Diese Einrichtungen sind eine Segmentaus¬ wahleinrichtung 16, eine Segmentzuweisungs konflikteinrich- tung 18, eine Segmentierungskorrektureinrichtung 20 sowie eine Segmentklassen-Bezeichnungseinrichtung 22.In a preferred embodiment of the present invention, further devices exist to realize special embodiments, which will be discussed later. These devices are a segment selection device 16, a segment assignment conflicting device 18, a segmentation correction device 20 and a segment class designation device 22.
Die Segmentauswahleinrichtung 16 in Fig. 1 ist ausgebildet, um zunächst für jede Spalte in der Matrix von Fig. 7 einen Gesamt-Ähnlichkeitswert V(j) zu berechnen, der folgenderma- ßen ermittelt wird:The segment selector 16 in FIG. 1 is designed to first calculate an overall similarity value V (j) for each column in the matrix of FIG. 7, which is determined as follows:
V(j)=∑Ss(i,j)-SÄ j=\,...,PV (j) = ΣS s (i, j) -Sj j = \, ..., P
(=1(= 1
P ist die Anzahl der Segmente. SÄ ist der Wert der Selbst- ähnlichkeit eines Segments mit sich selbst. Je nach verwen¬ deter Technik kann der Wert z. B. Null oder Eins sein. Die Segmentauswahleinrichtung 16 wird zunächst: den Wert V(j) für jedes Segment berechnen, um dann das Vektorelement i des Vektors V mit maximalem Wert herauszufinden. Anders ausgedrückt bedeutet dies, dass die Spalte in Fig. 7 ge¬ wählt wird, die bei der Aufaddition der einzelnen Ähnlich¬ keitswerte in der Spalte den größten Wert oder Score er¬ reicht. Dieses Segment könnte beispielsweise das Segment Nr. 5 bzw. die Spalte 5 der Matrix in Fig. 7 sein, da die- ses Segment mit drei anderen Segmenten zumindest eine ge¬ wisse Ähnlichkeit hat. Ein anderer Kandidat bei dem Bei¬ spiel von Fig. 7 könnte auch das Segmen~t mit der Nr. 7 sein, da dieses Segment ebenfalls zu drei anderen Segmenten eine gewisse Ähnlichkeit hat, die zudem noch größer ist als die Ähnlichkeit des Segments 5 zu den Segmenten 2 und 3 (höhere Grauschattierung in Fig. 7) . Für das nachfolgende Beispiel wird nunmehr angenommen, dass die Segmentauswahleinrichtung 16 das Segment Nr. 7 aus¬ wählt, da es den höchsten Ähnlichkeits-Score auf Grund der Matrixelemente (1,7), (4,7) und (10,7) hat. Dies bedeutet in anderen Worten, dass V(7) die Komponente des Vektors V ist, die den maximalen Wert unter allen Komponenten von V hat.P is the number of segments. SÄ is the value of the self-similarity of a segment with itself. Depending on the verwen¬ deter- mined technique, the value z. B. zero or one. The segment selector 16 will first: calculate the value V (j) for each segment to then find the vector element i of the maximum value vector V. In other words, this means that the column in FIG. 7 is selected, which achieves the greatest value or score when the individual similarity values in the column are added up. This segment could, for example, be the segment No. 5 or the column 5 of the matrix in FIG. 7, since this segment has at least a certain similarity with three other segments. Another candidate in which to Example of Fig. 7 also Segmen t ~ could be No. 7., Since this segment has a certain similarity also to three other segments which also is still greater than the similarity of the segment 5 to Segments 2 and 3 (higher shade of gray in Fig. 7). For the following example, it is now assumed that the segment selection device 16 selects segment No. 7, since it has the highest similarity score on the basis of the matrix elements (1, 7), (4, 7) and (10, 7) , In other words, this means that V (7) is the component of the vector V which has the maximum value among all the components of V.
Nunmehr wird der Ähnlichkeits-Score der Spalte 7, also für das Segment Nr. 7 noch durch die Zahl „9" geteilt, um aus der Einrichtung 12 den Ähnlichkeits-Schwellwert für das Segment zu erhalten.Now, the similarity score of column 7, that is, for segment no. 7, is still divided by the number "9" in order to obtain from the means 12 the similarity threshold value for the segment.
Hierauf wird in der Segment-Ähnlichkeitsmatrix für die siebte Zeile bzw. Spalte überprüft, welche Segmentähnlich¬ keiten über dem berechneten Schwellwert liegen, d. h. mit welchen Segmenten das i-te Segment eine überdurchschnittli¬ che Ähnlichkeit aufweist. All diese Segmente werden nunmehr ebenfalls wie das siebte Segment einer ersten Segmentklasse zugewiesen.Then, in the segment similarity matrix for the seventh row or column, it is checked which segment similarities are above the calculated threshold value, ie. H. with which segments the i-th segment has an above-average similarity. All these segments are now also assigned to a first segment class like the seventh segment.
Für das vorliegende Beispiel wird angenommen, dass die Ähn¬ lichkeit des Segments 10 zum Segment 7 unterdurchschnitt¬ lich ist, dass jedoch die Ähnlichkeiten des Segments 4 und des Segments 1 zum Segment 7 überdurchschnittlich sind. Da¬ her werden in die erste Segmentklasse neben dem Segment Nr. 7 auch das Segment Nr. 4 und das Segment Nr. 1 eingeordnet. Dagegen wird das Segment Nr. 10 auf Grund der unterdurch¬ schnittlichen Ähnlichkeit zum Segment Nr. 7 nicht in die erste Segmentklasse eingeordnet.For the present example, it is assumed that the similarity of the segment 10 to the segment 7 is below average, but that the similarities of the segment 4 and the segment 1 to the segment 7 are above average. Therefore, in addition to segment no. 7, segment no. 4 and segment no. 1 are also classified in the first segment class. By contrast, segment No. 10 is not classified in the first segment class due to the below-average similarity to segment No. 7.
Nach der Zuweisung werden die korrespondierenden Vektorrele- mente V(j) aller Segmente, die in dieser Schwellwertunter¬ suchung einem Cluster zugeordnet wurden, zu 0 gesetzt . Im Beispiel sind dies neben V(7) auch die Komponenten V(4) und V(I) . Dies bedeutet unmittelbar, dass die 7., 4. uad 1. Spalte der Matrix nicht mehr für eine spätere Maximalsuche zur Verfügung stehen werden, das sie Null sind, also kei¬ nesfalls ein Maximum sein können.After the assignment, the corresponding vector elements V (j) of all segments which were assigned to a cluster in this threshold value analysis are set to 0. In the example these are beside V (7) also the components V (4) and V (I). This immediately means that the 7th, 4th, and 4th columns of the matrix are no longer available for a later maximum search that they are zero, so that they can never be a maximum.
Dies ist in etwa gleichbedeutend damit, dass die Einträge (1,7), (4,7), (7,7) und (10,7) der Segmentähnlichkeitsmat- rix zu 0 gesetzt werden. Dasselbe Prozedere wird für dieThis is roughly equivalent to setting the entries (1,7), (4,7), (7,7) and (10,7) of the segment similarity matrix to 0. The same procedure will be used for the
Spalte 1 (Elemente (1,1), (4,1) und (7,1)) und die Spalte 4Column 1 (elements (1,1), (4,1) and (7,1)) and column 4
(Elemente (1,4), (4,4) , (7,4) und (10, 4)) durchgeführt.(Elements (1,4), (4,4), (7,4) and (10, 4)).
Aufgrund der einfacheren Handhabbarkeit, wird jedoch die Matrix nicht verändert, sondern werden die Komponenten vonDue to the ease of handling, however, the matrix is not changed, but the components of
V, die zu einem zugewiesenen Segment gehören, bei der nächsten Maximumsuche in einem späteren Iterationsschritt ignoriert.V, which belong to an assigned segment, are ignored in the next maximum search in a later iteration step.
In einem nächsten Iterationsschritt wird nunmehr ein neues Maximum unter den noch verbleibenden Elementen von V, also unter V(2), V(3), V(5), V(6,), V(8), V(9) und V(IO) ge¬ sucht. Voraussichtlich wird dann das Segment Nr. 5, also V(5), den größten Ähnlichkeits-Score ergeben. Die zweite Segmentklasse erhält dann die Segmente 5 und 6. Auf Grund der Tatsache, dass die Ähnlichkeiten zu den Segmenten 2 und 3 unterdurchschnittlich sind, werden die Segmente 2 und 3 nicht in den Cluster zweiter Ordnung gebracht. Damit werden die Elemente V(6) und V(5) vom Vektor V auf Grund der er- folgten Zuweisung zu 0 gesetzt, während noch die Komponen¬ ten V(2), V(3), V(8), V{9) und V(IO) des Vektors für die Auswahl des Clusters dritter Ordnung verbleiben.In a next iteration step, a new maximum is now selected from the remaining elements of V, that is to say V (2), V (3), V (5), V (6), V (8), V (9) and V (IO) searched. The segment no. 5, ie V (5), is expected to yield the largest similarity score. The second segment class then obtains segments 5 and 6. Due to the fact that the similarities to segments 2 and 3 are below average, segments 2 and 3 are not placed in the second order clusters. Thus, the elements V (6) and V (5) are set to 0 by the vector V due to the assignment that has been made, while still the components V (2), V (3), V (8), V { 9) and V (IO) of the vector for the selection of the third-order cluster remain.
Hierauf wird wieder ein neues Maximum unter den genannten verbleibenden Elementen von V gesucht. Das neue Maximum könnte V(IO) sein, also die Komponente von V für das Seg¬ ment 10. Segment 10 kommt also in die Segmentklasse dritter Ordnung. So könnte sich ferner herausstellen, dass das Seg¬ ment 7 auch zum Segment 10 eine überdurchschnittliche Ähn- lichkeit hat, obgleich das Segment 7 bereits der ersten Segmentklasse zugehörig gekennzeichnet ist. Es entsteht so¬ mit ein Zuweisungskonflikt, der durch die Segmentzuwei- sungskonflikteinrichtung 18 von Fig. 1 aufgelöst wird. Eine einfache Art der Auflösung könnte sein, einfach in die dritte Segmentklasse das Segment 7 nicht zuzuweisen und z. B. statt dessen das Segment 4 zuzuweisen, falls für das Segment 4 nicht ebenfalls ein Konflikt existieren würde.Then again a new maximum among the mentioned remaining elements of V is searched for. The new maximum could be V (IO), ie the component of V for the segment 10. Segment 10 thus comes in the third-order segment class. Thus, it could also be found that the segment 7 also has an above-average similarity to the segment 10, although the segment 7 is already identified as belonging to the first segment class. This results in an assignment conflict, which is resolved by the segment assignment conflicting device 18 of FIG. A simple kind of resolution could be to simply not assign the segment 7 into the third segment class and e.g. For example, instead of assigning the segment 4, if for the segment 4 would not also conflict exist.
Vorzugsweise wird jedoch, um die Ähnlichkeit zwischen dem Segment 7 und dem Segment 10 nicht unberücksichtigt zu las¬ sen, die Ähnlichkeit zwischen 7 und 10 in nachfolgendem Al- gorithmus berücksichtigt.Preferably, however, in order not to disregard the similarity between the segment 7 and the segment 10, the similarity between 7 and 10 is taken into account in the following algorithm.
Allgemein ist die Erfindung ausgelegt, um die Ähnlichkeit zwischen i und k nicht unberücksichtigt zu lassen. Daher werden die Ähnlichkeitswerte Ss(i,k) von Segment i und k mit dem Ähnlichkeitswert Ss(i*,k) verglichen, wobei i* das erste Segment ist, das dem Cluster C* zugeordnet wurde. Der Cluster bzw. die Segmentklasse C* ist der Cluster, dem das Segment k bereits auf Grund einer vorherigen Untersuchung zugeordnet ist. Der Ähnlichkeitswert Ss(i*,k) ist aus- schlaggebend dafür, dass das Segment k dem Cluster C* zuge¬ hörig ist. Ist Ss(i*,k) größer als Ss(i/k), so bleibt das Segment k im Cluster C*. Ist Ss(i*,k) kleiner als Ss(i,k), so wird das Segment k aus dem Cluster C* herausgenommen und dem Cluster C zugewiesen. Für den ersten Fall, also wenn das Segment k nicht die Clusterzugehörigkeit wechselt, wird für das Segment i eine Tendenz zum Cluster C* vermerkt. Vorzugsweise wird diese Tendenz jedoch auch dann vermerkt, wenn das Segment k die Clusterzugehörigkeit wechselt. In diesem Fall wird eine Tendenz dieses Segments zum Cluster, in den es ursprünglich aufgenommen wurde, vermerkt. Diese Tendenzen können vorteilhafterweise bei einer Segmentie¬ rungskorrektur, die durch die Segmentierungskorrekturein¬ richtung 20 ausgeführt wird, verwendet werden.Generally, the invention is designed not to discount the similarity between i and k. Therefore, the similarity values S s (i, k) of segment i and k are compared with the similarity value S s (i * , k), where i * is the first segment assigned to the cluster C * . The cluster or the segment class C * is the cluster to which segment k is already assigned on the basis of a previous examination. The similarity value S s (i * , k) is decisive for the fact that the segment k belongs to the cluster C * . If S s (i * , k) is greater than S s (i / k), segment k remains in cluster C * . If S s (i * , k) is smaller than S s (i, k), the segment k is taken out of the cluster C * and assigned to the cluster C. For the first case, ie if the segment k does not change the cluster membership, a tendency towards the cluster i is noted for the cluster C * . Preferably, however, this tendency is also noted when segment k changes cluster membership. In this case, a tendency of this segment to the cluster in which it was originally recorded is noted. These tendencies may advantageously be used in a segmentation correction carried out by the segmentation correction device 20.
Die Ähnlichkeitswertüberprüfung wird, auf Grund der Tatsa¬ che, dass das Segment 7 das „Ursprungssegment" in der ers¬ ten Segmentklasse ist, zugunsten der ersten Segmentklasse ausgehen. Das Segment 7 wird also seine Clusterzugehörig- keit (SegmentZugehörigkeit) nicht ändern, sondern es wird in der ersten Segmentklasse verbleiben. Diese Tatsache wird jedoch dadurch berücksichtigt, dass dem Segment Nr. 10 in der dritten Segmentklasse ein Trend zur ersten Segmentklas- se attestiert wird.The similarity value check is based on the fact that the segment 7 is the "original segment" in the first segment class, in favor of the first segment class. It will remain in the first segment class. However, this fact is taken into account by the fact that segment no. 10 in the third segment class is attested a trend towards the first segment class.
Erfindungsgemäß wird damit berücksichtigt, dass insbesonde¬ re für die Segmente, deren Segment-Ähnlichkeiten zu zwei unterschiedlichen Segmentklassen existieren, diese Ähnlich- keiten dennoch nicht ignoriert werden, sondern gegebenen¬ falls später durch den Trend bzw. die Tendenz doch noch be¬ rücksichtigt werden.According to the invention, it is thus taken into account that, in particular, for the segments whose segment similarities to two different segment classes exist, these similarities are not ignored but, if appropriate, are taken into account later by the trend or the tendency ,
Das Prozedere wird so lange fortgeführt, bis alle Segmente in der Segment-Ähnlichkeitsmatrix zugeordnet sind, was der Fall ist, wenn alle Elemente vom Vektor V zu Null gesetzt sind.The procedure continues until all segments in the segment similarity matrix are assigned, which is the case when all elements of vector V are set to zero.
Dies würde für das in Fig. 7 gezeigte Beispiel bedeuten, dass als nächstes, in die vierte Segmentklasse, das Maximum von V(2), V(3), V(8), V(9), also das Segment 2 und 3 einge¬ ordnet werden, um dann, in einer fünften Segmentklasse, die Segmente 8 bzw. 9 einzuordnen, bis alle Segmente zugeordnet worden sind. Damit ist der in Fig. 2 gezeigte iterative Al- gorithmus beendet.For the example shown in FIG. 7, this would mean that next, in the fourth segment class, the maximum of V (2), V (3), V (8), V (9), ie the segment 2 and 3 einge¬ be classified, then, in a fifth segment class, the segments 8 and 9 to classify until all segments have been assigned. Thus, the iterative algorithm shown in FIG. 2 is completed.
Nachfolgend wird detailliert auf die bevorzugte Implemen¬ tierung der Segmentierungskorrektureinrichtung 20 anhand von Fig. 3 eingegangen.In the following, the preferred implementation of the segmentation correcting device 20 will be described in detail with reference to FIG. 3.
So ergibt sich, dass bei der Berechnung der Segmentgrenzen mittels der Kernel-Korrelation, jedoch auch bei der Berech¬ nung von Segmentgrenzen mittels anderer Maßnahmen häufig eine Übersegmentierung eines Stücks entsteht, d. h. es wer- den zu viele Segmentgrenzen bzw. allgemein zu kurze Segmen¬ te berechnet. Eine Übersegmentierung, z. B. hervorgerufen durch eine falsche Unterteilung der Strophe, wird erfin¬ dungsgemäß dadurch korrigiert, dass auf Grund der Segment- länge und der Information, in welche Segmentklasse ein Vor¬ gänger- oder Nachfolger-Segment einsortiert worden ist, korrigiert wird. In anderen Worten ausgedrückt dient die Korrektur dazu, zu kurze Segmente vollständig zu eliminie- ren, also mit benachbarten Segmenten zu verschmelzen, und um Segmente, die kurz sind, jedoch nicht zu kurz sind, also die eine kurze Länge haben, jedoch länger als die Minimal¬ länge sind, noch einer besonderen Untersuchung zu unterzie¬ hen, ob sie vielleicht nicht doch noch mit einem Vorgänger- segment oder einem Nachfolgersegment verschmolzen werden können. Grundsätzlich werden erfindungsgemäß aufeinander folgende Segmente, die der gleichen Segmentklasse angehö¬ ren, immer verschmolzen. Ergibt das in Fig. 7 gezeigte Sze¬ nario z. B., dass die Segmente 2 und 3 in dieselbe Segment- klasse kommen, so werden diese automatisch miteinander ver¬ schmolzen, während die Segmente in der ersten Segmentklas¬ se, also die Segmente 7, 4, 1 voneinander beabstandet sind und daher (wenigstens zunächst) nicht verschmelzbar sind. Dies wird in Fig. 3 durch einen Block 30 angedeutet. Nun- mehr wird in einem Block 31 untersucht, ob Segmente eine Segmentlänge haben, die kleiner als eine Mindestlänge ist. So existieren vorzugsweise verschiedene Mindestlängen.Thus, it follows that in the calculation of the segment boundaries by means of the kernel correlation, but also in the calculation of segment boundaries by means of other measures, an over-segmentation of a piece often occurs, ie too many segment boundaries or generally too short segments te calculated. An over-segmentation, z. B. caused by an incorrect subdivision of the stanza is erfin¬ according to corrected by the fact that due to the segment length and the information in which segment class a predecessor or successor segment has been sorted is corrected. In other words, the correction serves to completely eliminate segments that are too short, ie to merge with adjacent segments, and to segments that are short but not too short, ie that are short in length but longer than that Minimal lengths are still to undergo a special investigation, whether they may not yet be merged with a predecessor segment or a successor segment. In principle, successive segments which belong to the same segment class are always fused together. If the scenario shown in FIG. B. that the segments 2 and 3 come in the same segment class, they are automatically ver¬ melted together, while the segments in the first Segmentklas¬ se, ie the segments 7, 4, 1 are spaced apart and therefore (at least initially) can not be merged. This is indicated in FIG. 3 by a block 30. Now, in a block 31, it is examined whether segments have a segment length smaller than a minimum length. Thus, there are preferably different minimum lengths.
Es werden relativ kurze Segmente, die kürzer als 11 Sekun- den (eine erste Schwelle) sind, überhaupt nur untersucht, während später noch kürzere Segmente (eine zweite Schwelle, die kleiner als die erste ist) , die kürzer als 9 Sekunden sind, untersucht werden, und später noch verbleibende Seg¬ mente, die kürzer als 6 Sekunden (eine dritte Schwelle, die kürzer als die zweite Schwelle ist) sind, wieder alternativ behandelt werden.Relatively short segments shorter than 11 seconds (a first threshold) are examined at all, while later on even shorter segments (a second threshold smaller than the first) shorter than 9 seconds are examined and, later, any remaining segments which are shorter than 6 seconds (a third threshold which is shorter than the second threshold) will be treated again alternatively.
Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung, bei dem diese gestaffelte Längenüberprüfung stattfindet, ist die Segmentlängenüberprüfung im Block 31 zunächst darauf gerichtet, dass die Segmente kürzer als 11 Sekunden gefunden werden. Für die Segmente, die länger als 11 Sekunden sind, wird keine Nachbearbeitung vorgenommen, wie es durch ein „Nein" am Block 31 erkennbar ist. Für Seg¬ mente, die kürzer als 11 Sekunden sind, wird zunächst eine Tendenzenüberprüfung (Block 32) durchgeführt. So wird zu¬ nächst untersucht, ob ein Segment auf Grund der Funktiona- lität der Segmentzuweisungskonflikteinrichtung 18 von Fig. 1 einen zugeordneten Trend bzw. eine zugeordnete Tendenz hat. Bei dem Beispiel von Fig. 7 wäre dies das Segment 10, das einen Trend zu dem Segment 7 bzw. einen Trend zur ers¬ ten Segmentklasse hat. Ist das zehnte Segment kürzer als 11 Sekunden, so würde bei dem in Fig. 7 gezeigten Beispiel dennoch auch auf Grund der Tendenzüberprüfung nichts ge¬ schehen, da eine Verschmelzung des betrachteten Segments nur dann stattfindet, wenn es eine Tendenz nicht zu irgend¬ einem Cluster, also zu irgendeiner Segmentklasse hat, son- dern eine Tendenz zu einem Cluster eines angrenzenden (vor¬ her oder nachher) Segments. Dies ist jedoch für das Segment 10 bei dem in Fig. 7 gezeigten Beispiel nicht der Fall.In the preferred embodiment of the present invention in which this staggered length check occurs, the segment length check in block 31 is initially directed to finding the segments shorter than 11 seconds. For the segments that are longer than 11 seconds, no post processing is done, as can be recognized by a "No" at block 31. For segments which are shorter than 11 seconds, a trend check (block 32) is first of all carried out, so that at first a check is made as to whether a segment 1 has an associated trend or associated tendency In the example of Fig. 7, this would be the segment 10 which has a trend towards the segment 7 or a trend towards the first segment class the tenth segment is shorter than 11 seconds, in the example shown in FIG. 7, nothing would happen, however, also due to the trend check, since a fusion of the considered segment takes place only if there is no tendency for any cluster, but has a tendency to a cluster of an adjacent (before or after) segment, but this is for the segment 10 in the example shown in FIG not the case.
Um auch die zu kurzen Segmente zu vermeiden, die keine Ten- denz zu dem Cluster eines benachbarten Segments aufweisen, wird vorgegangen, wie es in den Blöcken 33a, 33b, 33c und 33d in Fig. 3 dargestellt ist. So wird an Segmenten, die länger als 9 Sekunden, jedoch kürzer als 11 Sekunden sind, nichts mehr gemacht. Sie werden belassen. In einem Block 33a wird nun jedoch für Segmente aus dem Cluster X, die kürzer als 9 Sekunden sind, und bei denen sowohl das Vor¬ gänger-Segment als auch das Nachfolge-Segment zum Cluster Y gehören, eine Zuweisung zum Cluster Y vorgenommen, was au¬ tomatisch bedeutet, dass ein solches Segment mit sowohl dem Vorgänger- als auch dem Nachfolger-Segment verschmolzen wird, so dass ein insgesamt längeres Segment entsteht, das sich aus dem betrachteten Segment sowie dem Vorgänger- als auch dem Nachfolger-Segment zusammensetzt. Somit kann durch eine nachfolgende Verschmelzung eine Zusammenfassung von zunächst getrennten Segmenten über ein zu verschmelzendes dazwischenliegendes Segment gelingen. In einem Block 33b ist ferner ausgeführt, was mit einem Segment geschieht, das kürzer als 9 Sekunden ist, und das das einzige Segment in einer Segmentgruppe ist. So ist in der dritten Segmentklasse das Segment Nr. 10 das einzige Segment. Wäre es nun kürzer als 9 Sekunden, so wird es au¬ tomatisch der Segmentklasse zugeordnet, zu der das Segment Nr. 9 gehört. Dies führt automatisch zu einer Verschmelzung des Segments 10 mit dem Segment 9. Ist das Segment 10 län¬ ger als 9 Sekunden, so wird diese Verschmelzung nicht vor- genommen.In order to avoid too short segments, which have no tendency to the cluster of an adjacent segment, the procedure is as shown in the blocks 33a, 33b, 33c and 33d in FIG. Thus, nothing is done on segments longer than 9 seconds, but shorter than 11 seconds. They are left. In a block 33a, however, for segments from the cluster X which are shorter than 9 seconds, and in which both the precursor segment and the successor segment belong to the cluster Y, an assignment to the cluster Y is made, which automatically means that such a segment is merged with both the predecessor and the successor segment, so that an overall longer segment is formed, which is composed of the considered segment and the predecessor as well as the successor segment. Thus, a subsequent merger may result in a combination of initially separate segments over an intervening segment to be merged. In a block 33b it is further explained what happens to a segment that is shorter than 9 seconds and that is the only segment in a segment group. For example, segment no. 10 is the only segment in the third segment class. If it were shorter than 9 seconds, it is automatically assigned to the segment class to which segment No. 9 belongs. This automatically leads to a fusion of the segment 10 with the segment 9. If the segment 10 län¬ ger than 9 seconds, this merger is not made.
In einem Block 33c wird dann eine Untersuchung vorgenommen für Segmente, die kürzer als 9 Sekunden sind, und die nicht das einzige Segment in einem entsprechenden Cluster X, als in einer entsprechenden Segmentgruppe sind. Sie werden ei¬ ner genaueren Überprüfung unterzogen, in der eine Regelmä¬ ßigkeit in der Clusterabfolge festgestellt werden soll. Zu¬ nächst werden alle Segmente aus der Segmentgruppe X ge¬ sucht, die kürzer als die Mindestlänge sind. Im Anschluss wird für jedes dieser Segmente geprüft, ob die Vorgänger¬ und Nachfolge-Segmente jeweils zu einem einheitlichen Cluster gehören. Sind alle Vorgänger-Segmente aus einem einheitlichen Cluster, so werden alle zu kurzen Segmente aus dem Cluster X dem Vorgänger-Cluster zugeordnet. Sind dagegen alle Nachfolger-Segmente aus einem einheitlichen Cluster, werden die zu kurzen Segmente aus dem Cluster X jeweils dem Nachfolger-Cluster zugeordnet.In a block 33c an examination is then made for segments shorter than 9 seconds which are not the only segment in a corresponding cluster X than in a corresponding segment group. They are subjected to a more detailed check in which a regularity in the cluster sequence is to be ascertained. At first all segments from the segment group X are searched, which are shorter than the minimum length. Subsequently, it is checked for each of these segments whether the predecessor and successor segments each belong to a uniform cluster. If all predecessor segments are from a uniform cluster, all segments that are too short from cluster X are assigned to the predecessor cluster. If, on the other hand, all successor segments are from a uniform cluster, the segments too short from cluster X are each assigned to the successor cluster.
In einem Block 33d ist ausgeführt, was passiert, wenn auch diese Bedingung für Segmente nicht erfüllt ist, die kürzer als 9 Sekunden sind. In diesem Fall wird eine Neuheitswert¬ überprüfung durchgeführt, indem auf die Neuheitswertkurve zurückgegriffen wird, die in Fig. 9 dargestellt ist. Insbe¬ sondere wird die Neuheitskurve, die aus der Kernel- Korrelation entstanden ist, an den Stellen der betroffenen Segmentgrenzen ausgelesen, und das Maximum dieser Werte wird ermittelt. Tritt das Maximum an einem Segmentanfang auf, werden die zu kurzen Segmente dem Cluster des Nachfol- ge-Segments zugeordnet. Tritt das Maximum an einem Segmen¬ tende auf, werden die zu kurzen Segmente dem Cluster des Vor-gänger-Segments zugeordnet. Wäre das in Fig. 9 mit 90 bezeichnete Segment ein Segment, das kürzer als 9 Sekunden ist , so würde die Neuheitsüberprüfung am Anfang des Seg¬ ments 90 einen höheren Neuheitswert 91 ergeben als am Ende des Segments, wobei der Neuheitswert am Ende des Segments mit 92 bezeichnet ist. Dies würde bedeuten, dass das Seg¬ ment 90 dem Nachfolger-Segment zugeordnet werden würde, da der: Neuheitswert zum Nachfolger-Segment geringer ist als der: Neuheitswert zum Vorgänger-Segment.In a block 33d is executed what happens, even if this condition is not fulfilled for segments that are shorter than 9 seconds. In this case, a novelty value check is performed by resorting to the novelty value curve shown in FIG. 9. In particular, the novelty curve, which has arisen from the kernel correlation, is read out at the locations of the affected segment boundaries, and the maximum of these values is determined. If the maximum occurs at the beginning of a segment, the segments that are too short become the cluster of the successor assigned to ge segments. If the maximum occurs at a segment end, the segments that are too short are assigned to the cluster of the precursor segment. If the segment labeled 90 in Fig. 9 were a segment shorter than 9 seconds, the novelty check at the beginning of the segment 90 would give a higher novelty value 91 than at the end of the segment, with the novelty value at the end of the segment 92 is designated. This would mean that the segment 90 would be assigned to the successor segment since the: novelty value to the successor segment is less than the: novelty value to the predecessor segment.
Ver-bleiben nunmehr noch Segmente, die kürzer als 9 Sekunden sind und noch nicht verschmolzen werden durften, so wird unter diesen noch einmal eine gestaffelte Auswahl durchge¬ führt. Insbesondere werden nunmehr alle Segmente unter den verbleibenden Segmenten, die kürzer als 6 Sekunden sind, ausgewählt. Die Segmente, deren Länge zwischen 6 und 9 Se¬ kunden aus dieser Gruppe sind, werden „unangetastet" zuge- lassen.If segments still remain that are shorter than 9 seconds and have not yet been allowed to merge, a staggered selection is carried out once again below them. In particular, now all segments among the remaining segments shorter than 6 seconds are selected. The segments whose length is between 6 and 9 seconds from this group are allowed "untouched".
Die Segmente, die kürzer als 6 Sekunden sind, werden nun¬ mehr jedoch alle der anhand der Elemente 90, 91, 92 erklär¬ ten Neuheitsprüfung unterzogen und entweder dem Vorgänger- oder dem Nachfolger-Segment zugeordnet, so dass am Ende des in Fig. 3 gezeigten Nachkorrekturalgorithmus alle zu kurzen Segmente, nämlich alle Segmente unterhalb einer Länge von 6 Sekunden, mit Vorgänger- und Nachfolger-Segmenten intelli¬ gent verschmolzen worden sind.However, the segments that are shorter than 6 seconds are now all subjected to the novelty check explained with reference to the elements 90, 91, 92 and assigned to either the predecessor or the successor segment, so that at the end of the in FIG. 3 Nachkorrekturalgorithmus all too short segments, namely all segments below a length of 6 seconds, have been merged intelli¬ gent with predecessor and successor segments.
Dieses erfindungsgemäße Prozedere hat den Vorteil, dass keine Elimination von Teilen des Stücks durchgeführt worden ist, dass also keine einfache Eliminierung der zu kurzen Segmente durch Zu-Null-Setzen durchgeführt worden ist, son- dern dass nach wie vor das gesamte komplette Musikstück dujrch die Gesamtheit der Segmente repräsentiert ist. Durch die Segmentierung ist daher kein Informationsverlust aufge¬ treten, der jedoch sein würde, wenn man z. B. als Reaktion auf die Übersegmentierung einfach alle zu kurzen Segmente „ohne Rücksicht auf Verluste" einfach eliminieren würde.This procedure according to the invention has the advantage that no elimination of parts of the piece has been carried out, ie that no simple elimination of the segments which are too short has been carried out by setting them to zero, but that the entire complete piece of music is still the one Entity of segments is represented. Due to the segmentation therefore no loss of information auf¬ occurs, which would be, however, if you z. B. as a reaction on over-segmentation, simply eliminating all too short segments "regardless of losses".
Nachfolgend wird Bezug nehmend auf Fig. 4a und Fig. 4b eine bevorzugte Implementierung der Segmentklassen- Bezeichnungseinrichtung 22 von Fig. 1 dargestellt. Erfin¬ dungsgemäß werden beim Labeling zwei Clustern die Label „Strophe" und „Refrain" zugewiesen.Referring now to FIGS. 4a and 4b, a preferred implementation of the segment class designator 22 of FIG. 1 is illustrated. According to the invention, two clusters are assigned the labels "stanza" and "refrain" during labeling.
Erfindungsgemäß wird nun nicht etwa ein größter Singular¬ wert einer: Singularwertzerlegung und der dazugehörige Cluster als Refrain und der Cluster für den zweitgrößten Singularwerrt als Strophe verwendet. Ferner wird nicht grundsätzlich davon ausgegangen, dass jedes Lied mit einer Strophe anfängt, dass also der Cluster mit dem ersten Seg¬ ment der Strophencluster ist und der andere Cluster der Refraincluster ist. Statt dessen wird erfindungsgemäß der Cluster in der Kandidatenauswahl, der das letzte Segment hat, als Refrain bezeichnet, und der andere Cluster wird als Strophe bezeichnet.According to the invention, not a largest singular value of a singular value decomposition and the associated cluster is used as the refrain, and the cluster for the second largest singular word is used as the stanza. Furthermore, it is not fundamentally assumed that each song begins with a stanza, ie that the cluster with the first segment is the stanza cluster and the other cluster is the refrain cluster. Instead, according to the invention, the cluster in the candidate selection having the last segment is called a refrain, and the other cluster is called a stanza.
So wird also für die beiden letztendlich zur Strophe- /Refrain-Aiαswahl bereitstehenden Cluster überprüft (40), welcher Cluster das Segment hat, das als letztes Segment der Segmente der beiden Segmentgruppen im Liedverlauf vor¬ kommt, um denselben als Refrain zu bezeichnen.Thus, for the two clusters finally available for stanza / refrain selection, the cluster which has the segment which occurs as the last segment of the segments of the two segment groups in the song progression is checked (40) to designate the same as chorus.
Das letzte Segment kann das tatsächlich im Lied letzte Seg¬ ment sein oder aber ein Segment, das im Lied später auf- tritt als alle Segmente der anderen Segmentklasse. Ist die¬ ses Segment nicht das tatsächlich letzte Segment im Lied, so bedeutet dies, dass noch ein Outro vorliegt.The last segment may actually be the last segment in the song or else a segment which occurs later in the song than all segments of the other segment class. If this segment is not the actual last segment in the song, this means that there is still an outro.
Diese Entscheidung basiert auf der Erkenntnis, dass der Re- frain in den allermeisten Fällen in einem Lied hinter der letzten Strophe kommt, also direkt als letztes Segment desThis decision is based on the realization that in most cases the refrain comes in a song behind the last stanza, ie directly as the last segment of the song
Liedes, wenn ein Stück z. B. mit dem Refrain ausgeblendet wird, oder als Segment vor einem Outro, das auf einen Re¬ frain folgt und mit dem das Stück beendet wird.Song, if a piece z. B. hidden with the refrain or as a segment in front of an outro, which follows a recess and with which the piece is terminated.
Ist das letzte Segment aus der ersten Segmentgruppe, dann werden alle Segmente dieser ersten (höchstwertigen) Seg¬ mentklasse als Refrain bezeichnet, wie es durch einen Block 41 in Fig. 4b dargestellt ist. Zusätzlich werden in diesem Fall alle Segmente der anderen Segmentklasse, die zur Aus¬ wahl steht, als „Strophe" gekennzeichnet, da typischerweise von den beiden Kandidaten-Segmentklassen eine Klasse der Refrain und damit unmittelbar die andere Klasse die Stro¬ phen haben wird.If the last segment is from the first segment group, then all segments of this first (highest-order) segment class are referred to as a refrain, as represented by a block 41 in FIG. 4b. In addition, in this case, all segments of the other segment class which is to be selected are marked as "stanza", since typically one of the two candidate segment classes will have one class of the refrain and thus immediately the other class will have the strokes.
Ergibt dagegen die Untersuchung im Block 40, nämlich welche Segmentklasse in der Auswahl das letzte Segment im Musik¬ stückverlauf hat, dass dies die zweite, also eher nieder- wertige Segmentklasse ist, so wird in einem Block 42 unter¬ sucht, ob die zweite Segmentklasse das erste Segment im Mu¬ sikstück hat. Diese Untersuchung basiert auf der Erkennt- nis, dass die Wahrscheinlichkeit sehr hoch ist, dass ein Lied mit einer Strophe, und nicht mit einem Refrain an¬ fängt.If, on the other hand, the examination in block 40 reveals that which segment class in the selection has the last segment in the music segment, that this is the second, ie rather low-order segment class, a search is made in block 42 as to whether the second segment class has the first segment in the piece of music. This study is based on the finding that the likelihood is very high that a song will begin with a stanza, not a chorus.
Wird die Frage im Block 42 mit „Nein" beantwortet, hat also die zweite Segmentklasse nicht das erste Segment im Musik¬ stück, so wird die zweite SegmentkZLasse als Refrain be¬ zeichnet, und wird die erste Segmentkilasse als Strophe be¬ zeichnet, wie es in einem Block 43 angedeutet ist. Wird da¬ gegen die Abfrage im Block 42 mit „Ja^ beantwortet, so wird entgegen der Regel die zweite Segment«gruppe als Strophe und die erste Segmentgruppe als Refrain bezeichnet, wie es in einem Block 44 angedeutet ist. Die Bezeichnung im Block 44 geschieht deswegen, da die Wahrscheinlichkeit, dass die zweite Segmentklasse dem Refrain eatspricht, schon recht gering ist. Kommt nun noch die Unwahrscheinlichkeit hinzu, dass ein Musikstück mit einem Refrain eingeleitet wird, so deutet einiges auf einen Fehler im Clustering hin, z. B. dass das zuletzt betrachtete Segment fälschlicher Weise der zweiten Segmentklasse zugeordnet wurde.If the question is answered with "no" in block 42, that is to say if the second segment class does not have the first segment in the piece of music, then the second segment class is designated as a refrain, and the first segment category is called a stanza, as it is is indicated in a block 43. If, on the other hand, the query in block 42 is answered with "yes", then, contrary to the rule, the second segment group is designated as a stanza and the first segment group as a refrain, as indicated in a block 44 The denomination in block 44 occurs because the probability that the second segment class will utter the chorus is quite small.If the improbability that a piece of music is introduced with a chorus, there is some evidence of a clustering error out, eg that the last considered segment was erroneously assigned to the second segment class.
In Fig. 4b wurde dargestellt, wie anhand von zwei zur Ver- fügung stehenden Segmentklassen die Strophe-/Refrain- Bestimmung durchgeführt worden ist. Nach dieser Strophe- /Refrain-Bestimmung können dann die restlichen Segmentklas¬ sen in einem Block 45 bezeichnet werden, wobei ein Outro gegebenenfalls die Segmentklasse sein wird, die das letzte Segment des Stücks an sich hat, während ein Intro die Seg¬ mentklasse sein wird, die das erste Segment eines Stücks an sich hat.FIG. 4b shows how the stanza / refrain determination has been carried out on the basis of two available segment classes. After this stanza / refrain determination, the remaining segment classes can then be designated in a block 45, an outro possibly being the segment class which has the last segment of the piece, while an intro will be the segment class which has the first segment of a piece in itself.
Nachfolgend wird anhand von Fig. 4a dargestellt, wie die beiden Segmentklassen ermittelt werden, die die Kandidaten für den in Fig. 4b gezeigten Algorithmus abgeben.In the following it will be shown, with reference to FIG. 4a, how the two segment classes are determined which output the candidates for the algorithm shown in FIG. 4b.
Allgemein wird im Labeling eine Zuweisung der Label „Stro¬ phe" und „Refrain" durchgeführt, wobei eine Segmentgruppe als Strophen-Segmentgruppe markiert wird, während die ande¬ re Segmentgruppe als Refrain-Segmentgruppe markiert wird. Grundsätzlich basiert dieses Konzept auf der Annahme (Al) , dass die beiden Cluster (Segmentgruppen) mit den höchsten Ähnlichkeitswerten, also Cluster 1 und Cluster 2, den Re- frain- und Strophenclustern entsprechen. Das von diesen beiden Clustern als letztes auftretende ist das Refrain- Cluster, wobei davon ausgegangen wird, dass eine Strophe auf einen Refrain folgt.In general, an assignment of the labels "stroke" and "refrain" is carried out in labeling, whereby one segment group is marked as a stanza segment group, while the other segment group is marked as a refrain segment group. Basically, this concept is based on the assumption (Al) that the two clusters (segment groups) with the highest similarity values, that is, cluster 1 and cluster 2, correspond to the regular and stanza clusters. The last of these two clusters is the refrain cluster, assuming that a verse follows a chorus.
Die Erfahrung aus zahlreichen Tests hat gezeigt, dass Cluster 1 in den meisten Fällen dem Refrain entspricht. Für Cluster 2 wird die Annahme (Al) jedoch oftmals nicht er¬ füllt. Diese Situation tritt meistens dann auf, wenn es entweder noch einen dritten, sich häufig wiederholenden Teil im Stück gibt, z. B. eine Bridge, bei einer hohen Ähn¬ lichkeit von Intro und Outro, oder aber für den nicht sel¬ ten auftretenden Fall, dass ein Segment im Stück eine hohe Ähnlichkeit zum Refrain aufweist, somit auch eine hohe Ge- samtähnlichkeit hat, die Ähnlichkeit zum Refrain aber gera¬ de nicht groß genug ist, um noch zum Cluster 1 zu gehören.The experience from numerous tests has shown that cluster 1 in most cases corresponds to the refrain. For cluster 2, however, the assumption (Al) is often not fulfilled. This situation usually occurs when there is either a third, frequently repeating part in the play, eg. B. a bridge, with a high Ähn¬ probability of intro and outro, or for the not sel¬ th occurring case that a segment in the piece has a high similarity to the chorus, thus also a high However, the resemblance to the chorus is not enough to be part of Cluster 1.
Untersuchungen haben gezeigt, dass diese Situation häufig für Abwandlungen des Refrains am Ende des Stücks auftritt. Um mit möglichst hoher Sicherheit Refrain und Strophe rich¬ tig zu markieren (labein) , wird die in Fig. 4b beschriebene Segmentauswahl dahingehend verbessert, dass, wie es in Fig. 4a dargestellt wird, die beiden Kandidaten für die Strophe- Refrain-Auswahl abhängig von den in denselben vorhandenen Segmenten bestimmt wird.Research has shown that this situation often occurs for variations of the refrain at the end of the piece. In order to mark chorus and stanza correctly (as labein) with the greatest possible certainty, the segment selection described in FIG. 4b is improved such that, as illustrated in FIG. 4a, the two candidates are dependent on the chorus chorus selection is determined by the segments present in the same.
Zunächst wird in einem Schritt 46 der Cluster bzw. die Seg¬ mentgruppe mit höchstem Ähnlichkeitswert (Wert der Kompo- nente von V, die einmal ein Maximum für die zuerst bestimm¬ te Segmentklasse, also Segment 7 bei dem Beispiel von Fig. 7, war) , also die Segmentgruppe, die beim ersten Durchlauf von Fig. 1 ermittelt worden ist, in die Strophe-Refrain- Auswahl als erster Kandidat einbezogen.First, in a step 46, the cluster or the segment group with the highest similarity value (value of the component of V which was once a maximum for the first-determined segment class, ie segment 7 in the example of FIG. 7, was ), that is, the segment group determined in the first pass of FIG. 1, is included in the stanza refrain selection as the first candidate.
Fraglich ist nunmehr, welche weitere Segmentgruppe der zweite Teilnehmer an der Strophe-Refrain-Auswahl sein wird. Der wahrscheinlichste Kandidat ist die zweithöchste Seg¬ mentklasse, also die Segmentklasse, die beim zweiten Durch- lauf durch das in Fig. 1 beschriebene Konzept gefunden wird. Dies muß jedoch nicht immer so sein. Daher wird zu¬ nächst für die zweithöchste Segmentklasse (Segment 5 in Fig. I)1 also Cluster 2 überprüft, ob diese Klasse nur ein einziges Segment oder genau zwei Segment hat, wobei eines der beiden Segmente das erste Segment ist und das andere Segment der beiden das letzte Segment im Lied ist (Block 47) .It is now questionable which other segment group will be the second participant in the verse-chorus selection. The most probable candidate is the second highest segment class, ie the segment class which is found on the second pass through the concept described in FIG. However, this does not always have to be this way. Therefore, firstly for the second highest segment class (segment 5 in FIG. 1) 1 , cluster 2 is checked whether this class has only a single segment or exactly two segments, one of the two segments being the first segment and the other segment being both are the last segment in the song (block 47).
Wird die Frage dagegen mit „Nein" beantwortet, hat die zweithöchste Segmentklasse also z. B. wenigstens drei Seg¬ mente, oder zwei Segmente, von denen eines innerhalb des Stücks und nicht am „Rand" des Stücks ist, so bleibt die zweite Segmentklasse vorerst in der Auswahl und wird fortan als „Second Cluster" bezeichnet.If, on the other hand, the answer to the question is "no", then the second highest segment class, for example, has at least three segments, or two segments, one of which is within the piece and not at the "edge" of the piece second segment class initially in the selection and is henceforth referred to as "Second Cluster".
Wird die Frage im Block 47 dagegen mit „Ja" beantwortet, scheidet die zweithöchste Klasse also aus (Block 48a) , so wird sie durch die Segmentklasse ersetzt, die am häufigsten im gesamten Lied vorkommt (anders ausgedrückt: die am meis¬ ten Segmente beinhaltet) und nicht der höchsten Segment¬ klasse (Cluster 1) entspricht. Diese Segmentklasse wird fortan als „Second Cluster" bezeichnet.If the question in block 47 is answered with "yes", then the second highest class is eliminated (block 48a), then it is replaced by the segment class which occurs most frequently in the entire song (in other words, which contains the most segments) ) and not the highest segment class (cluster 1) .This segment class will henceforth be referred to as "second cluster".
„Second Cluster" muss sich, wie es nachfolgend dargelegt wird, noch mit einer dritten Segmentklasse messen (48b), welche als „Third Cluster" bezeichnet wird, um am Ende als Kandidat den Auswahlprozess zu überstehen.Second clusters, as explained below, still have to measure themselves with a third segment class (48b), which is referred to as a "third cluster" in order to ultimately survive the selection process as a candidate.
Die Segmentklasse „Third Cluster" entspricht dem Cluster, welcher am häufigsten im gesamten Lied vorkommt, jedoch we¬ der der höchsten Segmentklasse (Cluster 1) noch der Seg- mentklasse „Second Cluster" entspricht, sozusagen das am nächsthäufigsten (oftmals auch gleich häufig) ' vorkommende Cluster nach Cluster 1 und „Second Cluster" .The segment class "Third Cluster" corresponds to the cluster which occurs most frequently in the entire song, however, that the highest segment class (cluster 1) still corresponds to the segment class "second cluster", so to speak the next most frequently (often equally frequently) occurring clusters after cluster 1 and second clusters.
Hinsichtlich der so genannten Bridge-Problematik wird nun für „Third Cluster" überprüft, ob es eher in die Strophe- Refrain-Auswahl gehört als „Second Cluster" oder nicht. Dies geschieht deshalb, da „Second Cluster" und „Third Cluster" oftmals gleich oft vorkommen, eins von beiden also evtl. eine Bridge oder ein anderes wiederkehrendes Zwi- schenteil darstellt. Um zu gewährleisten, dass die Segment¬ klasse von den beiden ausgewählt wird, die am ehesten der Strophe oder dem Refrain entspricht, also nicht einer Bridge oder einem anderen Zwischenstück, werden die in den Blöcken 49a, 49b, 49c dargestellten Untersuchungen durchge- führt.With regard to the so-called bridge problem, it is now checked for "third cluster" whether it belongs more in the stanza-refrain selection than "second cluster" or not. This happens because "second clusters" and "third clusters" often occur the same number of times, so one of them may represent a bridge or another recurring intermediate part. In order to ensure that the segment class is selected by the two which most closely corresponds to the stanza or chorus, ie not to a bridge or another intermediate piece, the investigations shown in blocks 49a, 49b, 49c are carried out.
Die erste Untersuchung in Block 49a lautet dahingehend, dass untersucht wird, ob jedes Segment aus ThirdCluster ei- ne gewisse Mindestlänge hat, wobei als Schwellwert z. B. 4% der gesamten Liedlänge bevorzugt wird. Andere Werte zwi¬ schen 2% und 10% können ebenfalls zu sinnvollen Ergebnissen führen.The first examination in block 49a is to examine whether each segment of third cluster ne certain minimum length has, as a threshold z. B. 4% of the total song length is preferred. Other values between 2% and 10% can also lead to meaningful results.
In einem Block 49b wird dann untersucht, ob ThirdCluster einen größeren Gesamtanteil am Lied hat als SecondCluster. Hierzu wird die Gesamtzeit aller Segmente in ThirdCluster aufaddiert und mit der entsprechend aufaddierten Gesamtzahl aller Segmente in SecondCluster verglichen, wobei dann ThirdCluster einen größeren Gesamtanteil am Lied als Se¬ condCluster hat, wenn die aufaddierten Segmente in ThirdC¬ luster einen größeren Wert ergeben als die aufaddierten Segmente in SecondCluster.In a block 49b, it is then examined whether ThirdCluster has a greater total portion of the song than SecondCluster. For this purpose, the total time of all segments in ThirdCluster is added up and compared with the correspondingly added total number of all segments in SecondCluster, in which case ThirdCluster has a larger overall proportion of the song than Se¬ condCluster, if the added segments in ThirdC¬ luster give a larger value than the added up Segments in SecondCluster.
In dem Block 49c wird schließlich überprüft, ob der Abstand der Segmente aus ThirdCluster zu den Segmenten aus Cluster 1, also dem häufigsten Cluster konstant sind, d. h. ob eine Regelmäßigkeit in der Abfolge ersichtlich ist.In block 49c, it is finally checked whether the distance of the segments from third cluster to the segments from cluster 1, ie the most frequent cluster, is constant, ie. H. whether a regularity is evident in the sequence.
Sind alle diese drei Bedingungen mit „Ja" beantwortet, so kommt ThirdCluster in die Strophe-Refrain-Auswahl. Ist da¬ gegen wenigstens eine dieser Bedingungen nicht erfüllt, so kommt ThirdCluster nicht in die Strophe-Refrain-Auswahl. Statt dessen kommt SecondCluster in die Strophe-Refrain- Auswahl, wie es durch einen Block 50 in Fig. 4a dargestellt ist. Damit ist die „Kandidatensuche" für die Strophe- Refrain-Auswahl beendet, und es wird der in Fig. 4b gezeig¬ te Algorithmus gestartet, bei dem am Ende feststeht, welche Segmentklasse die Strophen umfasst, und welche Segmentklas¬ se den Refrain umfasst.If all these three conditions are answered with "yes", then ThirdCluster enters the stanza-refrain selection, but if at least one of these conditions is not met, ThirdCluster does not enter the stanza-refrain selection the stanza-refrain selection, as represented by a block 50 in Fig. 4a, completes the "candidate search" for the stanza-refrain selection, and the algorithm shown in Fig. 4b is started in the end it is determined which segment class comprises the stanzas, and which segment class comprises the chorus.
An dieser Stelle sei darauf hingewiesen, dass die drei Be¬ dingungen in den Blöcken 49a, 49b, 49c alternativ auch ge- wichtet werden könnten, so dass z. B. eine Nein-Antwort im Block 49a dann „überstimmt" wird, wenn sowohl die Abfrage im Block 49b als auch die Abfrage im Block 49c mit „Ja" be¬ antwortet werden. Alternativ könnte auch eine Bedingung der drei Bedingungen hervorgehoben werden, so dass z. B. nur untersucht wird, ob es die Regelmäßigkeit der Abfolge zwischen der dritten Segmentklasse und der ersten Segment¬ klasse gibt, während die Abfragen in den Blöcken 49a und 49b nicht durchgeführt werden oder nur dann durchgeführt werden, wenn die Abfrage im Block 49c mit „Nein" beantwor¬ tet wird, jedoch z . B. ein relativ großer Gesamtanteil im Block 49b und relativ große Mindestmengen im Block 49a er¬ mittelt werden.It should be noted at this point that the three conditions in blocks 49a, 49b, 49c could alternatively also be weighted, so that z. For example, a no answer in block 49a is "overruled" if both the query in block 49b and the query in block 49c are answered "yes". Alternatively, it could also be a condition the three conditions are highlighted so that z. For example, it only examines whether there is regularity of the sequence between the third segment class and the first segment class, while the queries in blocks 49a and 49b are not performed or are only performed if the query in block 49c reads " No answer is given, but for example a relatively large total proportion in block 49b and relatively large minimum quantities are determined in block 49a.
Alternative Kombinationen sind ebenfalls möglich, wobei für eine Low-Level-Üntersuchung auch nur die Abfrage eines der Blöcke 49a, 49b, 49c für bestimmte Implementierungen aus¬ reichend sein wird.Alternative combinations are also possible, and for a low-level examination only the query of one of the blocks 49a, 49b, 49c will be sufficient for certain implementations.
Nachfolgend werden beispielhafte Implementierungen des Blocks 526 zum Durchführen einer Music-Summary dargelegt. So existieren verschiedene Möglichkeiten, was als Music Summary abgespeichert werden kann. Zwei davon werden nach- folgend beschrieben, nämlich die Möglichkeit mit dem Titel „Refrain" und die Möglichkeit mit dem Titel „Medley".Hereinafter, exemplary implementations of the block 526 for performing a music summary are set forth. So there are different possibilities, which can be stored as music summary. Two of them are described below, namely the option entitled "Refrain" and the option entitled "Medley".
Die Refrain-Möglicrikeit besteht darin, eine Version des Re¬ frains als Summary zu wählen. Hierbei wird versucht, eine Ausführung des Refxains zu wählen, die möglichst zwischen 20 und 30 Sekunden lang ist. Ist ein Segment mit einer sol¬ chen Länge im Refrain-Cluster nicht enthalten, so wird eine Version gewählt, die eine möglichst geringe Abweichung zu einer Länge von 25 Sekunden hat. Ist der gewählte Refrain länger als 30 Sekunden, wird er bei diesem Ausführungsbei¬ spiel über 30 Sekunden ausgeblendet und ist er kürzer als 20 Sekunden, so w±rd er mit dem darauf folgenden Segment auf 30 Sekunden verlängert.The refrain possibility is to select a version of the female as a summary. This will attempt to choose a run of the Refxain that lasts between 20 and 30 seconds if possible. If a segment with such a length is not contained in the refrain cluster, then a version is chosen which has the smallest possible deviation to a length of 25 seconds. If the selected chorus is longer than 30 seconds, it is blanked out for 30 seconds in this embodiment and is shorter than 20 seconds, so that it is extended to 30 seconds with the following segment.
Das Abspeichern eines Medleys für die zweite Möglichkeit entspricht noch eher einer tatsächlichen Zusammenfassung eines Musikstücks. Hierbei werden ein Ausschnitt der Stro¬ phe, ein Ausschnitt des Refrains und ein Ausschnitt eines dritten Segments in ihrer tatsächlichen chronologischen Reihenfolge als Medley konstruiert. Das dritte Segment wird aus einem Cluster ausgewählt, das den größten Gesamtanteil am Lied hat und nicht Strophe oder Refrain ist.Storing a medley for the second option is more like an actual summary of a piece of music. Here, a section of the strobe, a section of the chorus and a section of a third segment in its actual chronological order as a medley constructed. The third segment is selected from a cluster that has the largest total portion of the song and is not a verse or chorus.
Mit folgender Priorität wird nach der geeignetsten Abfolge der Segmente gesucht:The following priority is used to search for the most appropriate sequence of segments:
- „drittes Segment"-Strophe-Refrain;- "third segment" stanza refrain;
- Strophe-Refrain-,,drittes Segment"; oder- stanza refrain - "third segment"; or
- Strophe-,,drittes Segment"~Refrain.- stanza - "third segment" ~ chorus.
Die gewählten Segmente werden nicht in ihrer vollen Länge in des Medley eingebaut. Die Länge ist vorzugsweise auf feste 10 Sekunden pro Segment festgelegt, damit insgesamt wieder eine Summary von 30 Sekunden entsteht. Alternative Werte sind jedoch ebenfalls ohne weiteres realisierbar.The selected segments are not installed in their full length in the medley. The length is preferably set to a fixed 10 seconds per segment, so that a total of 30 seconds is created again. However, alternative values are also readily feasible.
Vorzugsweise wird zur Rechenzeiteinsparung nach der Merk¬ malsextraktion im Block 502 bzw. nach dem Block 508 eine Gruppierung mehrerer Merkmalsvektoren im Block 510 durchge¬ führt, indem ein Mittelwert über die gruppierten Merkmals- vektoren gebildet wird. Die Gruppierung kann im nächsten. Verarbeitungsschritt, der Berechnung der Ähnlichkeitsmat¬ rix, Rechenzeit einsparen. Zur Berechnung der Ähnlichkeits— matrix wird zwischen allen möglichen Kombinationen von j& zwei Merkmalsvektoren eine Distanz ermittelt. Daraus erge— ben sich bei n Vektoren über das gesamte Stück n x n Be¬ rechnungen. Ein Gruppierungsfaktor g gibt an, wie viele; aufeinander folgende Merkmalsvektoren über die Mittelwert— bildung zu einem Vektor gruppiert werden. Dadurch kann die Anzahl der Berechnungen reduziert werden.Preferably, after the feature extraction in block 502 or after block 508, a grouping of a plurality of feature vectors in block 510 is performed to save computation time by forming an average over the grouped feature vectors. The grouping may be the next. Processing step, the calculation of the similarity matrix, saving computing time. To calculate the similarity matrix, a distance is determined between all possible combinations of j & two feature vectors. This yields n x n calculations for n vectors over the entire piece. A grouping factor g indicates how many; consecutive feature vectors are grouped into a vector via the averaging. This can reduce the number of calculations.
Die Gruppierung ist auch eine Art von Rauschunterdrückungr bei der kleine Änderungen in der Merkmalsausprägung von aufeinander folgenden Vektoren im Mittel kompensiert wer— den. Diese Eigenschaft hat eine positive Auswirkung auf das Auffinden von großen Liedstrukturen.The grouping is also a type of noise suppression r in which small changes in the feature expression of successive vectors are compensated on the average. the. This property has a positive effect on finding large song structures.
Das erfindungsgemäße Konzept ermöglicht es, mittels eines speziellen Music-Players durch die berechneten Segmente zu navigieren und gezielt einzelne Segmente anzuwählen, so dass ein Konsument in einem Musikladen durch beispielsweise Drücken einer bestimmten Taste oder durch Aktivieren eines bestimmten Software-Befehls ohne weiteres sofort zum Re- frain eines Stücks springen kann, um festzustellen, ob der Refrain ihm gefällt, um dann, vielleicht noch eine Strophe anzuhören, damit der Konsument schließlich eine Kaufent¬ scheidung treffen kann. Damit ist es einem Kaufinteressen- ten komfortabel möglich, von einem Stück genau das zu hö- ren, was ihn besonders interessiert, während er sich z. B. das Solo oder die Bridge dann tatsächlich für den Hörgenuss zu Hause aufsparen kann.The concept according to the invention makes it possible to navigate through the calculated segments by means of a special music player and selectively select individual segments, so that a consumer in a music shop can easily immediately return to the Re by pressing a certain key or activating a certain software command - Frain of a piece can jump to determine whether the chorus pleases him, and then perhaps listen to a stanza, so that the consumer can finally make a Kaufent¬ divorce. It is thus comfortably possible for a buyer to hear exactly what he is particularly interested in from a single piece, while he is, for example, interested in doing so. B. the solo or the bridge then actually save for the listening pleasure at home.
Alternativ ist das erfindungsgemäße Konzept auch für einen Musikladen von großem Vorteil, da der Kunde gezielt und da¬ mit auch schnell reinhören und letztendlich kaufen kann, so dass die Kunden nicht lange auf ein Reinhören warten müs¬ sen, sondern ebenfalls schnell an die Reihe kommen. Dies liegt daran, dass ein Benutzer nicht ständig hin- und her- spulen muss, sondern gezielt und schnell sämtliche Informa¬ tionen des Stücks erhält, die er auch haben möchte.Alternatively, the concept according to the invention is also of great advantage for a music shop, since the customer can listen in and thus quickly and ultimately buy, so that the customers do not have to wait long to listen in, but also quickly get their turn , This is due to the fact that a user does not have to constantly go back and forth, but receives in a targeted and rapid manner all the information of the piece that he would like to have.
Ferner sei auf einen wesentlichen Vorteil des erfindungsge¬ mäßen Konzepts hingewiesen, nämlich dass insbesondere auf Grund der Nachkorrektur der Segmentierung keine Informatio¬ nen des Stücks verloren gehen. So werden zwar alle Segmen¬ te, die vorzugsweise kürzer als 6 Sekunden sind, mit dem Vorgänger- oder Nachfolger-Segment verschmolzen. Allerdings werden keine Segmente, so kurz sie auch sind, eliminiert. Dies hat den Vorteil, dass der Benutzer prinzipiell alles im Stück anhören kann, so dass ein zwar kurzes aber einem Benutzer doch sehr gut gefallendes markantes Stück, das bei einer Segmentierungs-Nachkorrektur weggefallen wäre, die tatsächlich einen Abschnitt des Stücks komplett eliminiert hätte, dennoch dem Benutzer zur Verfügung steht, damit er vielleicht gerade aufgrund des kurzen markanten Stücks eine wohl überlegte KaufentScheidung treffen kann.Furthermore, reference is made to a significant advantage of the inventive concept, namely that no information of the piece is lost, in particular due to the post-correction of the segmentation. Thus, although all Segmen¬ te, which are preferably shorter than 6 seconds, merged with the predecessor or successor segment. However, no segments as short as they are will be eliminated. This has the advantage that the user can in principle hear everything in the play, so that a short but a user but very good liking striking piece that would have been omitted in a segmentation post-correction, the actually had completely eliminated a section of the piece, yet is available to the user, so perhaps he might make a deliberate purchase decision just because of the short distinctive piece.
Die vorliegende Erfindung ist jedoch auch in anderen Anwen¬ dungsszenarien anwendbar, beispielsweise beim Werbe- Monitoring, also dort, wo ein Werbekunde überprüfen möchte, ob das Audiostück, für das er Werbezeit gekauft hat, auch tatsächlich über die gesamte Länge abgespielt worden ist. Ein Audiostück kann beispielsweise Musiksegmente, Sprecher¬ segmente, und Geräuschsegmente umfassen. Der Segmentie¬ rungsalgorithmus, also die Segmentierung und nachfolgende Einordnung in Segmentgruppen ermöglicht dann eine schnelle und wesentlich weniger aufwendige Überprüfung als ein kom¬ pletter Sample-weiser Vergleich. Die effiziente Überprüfung würde einfach in einer Segmentklassen-Statistik bestehen, also einem Vergleich, wie viel Segmentklassen gefunden wor¬ den sind, und wie viel Segmente in den einzelnen Segment- klassen sind, mit einer Vorgabe aufgrund des idealen Werbe¬ stücks. Damit ist es einem Werbekunden ohne weiteres mög¬ lich, zu erkennen, ob ein Rundfunksender oder Fernsehsender tatsächlich alle Hauptteile (Abschnitte) des Werbesignals ausgestrahlt hat oder nicht.However, the present invention is also applicable in other applica tion scenarios, for example in advertising monitoring, ie where an advertiser wants to check whether the audio piece for which he has bought advertising time, has actually been played over the entire length. An audio piece may include, for example, music segments, speaker segments, and noise segments. The segmentation algorithm, that is to say the segmentation and subsequent classification into segment groups, then makes it possible to carry out a quick and considerably less complicated check than a complete sample-wise comparison. The efficient checking would simply consist in a segment class statistic, ie a comparison of how many segment classes were found and how many segments are in the individual segment classes, with a specification based on the ideal advertising piece. It is thus easily possible for an advertiser to recognize whether a broadcaster or television station has actually broadcast all the main parts (sections) of the commercial signal or not.
Die vorliegende Erfindung ist ferner dahingehend von Vor¬ teil, dass sie zur Recherche in großen Musikdatenbanken eingesetzt werden kann, um beispielsweise nur die Refrains von vielen Musikstücken durchzuhören, um danach eine Musik- programmauswahl durchzuführen. In diesem Fall würden nur einzelne Segmente aus der mit „Refrain" markierten Segment¬ klasse von vielen verschiedenen Stücken ausgewählt werden und von einem Programmanbieter bereitgestellt werden. Al¬ ternativ könnte auch ein Interesse dahingehend bestehen, von einem Interpreten alle z. B. Gitarrensolos miteinander zu vergleichen. Erfindungsgemäß können diese ebenfalls ohne weiteres bereitgestellt werden, indem immer eines oder meh¬ rere Segmente (falls vorhanden) in der mit „Solo" bezeich- neten Segmentklasse aus einer großen Anzahl von Musikstü¬ cken z. B. zusammengefügt und als ein File bereitgestellt werden.The present invention is further advantageous in that it can be used for searching in large music databases, for example, only to listen through the choruses of many pieces of music in order to then perform a music program selection. In this case, only individual segments from the segment class marked "chorus" would be selected from many different pieces and provided by a program provider, Alternatively, there could also be an interest, for example from an artist, for all the guitar solos According to the invention, these can likewise be provided without difficulty by always having one or more segments (if present) in the range marked "Solo". segment class from a large number of pieces of music, for. B. assembled and provided as a file.
Wieder andere Anwendungsmöglichkeiten bestehen darin, aus verschiedenen Audiostücken Strophen und Refrains zu mi¬ schen, was insbesondere für DJs von Interesse sein wird und völlig neue Möglichkeiten der kreativen Musiksynthese er¬ öffnet, welche einfach und vor allem automatisch zielgenau durchgeführt werden können. So ist das erfindungsgemäße Konzept ohne weiteres automatisierbar, da es an keiner Stelle eine Benutzerintervention erfordert. Dies bedeutet, dass Nutzer des erfindungsgemäßen Konzepts keineswegs eine besondere Ausbildung benötigen, außer z. B. eine übliche Geschicktheit im Umgang mit normalen Software- Benutzeroberflächen.Yet other possible applications include mixing stanzas and choruses from various audio tracks, which will be of particular interest to DJs and opens up completely new possibilities for creative music synthesis, which can be carried out precisely and, above all, automatically automatically. Thus, the inventive concept can be easily automated, since it requires at no point a user intervention. This means that users of the inventive concept by no means require special training, except for. For example, a common skill in dealing with normal software user interfaces.
Je nach den praktischen Gegebenheiten kann das erfindungs¬ gemäße Konzept in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Spei¬ chermedium, insbesondere einer Diskette oder CD mit elekt¬ ronisch auslesbaren Steuersignalen erfolgen, die so mit ei¬ nem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogramm- produkt mit einem auf einem maschinenlesbaren Träger ge¬ speicherten Programmcode zur Durchführung des erfindungsge¬ mäßen Verfahrens, wenn das Computerprogrammprodukt auf ei¬ nem Rechner abläuft. In anderen Worten ausgedrückt stellt die Erfindung somit ein Computerprogramm mit einem Pro¬ grammcode zur Durchführen des Verfahrens dar, wenn das Com¬ puterprogramm auf einem Computer abläuft. Depending on the practical circumstances, the inventive concept can be implemented in hardware or in software. The implementation can be carried out on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which can cooperate with a programmable computer system in such a way that the corresponding method is executed. In general, the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer. In other words, the invention thus represents a computer program with a program code for carrying out the method when the computer program runs on a computer.

Claims

Patentansprüche claims
1. Vorrichtung zum Gruppieren von zeitlichen Segmenten eines Audiostücks, das in in dem Audiostück wiederholt auftretende Hauptteile gegliedert ist, in verschiedene Segmentklassen, wobei eine Segmentklasse einem Haupt¬ teil zugeordnet ist, mit folgenden Merkmalen:1. An apparatus for grouping time segments of an audio piece, which is divided into main parts which repeatedly occur in the audio piece, into different segment classes, one segment class being assigned to a main part, having the following features:
einer Einrichtung (10) zum Bereitstellen einer Ähn- lichkeitsdarstellung für die Segmente, wobei die Ähn¬ lichkeitsdarstellung für jedes Segment eine zugeordne¬ te Mehrzahl von Ähnlichkeitswerten aufweist, wobei die Ähnlichkeitswerte angeben, wie ähnlich das Segment zu jedem anderen Segment des Audiostücks ist;means (10) for providing a similarity representation for the segments, the similarity representation having for each segment an associated plurality of similarity values, the similarity values indicating how similar the segment is to each other segment of the audio piece;
einer Einrichtung (12) zum Berechnen eines Ähnlich- keits-Schwellwerts für ein Segment unter Verwendung der Mehrzahl der Ähnlichkeitswerte, die dem Segment zugeordnet sind; undmeans (12) for calculating a similarity threshold for a segment using the plurality of similarity values associated with the segment; and
einer Einrichtung (14) zum Zuweisen eines Segments zu einer Segmentklasse, wenn der Ähnlichkeitswert des Segments eine vorbestimmte Bedingung bezüglich des Ähnlichkeits-Schwellwerts erfüllt.means (14) for assigning a segment to a segment class when the similarity value of the segment satisfies a predetermined condition regarding the similarity threshold.
2. Vorrichtung nach Anspruch 1, die ferner folgendes Merkmal aufweist:2. Apparatus according to claim 1, further comprising:
eine Segmentauswahleinrichtung (16) zum Ermitteln ei- nes Extrem-Segments, dessen zugeordnete Mehrzahl von Ähnlichkeitswerten zusammen betrachtet ein Extremum aufweist,a segment selection device (16) for determining an extreme segment whose associated plurality of similarity values taken together has an extremum,
wobei die Einrichtung (12) zum Berechnen ausgebildet ist, um für das Extremsegment den Ähnlichkeits- Schwellwert zu berechnen, und wobei die Einrichtung (14) zum Zuweisen ausgebildet ist, um die Segmentklasse mit einem Hinweis auf das Extremsegment zu kennzeichnen.wherein the means (12) for calculating is adapted to calculate the similarity threshold value for the extreme segment, and wherein the means (14) for assigning is adapted to mark the segment class with an indication of the extreme segment.
3. Vorrichtung nach Anspruch 1 oder 2, bei der die Ein¬ richtung (14) zum Zuweisen ausgebildet ist, um ein Segment, das die vorbestimmte Bedingung bezüglich des Ähnlichkeits-Schwellwerts nicht erfüllt, der Segment¬ klasse nicht zuzuordnen sondern für eine Zuordnung zu einer anderen Segmentklasse zu belassen, und3. Apparatus according to claim 1 or 2, wherein the Ein¬ direction (14) is adapted to assign a segment that does not meet the predetermined condition with respect to the similarity threshold, the Segment¬ class not assign but for an assignment to another segment class, and
wobei die Einrichtung (14) zum Zuweisen ausgebildet ist, um für ein zugeordnetes Segment den Ähnlichkeits¬ wert des zugeordneten Segments bei einer Zuweisung zu einer anderen Segmentklasse nicht mehr zu berücksich¬ tigen.wherein the means (14) is adapted to assign, for an associated segment no longer taking into account the similarity value of the associated segment in an assignment to another segment class.
4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Einrichtung (12) zum Berechnen des Ähn- lichkeits-Schwellwerts in einem späteren Durchgang ausgebildet ist, um nach einer früheren Zuweisung ei¬ ner Segmentklasse Ähnlichkeitswerte für früher zuge¬ wiesene Segmente in der Mehrzahl von Ähnlichkeitswer¬ ten zu ignorieren, und4. Device according to one of the preceding claims, wherein the means (12) for calculating the similarity threshold value is formed in a later passage in order, after an earlier assignment of a segment class, similarity values for previously assigned segments in the majority to ignore similarity values, and
bei der die Einrichtung (14) zum Zuweisen ausgebildet ist, um in einem späteren Durchgang eine Zuweisung zu einer anderen Segmentklasse als der Segmentklasse bei einem früheren Durchgang auszuführen.wherein the means (14) is adapted to allocate to, in a later pass, perform an assignment to a segment class other than the segment class in an earlier pass.
5. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner folgendes Merkmal aufweist:5. Device according to one of the preceding claims, further comprising the following feature:
eine Segmentzuweisungskonflikteinrichtung (18), die ausgebildet ist, um in dem Fall, in dem durch die Ein¬ richtung (14) zum Zuweisen ein Konfliktsegment zu zwei verschiedenen Segmentklassen zugeordnet werden sollte, einen ersten Ähnlichkeitswert des Konfliktsegments mit einem Segment einer ersten Segmentklasse zu ermitteln, und um einen zweiten Ähnlichkeitswert des Konfliktseg¬ ments mit einem Segment einer zweiten Segmentklasse zu ermitteln, unda segment allocation conflicting device (18) which is designed to have a first similarity value of the conflict segment in the case in which a conflict segment should be assigned to two different segment classes by the device (14) for assigning determine a segment of a first segment class, and to determine a second similarity value of the conflict segment with a segment of a second segment class, and
wobei die Einrichtung (14) zum Zuweisen ausgebildet ist, um in dem Fall, in dem der zweite Ähnlichkeits¬ wert auf eine stärkere Ähnlichkeit des Konfliktseg¬ ments mit dem Segment der zweiten Segmentklasse hin- weist, das Konfliktsegment aus der ersten Segmentklas¬ se zu entfernen und der zweiten Segmentklasse zuzuwei¬ sen.wherein the means (14) is adapted to assign, in the case in which the second similarity value points to a stronger similarity of the conflict segment with the segment of the second segment class, the conflict segment from the first segment class remove and assign the second segment class sen.
6. Vorrichtung nach Anspruch 5, bei der die Segmentzuwei- sungskonflikteinrichtung (18) ausgebildet ist, um im6. Device according to claim 5, wherein the segment allocation conflicting device (18) is designed to be in
Falle einer Entfernung des Segments aus der ersten Segmentklasse dem Segment eine Tendenz auf die erste Segmentklasse zuzuweisen, oder um im Falle einer nicht erfolgten Entfernung des Segments dem Segment eine Tendenz auf die zweite Segmentklasse zuzuweisen.If the segment is removed from the first segment class, the segment has a tendency to assign the segment to the first segment class or, in the case of a non-removal of the segment, to assign the segment a bias to the second segment class.
7. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner folgendes Merkmal aufweist:A device according to any one of the preceding claims, further comprising
eine Segmentierungskorrektureinrichtung (20) , die aus¬ gebildet ist, um eine Segmentierung des Audiostücks zu korrigieren, wobei die Segmentierungskorrektureinrich¬ tung (20) ausgebildet ist, um Segmente abhängig von Segmentklasseninformationen für die Segmente mit einem vorangehenden Segment oder einem nachfolgenden Segment zu verschmelzen.a Segmentierungskorrektureinrichtung (20), which is aus¬ formed to correct a segmentation of the audio piece, the Segmentierungskorrektureinrich¬ device (20) is adapted to merge segments depending on segment class information for the segments with a preceding segment or a subsequent segment.
8. Vorrichtung nach Anspruch 7, bei der die Segmentie¬ rungskorrektureinrichtung (20) ausgebildet ist, um für ein Segment, das kürzer als eine vorbestimmte Minimal¬ länge ist, festzustellen, ob eine Tendenz des Segments mit einer Segmentklasse übereinstimmt, der ein unmit¬ telbar zeitlich vorausgehendes Segment angehört, und um in diesem Fall das Segment mit dem zeitlich unmit¬ telbar vorausgehenden Segment zu verschmelzen, oder die ausgebildet ist, um für ein Segment, das kürzer als eine vorbestimmte Minimallänge ist, festzustellen, ob eine Tendenz des Segments auf eine Segmentklasse hinweist, der ein zeitlich unmittelbar nachfolgendes Segment angehört, und um in diesem Fall das Segment mit dem zeitlich unmittelbar nachfolgenden Segment zu verschmelzen.8. The apparatus of claim 7, wherein the Segmentie¬ rungskorrektureinrichtung (20) is designed to determine for a segment that is shorter than a predetermined Mindest¬ length, determine whether a trend of the segment coincides with a segment class, the unmit¬ temporally preceding segment, and in this case, to merge the segment with the immediately preceding segment, or is designed to determine, for a segment that is shorter than a predetermined minimum length, whether a trend of the segment indicates a segment class that is temporally belongs immediately following segment, and in this case to merge the segment with the immediate subsequent segment.
9. Vorrichtung nach einem der vorhergehenden Ansprüche, die eine Segmentierungskorrektureinrichtung (20) auf¬ weist, die ausgebildet ist, um zeitlich aufeinander folgende Segmente, die der gleichen Segmentklasse an- gehören, zu verschmelzen.9. Device according to one of the preceding claims, which has a Segmentierungskorrektureinrichtung (20) auf¬, which is designed to merge temporally successive segments that belong to the same segment class.
10. Vorrichtung nach einem der Ansprüche 6 bis 9, bei der die Segmentierungskorrektureinrichtung (20) ausgebil¬ det ist, um zum Korrigieren der Segmente lediglich Segmente auszuwählen, die eine zeitliche Segmentlänge haben, die kürzer als eine vorbestimmte Minimallänge -Lst.10. Device according to one of claims 6 to 9, wherein the Segmentierungskorrektureinrichtung (20) is ausgebil¬ det to select for correcting the segments only segments having a temporal segment length that is shorter than a predetermined minimum length -Lst.
11. Vorrichtung nach Anspruch 10, bei der die Segmentie- rrungskorrektureinrichtung (20) ausgebildet ist, um ein ausgewähltes Segment aus einer zweiten Segmentklasse, dessen zeitliches Vorläufersegment, und dessen zeitli¬ ches Nachfolgersegment einer ersten Segmentklasse an¬ gehören, mit dem Vorgänger-Segment und dem Nachfolger- Segment zu verschmelzen.11. The device according to claim 10, wherein the segmentation correction means (20) is designed to include a selected segment from a second segment class whose temporal precursor segment and its temporal successor segment of a first segment class belong to the predecessor segment and the successor segment to merge.
12. Vorrichtung nach Anspruch 10 oder 11, bei der die Seg¬ mentierungskorrektureinrichtung (20) ausgebildet ist, um ein Segment, das in einer Segmentklasse ist, die nur ein einziges Segment umfasst, mit dem vorausgehen¬ den Segment oder dem nachfolgenden Segment zu ver¬ schmelzen. 12. Apparatus according to claim 10 or 11, wherein the segmentation correction means (20) is designed to ver a segment which is in a segment class, which comprises only a single segment, with the vorhergehen¬ the segment or the subsequent segment ¬ melt.
13. Vorrichtung nach Anspruch 10, 11 oder 12, bei der die Segmentierungskorrektureinrichtung (20) ausgebildet ist, um mehrere ausgewählte Segmente, die in derselben Segmentklasse sind, mit jeweils einem zeitlich voraus- gehenden Segment oder jeweils einem zeitlich nachfol¬ genden Segment zu verschmelzen, wenn sämtliche ausge¬ wählten Segmente der Segmentklasse Vorläufer-Segmente aus ein und derselben Segmentklasse oder Nachfolger- Segmente aus ein und derselben Segmentklasse umfassen.13. The apparatus of claim 10, 11 or 12, wherein the Segmentierungskorrektureinrichtung (20) is adapted to merge a plurality of selected segments that are in the same segment class, each with a time-leading segment or each a temporally aufeinander¬ ing segment if all selected segments of the segment class include precursor segments from one and the same segment class or successor segments from one and the same segment class.
14. Vorrichtung nach einem der Ansprüche 7 bis 13, bei der die Segmentierungskorrektureinrichtung ausgebildet ist, um für ein Segment, das eine kleinere zeitliche Länge als eine vorbestimmte Minimallänge aufweist, ei- nen ersten Neuheitswert an einem Anfang des Segments zu ermitteln, und einen zweiten Neuheitswert an einem Ende des Segments zu ermitteln, und um das Segment mit einem zeitlich folgenden Segment zu verschmelzen, wenn der erste Neuheitswert größer als der zweite Neuheits- ' wert ist, oder um das Segment mit einem zeitlich vor¬ hergehenden Segment zu verschmelzen, wenn der erste Neuheitswert kleiner als der zweite Neuheitswert ist.14. Device according to one of claims 7 to 13, wherein the Segmentierungskorrektureinrichtung is adapted to determine for a segment having a smaller length of time than a predetermined minimum length, a first novelty value at a beginning of the segment, and a second to determine novelty value at an end of the segment, and to merge the segment with a temporally following segment, when the first novelty value is greater than the second novelty 'worth, or to the segment with a temporally vor¬ reciprocating segment to merge when the first novelty value is less than the second novelty value.
15. Vorrichtung nach einem der Ansprüche 7 bis 14, bei der die Segmentierungskorrektureinrrichtung (20) ausgebil¬ det ist, um abhängig von verschiedenen vorbestimmten Segmentlängen verschiedene Korrrekturmaßnahmen durchzu¬ führen.15. Device according to one of claims 7 to 14, wherein the Segmentierungskorrektureinrrichtung (20) is ausgebil¬ det to durchzu¬ perform different correction measures depending on different predetermined segment lengths.
16. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner eine Segmentklassen—Bezeichnungseinrichtung aufweist, die ausgebildet ist, um abhängig von einer zeitlichen Position von Segmenten in verschiedenen Segmentklassen eine Bezeichnung von Segmentklassen zu unterschiedlichen Hauptteilen durchzuführen.16. Device according to one of the preceding claims, further comprising a segment class designation means, which is designed to perform depending on a time position of segments in different segment classes, a designation of segment classes to different main parts.
17. Vorrichtung nach Anspruch 16, bei der die Segmentklas¬ sen-Bezeichnungseinrichtung (22) ausgebildet ist, um vor einer Segmentklassen-Bezeichnung in einen Haupt¬ teil „Strophe" und in einen Hauptteil „Refrain" zwei Segmentklassen-Kandidaten zur Berücksichtigung der Segmente in den Segmentklassen auszuwählen.17. The device according to claim 16, wherein the segment class designation means (22) is designed to before a segment class designation into a main part "stanza" and in a main part "refrain" two segment class candidates for the consideration of the segments in the segment classes to select.
18. Vorrichtung nach Anspruch 16 oder 17, bei der die Seg¬ mentklassen-Bezeichnungseinrichtung (22) ausgebildet ist, um eine Kandidaten-Segmentklasse als Refrain- Klasse zu bezeichnen, wenn die Kandidaten- Segmentklasse das Segment umfasst, das in dem Audio¬ stück zeitlich nach allen anderen Segmenten der ande¬ ren Kandidaten-Segmentklasse vorkommt.18. Device according to claim 16 or 17, in which the segment class designation device (22) is designed to designate a candidate segment class as a refrain class if the candidate segment class comprises the segment that is in the audio piece occurs temporally after all other segments of the other candidate segment class.
19. Vorrichtung nach einem der Anspruch 16 bis 18, bei der Segmentklassen-Bezeichnungseinrichtung (22) ausgebil¬ det ist, um eine Kandidaten-Segmentklasse als Strophe- Klasse zu bezeichnen, wenn die Kandidaten- Segmentklasse nicht das Segment umfasst, das in dem Audiostück zeitlich nach allen anderen Segmenten der anderen Kandidaten-Segmentklasse vorkommt.The apparatus of any one of claims 16 to 18, wherein the segment class designator (22) is configured to designate a candidate segment class as a stanza class if the candidate segment class does not include the segment included in the audio piece occurs temporally after all other segments of the other candidate segment class.
20. Verfahren zum Gruppieren von zeitlichen Segmenten ei¬ nes Audiostücks, das in in dem Audiostück wiederholt auftretende Hauptteile gegliedert ist, in verschiedene Segmentklassen, wobei eine Segmentklasse einem Haupt¬ teil zugeordnet ist, mit folgenden Schritten:20. A method for grouping temporal segments of an audio piece, which is subdivided into main parts which repeatedly occur in the audio piece, into different segment classes, one segment class being assigned to a main part, with the following steps:
Bereitstellen (10) einer Ähnlichkeitsdarstellung für die Segmente, wobei die Ähnlichkeitsdarstellung für jedes Segment eine zugeordnete Mehrzahl von Ähnlich¬ keitswerten aufweist, wobei die Ähnlichkeitswerte an¬ geben, wie ähnlich das Segment zu jedem anderen Seg¬ ment des Audiostücks ist;Providing (10) a similarity representation for the segments, the similarity representation having for each segment an associated plurality of similarity values, the similarity values indicating how similar the segment is to each other segment of the audio piece;
Berechnen (12) eines Ähnlichkeits-Schwellwerts für ein Segment unter Verwendung der Mehrzahl der Ähnlich¬ keitswerte, die dem Segment zugeordnet sind; und Zuweisen (14) eines Segments zu einer Segmentklasse, wenn der Ähnlichkeitswert des Segments eine vorbe¬ stimmte Bedingung bezüglich des Ähnlichkeits- Schwellwerts erfüllt.Calculating (12) a similarity threshold for a segment using the plurality of similarity values associated with the segment; and Assigning (14) a segment to a segment class if the similarity value of the segment satisfies a predetermined condition with respect to the similarity threshold.
21. Computer-Programm mit einem Programmcode zum Ausführen des Verfahrens nach Patentanspruch 20, wenn das Compu¬ ter-Programm auf einem Rechner läuft. 21. Computer program with a program code for carrying out the method according to claim 20, when the computer program runs on a computer.
PCT/EP2005/007751 2004-09-28 2005-07-15 Device and method for arranging in groups temporal segments of a piece of music WO2006034743A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP05760763.2A EP1794743B1 (en) 2004-09-28 2005-07-15 Device and method for arranging in groups temporal segments of a piece of music
JP2007533882A JP4775380B2 (en) 2004-09-28 2005-07-15 Apparatus and method for grouping time segments of music

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004047068.5 2004-09-28
DE102004047068A DE102004047068A1 (en) 2004-09-28 2004-09-28 Apparatus and method for grouping temporal segments of a piece of music

Publications (1)

Publication Number Publication Date
WO2006034743A1 true WO2006034743A1 (en) 2006-04-06

Family

ID=35005745

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/007751 WO2006034743A1 (en) 2004-09-28 2005-07-15 Device and method for arranging in groups temporal segments of a piece of music

Country Status (4)

Country Link
EP (1) EP1794743B1 (en)
JP (1) JP4775380B2 (en)
DE (1) DE102004047068A1 (en)
WO (1) WO2006034743A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020458A (en) * 2007-07-13 2009-01-29 Univ Waseda Voice processing apparatus and program
US8101845B2 (en) 2005-11-08 2012-01-24 Sony Corporation Information processing apparatus, method, and program
US8315954B2 (en) 2005-10-25 2012-11-20 Sony Corporation Device, method, and program for high level feature extraction

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4906565B2 (en) * 2007-04-06 2012-03-28 アルパイン株式会社 Melody estimation method and melody estimation device
EP2180463A1 (en) * 2008-10-22 2010-04-28 Stefan M. Oertl Method to detect note patterns in pieces of music
JP6784255B2 (en) * 2015-03-25 2020-11-11 日本電気株式会社 Speech processor, audio processor, audio processing method, and program
JPWO2017168644A1 (en) 2016-03-30 2019-01-17 Pioneer DJ株式会社 Music development analysis device, music development analysis method, and music development analysis program
EP3457395A4 (en) * 2016-05-11 2019-10-30 Pioneer DJ Corporation Music structure analysis device, method for analyzing music structure, and music structure analysis program
CN109979418B (en) * 2019-03-06 2022-11-29 腾讯音乐娱乐科技(深圳)有限公司 Audio processing method and device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542869B1 (en) * 2000-05-11 2003-04-01 Fuji Xerox Co., Ltd. Method for automatic analysis of audio including music and speech
WO2004038694A1 (en) * 2002-10-24 2004-05-06 National Institute Of Advanced Industrial Science And Technology Musical composition reproduction method and device, and method for detecting a representative motif section in musical composition data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918223A (en) * 1996-07-22 1999-06-29 Muscle Fish Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information
AUPS270902A0 (en) * 2002-05-31 2002-06-20 Canon Kabushiki Kaisha Robust detection and classification of objects in audio using limited training data
JP4243682B2 (en) * 2002-10-24 2009-03-25 独立行政法人産業技術総合研究所 Method and apparatus for detecting rust section in music acoustic data and program for executing the method
JP4203308B2 (en) * 2002-12-04 2008-12-24 パイオニア株式会社 Music structure detection apparatus and method
JP4079260B2 (en) * 2002-12-24 2008-04-23 独立行政法人科学技術振興機構 Music mixing apparatus, method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542869B1 (en) * 2000-05-11 2003-04-01 Fuji Xerox Co., Ltd. Method for automatic analysis of audio including music and speech
WO2004038694A1 (en) * 2002-10-24 2004-05-06 National Institute Of Advanced Industrial Science And Technology Musical composition reproduction method and device, and method for detecting a representative motif section in musical composition data
EP1577877A1 (en) * 2002-10-24 2005-09-21 National Institute of Advanced Industrial Science and Technology Musical composition reproduction method and device, and method for detecting a representative motif section in musical composition data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FOOTE J T ET AL: "MEDIA SEGMENTATION USING SELF-SIMILARITY DECOMPOSITION", PROCEEDINGS OF THE SPIE, SPIE, BELLINGHAM, VA, US, vol. 5021, 2003, pages 167 - 175, XP009052550, ISSN: 0277-786X *
LOGAN B ET AL: "Music summarization using key phrases", ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 2000. ICASSP '00. PROCEEDINGS. 2000 IEEE INTERNATIONAL CONFERENCE ON 5-9 JUNE 2000, PISCATAWAY, NJ, USA,IEEE, vol. 2, 5 June 2000 (2000-06-05), pages 749 - 752, XP010504831, ISBN: 0-7803-6293-4 *
ROGER DANNENBERG AND NING HU: "Discovering Musical Structure in Audio Recordings", PROC. 2ND INT. CONFERENCE IN MUSIC & ARTIFICIAL INTELLIGENCE (ICMAI), 2002, XP002348414 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315954B2 (en) 2005-10-25 2012-11-20 Sony Corporation Device, method, and program for high level feature extraction
US8101845B2 (en) 2005-11-08 2012-01-24 Sony Corporation Information processing apparatus, method, and program
JP2009020458A (en) * 2007-07-13 2009-01-29 Univ Waseda Voice processing apparatus and program

Also Published As

Publication number Publication date
EP1794743A1 (en) 2007-06-13
DE102004047068A1 (en) 2006-04-06
EP1794743B1 (en) 2013-04-24
JP2008515012A (en) 2008-05-08
JP4775380B2 (en) 2011-09-21

Similar Documents

Publication Publication Date Title
EP1794745B1 (en) Device and method for changing the segmentation of an audio piece
EP1774527B1 (en) Device and method for labeling different segment classes
EP1794743B1 (en) Device and method for arranging in groups temporal segments of a piece of music
EP1523719B1 (en) Device and method for characterising an information signal
EP1745464B1 (en) Device and method for analyzing an information signal
EP2351017B1 (en) Method for recognizing note patterns in pieces of music
DE60120417T2 (en) METHOD FOR SEARCHING IN AN AUDIO DATABASE
EP1407446B1 (en) Method and device for characterising a signal and for producing an indexed signal
EP1371055B1 (en) Device for the analysis of an audio signal with regard to the rhythm information in the audio signal using an auto-correlation function
EP1797552B1 (en) Method and device for the extraction of a melody on which an audio signal is based
WO2006039995A1 (en) Method and device for harmonic processing of a melodic line
DE10109648A1 (en) Method for characterizing audio signals on basis of their content, involves comparing signal tonality with number of known tonality measurements for known signals, which have different audio content
DE10123366C1 (en) Device for analyzing an audio signal for rhythm information
DE102004028693B4 (en) Apparatus and method for determining a chord type underlying a test signal
DE102004049517B4 (en) Extraction of a melody underlying an audio signal
EP1377924B1 (en) Method and device for extracting a signal identifier, method and device for creating a database from signal identifiers and method and device for referencing a search time signal
EP1671315B1 (en) Process and device for characterising an audio signal
WO2009013144A1 (en) Method for determining a similarity, device, and the use thereof
WO2005114651A1 (en) Device and method for analysing an information signal

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005760763

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007533882

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005760763

Country of ref document: EP